From b5c2c81be1b891255db00a03e52b7a16c3c0d653 Mon Sep 17 00:00:00 2001 From: 0xTopaz Date: Mon, 20 Jan 2025 18:22:55 +0900 Subject: [PATCH 1/3] refactor: organize directory structure --- .../_helper_test.gno} | 2 +- .../p/gnoswap/{pool => gnsmath}/bit_math.gno | 2 +- .../bit_math_test.gnoA} | 2 +- .../p/gnoswap/{pool => gnsmath}/consts.gno | 2 +- contract/p/gnoswap/gnsmath/gno.mod | 1 + .../{pool => gnsmath}/sqrt_price_math.gno | 2 +- .../sqrt_price_math_test.gno | 2 +- .../p/gnoswap/{pool => gnsmath}/swap_math.gno | 2 +- .../{pool => gnsmath}/swap_math_test.gno | 2 +- contract/p/gnoswap/pool/gno.mod | 1 - ...E_AND_HELPER_test.gno => _helper_test.gno} | 0 ...{__TEST_u256_test.gno => uint256_test.gno} | 0 contract/r/gnoswap/{v1 => }/common/access.gno | 0 .../r/gnoswap/{v1 => }/common/access_test.gno | 0 .../{v1 => }/common/address_and_username.gno | 0 .../common/address_and_username_test.gno | 0 contract/r/gnoswap/{v1 => }/common/errors.gno | 0 contract/r/gnoswap/{v1 => }/common/gno.mod | 0 .../{v1 => }/common/grc20reg_helper.gno | 0 .../{v1 => }/common/grc20reg_helper_test.gno | 0 .../{v1 => }/common/grc721_token_id.gno | 0 .../{v1 => }/common/grc721_token_id_test.gno | 0 contract/r/gnoswap/{v1 => }/common/halt.gno | 0 .../r/gnoswap/{v1 => }/common/halt_test.gno | 0 .../gnoswap/{v1 => }/common/limit_caller.gno | 0 .../{v1 => }/common/limit_caller_test.gno | 0 .../{v1 => }/common/liquidity_amounts.gno | 0 .../common/liquidity_amounts_test.gno | 0 contract/r/gnoswap/{v1 => }/common/math.gno | 0 .../r/gnoswap/{v1 => }/common/math_test.gno | 0 .../r/gnoswap/{v1 => }/common/strings.gno | 0 .../r/gnoswap/{v1 => }/common/tick_math.gno | 0 .../{v1 => }/common/tick_math_test.gno | 0 contract/r/gnoswap/{v1 => }/common/util.gno | 0 .../community_pool/community_pool.gno | 0 .../community_pool/community_pool_test.gno | 0 .../{v1 => }/community_pool/errors.gno | 0 .../r/gnoswap/{v1 => }/community_pool/gno.mod | 0 .../tests/init_token_register_test.gno} | 0 .../tests/init_variable_and_helper_test.gno} | 0 contract/r/gnoswap/{v1 => }/consts/consts.gno | 0 contract/r/gnoswap/{v1 => }/consts/gno.mod | 0 .../{v1 => }/emission/_test_helper.gno | 0 .../r/gnoswap/{v1 => }/emission/callback.gno | 0 .../{v1 => }/emission/distribution.gno | 0 .../{v1 => }/emission/distribution_test.gno | 0 .../r/gnoswap/{v1 => }/emission/emission.gno | 0 .../{v1 => }/emission/emission_test.gno | 0 .../r/gnoswap/{v1 => }/emission/errors.gno | 0 contract/r/gnoswap/{v1 => }/emission/gno.mod | 0 .../r/gnoswap/{v1 => }/emission/utils.gno | 0 contract/r/gnoswap/{v1 => }/gnft/errors.gno | 0 contract/r/gnoswap/{v1 => }/gnft/gnft.gno | 0 .../r/gnoswap/{v1 => }/gnft/gnft_test.gno | 0 contract/r/gnoswap/{v1 => }/gnft/gno.mod | 0 .../r/gnoswap/{v1 => }/gnft/svg_generator.gno | 0 .../{v1 => }/gnft/svg_generator_test.gno | 0 contract/r/gnoswap/{v1 => }/gnft/utils.gno | 0 .../r/gnoswap/{v1 => }/gns/_helper_test.gno | 0 contract/r/gnoswap/{v1 => }/gns/errors.gno | 0 contract/r/gnoswap/{v1 => }/gns/gno.mod | 0 contract/r/gnoswap/{v1 => }/gns/gns.gno | 0 contract/r/gnoswap/{v1 => }/gns/gns_test.gno | 0 contract/r/gnoswap/{v1 => }/gns/halving.gno | 0 .../r/gnoswap/{v1 => }/gns/halving_test.gno | 0 .../tests/gns_calculate_and_mint_test.gnoA | 0 .../minted_and_left_emission_amount_test.gnoA | 0 .../{v1 => }/gns/tests/z1_filetest.gno | 0 .../{v1 => }/gns/tests/z2_filetest.gno | 0 .../{v1 => }/gns/tests/z3_filetest.gno | 0 .../{v1 => }/gns/tests/z4_filetest.gno | 0 contract/r/gnoswap/{v1 => }/gns/utils.gno | 0 contract/r/gnoswap/{v1 => }/gov/doc.gno | 0 .../r/gnoswap/{v1 => }/gov/governance/api.gno | 0 .../{v1 => }/gov/governance/api_test.gno | 0 .../{v1 => }/gov/governance/config.gno | 0 .../{v1 => }/gov/governance/config_test.gno | 0 .../{v1 => }/gov/governance/errors.gno | 0 .../{v1 => }/gov/governance/execute.gno | 0 .../{v1 => }/gov/governance/execute_test.gno | 0 .../{v1 => }/gov/governance/fn_registry.gno | 0 .../gov/governance/fn_registry_test.gno | 0 .../gov/governance/getter_proposal.gno | 0 .../{v1 => }/gov/governance/getter_vote.gno | 0 .../r/gnoswap/{v1 => }/gov/governance/gno.mod | 0 .../{v1 => }/gov/governance/proposal.gno | 0 .../{v1 => }/gov/governance/proposal_test.gno | 0 .../tests/_0_init_token_register_test.gno} | 0 .../governance/tests/_helper_test.gno} | 0 ...vernance_proposal_MULTI_execute_test.gnoA} | 0 ...e_proposal_community_pool_spend_test.gnoA} | 3 +- .../governance_proposal_execute_test.gnoA} | 0 ...vernance_proposal_status_update_test.gnoA} | 0 .../tests/governance_proposal_text_test.gnoA} | 0 .../governance_vote_gov_delegated_test.gnoA} | 0 ...gated_after_propose_before_vote_test.gnoA} | 0 ...ated_undelegated_before_propose_test.gnoA} | 0 ...rnance_vote_with_launchpad_xgns_test.gnoA} | 0 .../gnoswap/{v1 => }/gov/governance/type.gno | 0 .../gnoswap/{v1 => }/gov/governance/utils.gno | 0 .../gnoswap/{v1 => }/gov/governance/vote.gno | 0 .../{v1 => }/gov/governance/vote_test.gno | 0 .../{v1 => }/gov/staker/api_delegation.gno | 0 .../{v1 => }/gov/staker/api_history.gno | 0 .../{v1 => }/gov/staker/api_staker.gno | 0 .../{v1 => }/gov/staker/api_staker_test.gno | 0 .../staker/clean_delegation_stat_history.gno | 0 .../clean_delegation_stat_history_test.gno | 0 .../gov/staker/delegate_undelegate.gno | 0 .../gov/staker/delegate_undelegate_test.gno | 0 .../r/gnoswap/{v1 => }/gov/staker/errors.gno | 0 .../r/gnoswap/{v1 => }/gov/staker/gno.mod | 0 .../r/gnoswap/{v1 => }/gov/staker/history.gno | 0 .../{v1 => }/gov/staker/history_test.gno | 0 .../gov/staker/reward_calculation.gno | 0 .../gov/staker/reward_calculation_test.gno | 0 .../r/gnoswap/{v1 => }/gov/staker/staker.gno | 0 .../{v1 => }/gov/staker/staker_test.gno | 0 .../tests/_0_init_token_register_test.gnoA} | 0 .../staker/tests/_helper_test.gnoA} | 0 .../staker/tests/api_test.gnoA} | 0 .../clean_delegation_stat_history_test.gnoA | 0 .../staker/tests/emission_gns_mint_test.gnoA} | 0 .../governance_reward_emission_test.gnoA} | 0 .../governance_reward_protocol_fee_test.gnoA} | 0 ...ard_protocol_fee_with_launchpad_test.gnoA} | 0 .../gov/staker/tests/history_test.gnoA | 0 .../r/gnoswap/{v1 => }/gov/staker/util.gno | 0 .../gnoswap/{v1 => }/gov/staker/util_test.gno | 0 .../r/gnoswap/{v1 => }/gov/xgns/errors.gno | 0 contract/r/gnoswap/{v1 => }/gov/xgns/gno.mod | 0 contract/r/gnoswap/{v1 => }/gov/xgns/xgns.gno | 0 .../r/gnoswap/{v1 => }/gov/xgns/xgns_test.gno | 0 .../{v1 => }/launchpad/_helper_test.gno | 0 .../{v1 => }/launchpad/api_deposit.gno | 0 .../{v1 => }/launchpad/api_project.gno | 0 .../gnoswap/{v1 => }/launchpad/api_reward.gno | 0 .../r/gnoswap/{v1 => }/launchpad/consts.gno | 0 .../r/gnoswap/{v1 => }/launchpad/deposit.gno | 0 .../{v1 => }/launchpad/deposit_test.gno | 0 contract/r/gnoswap/{v1 => }/launchpad/doc.gno | 0 .../r/gnoswap/{v1 => }/launchpad/errors.gno | 0 contract/r/gnoswap/{v1 => }/launchpad/gno.mod | 0 .../{v1 => }/launchpad/json_builder.gno | 0 .../{v1 => }/launchpad/json_builder_test.gno | 0 .../gnoswap/{v1 => }/launchpad/launchpad.gno | 0 .../{v1 => }/launchpad/launchpad_test.gno | 0 .../r/gnoswap/{v1 => }/launchpad/reward.gno | 0 .../{v1 => }/launchpad/reward_calculation.gno | 0 .../launchpad/reward_calculation_test.gno | 0 .../{v1 => }/launchpad/reward_test.gno | 0 .../tests/_0_init_token_register_test.gnoA} | 0 .../tests/_helper_test.gnoA} | 0 .../tests/launchpad_create_project_test.gnoA} | 0 ...eposit_project_single_recipient_test.gnoA} | 0 ...d_deposit_project_two_recipient_test.gnoA} | 0 ...refund_ended_proejct_no_deposit_test.gnoA} | 0 ...efund_ended_proejct_with_tier30_test.gnoA} | 0 ...nchpad_reward_and_gov_reward_01_test.gnoA} | 0 ...nchpad_reward_and_gov_reward_02_test.gnoA} | 0 ...nchpad_reward_and_gov_reward_03_test.gnoA} | 0 ...ingle_deposit_reward_by_proejct_test.gnoA} | 0 ..._deposit_reward_by_proejct_tier_test.gnoA} | 0 ..._deposit_01_deposit_collect_gns_test.gnoA} | 0 ...it_02_deposit_reward_by_proejct_test.gnoA} | 0 ...it_03_deposit_reward_by_deposit_test.gnoA} | 0 ...sit_reward_by_deposit_endheight_test.gnoA} | 0 ...0_two_deposit_reward_by_project_test.gnoA} | 0 ..._deposit_reward_by_proejct_tier_test.gnoA} | 0 ..._deposit_reward_by_proejct_tier_test.gnoA} | 0 .../tests/rpc_api_test.gnoA} | 0 .../r/gnoswap/{v1 => }/launchpad/type.gno | 0 .../r/gnoswap/{v1 => }/launchpad/util.gno | 0 .../r/gnoswap/{v1 => }/pool/_helper_test.gno | 0 contract/r/gnoswap/{v1 => }/pool/api.gno | 0 contract/r/gnoswap/{v1 => }/pool/api_test.gno | 0 contract/r/gnoswap/{v1 => }/pool/doc.gno | 0 contract/r/gnoswap/{v1 => }/pool/errors.gno | 0 contract/r/gnoswap/{v1 => }/pool/getter.gno | 0 .../r/gnoswap/{v1 => }/pool/getter_test.gno | 0 contract/r/gnoswap/{v1 => }/pool/gno.mod | 0 .../gnoswap/{v1 => }/pool/liquidity_math.gno | 0 .../{v1 => }/pool/liquidity_math_test.gno | 0 contract/r/gnoswap/{v1 => }/pool/pool.gno | 0 .../r/gnoswap/{v1 => }/pool/pool_manager.gno | 0 .../{v1 => }/pool/pool_manager_test.gno | 0 .../r/gnoswap/{v1 => }/pool/pool_test.gno | 0 .../r/gnoswap/{v1 => }/pool/pool_transfer.gno | 0 .../{v1 => }/pool/pool_transfer_test.gno | 0 contract/r/gnoswap/{v1 => }/pool/position.gno | 0 .../gnoswap/{v1 => }/pool/position_modify.gno | 2 +- .../{v1 => }/pool/position_modify_test.gno | 0 .../r/gnoswap/{v1 => }/pool/position_test.gno | 0 .../gnoswap/{v1 => }/pool/position_update.gno | 0 .../{v1 => }/pool/position_update_test.gno | 0 .../pool/protocol_fee_pool_creation.gno | 0 .../pool/protocol_fee_pool_creation_test.gno | 0 .../{v1 => }/pool/protocol_fee_withdrawal.gno | 0 .../pool/protocol_fee_withdrawal_test.gno | 0 contract/r/gnoswap/{v1 => }/pool/swap.gno | 2 +- .../r/gnoswap/{v1 => }/pool/swap_test.gno | 0 .../tests/pool_burn_test.gnoA} | 0 .../tests/pool_create_pool_test.gnoA} | 0 .../tests/pool_dryswap_and_swap_test.gnoA} | 0 .../tests/pool_fee_protocol_test.gnoA} | 0 .../tests/pool_init_test.gnoA} | 0 .../tests/pool_limit_test.gnoA} | 0 .../pool_limit_with_protocol_fee_test.gnoA} | 0 .../tests/pool_mint_test.gnoA} | 0 .../tests/pool_multi_token_test.gnoA} | 0 .../tests/pool_native_swap_test.gnoA} | 0 .../tests/pool_single_lp_test.gnoA} | 0 .../tests/pool_spec_#1_test.gnoA} | 0 .../tests/pool_spec_#2_test.gnoA} | 0 .../tests/pool_spec_#3_test.gnoA} | 0 .../tests/pool_spec_#4_test.gnoA} | 0 .../tests/pool_spec_#5_test.gnoA} | 0 .../tests/pool_spec_#6_test.gnoA} | 0 .../tests/pool_test.gnoA} | 0 .../tests/pool_tick_test.gnoA} | 0 .../tests/pool_tick_transaction_test.gnoA} | 2 +- .../tests/tick_bitmap_test.gnoA} | 2 +- contract/r/gnoswap/{v1 => }/pool/tick.gno | 0 .../r/gnoswap/{v1 => }/pool/tick_bitmap.gno | 2 +- .../{v1 => }/pool/tick_bitmap_test.gno | 0 .../r/gnoswap/{v1 => }/pool/tick_test.gno | 0 contract/r/gnoswap/{v1 => }/pool/type.gno | 0 contract/r/gnoswap/{v1 => }/pool/utils.gno | 0 .../r/gnoswap/{v1 => }/pool/utils_test.gno | 0 .../{v1 => }/position/_helper_test.gno | 0 contract/r/gnoswap/{v1 => }/position/api.gno | 0 .../r/gnoswap/{v1 => }/position/api_test.gno | 0 contract/r/gnoswap/{v1 => }/position/doc.gno | 0 .../r/gnoswap/{v1 => }/position/errors.gno | 0 .../r/gnoswap/{v1 => }/position/getter.gno | 0 .../gnoswap/{v1 => }/position/getter_test.gno | 0 contract/r/gnoswap/{v1 => }/position/gno.mod | 0 .../position/liquidity_management.gno | 0 .../position/liquidity_management_test.gno | 0 .../{v1 => }/position/native_token.gno | 0 .../{v1 => }/position/native_token_test.gno | 0 .../r/gnoswap/{v1 => }/position/position.gno | 0 .../{v1 => }/position/position_test.gno | 0 .../fee_collect_with_two_user_test.gnoA} | 0 .../tests/position_api_test.gnoA} | 0 .../tests/position_full_test.gnoA} | 0 .../position_full_with_emission_test.gnoA} | 0 ...sition_increase_burned_position_test.gnoA} | 0 .../position_increase_decrease_test.gnoA} | 0 ...t_gnot_grc20_in-range_out-range_test.gnoA} | 0 .../position_mint_swap_burn_left_test.gnoA} | 0 ...sition_native_increase_decrease_test.gnoA} | 0 .../position_native_mint_swap_burn_test.gnoA} | 0 .../position_reposition_gnot_pair_test.gnoA} | 0 .../position_reposition_grc20_pair_test.gnoA} | 0 ...reposition_grc20_pair_with_swap_test.gnoA} | 0 ...ff_range_diff_position_swap_fee_test.gnoA} | 0 ...me_range_diff_position_swap_fee_test.gnoA} | 0 ...t_two_position_used_single_swap_test.gnoA} | 0 ...wed_left_grc20_pair_more_action_test.gnoA} | 0 ...wed_left_pair_more_action_exact_test.gnoA} | 0 .../tests/position_unclaimed_fee_test.gnoA} | 0 contract/r/gnoswap/{v1 => }/position/type.gno | 0 .../r/gnoswap/{v1 => }/position/utils.gno | 0 .../gnoswap/{v1 => }/position/utils_test.gno | 0 .../gnoswap/{v1 => }/protocol_fee/errors.gno | 0 .../r/gnoswap/{v1 => }/protocol_fee/gno.mod | 0 .../{v1 => }/protocol_fee/protocol_fee.gno | 0 .../protocol_fee/protocol_fee_test.gno | 0 .../tests/0_init_token_register_test.gno} | 0 .../tests/_helper_test.gno} | 0 .../protocol_fee/token_list_with_amount.gno | 0 .../token_list_with_amount_test.gno | 0 .../r/gnoswap/{v1 => }/protocol_fee/utils.gno | 0 contract/r/gnoswap/{v1 => }/referral/doc.gno | 0 .../r/gnoswap/{v1 => }/referral/errors.gno | 0 .../{v1 => }/referral/global_keeper.gno | 0 contract/r/gnoswap/{v1 => }/referral/gno.mod | 0 .../r/gnoswap/{v1 => }/referral/keeper.gno | 0 .../gnoswap/{v1 => }/referral/keeper_test.gno | 0 .../r/gnoswap/{v1 => }/referral/referral.gno | 0 contract/r/gnoswap/{v1 => }/referral/type.gno | 0 .../r/gnoswap/{v1 => }/referral/utils.gno | 0 .../gnoswap/{v1 => }/router/_helper_test.gno | 0 contract/r/gnoswap/{v1 => }/router/base.gno | 0 .../r/gnoswap/{v1 => }/router/base_test.gno | 0 contract/r/gnoswap/{v1 => }/router/doc.gno | 0 contract/r/gnoswap/{v1 => }/router/errors.gno | 0 .../r/gnoswap/{v1 => }/router/exact_in.gno | 0 .../gnoswap/{v1 => }/router/exact_in_test.gno | 0 .../r/gnoswap/{v1 => }/router/exact_out.gno | 0 contract/r/gnoswap/{v1 => }/router/gno.mod | 0 .../{v1 => }/router/protocol_fee_swap.gno | 0 .../router/protocol_fee_swap_test.gno | 0 contract/r/gnoswap/{v1 => }/router/router.gno | 0 .../r/gnoswap/{v1 => }/router/router_dry.gno | 0 .../{v1 => }/router/router_dry_test.gno | 0 .../r/gnoswap/{v1 => }/router/router_test.gno | 0 .../r/gnoswap/{v1 => }/router/swap_inner.gno | 0 .../{v1 => }/router/swap_inner_test.gno | 0 .../r/gnoswap/{v1 => }/router/swap_multi.gno | 0 .../{v1 => }/router/swap_multi_test.gno | 0 .../r/gnoswap/{v1 => }/router/swap_single.gno | 0 .../{v1 => }/router/swap_single_test.gno | 0 .../tests/_0_init_token_register_test.gnoA} | 0 .../tests/_helper_test.gnoA} | 0 .../tests/router_all_2_route_2_hop_test.gnoA} | 0 ...all_2_route_2_hop_with_emission_test.gnoA} | 0 ...router_native_swap_amount_check_test.gnoA} | 0 .../tests/router_spec_#1_ExactIn_test.gnoA} | 0 .../tests/router_spec_#2_ExactIn_test.gnoA} | 0 .../tests/router_spec_#3_ExactIn_test.gnoA} | 0 .../tests/router_spec_#4_ExactIn_test.gnoA} | 0 .../tests/router_spec_#5_ExactOut_test.gnoA} | 0 .../tests/router_spec_#6_ExactOut_test.gnoA} | 0 .../tests/router_spec_#7_ExactOut_test.gnoA} | 0 .../tests/router_spec_#8_ExactOut_test.gnoA} | 0 ...ute_1hop_all_liquidity_exact_in_test.gnoA} | 0 ...te_1hop_all_liquidity_exact_out_test.gnoA} | 0 ...hop_native_in_out_test_exact_in_test.gnoA} | 0 ...wap_route_1route_1hop_out_range_test.gnoA} | 0 .../router_swap_route_1route_1hop_test.gnoA} | 0 ...oute_1hop_wrapped_native_in_out_test.gnoA} | 0 ...oute_2hop_wrapped_native_in_out_test.gnoA} | 0 ...oute_3hop_wrapped_native_middle_test.gnoA} | 0 .../router_swap_route_2route_2hop_test.gnoA} | 0 contract/r/gnoswap/{v1 => }/router/type.gno | 0 .../r/gnoswap/{v1 => }/router/type_test.gno | 0 contract/r/gnoswap/{v1 => }/router/utils.gno | 0 .../r/gnoswap/{v1 => }/router/utils_test.gno | 0 .../r/gnoswap/{v1 => }/router/wrap_unwrap.gno | 0 contract/r/gnoswap/{v1 => }/staker/README.md | 0 .../gnoswap/{v1 => }/staker/_helper_test.gno | 0 contract/r/gnoswap/{v1 => }/staker/api.gno | 0 .../staker/calculate_pool_position_reward.gno | 0 .../r/gnoswap/{v1 => }/staker/callback.gno | 0 contract/r/gnoswap/{v1 => }/staker/doc.gno | 0 contract/r/gnoswap/{v1 => }/staker/errors.gno | 0 .../{v1 => }/staker/external_deposit_fee.gno | 0 .../staker/external_deposit_fee_test.gno | 0 .../{v1 => }/staker/external_token_list.gno | 0 .../staker/external_token_list_test.gno | 0 ...e_block_time_change_from_gns_filetest.gnoA | 0 ...z_no_position_to_give_reward_filetest.gnoA | 0 ...and_change_to_tier3_internal_filetest.gnoA | 0 ...o_tier2_and_removed_internal_filetest.gnoA | 0 ...ange_change_by_swap_external_filetest.gnoA | 0 ...ange_change_by_swap_internal_filetest.gnoA | 0 ...ternal_filetest.gnoXX_ApiGetReward_missing | 0 ...ternal_filetest.gnoXX_ApiGetReward_missing | 0 ...ing_reward_at_sameblock_differnet_position | 0 ...sition_stake_unstake_restake_filetest.gnoA | 0 ...ion_stake_unstake_same_block_filetest.gnoA | 0 ...ty_change_by_staking_external_filetest.gno | 0 ...staking_external_filetest.gnoXX_RewardZero | 0 ...y_change_by_staking_internal_filetest.gnoA | 0 ...oXXX_CollectReward_DiffPosition_SameHeight | 0 ...change_by_unstaking_internal_filetest.gnoA | 0 ...as_gns_filetest.gnoXX_ApiGetReward_missing | 0 ...rnal_02_position_range_change_filetest.gno | 0 ...al_filetest.gnoXX_RefundLeftExternalAmount | 0 contract/r/gnoswap/{v1 => }/staker/getter.gno | 0 contract/r/gnoswap/{v1 => }/staker/gno.mod | 0 .../gnoswap/{v1 => }/staker/incentive_id.gno | 0 .../{v1 => }/staker/incentive_id_test.gno | 0 .../staker/manage_pool_tier_and_warmup.gno | 0 .../r/gnoswap/{v1 => }/staker/mint_stake.gno | 0 .../staker/protocol_fee_unstaking.gno | 0 .../staker/protocol_fee_unstaking_test.gno | 0 contract/r/gnoswap/{v1 => }/staker/query.gno | 0 .../r/gnoswap/{v1 => }/staker/query_test.gno | 0 .../{v1 => }/staker/reward_calculation.gno | 0 .../reward_calculation_canonical_env_test.gno | 0 .../reward_calculation_canonical_test.gnoA | 0 .../staker/reward_calculation_incentives.gno | 0 .../staker/reward_calculation_pool.gno | 0 .../staker/reward_calculation_pool_tier.gno | 0 .../reward_calculation_pool_tier_test.gno | 0 .../staker/reward_calculation_tick.gno | 0 .../staker/reward_calculation_tick_test.gno | 0 .../staker/reward_calculation_types.gno | 0 .../staker/reward_calculation_types_test.gno | 0 .../staker/reward_calculation_warmup.gno | 0 .../staker/reward_calculation_warmup_test.gno | 0 .../{v1 => }/staker/reward_pool_store.gno | 0 .../staker/reward_pool_store_test.gno | 0 contract/r/gnoswap/{v1 => }/staker/staker.gno | 0 .../staker/staker_external_incentive.gno | 0 .../tests/full_internal_external_test.gnoA} | 2 +- ..._total_4_position_internal_only_test.gnoA} | 2 +- ...r_total_4_position_two_external_test.gnoA} | 2 +- ...dity_and_in_range_chane_by_swap_test.gnoA} | 2 +- ...t_warmup_internal_gnot_gns_3000_test.gnoA} | 2 +- .../tests/staker_NFT_transfer_01_test.gnoA} | 2 +- .../tests/staker_NFT_transfer_02_test.gnoA} | 2 +- .../tests/staker_NFT_transfer_03_test.gnoA} | 2 +- .../staker_external_native_coin_test.gnoA} | 2 +- .../tests/staker_manage_pool_tiers_test.gnoA} | 2 +- .../tests/staker_mint_and_stake_test.gnoA} | 2 +- ...r_native_create_collect_unstake_test.gnoA} | 2 +- ...culate_pool_position_reward_API_test.gnoA} | 2 +- ...short_warmup_period_external_10_test.gnoA} | 2 +- ...short_warmup_period_external_12_test.gnoA} | 2 +- ...period_external_13_gns_external_test.gnoA} | 2 +- ...on_in_out_range_changed_by_swap_test.gnoA} | 2 +- ...t_warmup_period_external_15_90d_test.gnoA} | 2 +- ..._warmup_period_external_16_180d_test.gnoA} | 2 +- ..._warmup_period_external_17_365d_test.gnoA} | 2 +- ...short_warmup_period_internal_01_test.gnoA} | 2 +- ...up_period_internal_02_small_liq_test.gnoA} | 2 +- ..._period_internal_03_change_tier_test.gnoA} | 2 +- ..._period_internal_04_remove_tier_test.gnoA} | 2 +- ...on_in_out_range_changed_by_swap_test.gnoA} | 2 +- ...nternal_gns_and_external_gns_90_test.gnoA} | 2 +- .../tests/token_uri_in_same_block_test.gnoA} | 2 +- contract/r/gnoswap/{v1 => }/staker/type.gno | 0 contract/r/gnoswap/{v1 => }/staker/utils.gno | 0 .../r/gnoswap/{v1 => }/staker/utils_test.gno | 0 .../{v1 => }/staker/warp_unwrap_test.gno | 0 .../r/gnoswap/{v1 => }/staker/wrap_unwrap.gno | 0 .../test_token}/bar/bar.gno | 0 .../test_token}/bar/gno.mod | 0 .../test_token}/baz/baz.gno | 0 .../test_token}/baz/gno.mod | 0 .../test_token}/foo/foo.gno | 0 .../test_token}/foo/gno.mod | 0 .../test_token}/obl/gno.mod | 0 .../test_token}/obl/obl.gno | 0 .../test_token}/qux/gno.mod | 0 .../test_token}/qux/qux.gno | 0 .../test_token}/usdc/gno.mod | 0 .../test_token}/usdc/usdc.gno | 0 .../register_gnodev/gno.mod | 1 - .../register_gnodev/register_gnodev.gno | 233 ------------------ 434 files changed, 42 insertions(+), 277 deletions(-) rename contract/p/gnoswap/{pool/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno => gnsmath/_helper_test.gno} (97%) rename contract/p/gnoswap/{pool => gnsmath}/bit_math.gno (98%) rename contract/p/gnoswap/{pool/__TEST_bit_math_test.gnoA => gnsmath/bit_math_test.gnoA} (99%) rename contract/p/gnoswap/{pool => gnsmath}/consts.gno (97%) create mode 100644 contract/p/gnoswap/gnsmath/gno.mod rename contract/p/gnoswap/{pool => gnsmath}/sqrt_price_math.gno (99%) rename contract/p/gnoswap/{pool => gnsmath}/sqrt_price_math_test.gno (99%) rename contract/p/gnoswap/{pool => gnsmath}/swap_math.gno (99%) rename contract/p/gnoswap/{pool => gnsmath}/swap_math_test.gno (99%) delete mode 100644 contract/p/gnoswap/pool/gno.mod rename contract/p/gnoswap/uint256/{__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno => _helper_test.gno} (100%) rename contract/p/gnoswap/uint256/{__TEST_u256_test.gno => uint256_test.gno} (100%) rename contract/r/gnoswap/{v1 => }/common/access.gno (100%) rename contract/r/gnoswap/{v1 => }/common/access_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/address_and_username.gno (100%) rename contract/r/gnoswap/{v1 => }/common/address_and_username_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/common/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/common/grc20reg_helper.gno (100%) rename contract/r/gnoswap/{v1 => }/common/grc20reg_helper_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/grc721_token_id.gno (100%) rename contract/r/gnoswap/{v1 => }/common/grc721_token_id_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/halt.gno (100%) rename contract/r/gnoswap/{v1 => }/common/halt_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/limit_caller.gno (100%) rename contract/r/gnoswap/{v1 => }/common/limit_caller_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/liquidity_amounts.gno (100%) rename contract/r/gnoswap/{v1 => }/common/liquidity_amounts_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/math.gno (100%) rename contract/r/gnoswap/{v1 => }/common/math_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/strings.gno (100%) rename contract/r/gnoswap/{v1 => }/common/tick_math.gno (100%) rename contract/r/gnoswap/{v1 => }/common/tick_math_test.gno (100%) rename contract/r/gnoswap/{v1 => }/common/util.gno (100%) rename contract/r/gnoswap/{v1 => }/community_pool/community_pool.gno (100%) rename contract/r/gnoswap/{v1 => }/community_pool/community_pool_test.gno (100%) rename contract/r/gnoswap/{v1 => }/community_pool/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/community_pool/gno.mod (100%) rename contract/r/gnoswap/{v1/community_pool/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno => community_pool/tests/init_token_register_test.gno} (100%) rename contract/r/gnoswap/{v1/community_pool/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno => community_pool/tests/init_variable_and_helper_test.gno} (100%) rename contract/r/gnoswap/{v1 => }/consts/consts.gno (100%) rename contract/r/gnoswap/{v1 => }/consts/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/emission/_test_helper.gno (100%) rename contract/r/gnoswap/{v1 => }/emission/callback.gno (100%) rename contract/r/gnoswap/{v1 => }/emission/distribution.gno (100%) rename contract/r/gnoswap/{v1 => }/emission/distribution_test.gno (100%) rename contract/r/gnoswap/{v1 => }/emission/emission.gno (100%) rename contract/r/gnoswap/{v1 => }/emission/emission_test.gno (100%) rename contract/r/gnoswap/{v1 => }/emission/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/emission/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/emission/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/gnft/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/gnft/gnft.gno (100%) rename contract/r/gnoswap/{v1 => }/gnft/gnft_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gnft/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/gnft/svg_generator.gno (100%) rename contract/r/gnoswap/{v1 => }/gnft/svg_generator_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gnft/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/_helper_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/gns/gns.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/gns_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/halving.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/halving_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/tests/gns_calculate_and_mint_test.gnoA (100%) rename contract/r/gnoswap/{v1 => }/gns/tests/minted_and_left_emission_amount_test.gnoA (100%) rename contract/r/gnoswap/{v1 => }/gns/tests/z1_filetest.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/tests/z2_filetest.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/tests/z3_filetest.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/tests/z4_filetest.gno (100%) rename contract/r/gnoswap/{v1 => }/gns/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/doc.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/api.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/api_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/config.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/config_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/execute.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/execute_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/fn_registry.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/fn_registry_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/getter_proposal.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/getter_vote.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/proposal.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/proposal_test.gno (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno => gov/governance/tests/_0_init_token_register_test.gno} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno => gov/governance/tests/_helper_test.gno} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_proposal_MULTI_execute_test.gnoA => gov/governance/tests/governance_proposal_MULTI_execute_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_proposal_community_pool_spend_test.gnoA => gov/governance/tests/governance_proposal_community_pool_spend_test.gnoA} (99%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_proposal_execute_test.gnoA => gov/governance/tests/governance_proposal_execute_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_proposal_status_update_test.gnoA => gov/governance/tests/governance_proposal_status_update_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_proposal_text_test.gnoA => gov/governance/tests/governance_proposal_text_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_test.gnoA => gov/governance/tests/governance_vote_gov_delegated_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_undelegated_after_propose_before_vote_test.gnoA => gov/governance/tests/governance_vote_gov_delegated_undelegated_after_propose_before_vote_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_undelegated_before_propose_test.gnoA => gov/governance/tests/governance_vote_gov_delegated_undelegated_before_propose_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/governance/tests/__TEST_governance_vote_with_launchpad_xgns_test.gnoA => gov/governance/tests/governance_vote_with_launchpad_xgns_test.gnoA} (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/type.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/vote.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/governance/vote_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/api_delegation.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/api_history.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/api_staker.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/api_staker_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/clean_delegation_stat_history.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/clean_delegation_stat_history_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/delegate_undelegate.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/delegate_undelegate_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/history.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/history_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/reward_calculation.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/reward_calculation_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/staker.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/staker_test.gno (100%) rename contract/r/gnoswap/{v1/gov/staker/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gnoA => gov/staker/tests/_0_init_token_register_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/staker/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gnoA => gov/staker/tests/_helper_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/staker/tests/__TEST_api_test.gnoA => gov/staker/tests/api_test.gnoA} (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/tests/clean_delegation_stat_history_test.gnoA (100%) rename contract/r/gnoswap/{v1/gov/staker/tests/__TEST_emission_gns_mint_test.gnoA => gov/staker/tests/emission_gns_mint_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/staker/tests/__TEST_governance_reward_emission_test.gnoA => gov/staker/tests/governance_reward_emission_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/staker/tests/__TEST_governance_reward_protocol_fee_test.gnoA => gov/staker/tests/governance_reward_protocol_fee_test.gnoA} (100%) rename contract/r/gnoswap/{v1/gov/staker/tests/__TEST_governance_reward_protocol_fee_with_launchpad_test.gnoA => gov/staker/tests/governance_reward_protocol_fee_with_launchpad_test.gnoA} (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/tests/history_test.gnoA (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/util.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/staker/util_test.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/xgns/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/xgns/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/gov/xgns/xgns.gno (100%) rename contract/r/gnoswap/{v1 => }/gov/xgns/xgns_test.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/_helper_test.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/api_deposit.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/api_project.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/api_reward.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/consts.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/deposit.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/deposit_test.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/doc.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/launchpad/json_builder.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/json_builder_test.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/launchpad.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/launchpad_test.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/reward.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/reward_calculation.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/reward_calculation_test.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/reward_test.gno (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno => launchpad/tests/_0_init_token_register_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno => launchpad/tests/_helper_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_create_project_test.gnoA => launchpad/tests/launchpad_create_project_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_deposit_project_single_recipient_test.gnoA => launchpad/tests/launchpad_deposit_project_single_recipient_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_deposit_project_two_recipient_test.gnoA => launchpad/tests/launchpad_deposit_project_two_recipient_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_refund_ended_proejct_no_deposit_test.gnoA => launchpad/tests/launchpad_refund_ended_proejct_no_deposit_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_refund_ended_proejct_with_tier30_test.gnoA => launchpad/tests/launchpad_refund_ended_proejct_with_tier30_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_01_test.gnoA => launchpad/tests/launchpad_reward_and_gov_reward_01_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_02_test.gnoA => launchpad/tests/launchpad_reward_and_gov_reward_02_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_03_test.gnoA => launchpad/tests/launchpad_reward_and_gov_reward_03_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier180_single_deposit_reward_by_proejct_test.gnoA => launchpad/tests/launchpad_tier180_single_deposit_reward_by_proejct_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier180_single_deposit_reward_by_proejct_tier_test.gnoA => launchpad/tests/launchpad_tier180_single_deposit_reward_by_proejct_tier_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_01_deposit_collect_gns_test.gnoA => launchpad/tests/launchpad_tier30_single_deposit_01_deposit_collect_gns_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_02_deposit_reward_by_proejct_test.gnoA => launchpad/tests/launchpad_tier30_single_deposit_02_deposit_reward_by_proejct_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_03_deposit_reward_by_deposit_test.gnoA => launchpad/tests/launchpad_tier30_single_deposit_03_deposit_reward_by_deposit_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_04_deposit_reward_by_deposit_endheight_test.gnoA => launchpad/tests/launchpad_tier30_single_deposit_04_deposit_reward_by_deposit_endheight_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier30_two_deposit_reward_by_project_test.gno => launchpad/tests/launchpad_tier30_two_deposit_reward_by_project_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier90_single_deposit_reward_by_proejct_tier_test.gnoA => launchpad/tests/launchpad_tier90_single_deposit_reward_by_proejct_tier_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_launchpad_tier_all_single_deposit_reward_by_proejct_tier_test.gnoA => launchpad/tests/launchpad_tier_all_single_deposit_reward_by_proejct_tier_test.gnoA} (100%) rename contract/r/gnoswap/{v1/launchpad/tests/__TEST_RPC_api_test.gnoA => launchpad/tests/rpc_api_test.gnoA} (100%) rename contract/r/gnoswap/{v1 => }/launchpad/type.gno (100%) rename contract/r/gnoswap/{v1 => }/launchpad/util.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/_helper_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/api.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/api_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/doc.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/getter.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/getter_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/pool/liquidity_math.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/liquidity_math_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/pool.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/pool_manager.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/pool_manager_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/pool_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/pool_transfer.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/pool_transfer_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/position.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/position_modify.gno (99%) rename contract/r/gnoswap/{v1 => }/pool/position_modify_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/position_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/position_update.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/position_update_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/protocol_fee_pool_creation.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/protocol_fee_pool_creation_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/protocol_fee_withdrawal.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/protocol_fee_withdrawal_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/swap.gno (99%) rename contract/r/gnoswap/{v1 => }/pool/swap_test.gno (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_burn_test.gnoA => pool/tests/pool_burn_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_create_pool_test.gnoA => pool/tests/pool_create_pool_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_dryswap_and_swap_test.gnoA => pool/tests/pool_dryswap_and_swap_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_fee_protocol_test.gnoA => pool/tests/pool_fee_protocol_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_init_test.gnoA => pool/tests/pool_init_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_limit_test.gnoA => pool/tests/pool_limit_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_limit_with_protocol_fee_test.gnoA => pool/tests/pool_limit_with_protocol_fee_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_mint_test.gnoA => pool/tests/pool_mint_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_multi_token_test.gnoA => pool/tests/pool_multi_token_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_native_swap_test.gnoA => pool/tests/pool_native_swap_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_single_lp_test.gnoA => pool/tests/pool_single_lp_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_spec_#1_test.gnoA => pool/tests/pool_spec_#1_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_spec_#2_test.gnoA => pool/tests/pool_spec_#2_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_spec_#3_test.gnoA => pool/tests/pool_spec_#3_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_spec_#4_test.gnoA => pool/tests/pool_spec_#4_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_spec_#5_test.gnoA => pool/tests/pool_spec_#5_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_spec_#6_test.gnoA => pool/tests/pool_spec_#6_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_test.gnoA => pool/tests/pool_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_tick_test.gnoA => pool/tests/pool_tick_test.gnoA} (100%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_pool_tick_transaction_test.gnoA => pool/tests/pool_tick_transaction_test.gnoA} (98%) rename contract/r/gnoswap/{v1/pool/tests/__TEST_tick_bitmap_test.gnoA => pool/tests/tick_bitmap_test.gnoA} (99%) rename contract/r/gnoswap/{v1 => }/pool/tick.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/tick_bitmap.gno (99%) rename contract/r/gnoswap/{v1 => }/pool/tick_bitmap_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/tick_test.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/type.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/pool/utils_test.gno (100%) rename contract/r/gnoswap/{v1 => }/position/_helper_test.gno (100%) rename contract/r/gnoswap/{v1 => }/position/api.gno (100%) rename contract/r/gnoswap/{v1 => }/position/api_test.gno (100%) rename contract/r/gnoswap/{v1 => }/position/doc.gno (100%) rename contract/r/gnoswap/{v1 => }/position/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/position/getter.gno (100%) rename contract/r/gnoswap/{v1 => }/position/getter_test.gno (100%) rename contract/r/gnoswap/{v1 => }/position/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/position/liquidity_management.gno (100%) rename contract/r/gnoswap/{v1 => }/position/liquidity_management_test.gno (100%) rename contract/r/gnoswap/{v1 => }/position/native_token.gno (100%) rename contract/r/gnoswap/{v1 => }/position/native_token_test.gno (100%) rename contract/r/gnoswap/{v1 => }/position/position.gno (100%) rename contract/r/gnoswap/{v1 => }/position/position_test.gno (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_fee_collect_with_two_user_test.gnoA => position/tests/fee_collect_with_two_user_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_api_test.gnoA => position/tests/position_api_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_full_test.gnoA => position/tests/position_full_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_full_with_emission_test.gnoA => position/tests/position_full_with_emission_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_increase_burned_position_test.gnoA => position/tests/position_increase_burned_position_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_increase_decrease_test.gnoA => position/tests/position_increase_decrease_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_mint_gnot_grc20_in-range_out-range_test.gnoA => position/tests/position_mint_gnot_grc20_in-range_out-range_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_mint_swap_burn_left_test.gnoA => position/tests/position_mint_swap_burn_left_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_native_increase_decrease_test.gnoA => position/tests/position_native_increase_decrease_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_native_mint_swap_burn_test.gnoA => position/tests/position_native_mint_swap_burn_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_reposition_gnot_pair_test.gnoA => position/tests/position_reposition_gnot_pair_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_reposition_grc20_pair_test.gnoA => position/tests/position_reposition_grc20_pair_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_reposition_grc20_pair_with_swap_test.gnoA => position/tests/position_reposition_grc20_pair_with_swap_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_same_user_same_pool_diff_range_diff_position_swap_fee_test.gnoA => position/tests/position_same_user_same_pool_diff_range_diff_position_swap_fee_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_same_user_same_pool_same_range_diff_position_swap_fee_test.gnoA => position/tests/position_same_user_same_pool_same_range_diff_position_swap_fee_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_test_two_position_used_single_swap_test.gnoA => position/tests/position_test_two_position_used_single_swap_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_tokens_owed_left_grc20_pair_more_action_test.gnoA => position/tests/position_tokens_owed_left_grc20_pair_more_action_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_tokens_owed_left_pair_more_action_exact_test.gnoA => position/tests/position_tokens_owed_left_pair_more_action_exact_test.gnoA} (100%) rename contract/r/gnoswap/{v1/position/tests/__TEST_position_unclaimed_fee_test.gnoA => position/tests/position_unclaimed_fee_test.gnoA} (100%) rename contract/r/gnoswap/{v1 => }/position/type.gno (100%) rename contract/r/gnoswap/{v1 => }/position/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/position/utils_test.gno (100%) rename contract/r/gnoswap/{v1 => }/protocol_fee/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/protocol_fee/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/protocol_fee/protocol_fee.gno (100%) rename contract/r/gnoswap/{v1 => }/protocol_fee/protocol_fee_test.gno (100%) rename contract/r/gnoswap/{v1/protocol_fee/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno => protocol_fee/tests/0_init_token_register_test.gno} (100%) rename contract/r/gnoswap/{v1/protocol_fee/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno => protocol_fee/tests/_helper_test.gno} (100%) rename contract/r/gnoswap/{v1 => }/protocol_fee/token_list_with_amount.gno (100%) rename contract/r/gnoswap/{v1 => }/protocol_fee/token_list_with_amount_test.gno (100%) rename contract/r/gnoswap/{v1 => }/protocol_fee/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/referral/doc.gno (100%) rename contract/r/gnoswap/{v1 => }/referral/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/referral/global_keeper.gno (100%) rename contract/r/gnoswap/{v1 => }/referral/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/referral/keeper.gno (100%) rename contract/r/gnoswap/{v1 => }/referral/keeper_test.gno (100%) rename contract/r/gnoswap/{v1 => }/referral/referral.gno (100%) rename contract/r/gnoswap/{v1 => }/referral/type.gno (100%) rename contract/r/gnoswap/{v1 => }/referral/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/router/_helper_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/base.gno (100%) rename contract/r/gnoswap/{v1 => }/router/base_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/doc.gno (100%) rename contract/r/gnoswap/{v1 => }/router/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/router/exact_in.gno (100%) rename contract/r/gnoswap/{v1 => }/router/exact_in_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/exact_out.gno (100%) rename contract/r/gnoswap/{v1 => }/router/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/router/protocol_fee_swap.gno (100%) rename contract/r/gnoswap/{v1 => }/router/protocol_fee_swap_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/router.gno (100%) rename contract/r/gnoswap/{v1 => }/router/router_dry.gno (100%) rename contract/r/gnoswap/{v1 => }/router/router_dry_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/router_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/swap_inner.gno (100%) rename contract/r/gnoswap/{v1 => }/router/swap_inner_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/swap_multi.gno (100%) rename contract/r/gnoswap/{v1 => }/router/swap_multi_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/swap_single.gno (100%) rename contract/r/gnoswap/{v1 => }/router/swap_single_test.gno (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gnoA => router/tests/_0_init_token_register_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_0_INIT_VARS_HELPERS_test.gnoA => router/tests/_helper_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_all_2_route_2_hop_test.gnoA => router/tests/router_all_2_route_2_hop_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_all_2_route_2_hop_with_emission_test.gnoA => router/tests/router_all_2_route_2_hop_with_emission_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_native_swap_amount_check_test.gnoA => router/tests/router_native_swap_amount_check_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_spec_#1_ExactIn_test.gnoA => router/tests/router_spec_#1_ExactIn_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_spec_#2_ExactIn_test.gnoA => router/tests/router_spec_#2_ExactIn_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_spec_#3_ExactIn_test.gnoA => router/tests/router_spec_#3_ExactIn_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_spec_#4_ExactIn_test.gnoA => router/tests/router_spec_#4_ExactIn_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_spec_#5_ExactOut_test.gnoA => router/tests/router_spec_#5_ExactOut_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_spec_#6_ExactOut_test.gnoA => router/tests/router_spec_#6_ExactOut_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_spec_#7_ExactOut_test.gnoA => router/tests/router_spec_#7_ExactOut_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_spec_#8_ExactOut_test.gnoA => router/tests/router_spec_#8_ExactOut_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_1route_1hop_all_liquidity_exact_in_test.gnoA => router/tests/router_swap_route_1route_1hop_all_liquidity_exact_in_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_1route_1hop_all_liquidity_exact_out_test.gnoA => router/tests/router_swap_route_1route_1hop_all_liquidity_exact_out_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_1route_1hop_native_in_out_test_exact_in_test.gnoA => router/tests/router_swap_route_1route_1hop_native_in_out_test_exact_in_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_1route_1hop_out_range_test.gnoA => router/tests/router_swap_route_1route_1hop_out_range_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_1route_1hop_test.gnoA => router/tests/router_swap_route_1route_1hop_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_1route_1hop_wrapped_native_in_out_test.gnoA => router/tests/router_swap_route_1route_1hop_wrapped_native_in_out_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_1route_2hop_wrapped_native_in_out_test.gnoA => router/tests/router_swap_route_1route_2hop_wrapped_native_in_out_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_1route_3hop_wrapped_native_middle_test.gnoA => router/tests/router_swap_route_1route_3hop_wrapped_native_middle_test.gnoA} (100%) rename contract/r/gnoswap/{v1/router/tests/__TEST_router_swap_route_2route_2hop_test.gnoA => router/tests/router_swap_route_2route_2hop_test.gnoA} (100%) rename contract/r/gnoswap/{v1 => }/router/type.gno (100%) rename contract/r/gnoswap/{v1 => }/router/type_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/router/utils_test.gno (100%) rename contract/r/gnoswap/{v1 => }/router/wrap_unwrap.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/README.md (100%) rename contract/r/gnoswap/{v1 => }/staker/_helper_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/api.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/calculate_pool_position_reward.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/callback.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/doc.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/errors.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/external_deposit_fee.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/external_deposit_fee_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/external_token_list.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/external_token_list_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_average_block_time_change_from_gns_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_no_position_to_give_reward_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_pool_add_to_tier2_and_removed_internal_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_position_inrange_change_by_swap_external_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_position_inrange_change_by_swap_internal_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_single_position_stake_unstake_restake_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_single_position_stake_unstake_same_block_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount (100%) rename contract/r/gnoswap/{v1 => }/staker/getter.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/gno.mod (100%) rename contract/r/gnoswap/{v1 => }/staker/incentive_id.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/incentive_id_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/manage_pool_tier_and_warmup.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/mint_stake.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/protocol_fee_unstaking.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/protocol_fee_unstaking_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/query.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/query_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_canonical_env_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_canonical_test.gnoA (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_incentives.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_pool.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_pool_tier.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_pool_tier_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_tick.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_tick_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_types.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_types_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_warmup.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_calculation_warmup_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_pool_store.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/reward_pool_store_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/staker.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/staker_external_incentive.gno (100%) rename contract/r/gnoswap/{v1/staker/__TEST_full_internal_external_test.gnoA => staker/tests/full_internal_external_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA => staker/tests/more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA => staker/tests/more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA => staker/tests/more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_short_warmup_internal_gnot_gns_3000_test.gnoA => staker/tests/short_warmup_internal_gnot_gns_3000_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_NFT_transfer_01_test.gnoA => staker/tests/staker_NFT_transfer_01_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_NFT_transfer_02_test.gnoA => staker/tests/staker_NFT_transfer_02_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_NFT_transfer_03_test.gnoA => staker/tests/staker_NFT_transfer_03_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_external_native_coin_test.gnoA => staker/tests/staker_external_native_coin_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_manage_pool_tiers_test.gnoA => staker/tests/staker_manage_pool_tiers_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_mint_and_stake_test.gnoA => staker/tests/staker_mint_and_stake_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_native_create_collect_unstake_test.gnoA => staker/tests/staker_native_create_collect_unstake_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA => staker/tests/staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_external_10_test.gnoA => staker/tests/staker_short_warmup_period_external_10_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_external_12_test.gnoA => staker/tests/staker_short_warmup_period_external_12_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_external_13_gns_external_test.gnoA => staker/tests/staker_short_warmup_period_external_13_gns_external_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA => staker/tests/staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_external_15_90d_test.gnoA => staker/tests/staker_short_warmup_period_external_15_90d_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_external_16_180d_test.gnoA => staker/tests/staker_short_warmup_period_external_16_180d_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_external_17_365d_test.gnoA => staker/tests/staker_short_warmup_period_external_17_365d_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_internal_01_test.gnoA => staker/tests/staker_short_warmup_period_internal_01_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_internal_02_small_liq_test.gnoA => staker/tests/staker_short_warmup_period_internal_02_small_liq_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_internal_03_change_tier_test.gnoA => staker/tests/staker_short_warmup_period_internal_03_change_tier_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_internal_04_remove_tier_test.gnoA => staker/tests/staker_short_warmup_period_internal_04_remove_tier_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA => staker/tests/staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA => staker/tests/staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA} (99%) rename contract/r/gnoswap/{v1/staker/__TEST_token_uri_in_same_block_test.gnoA => staker/tests/token_uri_in_same_block_test.gnoA} (98%) rename contract/r/gnoswap/{v1 => }/staker/type.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/utils.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/utils_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/warp_unwrap_test.gno (100%) rename contract/r/gnoswap/{v1 => }/staker/wrap_unwrap.gno (100%) rename contract/r/{onbloc => gnoswap/test_token}/bar/bar.gno (100%) rename contract/r/{onbloc => gnoswap/test_token}/bar/gno.mod (100%) rename contract/r/{onbloc => gnoswap/test_token}/baz/baz.gno (100%) rename contract/r/{onbloc => gnoswap/test_token}/baz/gno.mod (100%) rename contract/r/{onbloc => gnoswap/test_token}/foo/foo.gno (100%) rename contract/r/{onbloc => gnoswap/test_token}/foo/gno.mod (100%) rename contract/r/{onbloc => gnoswap/test_token}/obl/gno.mod (100%) rename contract/r/{onbloc => gnoswap/test_token}/obl/obl.gno (100%) rename contract/r/{onbloc => gnoswap/test_token}/qux/gno.mod (100%) rename contract/r/{onbloc => gnoswap/test_token}/qux/qux.gno (100%) rename contract/r/{onbloc => gnoswap/test_token}/usdc/gno.mod (100%) rename contract/r/{onbloc => gnoswap/test_token}/usdc/usdc.gno (100%) delete mode 100644 contract/r/onbloc/grc20_tokens/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/register_gnodev/gno.mod delete mode 100644 contract/r/onbloc/grc20_tokens/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/register_gnodev/register_gnodev.gno diff --git a/contract/p/gnoswap/pool/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno b/contract/p/gnoswap/gnsmath/_helper_test.gno similarity index 97% rename from contract/p/gnoswap/pool/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno rename to contract/p/gnoswap/gnsmath/_helper_test.gno index 335400f9e..fd43cfb30 100644 --- a/contract/p/gnoswap/pool/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno +++ b/contract/p/gnoswap/gnsmath/_helper_test.gno @@ -1,4 +1,4 @@ -package pool +package gnsmath import ( "testing" diff --git a/contract/p/gnoswap/pool/bit_math.gno b/contract/p/gnoswap/gnsmath/bit_math.gno similarity index 98% rename from contract/p/gnoswap/pool/bit_math.gno rename to contract/p/gnoswap/gnsmath/bit_math.gno index 3c3820308..b679cd03a 100644 --- a/contract/p/gnoswap/pool/bit_math.gno +++ b/contract/p/gnoswap/gnsmath/bit_math.gno @@ -1,4 +1,4 @@ -package pool +package gnsmath import ( u256 "gno.land/p/gnoswap/uint256" diff --git a/contract/p/gnoswap/pool/__TEST_bit_math_test.gnoA b/contract/p/gnoswap/gnsmath/bit_math_test.gnoA similarity index 99% rename from contract/p/gnoswap/pool/__TEST_bit_math_test.gnoA rename to contract/p/gnoswap/gnsmath/bit_math_test.gnoA index fdb86ab6e..6f1fb71dc 100644 --- a/contract/p/gnoswap/pool/__TEST_bit_math_test.gnoA +++ b/contract/p/gnoswap/gnsmath/bit_math_test.gnoA @@ -1,4 +1,4 @@ -package pool +package gnsmath import ( "testing" diff --git a/contract/p/gnoswap/pool/consts.gno b/contract/p/gnoswap/gnsmath/consts.gno similarity index 97% rename from contract/p/gnoswap/pool/consts.gno rename to contract/p/gnoswap/gnsmath/consts.gno index e8b0b33e1..11609bed2 100644 --- a/contract/p/gnoswap/pool/consts.gno +++ b/contract/p/gnoswap/gnsmath/consts.gno @@ -1,4 +1,4 @@ -package pool +package gnsmath const ( MAX_UINT8 string = "255" diff --git a/contract/p/gnoswap/gnsmath/gno.mod b/contract/p/gnoswap/gnsmath/gno.mod new file mode 100644 index 000000000..1949733a3 --- /dev/null +++ b/contract/p/gnoswap/gnsmath/gno.mod @@ -0,0 +1 @@ +module gno.land/p/gnoswap/gnsmath diff --git a/contract/p/gnoswap/pool/sqrt_price_math.gno b/contract/p/gnoswap/gnsmath/sqrt_price_math.gno similarity index 99% rename from contract/p/gnoswap/pool/sqrt_price_math.gno rename to contract/p/gnoswap/gnsmath/sqrt_price_math.gno index 34a37d655..5126bf611 100644 --- a/contract/p/gnoswap/pool/sqrt_price_math.gno +++ b/contract/p/gnoswap/gnsmath/sqrt_price_math.gno @@ -1,4 +1,4 @@ -package pool +package gnsmath import ( i256 "gno.land/p/gnoswap/int256" diff --git a/contract/p/gnoswap/pool/sqrt_price_math_test.gno b/contract/p/gnoswap/gnsmath/sqrt_price_math_test.gno similarity index 99% rename from contract/p/gnoswap/pool/sqrt_price_math_test.gno rename to contract/p/gnoswap/gnsmath/sqrt_price_math_test.gno index 24f450d51..a40e76f95 100644 --- a/contract/p/gnoswap/pool/sqrt_price_math_test.gno +++ b/contract/p/gnoswap/gnsmath/sqrt_price_math_test.gno @@ -1,4 +1,4 @@ -package pool +package gnsmath import ( "testing" diff --git a/contract/p/gnoswap/pool/swap_math.gno b/contract/p/gnoswap/gnsmath/swap_math.gno similarity index 99% rename from contract/p/gnoswap/pool/swap_math.gno rename to contract/p/gnoswap/gnsmath/swap_math.gno index 81b9c2d28..4334bd558 100644 --- a/contract/p/gnoswap/pool/swap_math.gno +++ b/contract/p/gnoswap/gnsmath/swap_math.gno @@ -1,4 +1,4 @@ -package pool +package gnsmath import ( i256 "gno.land/p/gnoswap/int256" diff --git a/contract/p/gnoswap/pool/swap_math_test.gno b/contract/p/gnoswap/gnsmath/swap_math_test.gno similarity index 99% rename from contract/p/gnoswap/pool/swap_math_test.gno rename to contract/p/gnoswap/gnsmath/swap_math_test.gno index 505a8e716..edcafcf43 100644 --- a/contract/p/gnoswap/pool/swap_math_test.gno +++ b/contract/p/gnoswap/gnsmath/swap_math_test.gno @@ -1,4 +1,4 @@ -package pool +package gnsmath import ( "testing" diff --git a/contract/p/gnoswap/pool/gno.mod b/contract/p/gnoswap/pool/gno.mod deleted file mode 100644 index ea092a3fa..000000000 --- a/contract/p/gnoswap/pool/gno.mod +++ /dev/null @@ -1 +0,0 @@ -module gno.land/p/gnoswap/pool diff --git a/contract/p/gnoswap/uint256/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno b/contract/p/gnoswap/uint256/_helper_test.gno similarity index 100% rename from contract/p/gnoswap/uint256/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno rename to contract/p/gnoswap/uint256/_helper_test.gno diff --git a/contract/p/gnoswap/uint256/__TEST_u256_test.gno b/contract/p/gnoswap/uint256/uint256_test.gno similarity index 100% rename from contract/p/gnoswap/uint256/__TEST_u256_test.gno rename to contract/p/gnoswap/uint256/uint256_test.gno diff --git a/contract/r/gnoswap/v1/common/access.gno b/contract/r/gnoswap/common/access.gno similarity index 100% rename from contract/r/gnoswap/v1/common/access.gno rename to contract/r/gnoswap/common/access.gno diff --git a/contract/r/gnoswap/v1/common/access_test.gno b/contract/r/gnoswap/common/access_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/access_test.gno rename to contract/r/gnoswap/common/access_test.gno diff --git a/contract/r/gnoswap/v1/common/address_and_username.gno b/contract/r/gnoswap/common/address_and_username.gno similarity index 100% rename from contract/r/gnoswap/v1/common/address_and_username.gno rename to contract/r/gnoswap/common/address_and_username.gno diff --git a/contract/r/gnoswap/v1/common/address_and_username_test.gno b/contract/r/gnoswap/common/address_and_username_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/address_and_username_test.gno rename to contract/r/gnoswap/common/address_and_username_test.gno diff --git a/contract/r/gnoswap/v1/common/errors.gno b/contract/r/gnoswap/common/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/common/errors.gno rename to contract/r/gnoswap/common/errors.gno diff --git a/contract/r/gnoswap/v1/common/gno.mod b/contract/r/gnoswap/common/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/common/gno.mod rename to contract/r/gnoswap/common/gno.mod diff --git a/contract/r/gnoswap/v1/common/grc20reg_helper.gno b/contract/r/gnoswap/common/grc20reg_helper.gno similarity index 100% rename from contract/r/gnoswap/v1/common/grc20reg_helper.gno rename to contract/r/gnoswap/common/grc20reg_helper.gno diff --git a/contract/r/gnoswap/v1/common/grc20reg_helper_test.gno b/contract/r/gnoswap/common/grc20reg_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/grc20reg_helper_test.gno rename to contract/r/gnoswap/common/grc20reg_helper_test.gno diff --git a/contract/r/gnoswap/v1/common/grc721_token_id.gno b/contract/r/gnoswap/common/grc721_token_id.gno similarity index 100% rename from contract/r/gnoswap/v1/common/grc721_token_id.gno rename to contract/r/gnoswap/common/grc721_token_id.gno diff --git a/contract/r/gnoswap/v1/common/grc721_token_id_test.gno b/contract/r/gnoswap/common/grc721_token_id_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/grc721_token_id_test.gno rename to contract/r/gnoswap/common/grc721_token_id_test.gno diff --git a/contract/r/gnoswap/v1/common/halt.gno b/contract/r/gnoswap/common/halt.gno similarity index 100% rename from contract/r/gnoswap/v1/common/halt.gno rename to contract/r/gnoswap/common/halt.gno diff --git a/contract/r/gnoswap/v1/common/halt_test.gno b/contract/r/gnoswap/common/halt_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/halt_test.gno rename to contract/r/gnoswap/common/halt_test.gno diff --git a/contract/r/gnoswap/v1/common/limit_caller.gno b/contract/r/gnoswap/common/limit_caller.gno similarity index 100% rename from contract/r/gnoswap/v1/common/limit_caller.gno rename to contract/r/gnoswap/common/limit_caller.gno diff --git a/contract/r/gnoswap/v1/common/limit_caller_test.gno b/contract/r/gnoswap/common/limit_caller_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/limit_caller_test.gno rename to contract/r/gnoswap/common/limit_caller_test.gno diff --git a/contract/r/gnoswap/v1/common/liquidity_amounts.gno b/contract/r/gnoswap/common/liquidity_amounts.gno similarity index 100% rename from contract/r/gnoswap/v1/common/liquidity_amounts.gno rename to contract/r/gnoswap/common/liquidity_amounts.gno diff --git a/contract/r/gnoswap/v1/common/liquidity_amounts_test.gno b/contract/r/gnoswap/common/liquidity_amounts_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/liquidity_amounts_test.gno rename to contract/r/gnoswap/common/liquidity_amounts_test.gno diff --git a/contract/r/gnoswap/v1/common/math.gno b/contract/r/gnoswap/common/math.gno similarity index 100% rename from contract/r/gnoswap/v1/common/math.gno rename to contract/r/gnoswap/common/math.gno diff --git a/contract/r/gnoswap/v1/common/math_test.gno b/contract/r/gnoswap/common/math_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/math_test.gno rename to contract/r/gnoswap/common/math_test.gno diff --git a/contract/r/gnoswap/v1/common/strings.gno b/contract/r/gnoswap/common/strings.gno similarity index 100% rename from contract/r/gnoswap/v1/common/strings.gno rename to contract/r/gnoswap/common/strings.gno diff --git a/contract/r/gnoswap/v1/common/tick_math.gno b/contract/r/gnoswap/common/tick_math.gno similarity index 100% rename from contract/r/gnoswap/v1/common/tick_math.gno rename to contract/r/gnoswap/common/tick_math.gno diff --git a/contract/r/gnoswap/v1/common/tick_math_test.gno b/contract/r/gnoswap/common/tick_math_test.gno similarity index 100% rename from contract/r/gnoswap/v1/common/tick_math_test.gno rename to contract/r/gnoswap/common/tick_math_test.gno diff --git a/contract/r/gnoswap/v1/common/util.gno b/contract/r/gnoswap/common/util.gno similarity index 100% rename from contract/r/gnoswap/v1/common/util.gno rename to contract/r/gnoswap/common/util.gno diff --git a/contract/r/gnoswap/v1/community_pool/community_pool.gno b/contract/r/gnoswap/community_pool/community_pool.gno similarity index 100% rename from contract/r/gnoswap/v1/community_pool/community_pool.gno rename to contract/r/gnoswap/community_pool/community_pool.gno diff --git a/contract/r/gnoswap/v1/community_pool/community_pool_test.gno b/contract/r/gnoswap/community_pool/community_pool_test.gno similarity index 100% rename from contract/r/gnoswap/v1/community_pool/community_pool_test.gno rename to contract/r/gnoswap/community_pool/community_pool_test.gno diff --git a/contract/r/gnoswap/v1/community_pool/errors.gno b/contract/r/gnoswap/community_pool/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/community_pool/errors.gno rename to contract/r/gnoswap/community_pool/errors.gno diff --git a/contract/r/gnoswap/v1/community_pool/gno.mod b/contract/r/gnoswap/community_pool/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/community_pool/gno.mod rename to contract/r/gnoswap/community_pool/gno.mod diff --git a/contract/r/gnoswap/v1/community_pool/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno b/contract/r/gnoswap/community_pool/tests/init_token_register_test.gno similarity index 100% rename from contract/r/gnoswap/v1/community_pool/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno rename to contract/r/gnoswap/community_pool/tests/init_token_register_test.gno diff --git a/contract/r/gnoswap/v1/community_pool/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno b/contract/r/gnoswap/community_pool/tests/init_variable_and_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/community_pool/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno rename to contract/r/gnoswap/community_pool/tests/init_variable_and_helper_test.gno diff --git a/contract/r/gnoswap/v1/consts/consts.gno b/contract/r/gnoswap/consts/consts.gno similarity index 100% rename from contract/r/gnoswap/v1/consts/consts.gno rename to contract/r/gnoswap/consts/consts.gno diff --git a/contract/r/gnoswap/v1/consts/gno.mod b/contract/r/gnoswap/consts/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/consts/gno.mod rename to contract/r/gnoswap/consts/gno.mod diff --git a/contract/r/gnoswap/v1/emission/_test_helper.gno b/contract/r/gnoswap/emission/_test_helper.gno similarity index 100% rename from contract/r/gnoswap/v1/emission/_test_helper.gno rename to contract/r/gnoswap/emission/_test_helper.gno diff --git a/contract/r/gnoswap/v1/emission/callback.gno b/contract/r/gnoswap/emission/callback.gno similarity index 100% rename from contract/r/gnoswap/v1/emission/callback.gno rename to contract/r/gnoswap/emission/callback.gno diff --git a/contract/r/gnoswap/v1/emission/distribution.gno b/contract/r/gnoswap/emission/distribution.gno similarity index 100% rename from contract/r/gnoswap/v1/emission/distribution.gno rename to contract/r/gnoswap/emission/distribution.gno diff --git a/contract/r/gnoswap/v1/emission/distribution_test.gno b/contract/r/gnoswap/emission/distribution_test.gno similarity index 100% rename from contract/r/gnoswap/v1/emission/distribution_test.gno rename to contract/r/gnoswap/emission/distribution_test.gno diff --git a/contract/r/gnoswap/v1/emission/emission.gno b/contract/r/gnoswap/emission/emission.gno similarity index 100% rename from contract/r/gnoswap/v1/emission/emission.gno rename to contract/r/gnoswap/emission/emission.gno diff --git a/contract/r/gnoswap/v1/emission/emission_test.gno b/contract/r/gnoswap/emission/emission_test.gno similarity index 100% rename from contract/r/gnoswap/v1/emission/emission_test.gno rename to contract/r/gnoswap/emission/emission_test.gno diff --git a/contract/r/gnoswap/v1/emission/errors.gno b/contract/r/gnoswap/emission/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/emission/errors.gno rename to contract/r/gnoswap/emission/errors.gno diff --git a/contract/r/gnoswap/v1/emission/gno.mod b/contract/r/gnoswap/emission/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/emission/gno.mod rename to contract/r/gnoswap/emission/gno.mod diff --git a/contract/r/gnoswap/v1/emission/utils.gno b/contract/r/gnoswap/emission/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/emission/utils.gno rename to contract/r/gnoswap/emission/utils.gno diff --git a/contract/r/gnoswap/v1/gnft/errors.gno b/contract/r/gnoswap/gnft/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/gnft/errors.gno rename to contract/r/gnoswap/gnft/errors.gno diff --git a/contract/r/gnoswap/v1/gnft/gnft.gno b/contract/r/gnoswap/gnft/gnft.gno similarity index 100% rename from contract/r/gnoswap/v1/gnft/gnft.gno rename to contract/r/gnoswap/gnft/gnft.gno diff --git a/contract/r/gnoswap/v1/gnft/gnft_test.gno b/contract/r/gnoswap/gnft/gnft_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gnft/gnft_test.gno rename to contract/r/gnoswap/gnft/gnft_test.gno diff --git a/contract/r/gnoswap/v1/gnft/gno.mod b/contract/r/gnoswap/gnft/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/gnft/gno.mod rename to contract/r/gnoswap/gnft/gno.mod diff --git a/contract/r/gnoswap/v1/gnft/svg_generator.gno b/contract/r/gnoswap/gnft/svg_generator.gno similarity index 100% rename from contract/r/gnoswap/v1/gnft/svg_generator.gno rename to contract/r/gnoswap/gnft/svg_generator.gno diff --git a/contract/r/gnoswap/v1/gnft/svg_generator_test.gno b/contract/r/gnoswap/gnft/svg_generator_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gnft/svg_generator_test.gno rename to contract/r/gnoswap/gnft/svg_generator_test.gno diff --git a/contract/r/gnoswap/v1/gnft/utils.gno b/contract/r/gnoswap/gnft/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/gnft/utils.gno rename to contract/r/gnoswap/gnft/utils.gno diff --git a/contract/r/gnoswap/v1/gns/_helper_test.gno b/contract/r/gnoswap/gns/_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/_helper_test.gno rename to contract/r/gnoswap/gns/_helper_test.gno diff --git a/contract/r/gnoswap/v1/gns/errors.gno b/contract/r/gnoswap/gns/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/errors.gno rename to contract/r/gnoswap/gns/errors.gno diff --git a/contract/r/gnoswap/v1/gns/gno.mod b/contract/r/gnoswap/gns/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/gns/gno.mod rename to contract/r/gnoswap/gns/gno.mod diff --git a/contract/r/gnoswap/v1/gns/gns.gno b/contract/r/gnoswap/gns/gns.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/gns.gno rename to contract/r/gnoswap/gns/gns.gno diff --git a/contract/r/gnoswap/v1/gns/gns_test.gno b/contract/r/gnoswap/gns/gns_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/gns_test.gno rename to contract/r/gnoswap/gns/gns_test.gno diff --git a/contract/r/gnoswap/v1/gns/halving.gno b/contract/r/gnoswap/gns/halving.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/halving.gno rename to contract/r/gnoswap/gns/halving.gno diff --git a/contract/r/gnoswap/v1/gns/halving_test.gno b/contract/r/gnoswap/gns/halving_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/halving_test.gno rename to contract/r/gnoswap/gns/halving_test.gno diff --git a/contract/r/gnoswap/v1/gns/tests/gns_calculate_and_mint_test.gnoA b/contract/r/gnoswap/gns/tests/gns_calculate_and_mint_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gns/tests/gns_calculate_and_mint_test.gnoA rename to contract/r/gnoswap/gns/tests/gns_calculate_and_mint_test.gnoA diff --git a/contract/r/gnoswap/v1/gns/tests/minted_and_left_emission_amount_test.gnoA b/contract/r/gnoswap/gns/tests/minted_and_left_emission_amount_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gns/tests/minted_and_left_emission_amount_test.gnoA rename to contract/r/gnoswap/gns/tests/minted_and_left_emission_amount_test.gnoA diff --git a/contract/r/gnoswap/v1/gns/tests/z1_filetest.gno b/contract/r/gnoswap/gns/tests/z1_filetest.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/tests/z1_filetest.gno rename to contract/r/gnoswap/gns/tests/z1_filetest.gno diff --git a/contract/r/gnoswap/v1/gns/tests/z2_filetest.gno b/contract/r/gnoswap/gns/tests/z2_filetest.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/tests/z2_filetest.gno rename to contract/r/gnoswap/gns/tests/z2_filetest.gno diff --git a/contract/r/gnoswap/v1/gns/tests/z3_filetest.gno b/contract/r/gnoswap/gns/tests/z3_filetest.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/tests/z3_filetest.gno rename to contract/r/gnoswap/gns/tests/z3_filetest.gno diff --git a/contract/r/gnoswap/v1/gns/tests/z4_filetest.gno b/contract/r/gnoswap/gns/tests/z4_filetest.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/tests/z4_filetest.gno rename to contract/r/gnoswap/gns/tests/z4_filetest.gno diff --git a/contract/r/gnoswap/v1/gns/utils.gno b/contract/r/gnoswap/gns/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/gns/utils.gno rename to contract/r/gnoswap/gns/utils.gno diff --git a/contract/r/gnoswap/v1/gov/doc.gno b/contract/r/gnoswap/gov/doc.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/doc.gno rename to contract/r/gnoswap/gov/doc.gno diff --git a/contract/r/gnoswap/v1/gov/governance/api.gno b/contract/r/gnoswap/gov/governance/api.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/api.gno rename to contract/r/gnoswap/gov/governance/api.gno diff --git a/contract/r/gnoswap/v1/gov/governance/api_test.gno b/contract/r/gnoswap/gov/governance/api_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/api_test.gno rename to contract/r/gnoswap/gov/governance/api_test.gno diff --git a/contract/r/gnoswap/v1/gov/governance/config.gno b/contract/r/gnoswap/gov/governance/config.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/config.gno rename to contract/r/gnoswap/gov/governance/config.gno diff --git a/contract/r/gnoswap/v1/gov/governance/config_test.gno b/contract/r/gnoswap/gov/governance/config_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/config_test.gno rename to contract/r/gnoswap/gov/governance/config_test.gno diff --git a/contract/r/gnoswap/v1/gov/governance/errors.gno b/contract/r/gnoswap/gov/governance/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/errors.gno rename to contract/r/gnoswap/gov/governance/errors.gno diff --git a/contract/r/gnoswap/v1/gov/governance/execute.gno b/contract/r/gnoswap/gov/governance/execute.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/execute.gno rename to contract/r/gnoswap/gov/governance/execute.gno diff --git a/contract/r/gnoswap/v1/gov/governance/execute_test.gno b/contract/r/gnoswap/gov/governance/execute_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/execute_test.gno rename to contract/r/gnoswap/gov/governance/execute_test.gno diff --git a/contract/r/gnoswap/v1/gov/governance/fn_registry.gno b/contract/r/gnoswap/gov/governance/fn_registry.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/fn_registry.gno rename to contract/r/gnoswap/gov/governance/fn_registry.gno diff --git a/contract/r/gnoswap/v1/gov/governance/fn_registry_test.gno b/contract/r/gnoswap/gov/governance/fn_registry_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/fn_registry_test.gno rename to contract/r/gnoswap/gov/governance/fn_registry_test.gno diff --git a/contract/r/gnoswap/v1/gov/governance/getter_proposal.gno b/contract/r/gnoswap/gov/governance/getter_proposal.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/getter_proposal.gno rename to contract/r/gnoswap/gov/governance/getter_proposal.gno diff --git a/contract/r/gnoswap/v1/gov/governance/getter_vote.gno b/contract/r/gnoswap/gov/governance/getter_vote.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/getter_vote.gno rename to contract/r/gnoswap/gov/governance/getter_vote.gno diff --git a/contract/r/gnoswap/v1/gov/governance/gno.mod b/contract/r/gnoswap/gov/governance/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/gno.mod rename to contract/r/gnoswap/gov/governance/gno.mod diff --git a/contract/r/gnoswap/v1/gov/governance/proposal.gno b/contract/r/gnoswap/gov/governance/proposal.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/proposal.gno rename to contract/r/gnoswap/gov/governance/proposal.gno diff --git a/contract/r/gnoswap/v1/gov/governance/proposal_test.gno b/contract/r/gnoswap/gov/governance/proposal_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/proposal_test.gno rename to contract/r/gnoswap/gov/governance/proposal_test.gno diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno b/contract/r/gnoswap/gov/governance/tests/_0_init_token_register_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno rename to contract/r/gnoswap/gov/governance/tests/_0_init_token_register_test.gno diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno b/contract/r/gnoswap/gov/governance/tests/_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno rename to contract/r/gnoswap/gov/governance/tests/_helper_test.gno diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_MULTI_execute_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_proposal_MULTI_execute_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_MULTI_execute_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_proposal_MULTI_execute_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_community_pool_spend_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_proposal_community_pool_spend_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_community_pool_spend_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_proposal_community_pool_spend_test.gnoA index 49de42d1b..ef2a38bf6 100644 --- a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_community_pool_spend_test.gnoA +++ b/contract/r/gnoswap/gov/governance/tests/governance_proposal_community_pool_spend_test.gnoA @@ -1,11 +1,10 @@ package governance import ( - "strconv" "std" + "strconv" "testing" - "gno.land/p/demo/avl" "gno.land/p/demo/testutils" "gno.land/p/demo/uassert" diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_execute_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_proposal_execute_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_execute_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_proposal_execute_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_status_update_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_proposal_status_update_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_status_update_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_proposal_status_update_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_text_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_proposal_text_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_proposal_text_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_proposal_text_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_vote_gov_delegated_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_vote_gov_delegated_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_undelegated_after_propose_before_vote_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_vote_gov_delegated_undelegated_after_propose_before_vote_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_undelegated_after_propose_before_vote_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_vote_gov_delegated_undelegated_after_propose_before_vote_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_undelegated_before_propose_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_vote_gov_delegated_undelegated_before_propose_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_vote_gov_delegated_undelegated_before_propose_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_vote_gov_delegated_undelegated_before_propose_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_vote_with_launchpad_xgns_test.gnoA b/contract/r/gnoswap/gov/governance/tests/governance_vote_with_launchpad_xgns_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/tests/__TEST_governance_vote_with_launchpad_xgns_test.gnoA rename to contract/r/gnoswap/gov/governance/tests/governance_vote_with_launchpad_xgns_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/governance/type.gno b/contract/r/gnoswap/gov/governance/type.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/type.gno rename to contract/r/gnoswap/gov/governance/type.gno diff --git a/contract/r/gnoswap/v1/gov/governance/utils.gno b/contract/r/gnoswap/gov/governance/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/utils.gno rename to contract/r/gnoswap/gov/governance/utils.gno diff --git a/contract/r/gnoswap/v1/gov/governance/vote.gno b/contract/r/gnoswap/gov/governance/vote.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/vote.gno rename to contract/r/gnoswap/gov/governance/vote.gno diff --git a/contract/r/gnoswap/v1/gov/governance/vote_test.gno b/contract/r/gnoswap/gov/governance/vote_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/governance/vote_test.gno rename to contract/r/gnoswap/gov/governance/vote_test.gno diff --git a/contract/r/gnoswap/v1/gov/staker/api_delegation.gno b/contract/r/gnoswap/gov/staker/api_delegation.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/api_delegation.gno rename to contract/r/gnoswap/gov/staker/api_delegation.gno diff --git a/contract/r/gnoswap/v1/gov/staker/api_history.gno b/contract/r/gnoswap/gov/staker/api_history.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/api_history.gno rename to contract/r/gnoswap/gov/staker/api_history.gno diff --git a/contract/r/gnoswap/v1/gov/staker/api_staker.gno b/contract/r/gnoswap/gov/staker/api_staker.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/api_staker.gno rename to contract/r/gnoswap/gov/staker/api_staker.gno diff --git a/contract/r/gnoswap/v1/gov/staker/api_staker_test.gno b/contract/r/gnoswap/gov/staker/api_staker_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/api_staker_test.gno rename to contract/r/gnoswap/gov/staker/api_staker_test.gno diff --git a/contract/r/gnoswap/v1/gov/staker/clean_delegation_stat_history.gno b/contract/r/gnoswap/gov/staker/clean_delegation_stat_history.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/clean_delegation_stat_history.gno rename to contract/r/gnoswap/gov/staker/clean_delegation_stat_history.gno diff --git a/contract/r/gnoswap/v1/gov/staker/clean_delegation_stat_history_test.gno b/contract/r/gnoswap/gov/staker/clean_delegation_stat_history_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/clean_delegation_stat_history_test.gno rename to contract/r/gnoswap/gov/staker/clean_delegation_stat_history_test.gno diff --git a/contract/r/gnoswap/v1/gov/staker/delegate_undelegate.gno b/contract/r/gnoswap/gov/staker/delegate_undelegate.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/delegate_undelegate.gno rename to contract/r/gnoswap/gov/staker/delegate_undelegate.gno diff --git a/contract/r/gnoswap/v1/gov/staker/delegate_undelegate_test.gno b/contract/r/gnoswap/gov/staker/delegate_undelegate_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/delegate_undelegate_test.gno rename to contract/r/gnoswap/gov/staker/delegate_undelegate_test.gno diff --git a/contract/r/gnoswap/v1/gov/staker/errors.gno b/contract/r/gnoswap/gov/staker/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/errors.gno rename to contract/r/gnoswap/gov/staker/errors.gno diff --git a/contract/r/gnoswap/v1/gov/staker/gno.mod b/contract/r/gnoswap/gov/staker/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/gno.mod rename to contract/r/gnoswap/gov/staker/gno.mod diff --git a/contract/r/gnoswap/v1/gov/staker/history.gno b/contract/r/gnoswap/gov/staker/history.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/history.gno rename to contract/r/gnoswap/gov/staker/history.gno diff --git a/contract/r/gnoswap/v1/gov/staker/history_test.gno b/contract/r/gnoswap/gov/staker/history_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/history_test.gno rename to contract/r/gnoswap/gov/staker/history_test.gno diff --git a/contract/r/gnoswap/v1/gov/staker/reward_calculation.gno b/contract/r/gnoswap/gov/staker/reward_calculation.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/reward_calculation.gno rename to contract/r/gnoswap/gov/staker/reward_calculation.gno diff --git a/contract/r/gnoswap/v1/gov/staker/reward_calculation_test.gno b/contract/r/gnoswap/gov/staker/reward_calculation_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/reward_calculation_test.gno rename to contract/r/gnoswap/gov/staker/reward_calculation_test.gno diff --git a/contract/r/gnoswap/v1/gov/staker/staker.gno b/contract/r/gnoswap/gov/staker/staker.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/staker.gno rename to contract/r/gnoswap/gov/staker/staker.gno diff --git a/contract/r/gnoswap/v1/gov/staker/staker_test.gno b/contract/r/gnoswap/gov/staker/staker_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/staker_test.gno rename to contract/r/gnoswap/gov/staker/staker_test.gno diff --git a/contract/r/gnoswap/v1/gov/staker/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gnoA b/contract/r/gnoswap/gov/staker/tests/_0_init_token_register_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/_0_init_token_register_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gnoA b/contract/r/gnoswap/gov/staker/tests/_helper_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/_helper_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/tests/__TEST_api_test.gnoA b/contract/r/gnoswap/gov/staker/tests/api_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/__TEST_api_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/api_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/tests/clean_delegation_stat_history_test.gnoA b/contract/r/gnoswap/gov/staker/tests/clean_delegation_stat_history_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/clean_delegation_stat_history_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/clean_delegation_stat_history_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/tests/__TEST_emission_gns_mint_test.gnoA b/contract/r/gnoswap/gov/staker/tests/emission_gns_mint_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/__TEST_emission_gns_mint_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/emission_gns_mint_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/tests/__TEST_governance_reward_emission_test.gnoA b/contract/r/gnoswap/gov/staker/tests/governance_reward_emission_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/__TEST_governance_reward_emission_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/governance_reward_emission_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/tests/__TEST_governance_reward_protocol_fee_test.gnoA b/contract/r/gnoswap/gov/staker/tests/governance_reward_protocol_fee_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/__TEST_governance_reward_protocol_fee_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/governance_reward_protocol_fee_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/tests/__TEST_governance_reward_protocol_fee_with_launchpad_test.gnoA b/contract/r/gnoswap/gov/staker/tests/governance_reward_protocol_fee_with_launchpad_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/__TEST_governance_reward_protocol_fee_with_launchpad_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/governance_reward_protocol_fee_with_launchpad_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/tests/history_test.gnoA b/contract/r/gnoswap/gov/staker/tests/history_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/tests/history_test.gnoA rename to contract/r/gnoswap/gov/staker/tests/history_test.gnoA diff --git a/contract/r/gnoswap/v1/gov/staker/util.gno b/contract/r/gnoswap/gov/staker/util.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/util.gno rename to contract/r/gnoswap/gov/staker/util.gno diff --git a/contract/r/gnoswap/v1/gov/staker/util_test.gno b/contract/r/gnoswap/gov/staker/util_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/staker/util_test.gno rename to contract/r/gnoswap/gov/staker/util_test.gno diff --git a/contract/r/gnoswap/v1/gov/xgns/errors.gno b/contract/r/gnoswap/gov/xgns/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/xgns/errors.gno rename to contract/r/gnoswap/gov/xgns/errors.gno diff --git a/contract/r/gnoswap/v1/gov/xgns/gno.mod b/contract/r/gnoswap/gov/xgns/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/gov/xgns/gno.mod rename to contract/r/gnoswap/gov/xgns/gno.mod diff --git a/contract/r/gnoswap/v1/gov/xgns/xgns.gno b/contract/r/gnoswap/gov/xgns/xgns.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/xgns/xgns.gno rename to contract/r/gnoswap/gov/xgns/xgns.gno diff --git a/contract/r/gnoswap/v1/gov/xgns/xgns_test.gno b/contract/r/gnoswap/gov/xgns/xgns_test.gno similarity index 100% rename from contract/r/gnoswap/v1/gov/xgns/xgns_test.gno rename to contract/r/gnoswap/gov/xgns/xgns_test.gno diff --git a/contract/r/gnoswap/v1/launchpad/_helper_test.gno b/contract/r/gnoswap/launchpad/_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/_helper_test.gno rename to contract/r/gnoswap/launchpad/_helper_test.gno diff --git a/contract/r/gnoswap/v1/launchpad/api_deposit.gno b/contract/r/gnoswap/launchpad/api_deposit.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/api_deposit.gno rename to contract/r/gnoswap/launchpad/api_deposit.gno diff --git a/contract/r/gnoswap/v1/launchpad/api_project.gno b/contract/r/gnoswap/launchpad/api_project.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/api_project.gno rename to contract/r/gnoswap/launchpad/api_project.gno diff --git a/contract/r/gnoswap/v1/launchpad/api_reward.gno b/contract/r/gnoswap/launchpad/api_reward.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/api_reward.gno rename to contract/r/gnoswap/launchpad/api_reward.gno diff --git a/contract/r/gnoswap/v1/launchpad/consts.gno b/contract/r/gnoswap/launchpad/consts.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/consts.gno rename to contract/r/gnoswap/launchpad/consts.gno diff --git a/contract/r/gnoswap/v1/launchpad/deposit.gno b/contract/r/gnoswap/launchpad/deposit.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/deposit.gno rename to contract/r/gnoswap/launchpad/deposit.gno diff --git a/contract/r/gnoswap/v1/launchpad/deposit_test.gno b/contract/r/gnoswap/launchpad/deposit_test.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/deposit_test.gno rename to contract/r/gnoswap/launchpad/deposit_test.gno diff --git a/contract/r/gnoswap/v1/launchpad/doc.gno b/contract/r/gnoswap/launchpad/doc.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/doc.gno rename to contract/r/gnoswap/launchpad/doc.gno diff --git a/contract/r/gnoswap/v1/launchpad/errors.gno b/contract/r/gnoswap/launchpad/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/errors.gno rename to contract/r/gnoswap/launchpad/errors.gno diff --git a/contract/r/gnoswap/v1/launchpad/gno.mod b/contract/r/gnoswap/launchpad/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/launchpad/gno.mod rename to contract/r/gnoswap/launchpad/gno.mod diff --git a/contract/r/gnoswap/v1/launchpad/json_builder.gno b/contract/r/gnoswap/launchpad/json_builder.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/json_builder.gno rename to contract/r/gnoswap/launchpad/json_builder.gno diff --git a/contract/r/gnoswap/v1/launchpad/json_builder_test.gno b/contract/r/gnoswap/launchpad/json_builder_test.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/json_builder_test.gno rename to contract/r/gnoswap/launchpad/json_builder_test.gno diff --git a/contract/r/gnoswap/v1/launchpad/launchpad.gno b/contract/r/gnoswap/launchpad/launchpad.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/launchpad.gno rename to contract/r/gnoswap/launchpad/launchpad.gno diff --git a/contract/r/gnoswap/v1/launchpad/launchpad_test.gno b/contract/r/gnoswap/launchpad/launchpad_test.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/launchpad_test.gno rename to contract/r/gnoswap/launchpad/launchpad_test.gno diff --git a/contract/r/gnoswap/v1/launchpad/reward.gno b/contract/r/gnoswap/launchpad/reward.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/reward.gno rename to contract/r/gnoswap/launchpad/reward.gno diff --git a/contract/r/gnoswap/v1/launchpad/reward_calculation.gno b/contract/r/gnoswap/launchpad/reward_calculation.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/reward_calculation.gno rename to contract/r/gnoswap/launchpad/reward_calculation.gno diff --git a/contract/r/gnoswap/v1/launchpad/reward_calculation_test.gno b/contract/r/gnoswap/launchpad/reward_calculation_test.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/reward_calculation_test.gno rename to contract/r/gnoswap/launchpad/reward_calculation_test.gno diff --git a/contract/r/gnoswap/v1/launchpad/reward_test.gno b/contract/r/gnoswap/launchpad/reward_test.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/reward_test.gno rename to contract/r/gnoswap/launchpad/reward_test.gno diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno b/contract/r/gnoswap/launchpad/tests/_0_init_token_register_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno rename to contract/r/gnoswap/launchpad/tests/_0_init_token_register_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno b/contract/r/gnoswap/launchpad/tests/_helper_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno rename to contract/r/gnoswap/launchpad/tests/_helper_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_create_project_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_create_project_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_create_project_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_create_project_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_deposit_project_single_recipient_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_deposit_project_single_recipient_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_deposit_project_single_recipient_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_deposit_project_single_recipient_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_deposit_project_two_recipient_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_deposit_project_two_recipient_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_deposit_project_two_recipient_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_deposit_project_two_recipient_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_refund_ended_proejct_no_deposit_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_refund_ended_proejct_no_deposit_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_refund_ended_proejct_no_deposit_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_refund_ended_proejct_no_deposit_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_refund_ended_proejct_with_tier30_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_refund_ended_proejct_with_tier30_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_refund_ended_proejct_with_tier30_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_refund_ended_proejct_with_tier30_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_01_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_reward_and_gov_reward_01_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_01_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_reward_and_gov_reward_01_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_02_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_reward_and_gov_reward_02_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_02_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_reward_and_gov_reward_02_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_03_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_reward_and_gov_reward_03_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_reward_and_gov_reward_03_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_reward_and_gov_reward_03_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier180_single_deposit_reward_by_proejct_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_tier180_single_deposit_reward_by_proejct_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier180_single_deposit_reward_by_proejct_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_tier180_single_deposit_reward_by_proejct_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier180_single_deposit_reward_by_proejct_tier_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_tier180_single_deposit_reward_by_proejct_tier_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier180_single_deposit_reward_by_proejct_tier_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_tier180_single_deposit_reward_by_proejct_tier_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_01_deposit_collect_gns_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_tier30_single_deposit_01_deposit_collect_gns_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_01_deposit_collect_gns_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_tier30_single_deposit_01_deposit_collect_gns_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_02_deposit_reward_by_proejct_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_tier30_single_deposit_02_deposit_reward_by_proejct_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_02_deposit_reward_by_proejct_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_tier30_single_deposit_02_deposit_reward_by_proejct_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_03_deposit_reward_by_deposit_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_tier30_single_deposit_03_deposit_reward_by_deposit_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_03_deposit_reward_by_deposit_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_tier30_single_deposit_03_deposit_reward_by_deposit_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_04_deposit_reward_by_deposit_endheight_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_tier30_single_deposit_04_deposit_reward_by_deposit_endheight_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_single_deposit_04_deposit_reward_by_deposit_endheight_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_tier30_single_deposit_04_deposit_reward_by_deposit_endheight_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_two_deposit_reward_by_project_test.gno b/contract/r/gnoswap/launchpad/tests/launchpad_tier30_two_deposit_reward_by_project_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier30_two_deposit_reward_by_project_test.gno rename to contract/r/gnoswap/launchpad/tests/launchpad_tier30_two_deposit_reward_by_project_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier90_single_deposit_reward_by_proejct_tier_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_tier90_single_deposit_reward_by_proejct_tier_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier90_single_deposit_reward_by_proejct_tier_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_tier90_single_deposit_reward_by_proejct_tier_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier_all_single_deposit_reward_by_proejct_tier_test.gnoA b/contract/r/gnoswap/launchpad/tests/launchpad_tier_all_single_deposit_reward_by_proejct_tier_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_launchpad_tier_all_single_deposit_reward_by_proejct_tier_test.gnoA rename to contract/r/gnoswap/launchpad/tests/launchpad_tier_all_single_deposit_reward_by_proejct_tier_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/tests/__TEST_RPC_api_test.gnoA b/contract/r/gnoswap/launchpad/tests/rpc_api_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/launchpad/tests/__TEST_RPC_api_test.gnoA rename to contract/r/gnoswap/launchpad/tests/rpc_api_test.gnoA diff --git a/contract/r/gnoswap/v1/launchpad/type.gno b/contract/r/gnoswap/launchpad/type.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/type.gno rename to contract/r/gnoswap/launchpad/type.gno diff --git a/contract/r/gnoswap/v1/launchpad/util.gno b/contract/r/gnoswap/launchpad/util.gno similarity index 100% rename from contract/r/gnoswap/v1/launchpad/util.gno rename to contract/r/gnoswap/launchpad/util.gno diff --git a/contract/r/gnoswap/v1/pool/_helper_test.gno b/contract/r/gnoswap/pool/_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/_helper_test.gno rename to contract/r/gnoswap/pool/_helper_test.gno diff --git a/contract/r/gnoswap/v1/pool/api.gno b/contract/r/gnoswap/pool/api.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/api.gno rename to contract/r/gnoswap/pool/api.gno diff --git a/contract/r/gnoswap/v1/pool/api_test.gno b/contract/r/gnoswap/pool/api_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/api_test.gno rename to contract/r/gnoswap/pool/api_test.gno diff --git a/contract/r/gnoswap/v1/pool/doc.gno b/contract/r/gnoswap/pool/doc.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/doc.gno rename to contract/r/gnoswap/pool/doc.gno diff --git a/contract/r/gnoswap/v1/pool/errors.gno b/contract/r/gnoswap/pool/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/errors.gno rename to contract/r/gnoswap/pool/errors.gno diff --git a/contract/r/gnoswap/v1/pool/getter.gno b/contract/r/gnoswap/pool/getter.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/getter.gno rename to contract/r/gnoswap/pool/getter.gno diff --git a/contract/r/gnoswap/v1/pool/getter_test.gno b/contract/r/gnoswap/pool/getter_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/getter_test.gno rename to contract/r/gnoswap/pool/getter_test.gno diff --git a/contract/r/gnoswap/v1/pool/gno.mod b/contract/r/gnoswap/pool/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/pool/gno.mod rename to contract/r/gnoswap/pool/gno.mod diff --git a/contract/r/gnoswap/v1/pool/liquidity_math.gno b/contract/r/gnoswap/pool/liquidity_math.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/liquidity_math.gno rename to contract/r/gnoswap/pool/liquidity_math.gno diff --git a/contract/r/gnoswap/v1/pool/liquidity_math_test.gno b/contract/r/gnoswap/pool/liquidity_math_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/liquidity_math_test.gno rename to contract/r/gnoswap/pool/liquidity_math_test.gno diff --git a/contract/r/gnoswap/v1/pool/pool.gno b/contract/r/gnoswap/pool/pool.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/pool.gno rename to contract/r/gnoswap/pool/pool.gno diff --git a/contract/r/gnoswap/v1/pool/pool_manager.gno b/contract/r/gnoswap/pool/pool_manager.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/pool_manager.gno rename to contract/r/gnoswap/pool/pool_manager.gno diff --git a/contract/r/gnoswap/v1/pool/pool_manager_test.gno b/contract/r/gnoswap/pool/pool_manager_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/pool_manager_test.gno rename to contract/r/gnoswap/pool/pool_manager_test.gno diff --git a/contract/r/gnoswap/v1/pool/pool_test.gno b/contract/r/gnoswap/pool/pool_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/pool_test.gno rename to contract/r/gnoswap/pool/pool_test.gno diff --git a/contract/r/gnoswap/v1/pool/pool_transfer.gno b/contract/r/gnoswap/pool/pool_transfer.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/pool_transfer.gno rename to contract/r/gnoswap/pool/pool_transfer.gno diff --git a/contract/r/gnoswap/v1/pool/pool_transfer_test.gno b/contract/r/gnoswap/pool/pool_transfer_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/pool_transfer_test.gno rename to contract/r/gnoswap/pool/pool_transfer_test.gno diff --git a/contract/r/gnoswap/v1/pool/position.gno b/contract/r/gnoswap/pool/position.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/position.gno rename to contract/r/gnoswap/pool/position.gno diff --git a/contract/r/gnoswap/v1/pool/position_modify.gno b/contract/r/gnoswap/pool/position_modify.gno similarity index 99% rename from contract/r/gnoswap/v1/pool/position_modify.gno rename to contract/r/gnoswap/pool/position_modify.gno index fe3bf876f..464c29233 100644 --- a/contract/r/gnoswap/v1/pool/position_modify.gno +++ b/contract/r/gnoswap/pool/position_modify.gno @@ -2,8 +2,8 @@ package pool import ( "gno.land/p/demo/ufmt" + plp "gno.land/p/gnoswap/gnsmath" i256 "gno.land/p/gnoswap/int256" - plp "gno.land/p/gnoswap/pool" u256 "gno.land/p/gnoswap/uint256" "gno.land/r/gnoswap/v1/common" "gno.land/r/gnoswap/v1/consts" diff --git a/contract/r/gnoswap/v1/pool/position_modify_test.gno b/contract/r/gnoswap/pool/position_modify_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/position_modify_test.gno rename to contract/r/gnoswap/pool/position_modify_test.gno diff --git a/contract/r/gnoswap/v1/pool/position_test.gno b/contract/r/gnoswap/pool/position_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/position_test.gno rename to contract/r/gnoswap/pool/position_test.gno diff --git a/contract/r/gnoswap/v1/pool/position_update.gno b/contract/r/gnoswap/pool/position_update.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/position_update.gno rename to contract/r/gnoswap/pool/position_update.gno diff --git a/contract/r/gnoswap/v1/pool/position_update_test.gno b/contract/r/gnoswap/pool/position_update_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/position_update_test.gno rename to contract/r/gnoswap/pool/position_update_test.gno diff --git a/contract/r/gnoswap/v1/pool/protocol_fee_pool_creation.gno b/contract/r/gnoswap/pool/protocol_fee_pool_creation.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/protocol_fee_pool_creation.gno rename to contract/r/gnoswap/pool/protocol_fee_pool_creation.gno diff --git a/contract/r/gnoswap/v1/pool/protocol_fee_pool_creation_test.gno b/contract/r/gnoswap/pool/protocol_fee_pool_creation_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/protocol_fee_pool_creation_test.gno rename to contract/r/gnoswap/pool/protocol_fee_pool_creation_test.gno diff --git a/contract/r/gnoswap/v1/pool/protocol_fee_withdrawal.gno b/contract/r/gnoswap/pool/protocol_fee_withdrawal.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/protocol_fee_withdrawal.gno rename to contract/r/gnoswap/pool/protocol_fee_withdrawal.gno diff --git a/contract/r/gnoswap/v1/pool/protocol_fee_withdrawal_test.gno b/contract/r/gnoswap/pool/protocol_fee_withdrawal_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/protocol_fee_withdrawal_test.gno rename to contract/r/gnoswap/pool/protocol_fee_withdrawal_test.gno diff --git a/contract/r/gnoswap/v1/pool/swap.gno b/contract/r/gnoswap/pool/swap.gno similarity index 99% rename from contract/r/gnoswap/v1/pool/swap.gno rename to contract/r/gnoswap/pool/swap.gno index 123c021b6..ac3582a6c 100644 --- a/contract/r/gnoswap/v1/pool/swap.gno +++ b/contract/r/gnoswap/pool/swap.gno @@ -7,8 +7,8 @@ import ( "gno.land/r/gnoswap/v1/common" "gno.land/r/gnoswap/v1/consts" + plp "gno.land/p/gnoswap/gnsmath" // pool package i256 "gno.land/p/gnoswap/int256" - plp "gno.land/p/gnoswap/pool" // pool package u256 "gno.land/p/gnoswap/uint256" ) diff --git a/contract/r/gnoswap/v1/pool/swap_test.gno b/contract/r/gnoswap/pool/swap_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/swap_test.gno rename to contract/r/gnoswap/pool/swap_test.gno diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_burn_test.gnoA b/contract/r/gnoswap/pool/tests/pool_burn_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_burn_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_burn_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_create_pool_test.gnoA b/contract/r/gnoswap/pool/tests/pool_create_pool_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_create_pool_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_create_pool_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_dryswap_and_swap_test.gnoA b/contract/r/gnoswap/pool/tests/pool_dryswap_and_swap_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_dryswap_and_swap_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_dryswap_and_swap_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_fee_protocol_test.gnoA b/contract/r/gnoswap/pool/tests/pool_fee_protocol_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_fee_protocol_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_fee_protocol_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_init_test.gnoA b/contract/r/gnoswap/pool/tests/pool_init_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_init_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_init_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_limit_test.gnoA b/contract/r/gnoswap/pool/tests/pool_limit_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_limit_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_limit_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_limit_with_protocol_fee_test.gnoA b/contract/r/gnoswap/pool/tests/pool_limit_with_protocol_fee_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_limit_with_protocol_fee_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_limit_with_protocol_fee_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_mint_test.gnoA b/contract/r/gnoswap/pool/tests/pool_mint_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_mint_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_mint_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_multi_token_test.gnoA b/contract/r/gnoswap/pool/tests/pool_multi_token_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_multi_token_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_multi_token_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_native_swap_test.gnoA b/contract/r/gnoswap/pool/tests/pool_native_swap_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_native_swap_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_native_swap_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_single_lp_test.gnoA b/contract/r/gnoswap/pool/tests/pool_single_lp_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_single_lp_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_single_lp_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#1_test.gnoA b/contract/r/gnoswap/pool/tests/pool_spec_#1_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#1_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_spec_#1_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#2_test.gnoA b/contract/r/gnoswap/pool/tests/pool_spec_#2_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#2_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_spec_#2_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#3_test.gnoA b/contract/r/gnoswap/pool/tests/pool_spec_#3_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#3_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_spec_#3_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#4_test.gnoA b/contract/r/gnoswap/pool/tests/pool_spec_#4_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#4_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_spec_#4_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#5_test.gnoA b/contract/r/gnoswap/pool/tests/pool_spec_#5_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#5_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_spec_#5_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#6_test.gnoA b/contract/r/gnoswap/pool/tests/pool_spec_#6_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_spec_#6_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_spec_#6_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_test.gnoA b/contract/r/gnoswap/pool/tests/pool_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_tick_test.gnoA b/contract/r/gnoswap/pool/tests/pool_tick_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_tick_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_tick_test.gnoA diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_tick_transaction_test.gnoA b/contract/r/gnoswap/pool/tests/pool_tick_transaction_test.gnoA similarity index 98% rename from contract/r/gnoswap/v1/pool/tests/__TEST_pool_tick_transaction_test.gnoA rename to contract/r/gnoswap/pool/tests/pool_tick_transaction_test.gnoA index cddde99de..1f54bbac1 100644 --- a/contract/r/gnoswap/v1/pool/tests/__TEST_pool_tick_transaction_test.gnoA +++ b/contract/r/gnoswap/pool/tests/pool_tick_transaction_test.gnoA @@ -8,7 +8,7 @@ import ( i256 "gno.land/p/gnoswap/int256" u256 "gno.land/p/gnoswap/uint256" - plp "gno.land/p/gnoswap/pool" + plp "gno.land/p/gnoswap/gnsmath" "gno.land/r/gnoswap/v1/common" "gno.land/r/gnoswap/v1/consts" diff --git a/contract/r/gnoswap/v1/pool/tests/__TEST_tick_bitmap_test.gnoA b/contract/r/gnoswap/pool/tests/tick_bitmap_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/pool/tests/__TEST_tick_bitmap_test.gnoA rename to contract/r/gnoswap/pool/tests/tick_bitmap_test.gnoA index 6957516e7..3e2d8fb14 100644 --- a/contract/r/gnoswap/v1/pool/tests/__TEST_tick_bitmap_test.gnoA +++ b/contract/r/gnoswap/pool/tests/tick_bitmap_test.gnoA @@ -8,7 +8,7 @@ import ( u256 "gno.land/p/gnoswap/uint256" - plp "gno.land/p/gnoswap/pool" + plp "gno.land/p/gnoswap/gnsmath" "gno.land/r/gnoswap/v1/consts" ) diff --git a/contract/r/gnoswap/v1/pool/tick.gno b/contract/r/gnoswap/pool/tick.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/tick.gno rename to contract/r/gnoswap/pool/tick.gno diff --git a/contract/r/gnoswap/v1/pool/tick_bitmap.gno b/contract/r/gnoswap/pool/tick_bitmap.gno similarity index 99% rename from contract/r/gnoswap/v1/pool/tick_bitmap.gno rename to contract/r/gnoswap/pool/tick_bitmap.gno index dc7369b7f..46d4c1ec6 100644 --- a/contract/r/gnoswap/v1/pool/tick_bitmap.gno +++ b/contract/r/gnoswap/pool/tick_bitmap.gno @@ -4,7 +4,7 @@ import ( "strconv" "gno.land/p/demo/ufmt" - plp "gno.land/p/gnoswap/pool" + plp "gno.land/p/gnoswap/gnsmath" u256 "gno.land/p/gnoswap/uint256" ) diff --git a/contract/r/gnoswap/v1/pool/tick_bitmap_test.gno b/contract/r/gnoswap/pool/tick_bitmap_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/tick_bitmap_test.gno rename to contract/r/gnoswap/pool/tick_bitmap_test.gno diff --git a/contract/r/gnoswap/v1/pool/tick_test.gno b/contract/r/gnoswap/pool/tick_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/tick_test.gno rename to contract/r/gnoswap/pool/tick_test.gno diff --git a/contract/r/gnoswap/v1/pool/type.gno b/contract/r/gnoswap/pool/type.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/type.gno rename to contract/r/gnoswap/pool/type.gno diff --git a/contract/r/gnoswap/v1/pool/utils.gno b/contract/r/gnoswap/pool/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/utils.gno rename to contract/r/gnoswap/pool/utils.gno diff --git a/contract/r/gnoswap/v1/pool/utils_test.gno b/contract/r/gnoswap/pool/utils_test.gno similarity index 100% rename from contract/r/gnoswap/v1/pool/utils_test.gno rename to contract/r/gnoswap/pool/utils_test.gno diff --git a/contract/r/gnoswap/v1/position/_helper_test.gno b/contract/r/gnoswap/position/_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/position/_helper_test.gno rename to contract/r/gnoswap/position/_helper_test.gno diff --git a/contract/r/gnoswap/v1/position/api.gno b/contract/r/gnoswap/position/api.gno similarity index 100% rename from contract/r/gnoswap/v1/position/api.gno rename to contract/r/gnoswap/position/api.gno diff --git a/contract/r/gnoswap/v1/position/api_test.gno b/contract/r/gnoswap/position/api_test.gno similarity index 100% rename from contract/r/gnoswap/v1/position/api_test.gno rename to contract/r/gnoswap/position/api_test.gno diff --git a/contract/r/gnoswap/v1/position/doc.gno b/contract/r/gnoswap/position/doc.gno similarity index 100% rename from contract/r/gnoswap/v1/position/doc.gno rename to contract/r/gnoswap/position/doc.gno diff --git a/contract/r/gnoswap/v1/position/errors.gno b/contract/r/gnoswap/position/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/position/errors.gno rename to contract/r/gnoswap/position/errors.gno diff --git a/contract/r/gnoswap/v1/position/getter.gno b/contract/r/gnoswap/position/getter.gno similarity index 100% rename from contract/r/gnoswap/v1/position/getter.gno rename to contract/r/gnoswap/position/getter.gno diff --git a/contract/r/gnoswap/v1/position/getter_test.gno b/contract/r/gnoswap/position/getter_test.gno similarity index 100% rename from contract/r/gnoswap/v1/position/getter_test.gno rename to contract/r/gnoswap/position/getter_test.gno diff --git a/contract/r/gnoswap/v1/position/gno.mod b/contract/r/gnoswap/position/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/position/gno.mod rename to contract/r/gnoswap/position/gno.mod diff --git a/contract/r/gnoswap/v1/position/liquidity_management.gno b/contract/r/gnoswap/position/liquidity_management.gno similarity index 100% rename from contract/r/gnoswap/v1/position/liquidity_management.gno rename to contract/r/gnoswap/position/liquidity_management.gno diff --git a/contract/r/gnoswap/v1/position/liquidity_management_test.gno b/contract/r/gnoswap/position/liquidity_management_test.gno similarity index 100% rename from contract/r/gnoswap/v1/position/liquidity_management_test.gno rename to contract/r/gnoswap/position/liquidity_management_test.gno diff --git a/contract/r/gnoswap/v1/position/native_token.gno b/contract/r/gnoswap/position/native_token.gno similarity index 100% rename from contract/r/gnoswap/v1/position/native_token.gno rename to contract/r/gnoswap/position/native_token.gno diff --git a/contract/r/gnoswap/v1/position/native_token_test.gno b/contract/r/gnoswap/position/native_token_test.gno similarity index 100% rename from contract/r/gnoswap/v1/position/native_token_test.gno rename to contract/r/gnoswap/position/native_token_test.gno diff --git a/contract/r/gnoswap/v1/position/position.gno b/contract/r/gnoswap/position/position.gno similarity index 100% rename from contract/r/gnoswap/v1/position/position.gno rename to contract/r/gnoswap/position/position.gno diff --git a/contract/r/gnoswap/v1/position/position_test.gno b/contract/r/gnoswap/position/position_test.gno similarity index 100% rename from contract/r/gnoswap/v1/position/position_test.gno rename to contract/r/gnoswap/position/position_test.gno diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_fee_collect_with_two_user_test.gnoA b/contract/r/gnoswap/position/tests/fee_collect_with_two_user_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_fee_collect_with_two_user_test.gnoA rename to contract/r/gnoswap/position/tests/fee_collect_with_two_user_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_api_test.gnoA b/contract/r/gnoswap/position/tests/position_api_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_api_test.gnoA rename to contract/r/gnoswap/position/tests/position_api_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_full_test.gnoA b/contract/r/gnoswap/position/tests/position_full_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_full_test.gnoA rename to contract/r/gnoswap/position/tests/position_full_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_full_with_emission_test.gnoA b/contract/r/gnoswap/position/tests/position_full_with_emission_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_full_with_emission_test.gnoA rename to contract/r/gnoswap/position/tests/position_full_with_emission_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_increase_burned_position_test.gnoA b/contract/r/gnoswap/position/tests/position_increase_burned_position_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_increase_burned_position_test.gnoA rename to contract/r/gnoswap/position/tests/position_increase_burned_position_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_increase_decrease_test.gnoA b/contract/r/gnoswap/position/tests/position_increase_decrease_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_increase_decrease_test.gnoA rename to contract/r/gnoswap/position/tests/position_increase_decrease_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_mint_gnot_grc20_in-range_out-range_test.gnoA b/contract/r/gnoswap/position/tests/position_mint_gnot_grc20_in-range_out-range_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_mint_gnot_grc20_in-range_out-range_test.gnoA rename to contract/r/gnoswap/position/tests/position_mint_gnot_grc20_in-range_out-range_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_mint_swap_burn_left_test.gnoA b/contract/r/gnoswap/position/tests/position_mint_swap_burn_left_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_mint_swap_burn_left_test.gnoA rename to contract/r/gnoswap/position/tests/position_mint_swap_burn_left_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_native_increase_decrease_test.gnoA b/contract/r/gnoswap/position/tests/position_native_increase_decrease_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_native_increase_decrease_test.gnoA rename to contract/r/gnoswap/position/tests/position_native_increase_decrease_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_native_mint_swap_burn_test.gnoA b/contract/r/gnoswap/position/tests/position_native_mint_swap_burn_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_native_mint_swap_burn_test.gnoA rename to contract/r/gnoswap/position/tests/position_native_mint_swap_burn_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_reposition_gnot_pair_test.gnoA b/contract/r/gnoswap/position/tests/position_reposition_gnot_pair_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_reposition_gnot_pair_test.gnoA rename to contract/r/gnoswap/position/tests/position_reposition_gnot_pair_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_reposition_grc20_pair_test.gnoA b/contract/r/gnoswap/position/tests/position_reposition_grc20_pair_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_reposition_grc20_pair_test.gnoA rename to contract/r/gnoswap/position/tests/position_reposition_grc20_pair_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_reposition_grc20_pair_with_swap_test.gnoA b/contract/r/gnoswap/position/tests/position_reposition_grc20_pair_with_swap_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_reposition_grc20_pair_with_swap_test.gnoA rename to contract/r/gnoswap/position/tests/position_reposition_grc20_pair_with_swap_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_same_user_same_pool_diff_range_diff_position_swap_fee_test.gnoA b/contract/r/gnoswap/position/tests/position_same_user_same_pool_diff_range_diff_position_swap_fee_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_same_user_same_pool_diff_range_diff_position_swap_fee_test.gnoA rename to contract/r/gnoswap/position/tests/position_same_user_same_pool_diff_range_diff_position_swap_fee_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_same_user_same_pool_same_range_diff_position_swap_fee_test.gnoA b/contract/r/gnoswap/position/tests/position_same_user_same_pool_same_range_diff_position_swap_fee_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_same_user_same_pool_same_range_diff_position_swap_fee_test.gnoA rename to contract/r/gnoswap/position/tests/position_same_user_same_pool_same_range_diff_position_swap_fee_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_test_two_position_used_single_swap_test.gnoA b/contract/r/gnoswap/position/tests/position_test_two_position_used_single_swap_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_test_two_position_used_single_swap_test.gnoA rename to contract/r/gnoswap/position/tests/position_test_two_position_used_single_swap_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_tokens_owed_left_grc20_pair_more_action_test.gnoA b/contract/r/gnoswap/position/tests/position_tokens_owed_left_grc20_pair_more_action_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_tokens_owed_left_grc20_pair_more_action_test.gnoA rename to contract/r/gnoswap/position/tests/position_tokens_owed_left_grc20_pair_more_action_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_tokens_owed_left_pair_more_action_exact_test.gnoA b/contract/r/gnoswap/position/tests/position_tokens_owed_left_pair_more_action_exact_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_tokens_owed_left_pair_more_action_exact_test.gnoA rename to contract/r/gnoswap/position/tests/position_tokens_owed_left_pair_more_action_exact_test.gnoA diff --git a/contract/r/gnoswap/v1/position/tests/__TEST_position_unclaimed_fee_test.gnoA b/contract/r/gnoswap/position/tests/position_unclaimed_fee_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/position/tests/__TEST_position_unclaimed_fee_test.gnoA rename to contract/r/gnoswap/position/tests/position_unclaimed_fee_test.gnoA diff --git a/contract/r/gnoswap/v1/position/type.gno b/contract/r/gnoswap/position/type.gno similarity index 100% rename from contract/r/gnoswap/v1/position/type.gno rename to contract/r/gnoswap/position/type.gno diff --git a/contract/r/gnoswap/v1/position/utils.gno b/contract/r/gnoswap/position/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/position/utils.gno rename to contract/r/gnoswap/position/utils.gno diff --git a/contract/r/gnoswap/v1/position/utils_test.gno b/contract/r/gnoswap/position/utils_test.gno similarity index 100% rename from contract/r/gnoswap/v1/position/utils_test.gno rename to contract/r/gnoswap/position/utils_test.gno diff --git a/contract/r/gnoswap/v1/protocol_fee/errors.gno b/contract/r/gnoswap/protocol_fee/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/errors.gno rename to contract/r/gnoswap/protocol_fee/errors.gno diff --git a/contract/r/gnoswap/v1/protocol_fee/gno.mod b/contract/r/gnoswap/protocol_fee/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/gno.mod rename to contract/r/gnoswap/protocol_fee/gno.mod diff --git a/contract/r/gnoswap/v1/protocol_fee/protocol_fee.gno b/contract/r/gnoswap/protocol_fee/protocol_fee.gno similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/protocol_fee.gno rename to contract/r/gnoswap/protocol_fee/protocol_fee.gno diff --git a/contract/r/gnoswap/v1/protocol_fee/protocol_fee_test.gno b/contract/r/gnoswap/protocol_fee/protocol_fee_test.gno similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/protocol_fee_test.gno rename to contract/r/gnoswap/protocol_fee/protocol_fee_test.gno diff --git a/contract/r/gnoswap/v1/protocol_fee/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno b/contract/r/gnoswap/protocol_fee/tests/0_init_token_register_test.gno similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gno rename to contract/r/gnoswap/protocol_fee/tests/0_init_token_register_test.gno diff --git a/contract/r/gnoswap/v1/protocol_fee/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno b/contract/r/gnoswap/protocol_fee/tests/_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/tests/__TEST_0_INIT_VARIABLE_AND_HELPER_test.gno rename to contract/r/gnoswap/protocol_fee/tests/_helper_test.gno diff --git a/contract/r/gnoswap/v1/protocol_fee/token_list_with_amount.gno b/contract/r/gnoswap/protocol_fee/token_list_with_amount.gno similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/token_list_with_amount.gno rename to contract/r/gnoswap/protocol_fee/token_list_with_amount.gno diff --git a/contract/r/gnoswap/v1/protocol_fee/token_list_with_amount_test.gno b/contract/r/gnoswap/protocol_fee/token_list_with_amount_test.gno similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/token_list_with_amount_test.gno rename to contract/r/gnoswap/protocol_fee/token_list_with_amount_test.gno diff --git a/contract/r/gnoswap/v1/protocol_fee/utils.gno b/contract/r/gnoswap/protocol_fee/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/protocol_fee/utils.gno rename to contract/r/gnoswap/protocol_fee/utils.gno diff --git a/contract/r/gnoswap/v1/referral/doc.gno b/contract/r/gnoswap/referral/doc.gno similarity index 100% rename from contract/r/gnoswap/v1/referral/doc.gno rename to contract/r/gnoswap/referral/doc.gno diff --git a/contract/r/gnoswap/v1/referral/errors.gno b/contract/r/gnoswap/referral/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/referral/errors.gno rename to contract/r/gnoswap/referral/errors.gno diff --git a/contract/r/gnoswap/v1/referral/global_keeper.gno b/contract/r/gnoswap/referral/global_keeper.gno similarity index 100% rename from contract/r/gnoswap/v1/referral/global_keeper.gno rename to contract/r/gnoswap/referral/global_keeper.gno diff --git a/contract/r/gnoswap/v1/referral/gno.mod b/contract/r/gnoswap/referral/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/referral/gno.mod rename to contract/r/gnoswap/referral/gno.mod diff --git a/contract/r/gnoswap/v1/referral/keeper.gno b/contract/r/gnoswap/referral/keeper.gno similarity index 100% rename from contract/r/gnoswap/v1/referral/keeper.gno rename to contract/r/gnoswap/referral/keeper.gno diff --git a/contract/r/gnoswap/v1/referral/keeper_test.gno b/contract/r/gnoswap/referral/keeper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/referral/keeper_test.gno rename to contract/r/gnoswap/referral/keeper_test.gno diff --git a/contract/r/gnoswap/v1/referral/referral.gno b/contract/r/gnoswap/referral/referral.gno similarity index 100% rename from contract/r/gnoswap/v1/referral/referral.gno rename to contract/r/gnoswap/referral/referral.gno diff --git a/contract/r/gnoswap/v1/referral/type.gno b/contract/r/gnoswap/referral/type.gno similarity index 100% rename from contract/r/gnoswap/v1/referral/type.gno rename to contract/r/gnoswap/referral/type.gno diff --git a/contract/r/gnoswap/v1/referral/utils.gno b/contract/r/gnoswap/referral/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/referral/utils.gno rename to contract/r/gnoswap/referral/utils.gno diff --git a/contract/r/gnoswap/v1/router/_helper_test.gno b/contract/r/gnoswap/router/_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/_helper_test.gno rename to contract/r/gnoswap/router/_helper_test.gno diff --git a/contract/r/gnoswap/v1/router/base.gno b/contract/r/gnoswap/router/base.gno similarity index 100% rename from contract/r/gnoswap/v1/router/base.gno rename to contract/r/gnoswap/router/base.gno diff --git a/contract/r/gnoswap/v1/router/base_test.gno b/contract/r/gnoswap/router/base_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/base_test.gno rename to contract/r/gnoswap/router/base_test.gno diff --git a/contract/r/gnoswap/v1/router/doc.gno b/contract/r/gnoswap/router/doc.gno similarity index 100% rename from contract/r/gnoswap/v1/router/doc.gno rename to contract/r/gnoswap/router/doc.gno diff --git a/contract/r/gnoswap/v1/router/errors.gno b/contract/r/gnoswap/router/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/router/errors.gno rename to contract/r/gnoswap/router/errors.gno diff --git a/contract/r/gnoswap/v1/router/exact_in.gno b/contract/r/gnoswap/router/exact_in.gno similarity index 100% rename from contract/r/gnoswap/v1/router/exact_in.gno rename to contract/r/gnoswap/router/exact_in.gno diff --git a/contract/r/gnoswap/v1/router/exact_in_test.gno b/contract/r/gnoswap/router/exact_in_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/exact_in_test.gno rename to contract/r/gnoswap/router/exact_in_test.gno diff --git a/contract/r/gnoswap/v1/router/exact_out.gno b/contract/r/gnoswap/router/exact_out.gno similarity index 100% rename from contract/r/gnoswap/v1/router/exact_out.gno rename to contract/r/gnoswap/router/exact_out.gno diff --git a/contract/r/gnoswap/v1/router/gno.mod b/contract/r/gnoswap/router/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/router/gno.mod rename to contract/r/gnoswap/router/gno.mod diff --git a/contract/r/gnoswap/v1/router/protocol_fee_swap.gno b/contract/r/gnoswap/router/protocol_fee_swap.gno similarity index 100% rename from contract/r/gnoswap/v1/router/protocol_fee_swap.gno rename to contract/r/gnoswap/router/protocol_fee_swap.gno diff --git a/contract/r/gnoswap/v1/router/protocol_fee_swap_test.gno b/contract/r/gnoswap/router/protocol_fee_swap_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/protocol_fee_swap_test.gno rename to contract/r/gnoswap/router/protocol_fee_swap_test.gno diff --git a/contract/r/gnoswap/v1/router/router.gno b/contract/r/gnoswap/router/router.gno similarity index 100% rename from contract/r/gnoswap/v1/router/router.gno rename to contract/r/gnoswap/router/router.gno diff --git a/contract/r/gnoswap/v1/router/router_dry.gno b/contract/r/gnoswap/router/router_dry.gno similarity index 100% rename from contract/r/gnoswap/v1/router/router_dry.gno rename to contract/r/gnoswap/router/router_dry.gno diff --git a/contract/r/gnoswap/v1/router/router_dry_test.gno b/contract/r/gnoswap/router/router_dry_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/router_dry_test.gno rename to contract/r/gnoswap/router/router_dry_test.gno diff --git a/contract/r/gnoswap/v1/router/router_test.gno b/contract/r/gnoswap/router/router_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/router_test.gno rename to contract/r/gnoswap/router/router_test.gno diff --git a/contract/r/gnoswap/v1/router/swap_inner.gno b/contract/r/gnoswap/router/swap_inner.gno similarity index 100% rename from contract/r/gnoswap/v1/router/swap_inner.gno rename to contract/r/gnoswap/router/swap_inner.gno diff --git a/contract/r/gnoswap/v1/router/swap_inner_test.gno b/contract/r/gnoswap/router/swap_inner_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/swap_inner_test.gno rename to contract/r/gnoswap/router/swap_inner_test.gno diff --git a/contract/r/gnoswap/v1/router/swap_multi.gno b/contract/r/gnoswap/router/swap_multi.gno similarity index 100% rename from contract/r/gnoswap/v1/router/swap_multi.gno rename to contract/r/gnoswap/router/swap_multi.gno diff --git a/contract/r/gnoswap/v1/router/swap_multi_test.gno b/contract/r/gnoswap/router/swap_multi_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/swap_multi_test.gno rename to contract/r/gnoswap/router/swap_multi_test.gno diff --git a/contract/r/gnoswap/v1/router/swap_single.gno b/contract/r/gnoswap/router/swap_single.gno similarity index 100% rename from contract/r/gnoswap/v1/router/swap_single.gno rename to contract/r/gnoswap/router/swap_single.gno diff --git a/contract/r/gnoswap/v1/router/swap_single_test.gno b/contract/r/gnoswap/router/swap_single_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/swap_single_test.gno rename to contract/r/gnoswap/router/swap_single_test.gno diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gnoA b/contract/r/gnoswap/router/tests/_0_init_token_register_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_0_INIT_TOKEN_REGISTER_test.gnoA rename to contract/r/gnoswap/router/tests/_0_init_token_register_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_0_INIT_VARS_HELPERS_test.gnoA b/contract/r/gnoswap/router/tests/_helper_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_0_INIT_VARS_HELPERS_test.gnoA rename to contract/r/gnoswap/router/tests/_helper_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_all_2_route_2_hop_test.gnoA b/contract/r/gnoswap/router/tests/router_all_2_route_2_hop_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_all_2_route_2_hop_test.gnoA rename to contract/r/gnoswap/router/tests/router_all_2_route_2_hop_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_all_2_route_2_hop_with_emission_test.gnoA b/contract/r/gnoswap/router/tests/router_all_2_route_2_hop_with_emission_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_all_2_route_2_hop_with_emission_test.gnoA rename to contract/r/gnoswap/router/tests/router_all_2_route_2_hop_with_emission_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_native_swap_amount_check_test.gnoA b/contract/r/gnoswap/router/tests/router_native_swap_amount_check_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_native_swap_amount_check_test.gnoA rename to contract/r/gnoswap/router/tests/router_native_swap_amount_check_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#1_ExactIn_test.gnoA b/contract/r/gnoswap/router/tests/router_spec_#1_ExactIn_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#1_ExactIn_test.gnoA rename to contract/r/gnoswap/router/tests/router_spec_#1_ExactIn_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#2_ExactIn_test.gnoA b/contract/r/gnoswap/router/tests/router_spec_#2_ExactIn_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#2_ExactIn_test.gnoA rename to contract/r/gnoswap/router/tests/router_spec_#2_ExactIn_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#3_ExactIn_test.gnoA b/contract/r/gnoswap/router/tests/router_spec_#3_ExactIn_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#3_ExactIn_test.gnoA rename to contract/r/gnoswap/router/tests/router_spec_#3_ExactIn_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#4_ExactIn_test.gnoA b/contract/r/gnoswap/router/tests/router_spec_#4_ExactIn_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#4_ExactIn_test.gnoA rename to contract/r/gnoswap/router/tests/router_spec_#4_ExactIn_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#5_ExactOut_test.gnoA b/contract/r/gnoswap/router/tests/router_spec_#5_ExactOut_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#5_ExactOut_test.gnoA rename to contract/r/gnoswap/router/tests/router_spec_#5_ExactOut_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#6_ExactOut_test.gnoA b/contract/r/gnoswap/router/tests/router_spec_#6_ExactOut_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#6_ExactOut_test.gnoA rename to contract/r/gnoswap/router/tests/router_spec_#6_ExactOut_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#7_ExactOut_test.gnoA b/contract/r/gnoswap/router/tests/router_spec_#7_ExactOut_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#7_ExactOut_test.gnoA rename to contract/r/gnoswap/router/tests/router_spec_#7_ExactOut_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#8_ExactOut_test.gnoA b/contract/r/gnoswap/router/tests/router_spec_#8_ExactOut_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_spec_#8_ExactOut_test.gnoA rename to contract/r/gnoswap/router/tests/router_spec_#8_ExactOut_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_all_liquidity_exact_in_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_all_liquidity_exact_in_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_all_liquidity_exact_in_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_all_liquidity_exact_in_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_all_liquidity_exact_out_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_all_liquidity_exact_out_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_all_liquidity_exact_out_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_all_liquidity_exact_out_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_native_in_out_test_exact_in_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_native_in_out_test_exact_in_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_native_in_out_test_exact_in_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_native_in_out_test_exact_in_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_out_range_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_out_range_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_out_range_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_out_range_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_wrapped_native_in_out_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_wrapped_native_in_out_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_1hop_wrapped_native_in_out_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_1route_1hop_wrapped_native_in_out_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_2hop_wrapped_native_in_out_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_1route_2hop_wrapped_native_in_out_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_2hop_wrapped_native_in_out_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_1route_2hop_wrapped_native_in_out_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_3hop_wrapped_native_middle_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_1route_3hop_wrapped_native_middle_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_1route_3hop_wrapped_native_middle_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_1route_3hop_wrapped_native_middle_test.gnoA diff --git a/contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_2route_2hop_test.gnoA b/contract/r/gnoswap/router/tests/router_swap_route_2route_2hop_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/router/tests/__TEST_router_swap_route_2route_2hop_test.gnoA rename to contract/r/gnoswap/router/tests/router_swap_route_2route_2hop_test.gnoA diff --git a/contract/r/gnoswap/v1/router/type.gno b/contract/r/gnoswap/router/type.gno similarity index 100% rename from contract/r/gnoswap/v1/router/type.gno rename to contract/r/gnoswap/router/type.gno diff --git a/contract/r/gnoswap/v1/router/type_test.gno b/contract/r/gnoswap/router/type_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/type_test.gno rename to contract/r/gnoswap/router/type_test.gno diff --git a/contract/r/gnoswap/v1/router/utils.gno b/contract/r/gnoswap/router/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/router/utils.gno rename to contract/r/gnoswap/router/utils.gno diff --git a/contract/r/gnoswap/v1/router/utils_test.gno b/contract/r/gnoswap/router/utils_test.gno similarity index 100% rename from contract/r/gnoswap/v1/router/utils_test.gno rename to contract/r/gnoswap/router/utils_test.gno diff --git a/contract/r/gnoswap/v1/router/wrap_unwrap.gno b/contract/r/gnoswap/router/wrap_unwrap.gno similarity index 100% rename from contract/r/gnoswap/v1/router/wrap_unwrap.gno rename to contract/r/gnoswap/router/wrap_unwrap.gno diff --git a/contract/r/gnoswap/v1/staker/README.md b/contract/r/gnoswap/staker/README.md similarity index 100% rename from contract/r/gnoswap/v1/staker/README.md rename to contract/r/gnoswap/staker/README.md diff --git a/contract/r/gnoswap/v1/staker/_helper_test.gno b/contract/r/gnoswap/staker/_helper_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/_helper_test.gno rename to contract/r/gnoswap/staker/_helper_test.gno diff --git a/contract/r/gnoswap/v1/staker/api.gno b/contract/r/gnoswap/staker/api.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/api.gno rename to contract/r/gnoswap/staker/api.gno diff --git a/contract/r/gnoswap/v1/staker/calculate_pool_position_reward.gno b/contract/r/gnoswap/staker/calculate_pool_position_reward.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/calculate_pool_position_reward.gno rename to contract/r/gnoswap/staker/calculate_pool_position_reward.gno diff --git a/contract/r/gnoswap/v1/staker/callback.gno b/contract/r/gnoswap/staker/callback.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/callback.gno rename to contract/r/gnoswap/staker/callback.gno diff --git a/contract/r/gnoswap/v1/staker/doc.gno b/contract/r/gnoswap/staker/doc.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/doc.gno rename to contract/r/gnoswap/staker/doc.gno diff --git a/contract/r/gnoswap/v1/staker/errors.gno b/contract/r/gnoswap/staker/errors.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/errors.gno rename to contract/r/gnoswap/staker/errors.gno diff --git a/contract/r/gnoswap/v1/staker/external_deposit_fee.gno b/contract/r/gnoswap/staker/external_deposit_fee.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/external_deposit_fee.gno rename to contract/r/gnoswap/staker/external_deposit_fee.gno diff --git a/contract/r/gnoswap/v1/staker/external_deposit_fee_test.gno b/contract/r/gnoswap/staker/external_deposit_fee_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/external_deposit_fee_test.gno rename to contract/r/gnoswap/staker/external_deposit_fee_test.gno diff --git a/contract/r/gnoswap/v1/staker/external_token_list.gno b/contract/r/gnoswap/staker/external_token_list.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/external_token_list.gno rename to contract/r/gnoswap/staker/external_token_list.gno diff --git a/contract/r/gnoswap/v1/staker/external_token_list_test.gno b/contract/r/gnoswap/staker/external_token_list_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/external_token_list_test.gno rename to contract/r/gnoswap/staker/external_token_list_test.gno diff --git a/contract/r/gnoswap/v1/staker/filetests/z_average_block_time_change_from_gns_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_average_block_time_change_from_gns_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_average_block_time_change_from_gns_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_average_block_time_change_from_gns_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_no_position_to_give_reward_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_no_position_to_give_reward_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_no_position_to_give_reward_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_no_position_to_give_reward_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_pool_add_to_tier2_and_removed_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_removed_internal_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_pool_add_to_tier2_and_removed_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_removed_internal_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_position_inrange_change_by_swap_external_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_position_inrange_change_by_swap_external_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_position_inrange_change_by_swap_external_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_position_inrange_change_by_swap_external_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_position_inrange_change_by_swap_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_position_inrange_change_by_swap_internal_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_position_inrange_change_by_swap_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_position_inrange_change_by_swap_internal_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing b/contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing rename to contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing diff --git a/contract/r/gnoswap/v1/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing b/contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing rename to contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing diff --git a/contract/r/gnoswap/v1/staker/filetests/z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position b/contract/r/gnoswap/staker/filetests/z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position rename to contract/r/gnoswap/staker/filetests/z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position diff --git a/contract/r/gnoswap/v1/staker/filetests/z_single_position_stake_unstake_restake_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_restake_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_single_position_stake_unstake_restake_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_restake_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_single_position_stake_unstake_same_block_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_same_block_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_single_position_stake_unstake_same_block_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_same_block_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno b/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno rename to contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno diff --git a/contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero b/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero rename to contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero diff --git a/contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight b/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight rename to contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight diff --git a/contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA diff --git a/contract/r/gnoswap/v1/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing b/contract/r/gnoswap/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing rename to contract/r/gnoswap/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing diff --git a/contract/r/gnoswap/v1/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno b/contract/r/gnoswap/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno rename to contract/r/gnoswap/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno diff --git a/contract/r/gnoswap/v1/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount b/contract/r/gnoswap/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount similarity index 100% rename from contract/r/gnoswap/v1/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount rename to contract/r/gnoswap/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount diff --git a/contract/r/gnoswap/v1/staker/getter.gno b/contract/r/gnoswap/staker/getter.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/getter.gno rename to contract/r/gnoswap/staker/getter.gno diff --git a/contract/r/gnoswap/v1/staker/gno.mod b/contract/r/gnoswap/staker/gno.mod similarity index 100% rename from contract/r/gnoswap/v1/staker/gno.mod rename to contract/r/gnoswap/staker/gno.mod diff --git a/contract/r/gnoswap/v1/staker/incentive_id.gno b/contract/r/gnoswap/staker/incentive_id.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/incentive_id.gno rename to contract/r/gnoswap/staker/incentive_id.gno diff --git a/contract/r/gnoswap/v1/staker/incentive_id_test.gno b/contract/r/gnoswap/staker/incentive_id_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/incentive_id_test.gno rename to contract/r/gnoswap/staker/incentive_id_test.gno diff --git a/contract/r/gnoswap/v1/staker/manage_pool_tier_and_warmup.gno b/contract/r/gnoswap/staker/manage_pool_tier_and_warmup.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/manage_pool_tier_and_warmup.gno rename to contract/r/gnoswap/staker/manage_pool_tier_and_warmup.gno diff --git a/contract/r/gnoswap/v1/staker/mint_stake.gno b/contract/r/gnoswap/staker/mint_stake.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/mint_stake.gno rename to contract/r/gnoswap/staker/mint_stake.gno diff --git a/contract/r/gnoswap/v1/staker/protocol_fee_unstaking.gno b/contract/r/gnoswap/staker/protocol_fee_unstaking.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/protocol_fee_unstaking.gno rename to contract/r/gnoswap/staker/protocol_fee_unstaking.gno diff --git a/contract/r/gnoswap/v1/staker/protocol_fee_unstaking_test.gno b/contract/r/gnoswap/staker/protocol_fee_unstaking_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/protocol_fee_unstaking_test.gno rename to contract/r/gnoswap/staker/protocol_fee_unstaking_test.gno diff --git a/contract/r/gnoswap/v1/staker/query.gno b/contract/r/gnoswap/staker/query.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/query.gno rename to contract/r/gnoswap/staker/query.gno diff --git a/contract/r/gnoswap/v1/staker/query_test.gno b/contract/r/gnoswap/staker/query_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/query_test.gno rename to contract/r/gnoswap/staker/query_test.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation.gno b/contract/r/gnoswap/staker/reward_calculation.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation.gno rename to contract/r/gnoswap/staker/reward_calculation.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_canonical_env_test.gno b/contract/r/gnoswap/staker/reward_calculation_canonical_env_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_canonical_env_test.gno rename to contract/r/gnoswap/staker/reward_calculation_canonical_env_test.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_canonical_test.gnoA b/contract/r/gnoswap/staker/reward_calculation_canonical_test.gnoA similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_canonical_test.gnoA rename to contract/r/gnoswap/staker/reward_calculation_canonical_test.gnoA diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_incentives.gno b/contract/r/gnoswap/staker/reward_calculation_incentives.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_incentives.gno rename to contract/r/gnoswap/staker/reward_calculation_incentives.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_pool.gno b/contract/r/gnoswap/staker/reward_calculation_pool.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_pool.gno rename to contract/r/gnoswap/staker/reward_calculation_pool.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_pool_tier.gno b/contract/r/gnoswap/staker/reward_calculation_pool_tier.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_pool_tier.gno rename to contract/r/gnoswap/staker/reward_calculation_pool_tier.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_pool_tier_test.gno b/contract/r/gnoswap/staker/reward_calculation_pool_tier_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_pool_tier_test.gno rename to contract/r/gnoswap/staker/reward_calculation_pool_tier_test.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_tick.gno b/contract/r/gnoswap/staker/reward_calculation_tick.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_tick.gno rename to contract/r/gnoswap/staker/reward_calculation_tick.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_tick_test.gno b/contract/r/gnoswap/staker/reward_calculation_tick_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_tick_test.gno rename to contract/r/gnoswap/staker/reward_calculation_tick_test.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_types.gno b/contract/r/gnoswap/staker/reward_calculation_types.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_types.gno rename to contract/r/gnoswap/staker/reward_calculation_types.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_types_test.gno b/contract/r/gnoswap/staker/reward_calculation_types_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_types_test.gno rename to contract/r/gnoswap/staker/reward_calculation_types_test.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_warmup.gno b/contract/r/gnoswap/staker/reward_calculation_warmup.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_warmup.gno rename to contract/r/gnoswap/staker/reward_calculation_warmup.gno diff --git a/contract/r/gnoswap/v1/staker/reward_calculation_warmup_test.gno b/contract/r/gnoswap/staker/reward_calculation_warmup_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_calculation_warmup_test.gno rename to contract/r/gnoswap/staker/reward_calculation_warmup_test.gno diff --git a/contract/r/gnoswap/v1/staker/reward_pool_store.gno b/contract/r/gnoswap/staker/reward_pool_store.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_pool_store.gno rename to contract/r/gnoswap/staker/reward_pool_store.gno diff --git a/contract/r/gnoswap/v1/staker/reward_pool_store_test.gno b/contract/r/gnoswap/staker/reward_pool_store_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/reward_pool_store_test.gno rename to contract/r/gnoswap/staker/reward_pool_store_test.gno diff --git a/contract/r/gnoswap/v1/staker/staker.gno b/contract/r/gnoswap/staker/staker.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/staker.gno rename to contract/r/gnoswap/staker/staker.gno diff --git a/contract/r/gnoswap/v1/staker/staker_external_incentive.gno b/contract/r/gnoswap/staker/staker_external_incentive.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/staker_external_incentive.gno rename to contract/r/gnoswap/staker/staker_external_incentive.gno diff --git a/contract/r/gnoswap/v1/staker/__TEST_full_internal_external_test.gnoA b/contract/r/gnoswap/staker/tests/full_internal_external_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_full_internal_external_test.gnoA rename to contract/r/gnoswap/staker/tests/full_internal_external_test.gnoA index ce35fba7f..08ca82f7d 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_full_internal_external_test.gnoA +++ b/contract/r/gnoswap/staker/tests/full_internal_external_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA b/contract/r/gnoswap/staker/tests/more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA rename to contract/r/gnoswap/staker/tests/more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA index eb9fbe3f6..ed314cb75 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA +++ b/contract/r/gnoswap/staker/tests/more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA b/contract/r/gnoswap/staker/tests/more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA rename to contract/r/gnoswap/staker/tests/more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA index 2cc3be613..974174f55 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA +++ b/contract/r/gnoswap/staker/tests/more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA b/contract/r/gnoswap/staker/tests/more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA rename to contract/r/gnoswap/staker/tests/more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA index 25adfdf90..4033ef8f3 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA +++ b/contract/r/gnoswap/staker/tests/more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_short_warmup_internal_gnot_gns_3000_test.gnoA b/contract/r/gnoswap/staker/tests/short_warmup_internal_gnot_gns_3000_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_short_warmup_internal_gnot_gns_3000_test.gnoA rename to contract/r/gnoswap/staker/tests/short_warmup_internal_gnot_gns_3000_test.gnoA index e1565abf7..0d07e4ead 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_short_warmup_internal_gnot_gns_3000_test.gnoA +++ b/contract/r/gnoswap/staker/tests/short_warmup_internal_gnot_gns_3000_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_01_test.gnoA b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_01_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_01_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_NFT_transfer_01_test.gnoA index 085ae917c..76c900b42 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_01_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_01_test.gnoA @@ -3,7 +3,7 @@ // User 'A' can not transfer NFT to 'B' // user 'A' can collect reward -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_02_test.gnoA b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_02_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_02_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_NFT_transfer_02_test.gnoA index 3127ac5c2..e70db801c 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_02_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_02_test.gnoA @@ -1,7 +1,7 @@ // User 'A' mints and stake NFT (with one click staking) // user 'A' can collect reward -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_03_test.gnoA b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_03_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_03_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_NFT_transfer_03_test.gnoA index a3b5bbcb3..0a4c5e1aa 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_NFT_transfer_03_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_03_test.gnoA @@ -4,7 +4,7 @@ // User 'A' can not collect reward // User 'B' can collect reward -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_external_native_coin_test.gnoA b/contract/r/gnoswap/staker/tests/staker_external_native_coin_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_external_native_coin_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_external_native_coin_test.gnoA index fad32d767..a16ae363e 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_external_native_coin_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_external_native_coin_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_manage_pool_tiers_test.gnoA b/contract/r/gnoswap/staker/tests/staker_manage_pool_tiers_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_manage_pool_tiers_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_manage_pool_tiers_test.gnoA index 4dffe6621..f83792a72 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_manage_pool_tiers_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_manage_pool_tiers_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_mint_and_stake_test.gnoA b/contract/r/gnoswap/staker/tests/staker_mint_and_stake_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_mint_and_stake_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_mint_and_stake_test.gnoA index 1abd74e25..14b8dffcf 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_mint_and_stake_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_mint_and_stake_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_native_create_collect_unstake_test.gnoA b/contract/r/gnoswap/staker/tests/staker_native_create_collect_unstake_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_native_create_collect_unstake_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_native_create_collect_unstake_test.gnoA index 703c21ac7..7b25030b1 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_native_create_collect_unstake_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_native_create_collect_unstake_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA index 691c977f5..a1fbbbdd6 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_10_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_10_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_10_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_10_test.gnoA index 4a77757fd..b31c0bcd3 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_10_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_10_test.gnoA @@ -1,6 +1,6 @@ // external incentive + warm up period testing -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_12_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_12_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_12_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_12_test.gnoA index 55af2e3ca..518d25397 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_12_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_12_test.gnoA @@ -2,7 +2,7 @@ // with two external incentives for same pool // bar + qux -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_13_gns_external_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_13_gns_external_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_13_gns_external_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_13_gns_external_test.gnoA index b57223b2e..5d9d5634b 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_13_gns_external_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_13_gns_external_test.gnoA @@ -2,7 +2,7 @@ // with two external incentives for same pool // bar + gns -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA index 171fbe0b7..91d2e46cb 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA @@ -1,6 +1,6 @@ // external incentive + warm up period testing -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_15_90d_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_15_90d_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_15_90d_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_15_90d_test.gnoA index 0c5171eee..27c81c579 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_15_90d_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_15_90d_test.gnoA @@ -1,7 +1,7 @@ // external incentive + warm up period testing // qux for 90 days -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_16_180d_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_16_180d_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_16_180d_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_16_180d_test.gnoA index e3bb7e2d0..fa18d21d4 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_16_180d_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_16_180d_test.gnoA @@ -1,7 +1,7 @@ // external incentive + warm up period testing // qux for 180 days -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_17_365d_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_17_365d_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_17_365d_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_17_365d_test.gnoA index 3b95c85a0..978eca811 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_external_17_365d_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_17_365d_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_01_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_01_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_01_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_01_test.gnoA index adc78512f..d48e06768 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_01_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_01_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_02_small_liq_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_02_small_liq_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_02_small_liq_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_02_small_liq_test.gnoA index f73449477..9496acd9a 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_02_small_liq_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_02_small_liq_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_03_change_tier_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_03_change_tier_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_03_change_tier_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_03_change_tier_test.gnoA index fca66bef6..b8eeb7fb9 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_03_change_tier_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_03_change_tier_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_04_remove_tier_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_04_remove_tier_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_04_remove_tier_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_04_remove_tier_test.gnoA index a468dfd70..cf8c176b0 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_04_remove_tier_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_04_remove_tier_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA index 55b93b1ad..a1f281a93 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA similarity index 99% rename from contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA rename to contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA index 45d3b27f0..0a89550f4 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA @@ -3,7 +3,7 @@ // bar + gns // with internal incentive for same pool -package staker +package tests import ( "math" diff --git a/contract/r/gnoswap/v1/staker/__TEST_token_uri_in_same_block_test.gnoA b/contract/r/gnoswap/staker/tests/token_uri_in_same_block_test.gnoA similarity index 98% rename from contract/r/gnoswap/v1/staker/__TEST_token_uri_in_same_block_test.gnoA rename to contract/r/gnoswap/staker/tests/token_uri_in_same_block_test.gnoA index d1c7e8f60..d9399e479 100644 --- a/contract/r/gnoswap/v1/staker/__TEST_token_uri_in_same_block_test.gnoA +++ b/contract/r/gnoswap/staker/tests/token_uri_in_same_block_test.gnoA @@ -1,4 +1,4 @@ -package staker +package tests import ( "std" diff --git a/contract/r/gnoswap/v1/staker/type.gno b/contract/r/gnoswap/staker/type.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/type.gno rename to contract/r/gnoswap/staker/type.gno diff --git a/contract/r/gnoswap/v1/staker/utils.gno b/contract/r/gnoswap/staker/utils.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/utils.gno rename to contract/r/gnoswap/staker/utils.gno diff --git a/contract/r/gnoswap/v1/staker/utils_test.gno b/contract/r/gnoswap/staker/utils_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/utils_test.gno rename to contract/r/gnoswap/staker/utils_test.gno diff --git a/contract/r/gnoswap/v1/staker/warp_unwrap_test.gno b/contract/r/gnoswap/staker/warp_unwrap_test.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/warp_unwrap_test.gno rename to contract/r/gnoswap/staker/warp_unwrap_test.gno diff --git a/contract/r/gnoswap/v1/staker/wrap_unwrap.gno b/contract/r/gnoswap/staker/wrap_unwrap.gno similarity index 100% rename from contract/r/gnoswap/v1/staker/wrap_unwrap.gno rename to contract/r/gnoswap/staker/wrap_unwrap.gno diff --git a/contract/r/onbloc/bar/bar.gno b/contract/r/gnoswap/test_token/bar/bar.gno similarity index 100% rename from contract/r/onbloc/bar/bar.gno rename to contract/r/gnoswap/test_token/bar/bar.gno diff --git a/contract/r/onbloc/bar/gno.mod b/contract/r/gnoswap/test_token/bar/gno.mod similarity index 100% rename from contract/r/onbloc/bar/gno.mod rename to contract/r/gnoswap/test_token/bar/gno.mod diff --git a/contract/r/onbloc/baz/baz.gno b/contract/r/gnoswap/test_token/baz/baz.gno similarity index 100% rename from contract/r/onbloc/baz/baz.gno rename to contract/r/gnoswap/test_token/baz/baz.gno diff --git a/contract/r/onbloc/baz/gno.mod b/contract/r/gnoswap/test_token/baz/gno.mod similarity index 100% rename from contract/r/onbloc/baz/gno.mod rename to contract/r/gnoswap/test_token/baz/gno.mod diff --git a/contract/r/onbloc/foo/foo.gno b/contract/r/gnoswap/test_token/foo/foo.gno similarity index 100% rename from contract/r/onbloc/foo/foo.gno rename to contract/r/gnoswap/test_token/foo/foo.gno diff --git a/contract/r/onbloc/foo/gno.mod b/contract/r/gnoswap/test_token/foo/gno.mod similarity index 100% rename from contract/r/onbloc/foo/gno.mod rename to contract/r/gnoswap/test_token/foo/gno.mod diff --git a/contract/r/onbloc/obl/gno.mod b/contract/r/gnoswap/test_token/obl/gno.mod similarity index 100% rename from contract/r/onbloc/obl/gno.mod rename to contract/r/gnoswap/test_token/obl/gno.mod diff --git a/contract/r/onbloc/obl/obl.gno b/contract/r/gnoswap/test_token/obl/obl.gno similarity index 100% rename from contract/r/onbloc/obl/obl.gno rename to contract/r/gnoswap/test_token/obl/obl.gno diff --git a/contract/r/onbloc/qux/gno.mod b/contract/r/gnoswap/test_token/qux/gno.mod similarity index 100% rename from contract/r/onbloc/qux/gno.mod rename to contract/r/gnoswap/test_token/qux/gno.mod diff --git a/contract/r/onbloc/qux/qux.gno b/contract/r/gnoswap/test_token/qux/qux.gno similarity index 100% rename from contract/r/onbloc/qux/qux.gno rename to contract/r/gnoswap/test_token/qux/qux.gno diff --git a/contract/r/onbloc/usdc/gno.mod b/contract/r/gnoswap/test_token/usdc/gno.mod similarity index 100% rename from contract/r/onbloc/usdc/gno.mod rename to contract/r/gnoswap/test_token/usdc/gno.mod diff --git a/contract/r/onbloc/usdc/usdc.gno b/contract/r/gnoswap/test_token/usdc/usdc.gno similarity index 100% rename from contract/r/onbloc/usdc/usdc.gno rename to contract/r/gnoswap/test_token/usdc/usdc.gno diff --git a/contract/r/onbloc/grc20_tokens/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/register_gnodev/gno.mod b/contract/r/onbloc/grc20_tokens/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/register_gnodev/gno.mod deleted file mode 100644 index 62b3faf3f..000000000 --- a/contract/r/onbloc/grc20_tokens/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/register_gnodev/gno.mod +++ /dev/null @@ -1 +0,0 @@ -module gno.land/r/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/v2/register_gnodev \ No newline at end of file diff --git a/contract/r/onbloc/grc20_tokens/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/register_gnodev/register_gnodev.gno b/contract/r/onbloc/grc20_tokens/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/register_gnodev/register_gnodev.gno deleted file mode 100644 index 1746a401c..000000000 --- a/contract/r/onbloc/grc20_tokens/g1er355fkjksqpdtwmhf5penwa82p0rhqxkkyhk5/register_gnodev/register_gnodev.gno +++ /dev/null @@ -1,233 +0,0 @@ -package register_gnodev - -import ( - pusers "gno.land/p/demo/users" - - "gno.land/r/onbloc/bar" - "gno.land/r/onbloc/baz" - "gno.land/r/onbloc/foo" - - "gno.land/r/onbloc/obl" - "gno.land/r/onbloc/qux" - "gno.land/r/onbloc/usdc" - - "gno.land/r/demo/foo20" - "gno.land/r/demo/wugnot" - - "gno.land/r/gnoswap/v1/gns" - - cp "gno.land/r/gnoswap/v1/community_pool" - gs "gno.land/r/gnoswap/v1/gov/staker" - lp "gno.land/r/gnoswap/v1/launchpad" - pl "gno.land/r/gnoswap/v1/pool" - pf "gno.land/r/gnoswap/v1/protocol_fee" - rr "gno.land/r/gnoswap/v1/router" - sr "gno.land/r/gnoswap/v1/staker" -) - -type FooToken struct{} - -func (FooToken) Transfer() func(to pusers.AddressOrName, amount uint64) { - return foo.Transfer -} -func (FooToken) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return foo.TransferFrom -} -func (FooToken) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return foo.BalanceOf -} -func (FooToken) Approve() func(spender pusers.AddressOrName, amount uint64) { - return foo.Approve -} - -type BarToken struct{} - -func (BarToken) Transfer() func(to pusers.AddressOrName, amount uint64) { - return bar.Transfer -} -func (BarToken) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return bar.TransferFrom -} -func (BarToken) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return bar.BalanceOf -} -func (BarToken) Approve() func(spender pusers.AddressOrName, amount uint64) { - return bar.Approve -} - -type BazToken struct{} - -func (BazToken) Transfer() func(to pusers.AddressOrName, amount uint64) { - return baz.Transfer -} -func (BazToken) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return baz.TransferFrom -} -func (BazToken) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return baz.BalanceOf -} -func (BazToken) Approve() func(spender pusers.AddressOrName, amount uint64) { - return baz.Approve -} - -type QuxToken struct{} - -func (QuxToken) Transfer() func(to pusers.AddressOrName, amount uint64) { - return qux.Transfer -} -func (QuxToken) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return qux.TransferFrom -} -func (QuxToken) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return qux.BalanceOf -} -func (QuxToken) Approve() func(spender pusers.AddressOrName, amount uint64) { - return qux.Approve -} - -type GnsToken struct{} - -func (GnsToken) Transfer() func(to pusers.AddressOrName, amount uint64) { - return gns.Transfer -} -func (GnsToken) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return gns.TransferFrom -} -func (GnsToken) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return gns.BalanceOf -} -func (GnsToken) Approve() func(spender pusers.AddressOrName, amount uint64) { - return gns.Approve -} - -type OblToken struct{} - -func (OblToken) Transfer() func(to pusers.AddressOrName, amount uint64) { - return obl.Transfer -} -func (OblToken) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return obl.TransferFrom -} -func (OblToken) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return obl.BalanceOf -} -func (OblToken) Approve() func(spender pusers.AddressOrName, amount uint64) { - return obl.Approve -} - -type Foo20Token struct{} - -func (Foo20Token) Transfer() func(to pusers.AddressOrName, amount uint64) { - return foo20.Transfer -} -func (Foo20Token) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return foo20.TransferFrom -} -func (Foo20Token) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return foo20.BalanceOf -} -func (Foo20Token) Approve() func(spender pusers.AddressOrName, amount uint64) { - return foo20.Approve -} - -type WugnotToken struct{} - -func (WugnotToken) Transfer() func(to pusers.AddressOrName, amount uint64) { - return wugnot.Transfer -} -func (WugnotToken) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return wugnot.TransferFrom -} -func (WugnotToken) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return wugnot.BalanceOf -} -func (WugnotToken) Approve() func(spender pusers.AddressOrName, amount uint64) { - return wugnot.Approve -} - -type UsdcToken struct{} - -func (UsdcToken) Transfer() func(to pusers.AddressOrName, amount uint64) { - return usdc.Transfer -} -func (UsdcToken) TransferFrom() func(from, to pusers.AddressOrName, amount uint64) { - return usdc.TransferFrom -} -func (UsdcToken) BalanceOf() func(owner pusers.AddressOrName) uint64 { - return usdc.BalanceOf -} -func (UsdcToken) Approve() func(spender pusers.AddressOrName, amount uint64) { - return usdc.Approve -} - -func init() { - pl.RegisterGRC20Interface("gno.land/r/demo/wugnot", WugnotToken{}) - pl.RegisterGRC20Interface("gno.land/r/demo/foo20", Foo20Token{}) - pl.RegisterGRC20Interface("gno.land/r/onbloc/foo", FooToken{}) - pl.RegisterGRC20Interface("gno.land/r/onbloc/bar", BarToken{}) - pl.RegisterGRC20Interface("gno.land/r/onbloc/baz", BazToken{}) - pl.RegisterGRC20Interface("gno.land/r/onbloc/qux", QuxToken{}) - pl.RegisterGRC20Interface("gno.land/r/onbloc/obl", OblToken{}) - pl.RegisterGRC20Interface("gno.land/r/onbloc/usdc", UsdcToken{}) - pl.RegisterGRC20Interface("gno.land/r/gnoswap/v1/gns", GnsToken{}) - - sr.RegisterGRC20Interface("gno.land/r/demo/wugnot", WugnotToken{}) - sr.RegisterGRC20Interface("gno.land/r/demo/foo20", Foo20Token{}) - sr.RegisterGRC20Interface("gno.land/r/onbloc/foo", FooToken{}) - sr.RegisterGRC20Interface("gno.land/r/onbloc/bar", BarToken{}) - sr.RegisterGRC20Interface("gno.land/r/onbloc/baz", BazToken{}) - sr.RegisterGRC20Interface("gno.land/r/onbloc/qux", QuxToken{}) - sr.RegisterGRC20Interface("gno.land/r/onbloc/obl", OblToken{}) - sr.RegisterGRC20Interface("gno.land/r/onbloc/usdc", UsdcToken{}) - sr.RegisterGRC20Interface("gno.land/r/gnoswap/v1/gns", GnsToken{}) - - rr.RegisterGRC20Interface("gno.land/r/demo/wugnot", WugnotToken{}) - rr.RegisterGRC20Interface("gno.land/r/demo/foo20", Foo20Token{}) - rr.RegisterGRC20Interface("gno.land/r/onbloc/foo", FooToken{}) - rr.RegisterGRC20Interface("gno.land/r/onbloc/bar", BarToken{}) - rr.RegisterGRC20Interface("gno.land/r/onbloc/baz", BazToken{}) - rr.RegisterGRC20Interface("gno.land/r/onbloc/qux", QuxToken{}) - rr.RegisterGRC20Interface("gno.land/r/onbloc/obl", OblToken{}) - rr.RegisterGRC20Interface("gno.land/r/onbloc/usdc", UsdcToken{}) - rr.RegisterGRC20Interface("gno.land/r/gnoswap/v1/gns", GnsToken{}) - - pf.RegisterGRC20Interface("gno.land/r/demo/wugnot", WugnotToken{}) - pf.RegisterGRC20Interface("gno.land/r/demo/foo20", Foo20Token{}) - pf.RegisterGRC20Interface("gno.land/r/onbloc/foo", FooToken{}) - pf.RegisterGRC20Interface("gno.land/r/onbloc/bar", BarToken{}) - pf.RegisterGRC20Interface("gno.land/r/onbloc/baz", BazToken{}) - pf.RegisterGRC20Interface("gno.land/r/onbloc/qux", QuxToken{}) - pf.RegisterGRC20Interface("gno.land/r/onbloc/obl", OblToken{}) - pf.RegisterGRC20Interface("gno.land/r/onbloc/usdc", UsdcToken{}) - pf.RegisterGRC20Interface("gno.land/r/gnoswap/v1/gns", GnsToken{}) - - cp.RegisterGRC20Interface("gno.land/r/demo/wugnot", WugnotToken{}) - cp.RegisterGRC20Interface("gno.land/r/demo/foo20", Foo20Token{}) - cp.RegisterGRC20Interface("gno.land/r/onbloc/foo", FooToken{}) - cp.RegisterGRC20Interface("gno.land/r/onbloc/bar", BarToken{}) - cp.RegisterGRC20Interface("gno.land/r/onbloc/baz", BazToken{}) - cp.RegisterGRC20Interface("gno.land/r/onbloc/qux", QuxToken{}) - cp.RegisterGRC20Interface("gno.land/r/onbloc/obl", OblToken{}) - cp.RegisterGRC20Interface("gno.land/r/onbloc/usdc", UsdcToken{}) - cp.RegisterGRC20Interface("gno.land/r/gnoswap/v1/gns", GnsToken{}) - - gs.RegisterGRC20Interface("gno.land/r/demo/wugnot", WugnotToken{}) - gs.RegisterGRC20Interface("gno.land/r/demo/foo20", Foo20Token{}) - gs.RegisterGRC20Interface("gno.land/r/onbloc/foo", FooToken{}) - gs.RegisterGRC20Interface("gno.land/r/onbloc/bar", BarToken{}) - gs.RegisterGRC20Interface("gno.land/r/onbloc/baz", BazToken{}) - gs.RegisterGRC20Interface("gno.land/r/onbloc/qux", QuxToken{}) - gs.RegisterGRC20Interface("gno.land/r/onbloc/obl", OblToken{}) - gs.RegisterGRC20Interface("gno.land/r/onbloc/usdc", UsdcToken{}) - gs.RegisterGRC20Interface("gno.land/r/gnoswap/v1/gns", GnsToken{}) - - lp.RegisterGRC20Interface("gno.land/r/demo/wugnot", WugnotToken{}) - lp.RegisterGRC20Interface("gno.land/r/demo/foo20", Foo20Token{}) - lp.RegisterGRC20Interface("gno.land/r/onbloc/foo", FooToken{}) - lp.RegisterGRC20Interface("gno.land/r/onbloc/bar", BarToken{}) - lp.RegisterGRC20Interface("gno.land/r/onbloc/baz", BazToken{}) - lp.RegisterGRC20Interface("gno.land/r/onbloc/qux", QuxToken{}) - lp.RegisterGRC20Interface("gno.land/r/onbloc/obl", OblToken{}) - lp.RegisterGRC20Interface("gno.land/r/onbloc/usdc", UsdcToken{}) - lp.RegisterGRC20Interface("gno.land/r/gnoswap/v1/gns", GnsToken{}) -} From db57400b5eebca6c6013da8505f30f8a10b7102c Mon Sep 17 00:00:00 2001 From: 0xTopaz Date: Mon, 20 Jan 2025 19:56:47 +0900 Subject: [PATCH 2/3] fix: cherry pick from main --- contract/r/gnoswap/pool/swap.gno | 2 +- contract/r/gnoswap/staker/README.md | 8 +- ...e_block_time_change_from_gns_filetest.gno} | 29 +- ...> no_position_to_give_reward_filetest.gno} | 5 +- ...and_change_to_tier3_internal_filetest.gno} | 21 +- ...o_tier2_and_removed_internal_filetest.gno} | 36 +- ...ange_change_by_swap_external_filetest.gno} | 0 ...ange_change_by_swap_internal_filetest.gno} | 0 ...y_collecting_reward_external_filetest.gno} | 41 ++- ...y_collecting_reward_internal_filetest.gno} | 47 +-- ... => single_gns_external_ends_filetest.gno} | 38 +-- ...sition_stake_unstake_restake_filetest.gno} | 2 - ...ion_stake_unstake_same_block_filetest.gno} | 0 ...y_staking_unstaking_external_filetest.gno} | 124 +++---- ...y_staking_unstaking_internal_filetest.gno} | 68 ++-- ...ty_change_by_staking_external_filetest.gno | 278 --------------- ...staking_external_filetest.gnoXX_RewardZero | 275 --------------- ...y_change_by_staking_internal_filetest.gnoA | 245 -------------- ...as_gns_filetest.gnoXX_ApiGetReward_missing | 299 ---------------- ...rnal_02_position_range_change_filetest.gno | 318 ------------------ ...al_filetest.gnoXX_RefundLeftExternalAmount | 262 --------------- .../gnoswap/staker/protocol_fee_unstaking.gno | 2 + ... => reward_calculation_canonical_test.gno} | 0 .../tests/full_internal_external_test.gnoA | 172 +++++----- ...r_total_4_position_internal_only_test.gnoA | 2 +- ...er_total_4_position_two_external_test.gnoA | 2 +- ...idity_and_in_range_chane_by_swap_test.gnoA | 2 +- ...rt_warmup_internal_gnot_gns_3000_test.gnoA | 2 +- .../tests/staker_NFT_transfer_01_test.gnoA | 2 +- .../tests/staker_NFT_transfer_02_test.gnoA | 2 +- .../tests/staker_NFT_transfer_03_test.gnoA | 2 +- .../staker_external_native_coin_test.gnoA | 2 +- .../tests/staker_manage_pool_tiers_test.gnoA | 2 +- .../tests/staker_mint_and_stake_test.gnoA | 2 +- ...er_native_create_collect_unstake_test.gnoA | 2 +- ...lculate_pool_position_reward_API_test.gnoA | 2 +- ..._short_warmup_period_external_10_test.gnoA | 2 +- ..._short_warmup_period_external_12_test.gnoA | 2 +- ..._period_external_13_gns_external_test.gnoA | 2 +- ...ion_in_out_range_changed_by_swap_test.gnoA | 2 +- ...rt_warmup_period_external_15_90d_test.gnoA | 2 +- ...t_warmup_period_external_16_180d_test.gnoA | 2 +- ...t_warmup_period_external_17_365d_test.gnoA | 2 +- ..._short_warmup_period_internal_01_test.gnoA | 2 +- ...mup_period_internal_02_small_liq_test.gnoA | 2 +- ...p_period_internal_03_change_tier_test.gnoA | 2 +- ...p_period_internal_04_remove_tier_test.gnoA | 2 +- ...ion_in_out_range_changed_by_swap_test.gnoA | 2 +- ...internal_gns_and_external_gns_90_test.gnoA | 2 +- .../tests/token_uri_in_same_block_test.gnoA | 2 +- 50 files changed, 341 insertions(+), 1983 deletions(-) rename contract/r/gnoswap/staker/filetests/{z_average_block_time_change_from_gns_filetest.gnoA => average_block_time_change_from_gns_filetest.gno} (85%) rename contract/r/gnoswap/staker/filetests/{z_no_position_to_give_reward_filetest.gnoA => no_position_to_give_reward_filetest.gno} (95%) rename contract/r/gnoswap/staker/filetests/{z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA => pool_add_to_tier2_and_change_to_tier3_internal_filetest.gno} (89%) rename contract/r/gnoswap/staker/filetests/{z_pool_add_to_tier2_and_removed_internal_filetest.gnoA => pool_add_to_tier2_and_removed_internal_filetest.gno} (86%) rename contract/r/gnoswap/staker/filetests/{z_position_inrange_change_by_swap_external_filetest.gnoA => position_inrange_change_by_swap_external_filetest.gno} (100%) rename contract/r/gnoswap/staker/filetests/{z_position_inrange_change_by_swap_internal_filetest.gnoA => position_inrange_change_by_swap_internal_filetest.gno} (100%) rename contract/r/gnoswap/staker/filetests/{z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing => reward_for_user_collect_change_by_collecting_reward_external_filetest.gno} (86%) rename contract/r/gnoswap/staker/filetests/{z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing => reward_for_user_collect_change_by_collecting_reward_internal_filetest.gno} (83%) rename contract/r/gnoswap/staker/filetests/{z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position => single_gns_external_ends_filetest.gno} (91%) rename contract/r/gnoswap/staker/filetests/{z_single_position_stake_unstake_restake_filetest.gnoA => single_position_stake_unstake_restake_filetest.gno} (98%) rename contract/r/gnoswap/staker/filetests/{z_single_position_stake_unstake_same_block_filetest.gnoA => single_position_stake_unstake_same_block_filetest.gno} (100%) rename contract/r/gnoswap/staker/filetests/{z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight => staked_liquidity_change_by_staking_unstaking_external_filetest.gno} (78%) rename contract/r/gnoswap/staker/filetests/{z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA => staked_liquidity_change_by_staking_unstaking_internal_filetest.gno} (81%) delete mode 100644 contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno delete mode 100644 contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero delete mode 100644 contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA delete mode 100644 contract/r/gnoswap/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing delete mode 100644 contract/r/gnoswap/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno delete mode 100644 contract/r/gnoswap/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount rename contract/r/gnoswap/staker/{reward_calculation_canonical_test.gnoA => reward_calculation_canonical_test.gno} (100%) diff --git a/contract/r/gnoswap/pool/swap.gno b/contract/r/gnoswap/pool/swap.gno index ac3582a6c..83dfcf947 100644 --- a/contract/r/gnoswap/pool/swap.gno +++ b/contract/r/gnoswap/pool/swap.gno @@ -7,7 +7,7 @@ import ( "gno.land/r/gnoswap/v1/common" "gno.land/r/gnoswap/v1/consts" - plp "gno.land/p/gnoswap/gnsmath" // pool package + plp "gno.land/p/gnoswap/gnsmath" i256 "gno.land/p/gnoswap/int256" u256 "gno.land/p/gnoswap/uint256" ) diff --git a/contract/r/gnoswap/staker/README.md b/contract/r/gnoswap/staker/README.md index 8ad9e6b2c..aec1e3f52 100644 --- a/contract/r/gnoswap/staker/README.md +++ b/contract/r/gnoswap/staker/README.md @@ -4,13 +4,13 @@ The **Staker** module handles the distribution of both **internal** (GNS emission) and **external** (user-provided) rewards to stakers: -- **Internal rewards (GNS emission)** are allocated to “tiered” pools (tiers 1, 2, and 3). First, emission is split across the tiers according to the **TierRatio**. Then, within each tier, the emission is shared evenly among member pools and finally distributed proportionally to each staked position’s in-range liquidity. +- **[Internal rewards](https://docs.gnoswap.io/references/warm-up-periods)** (GNS emission) are allocated to “tiered” pools (tiers 1, 2, and 3). First, emission is split across the tiers according to the **TierRatio**. Then, within each tier, the emission is shared evenly among member pools and finally distributed proportionally to each staked position’s in-range liquidity. -- **External rewards** (user-provided incentives) can be created for specific pools. Each external incentive emits a constant reward per block. Any user with in-range staked liquidity on that pool can claim a share of the reward, proportional to their staked liquidity. +- **[External rewards](https://docs.gnoswap.io/references/warm-up-periods)** (user-provided incentives) can be created for specific pools. Each external incentive emits a constant reward per block. Any user with in-range staked liquidity on that pool can claim a share of the reward, proportional to their staked liquidity. - If, during a given block, no staked liquidity is in range, the internal emission is diverted to the community pool, and any external reward for that block is returned to the incentive creator. -- Every staked position has a designated warmup schedule. As it remains staked, the position progresses through multiple warmup periods. In each warmup period, a certain percentage of the reward is awarded to the position, and the remainder goes either to the community pool (for internal incentives) or is returned to the incentive creator (for external incentives). +- Every staked position has a designated [warmup schedule](https://docs.gnoswap.io/references/warm-up-periods). As it remains staked, the position progresses through multiple warmup periods. In each warmup period, a certain percentage of the reward is awarded to the position, and the remainder goes either to the community pool (for internal incentives) or is returned to the incentive creator (for external incentives). ## Main Reward Calculation Logic @@ -93,7 +93,7 @@ func CalcPositionReward(param CalcPositionRewardParam) []Reward { 3. Depending on whether the total staked liquidity is now nonzero or zero, it begins or ends any unclaimable period. 4. Updates the `CurrentOutsideAccumulation` for the tick. -The variable `globalRewardRatioAccumulation` holds the integral of $\(f(h) = 1 \div \text{TotalStakedLiquidity}(h)\)$, but only when \(\text{TotalStakedLiquidity}(h)\) is nonzero. Meanwhile, `CurrentOutsideAccumulation` tracks the same integral but over intervals where the pool tick is considered “outside” (i.e., on the opposite side of the current tick). When a tick cross occurs, this “outside” condition may flip, so the hook adjusts `CurrentOutsideAccumulation` by subtracting it from the latest `globalRewardRatioAccumulation`. +The variable `globalRewardRatioAccumulation` holds the integral of $\(f(h) = 1 \div \text{TotalStakedLiquidity}(h)\)$, but only when $\text{TotalStakedLiquidity}(h)$ is nonzero. Meanwhile, `CurrentOutsideAccumulation` tracks the same integral but over intervals where the pool tick is considered “outside” (i.e., on the opposite side of the current tick). When a tick cross occurs, this “outside” condition may flip, so the hook adjusts `CurrentOutsideAccumulation` by subtracting it from the latest `globalRewardRatioAccumulation`. ## Internal Reward diff --git a/contract/r/gnoswap/staker/filetests/z_average_block_time_change_from_gns_filetest.gnoA b/contract/r/gnoswap/staker/filetests/average_block_time_change_from_gns_filetest.gno similarity index 85% rename from contract/r/gnoswap/staker/filetests/z_average_block_time_change_from_gns_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/average_block_time_change_from_gns_filetest.gno index a1f723e25..ffc36a67e 100644 --- a/contract/r/gnoswap/staker/filetests/z_average_block_time_change_from_gns_filetest.gnoA +++ b/contract/r/gnoswap/staker/filetests/average_block_time_change_from_gns_filetest.gno @@ -91,6 +91,9 @@ func testInit() { std.TestSetOrigSend(std.Coins{{"ugnot", 50_000_000_000_000}}, nil) wugnot.Deposit() std.TestSetOrigSend(nil, nil) + + // set unstaking fee to 0 + sr.SetUnstakingFeeByAdmin(0) } func testCreatePool() { @@ -159,21 +162,21 @@ func testGnsAvgBlockTime() { after := gns.BalanceOf(adminUser) diff := after - before // actual reward for 1 block when avg block time was 2000ms(2s) - println("diff", diff) - if diff != 3178510 { - panic("expected 3178510") + if !isInErrorRange(3210616, diff) { + panic("expected about 3210616") } gns.SetAvgBlockTimeInMsByAdmin(4000) // orig block time was 2000ms(2s), change it to 4s - std.TestSkipHeights(1) + sr.CollectReward(1, false) // clear reward - sr.CollectReward(1, false) - after2 := gns.BalanceOf(adminUser) - diff2 := after2 - after // actual reward for 1 block when avg block time was 4000ms(4s) - if diff2 != 6357020 { - panic("expected 6357020") // block time has doubled, so reward should be doubled too + before = gns.BalanceOf(adminUser) + std.TestSkipHeights(1) + sr.CollectReward(1, false) // actual reward for 1 block when avg block time was 4000ms(4s) + after = gns.BalanceOf(adminUser) + diff = after - before + if !isInErrorRange(6421232, diff) { + panic("expected about 6421232") // block time has doubled, so reward should be doubled too } - } func tokenIdFrom(tokenId interface{}) grc721.TokenID { @@ -194,3 +197,9 @@ func tokenIdFrom(tokenId interface{}) grc721.TokenID { panic("unsupported tokenId type") } } + +func isInErrorRange(expected uint64, actual uint64) bool { + lowerBound := expected * 999999 / 1000000 + upperBound := expected * 1000001 / 1000000 + return actual >= lowerBound && actual <= upperBound +} diff --git a/contract/r/gnoswap/staker/filetests/z_no_position_to_give_reward_filetest.gnoA b/contract/r/gnoswap/staker/filetests/no_position_to_give_reward_filetest.gno similarity index 95% rename from contract/r/gnoswap/staker/filetests/z_no_position_to_give_reward_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/no_position_to_give_reward_filetest.gno index ad3842612..d616ab3ac 100644 --- a/contract/r/gnoswap/staker/filetests/z_no_position_to_give_reward_filetest.gnoA +++ b/contract/r/gnoswap/staker/filetests/no_position_to_give_reward_filetest.gno @@ -144,13 +144,14 @@ func testUnstakePos01() { oldCommunityGns := gns.BalanceOf(common.AddrToUser(consts.COMMUNITY_POOL_ADDR)) - std.TestSkipHeights(1) + // this position-01 has been staked and staked same time sr.UnstakeToken(1, false) afterCommunityGns := gns.BalanceOf(common.AddrToUser(consts.COMMUNITY_POOL_ADDR)) + // therefore community pool should receive no-position-staked pool's reward increased := afterCommunityGns - oldCommunityGns - if increased < 0 { + if increased != 10702054 { // one block's reward panic("community pool should receive no-position-staked pool's reward") } } diff --git a/contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/pool_add_to_tier2_and_change_to_tier3_internal_filetest.gno similarity index 89% rename from contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/pool_add_to_tier2_and_change_to_tier3_internal_filetest.gno index 2c09adfe7..01cbcc413 100644 --- a/contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_change_to_tier3_internal_filetest.gnoA +++ b/contract/r/gnoswap/staker/filetests/pool_add_to_tier2_and_change_to_tier3_internal_filetest.gno @@ -91,6 +91,9 @@ func testInit() { std.TestSetOrigSend(std.Coins{{"ugnot", 50_000_000_000_000}}, nil) wugnot.Deposit() std.TestSetOrigSend(nil, nil) + + // set unstaking fee to 0 + sr.SetUnstakingFeeByAdmin(0) } func testCreatePool() { @@ -146,8 +149,8 @@ func testMintAndStakeWugnotGnsPos01() { sr.CollectReward(1, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { - panic("position 01 has some reward (gnot:gns:3000 is tier 01 pool)") + if !isInErrorRange(3210615, diff) { + panic("expected about 3210615") // 10702054 * 100%(tier1 ratio) * 30%(warmUp) } } } @@ -192,8 +195,8 @@ func testMintAndStakeBarBazPos02() { sr.CollectReward(2, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { // 953553 (tier02) - panic("position 02 has some reward (bar:baz:100 is tier 02 pool)") + if !isInErrorRange(963184, diff) { // 10702054 * 30%(tier2 ratio) * 30% (warmUp) + panic("expected about 963184") } } } @@ -211,8 +214,8 @@ func testChangePoolTier3() { sr.CollectReward(2, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { // 635701 (tier03) - panic("position 02 has some reward (bar:baz:100 is tier 03 pool)") + if !isInErrorRange(642122, diff) { // 10702054 * 20%(tier3 ratio) * 30% (warmUp) + panic("expected about 642122") } } } @@ -235,3 +238,9 @@ func tokenIdFrom(tokenId interface{}) grc721.TokenID { panic("unsupported tokenId type") } } + +func isInErrorRange(expected uint64, actual uint64) bool { + lowerBound := expected * 999999 / 1000000 + upperBound := expected * 1000001 / 1000000 + return actual >= lowerBound && actual <= upperBound +} diff --git a/contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_removed_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/pool_add_to_tier2_and_removed_internal_filetest.gno similarity index 86% rename from contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_removed_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/pool_add_to_tier2_and_removed_internal_filetest.gno index 5670108bb..2633f8151 100644 --- a/contract/r/gnoswap/staker/filetests/z_pool_add_to_tier2_and_removed_internal_filetest.gnoA +++ b/contract/r/gnoswap/staker/filetests/pool_add_to_tier2_and_removed_internal_filetest.gno @@ -91,6 +91,9 @@ func testInit() { std.TestSetOrigSend(std.Coins{{"ugnot", 50_000_000_000_000}}, nil) wugnot.Deposit() std.TestSetOrigSend(nil, nil) + + // set unstaking fee to 0 + sr.SetUnstakingFeeByAdmin(0) } func testCreatePool() { @@ -145,15 +148,14 @@ func testMintAndStakeWugnotGnsPos01() { sr.CollectReward(1, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { - panic("position 01 has some reward (gnot:gns:3000 is tier 01 pool)") + if !isInErrorRange(3210615, diff) { + panic("expected about 3210615") // 10702054 * 100%(tier1 ratio) * 30%(warmUp) } } func testSetPoolTier2() { std.TestSetRealm(adminRealm) - std.TestSkipHeights(1) sr.SetPoolTierByAdmin("gno.land/r/onbloc/bar:gno.land/r/onbloc/baz:100", 2) } @@ -163,7 +165,6 @@ func testMintAndStakeBarBazPos02() { bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) baz.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - std.TestSkipHeights(1) pn.Mint( barPath, bazPath, @@ -181,8 +182,8 @@ func testMintAndStakeBarBazPos02() { gnft.Approve(stakerAddr, tokenIdFrom(2)) sr.StakeToken(2) - std.TestSkipHeights(1) + { // check reward for position 01 (gnot:gns:3000 tier 01) std.TestSetRealm(adminRealm) @@ -190,8 +191,8 @@ func testMintAndStakeBarBazPos02() { sr.CollectReward(1, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { - panic("position 01 has some reward (gnot:gns:3000 is tier 01 pool)") + if !isInErrorRange(2247430, diff) { + panic("expected about 2247430") // 10702054 * 70%(tier1 ratio) * 30%(warmUp) } } @@ -202,8 +203,8 @@ func testMintAndStakeBarBazPos02() { sr.CollectReward(2, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { - panic("position 02 has some reward (bar:baz:100 is tier 02 pool)") + if !isInErrorRange(963184, diff) { + panic("expected about 963184") // 10702054 * 30%(tier2 ratio) * 30% (warmUp) } } } @@ -211,10 +212,9 @@ func testMintAndStakeBarBazPos02() { func testRemovePoolTier() { std.TestSetRealm(adminRealm) - std.TestSkipHeights(1) sr.RemovePoolTierByAdmin("gno.land/r/onbloc/bar:gno.land/r/onbloc/baz:100") - std.TestSkipHeights(1) + { // check reward for position 01 (gnot:gns:3000 tier 01) std.TestSetRealm(adminRealm) @@ -222,8 +222,8 @@ func testRemovePoolTier() { sr.CollectReward(1, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { - panic("position 01 has some reward (gnot:gns:3000 is tier 01 pool)") + if !isInErrorRange(3210615, diff) { + panic("expected about 3210615") // 10702054 * 100%(tier1 ratio) * 30%(warmUp) } } @@ -234,8 +234,8 @@ func testRemovePoolTier() { sr.CollectReward(2, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { - panic("position 02 has some reward (bar:baz:100 is tier 02 pool)") + if diff != 0 { + panic("expected about 0") // bar:baz:100 is removed from internal tiers } } } @@ -258,3 +258,9 @@ func tokenIdFrom(tokenId interface{}) grc721.TokenID { panic("unsupported tokenId type") } } + +func isInErrorRange(expected uint64, actual uint64) bool { + lowerBound := expected * 999999 / 1000000 + upperBound := expected * 1000001 / 1000000 + return actual >= lowerBound && actual <= upperBound +} diff --git a/contract/r/gnoswap/staker/filetests/z_position_inrange_change_by_swap_external_filetest.gnoA b/contract/r/gnoswap/staker/filetests/position_inrange_change_by_swap_external_filetest.gno similarity index 100% rename from contract/r/gnoswap/staker/filetests/z_position_inrange_change_by_swap_external_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/position_inrange_change_by_swap_external_filetest.gno diff --git a/contract/r/gnoswap/staker/filetests/z_position_inrange_change_by_swap_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/position_inrange_change_by_swap_internal_filetest.gno similarity index 100% rename from contract/r/gnoswap/staker/filetests/z_position_inrange_change_by_swap_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/position_inrange_change_by_swap_internal_filetest.gno diff --git a/contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing b/contract/r/gnoswap/staker/filetests/reward_for_user_collect_change_by_collecting_reward_external_filetest.gno similarity index 86% rename from contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing rename to contract/r/gnoswap/staker/filetests/reward_for_user_collect_change_by_collecting_reward_external_filetest.gno index f873127ea..07a9d3ad5 100644 --- a/contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_external_filetest.gnoXX_ApiGetReward_missing +++ b/contract/r/gnoswap/staker/filetests/reward_for_user_collect_change_by_collecting_reward_external_filetest.gno @@ -19,6 +19,7 @@ import ( "time" "gno.land/p/demo/grc/grc721" + "gno.land/p/demo/json" "gno.land/r/gnoswap/v1/common" "gno.land/r/gnoswap/v1/consts" @@ -206,28 +207,21 @@ func testMakeExternalBarAndQuxStart() { std.TestSkipHeights(int64(blockLeft)) // skip until external bar starts std.TestSkipHeights(10) // skip bit more to see reward calculation - /* - std.TestSkipHeights(1) - - TODO: (after fixing unit test) check reward - - position-01 and position-02 should have the same reward for bar and qux - */ + if extractReward(1) != extractReward(2) { + panic("reward is not equal") + } } func testCollectRewardPos01() { std.TestSetRealm(adminRealm) - std.TestSkipHeights(1) + std.TestSkipHeights(10) sr.CollectReward(1, false) - /* - std.TestSkipHeights(1) - - TODO: (after fixing unit test) check reward - - only position-01 reward collected (bar and qux) - - reward for position-01 should be reset to 0 and increased - - reward for position-02 should be increased - */ + reward01 := extractReward(1) + if reward01 != 0 { + panic("reward collected, should be 0 for checking") + } } func tokenIdFrom(tokenId interface{}) grc721.TokenID { @@ -248,3 +242,20 @@ func tokenIdFrom(tokenId interface{}) grc721.TokenID { panic("unsupported tokenId type") } } + +func extractReward(tokenId uint64) uint64 { + apiReward := sr.ApiGetRewardsByLpTokenId(tokenId) + rawReward, _ := json.Unmarshal([]byte(apiReward)) + rawRewardObject, _ := rawReward.GetKey("response") + arrReward, _ := rawRewardObject.GetArray() + + reward, _ := arrReward[0].GetKey("rewards") + rewardArr, _ := reward.GetArray() + if len(rewardArr) == 0 { + return 0 + } + rewardTokenAmount, _ := rewardArr[0].GetKey("rewardTokenAmount") + + rewardTokenAmountInt, _ := strconv.ParseUint(rewardTokenAmount.String(), 10, 64) + return rewardTokenAmountInt +} diff --git a/contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing b/contract/r/gnoswap/staker/filetests/reward_for_user_collect_change_by_collecting_reward_internal_filetest.gno similarity index 83% rename from contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing rename to contract/r/gnoswap/staker/filetests/reward_for_user_collect_change_by_collecting_reward_internal_filetest.gno index aa1b9ed27..d15f3e051 100644 --- a/contract/r/gnoswap/staker/filetests/z_reward_for_user_collect_change_by_collecting_reward_internal_filetest.gnoXX_ApiGetReward_missing +++ b/contract/r/gnoswap/staker/filetests/reward_for_user_collect_change_by_collecting_reward_internal_filetest.gno @@ -17,6 +17,7 @@ import ( "strconv" "gno.land/p/demo/grc/grc721" + "gno.land/p/demo/json" "gno.land/r/gnoswap/v1/common" "gno.land/r/gnoswap/v1/consts" @@ -131,11 +132,6 @@ func testMintAndStakeWugnotGnsPos01() { gnft.Approve(stakerAddr, tokenIdFrom(1)) sr.StakeToken(1) - - /* - std.TestSkipHeights(1) - TODO: (after fixing unit test) check reward - */ } func testMintAndStakeWugnotGnsPos02() { @@ -162,29 +158,23 @@ func testMintAndStakeWugnotGnsPos02() { gnft.Approve(stakerAddr, tokenIdFrom(2)) sr.StakeToken(2) - - /* - std.TestSkipHeights(1) - - TODO: (after fixing unit test) check reward - - both positions are in-range - */ } func testCollectRewardPos01() { std.TestSetRealm(adminRealm) - std.TestSkipHeights(1) + + apiRewardBefore := extractReward(1) sr.CollectReward(1, false) + apiRewardAfter := extractReward(1) - /* - std.TestSkipHeights(1) + if apiRewardBefore == apiRewardAfter { + panic("can not be same") + } - TODO: (after fixing unit test) check reward - - only position-01 reward collected - - reward for position-01 should be reset to 0 and increased - - reward for position-02 should be increased - */ + if apiRewardAfter != 0 { + panic("reward should be 0") + } } func tokenIdFrom(tokenId interface{}) grc721.TokenID { @@ -205,3 +195,20 @@ func tokenIdFrom(tokenId interface{}) grc721.TokenID { panic("unsupported tokenId type") } } + +func extractReward(tokenId uint64) uint64 { + apiReward := sr.ApiGetRewardsByLpTokenId(tokenId) + rawReward, _ := json.Unmarshal([]byte(apiReward)) + rawRewardObject, _ := rawReward.GetKey("response") + arrReward, _ := rawRewardObject.GetArray() + + reward, _ := arrReward[0].GetKey("rewards") + rewardArr, _ := reward.GetArray() + if len(rewardArr) == 0 { + return 0 + } + rewardTokenAmount, _ := rewardArr[0].GetKey("rewardTokenAmount") + + rewardTokenAmountInt, _ := strconv.ParseUint(rewardTokenAmount.String(), 10, 64) + return rewardTokenAmountInt +} diff --git a/contract/r/gnoswap/staker/filetests/z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position b/contract/r/gnoswap/staker/filetests/single_gns_external_ends_filetest.gno similarity index 91% rename from contract/r/gnoswap/staker/filetests/z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position rename to contract/r/gnoswap/staker/filetests/single_gns_external_ends_filetest.gno index 06fc62a0f..cce5cf729 100644 --- a/contract/r/gnoswap/staker/filetests/z_single_gns_external_ends_filetest.gnXX_collecting_reward_at_sameblock_differnet_position +++ b/contract/r/gnoswap/staker/filetests/single_gns_external_ends_filetest.gno @@ -92,6 +92,7 @@ func main() { func testInit() { std.TestSetRealm(adminRealm) + sr.SetUnstakingFeeByAdmin(0) } func testCreatePool() { @@ -205,13 +206,7 @@ func testCollectRewardPos01AndPos02() { std.TestSkipHeights(1) sr.CollectReward(1, false) - sr.CollectReward(2, false) // unexpected panic: slice index out of bounds: 0 - - /* - std.TestSkipHeights(1) - - TODO: (after fixing unit test) check collected reward - */ + sr.CollectReward(2, false) } func testEndExternalGns() { @@ -236,30 +231,25 @@ func testEndExternalGns() { 126, ) gnsBalanceAfterEnds := gns.BalanceOf(externalCreatorUser) - - /* - std.TestSkipHeights(1) - - TODO: (after fixing unit test) check - - refunded reward amount for refunedee - - refunded gns amount for refundee (depositGnsAmount refund) - */ + if gnsBalanceAfterEnds != 1000028693 { + // 1000000000 = depositGnsAmount + // 28693 = penalty + panic("expected 1000028693") + } } func testCollectRewardPos01AndPos02AfterEnd() { std.TestSetRealm(adminRealm) - std.TestSkipHeights(1) + + before := gns.BalanceOf(adminUser) sr.CollectReward(1, false) sr.CollectReward(2, false) - - /* - std.TestSkipHeights(1) - - TODO: (after fixing unit test) check collected reward - - even external gns is ended, user hasn't collected reward yet - - there should be some reward collected - */ + after := gns.BalanceOf(adminUser) + diff := after - before + if diff == 0 { + panic("reward can not be zero") + } } func tokenIdFrom(tokenId interface{}) grc721.TokenID { diff --git a/contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_restake_filetest.gnoA b/contract/r/gnoswap/staker/filetests/single_position_stake_unstake_restake_filetest.gno similarity index 98% rename from contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_restake_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/single_position_stake_unstake_restake_filetest.gno index 23d66b9ee..61c234cc8 100644 --- a/contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_restake_filetest.gnoA +++ b/contract/r/gnoswap/staker/filetests/single_position_stake_unstake_restake_filetest.gno @@ -177,7 +177,6 @@ func testUnstakeTokenPos01() { sr.UnstakeToken(1, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - println("diff", diff) // 5267 if diff == 0 { panic("position 01 was in-range, should have reward") @@ -197,7 +196,6 @@ func testStakeTokenPos01Again() { sr.CollectReward(1, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - println("diff", diff) // 5267 if diff == 0 { panic("position 01 in-range, should have reward") diff --git a/contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_same_block_filetest.gnoA b/contract/r/gnoswap/staker/filetests/single_position_stake_unstake_same_block_filetest.gno similarity index 100% rename from contract/r/gnoswap/staker/filetests/z_single_position_stake_unstake_same_block_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/single_position_stake_unstake_same_block_filetest.gno diff --git a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight b/contract/r/gnoswap/staker/filetests/staked_liquidity_change_by_staking_unstaking_external_filetest.gno similarity index 78% rename from contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight rename to contract/r/gnoswap/staker/filetests/staked_liquidity_change_by_staking_unstaking_external_filetest.gno index d7d715941..c3492613c 100644 --- a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_external_filetest.gnoXXX_CollectReward_DiffPosition_SameHeight +++ b/contract/r/gnoswap/staker/filetests/staked_liquidity_change_by_staking_unstaking_external_filetest.gno @@ -5,7 +5,7 @@ // POSITIONs: // 1. in-range -// 2. in-range (will be unstaked) +// 2. (will be unstaked) in-range // REWARDs: // - external bar ( bar:qux:100 ) @@ -72,19 +72,23 @@ func main() { testInit() testCreatePool() testMintBarQuxPos01() + testMintBarQuxPos02() testCreateExternalIncentive() testStakeTokenPos01() - testMakeExternalBarStart() // position-01 is in-range - - testMintAndStakeBarQuxPos02() // position-02 is in-range - testUnstakeTokenPos02() // position-02 is unstaked + testStakeTokenPos02() + testMakeExternalBarStart() + testCollectReward() + testUnstakeTokenPos02() + testCollectRewardAfterUnstake() } func testInit() { std.TestSetRealm(adminRealm) + + sr.SetUnstakingFeeByAdmin(0) } func testCreatePool() { @@ -124,6 +128,29 @@ func testMintBarQuxPos01() { ) } +func testMintBarQuxPos02() { + std.TestSetRealm(adminRealm) + + bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) + qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) + + std.TestSkipHeights(1) + pn.Mint( + barPath, + quxPath, + fee100, + int32(-50), + int32(50), + "50", + "50", + "1", + "1", + max_timeout, + adminAddr, + adminAddr, + ) +} + func testCreateExternalIncentive() { std.TestSetRealm(adminRealm) @@ -143,26 +170,32 @@ func testCreateExternalIncentive() { func testStakeTokenPos01() { std.TestSetRealm(adminRealm) - gnft.Approve(stakerAddr, tokenIdFrom(1)) - std.TestSkipHeights(1) + + gnft.Approve(stakerAddr, tokenIdFrom(1)) sr.StakeToken(1) } +func testStakeTokenPos02() { + std.TestSetRealm(adminRealm) + + gnft.Approve(stakerAddr, tokenIdFrom(2)) + sr.StakeToken(2) +} + func testMakeExternalBarStart() { externalStartTime := int64(1234569600) nowTime := time.Now().Unix() + timeLeft := externalStartTime - nowTime blockAvgTime := consts.BLOCK_GENERATION_INTERVAL blockLeft := timeLeft / blockAvgTime - std.TestSkipHeights(int64(blockLeft)) // skip until external bar starts std.TestSkipHeights(10) // skip bit more to see reward calculation // check reward for position 01 (in-range) std.TestSetRealm(adminRealm) - std.TestSkipHeights(1) beforeBar := bar.BalanceOf(adminUser) sr.CollectReward(1, false) afterBar := bar.BalanceOf(adminUser) @@ -172,64 +205,35 @@ func testMakeExternalBarStart() { } } -func testMintAndStakeBarQuxPos02() { +func testCollectReward() { std.TestSetRealm(adminRealm) - bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - + oldBar := bar.BalanceOf(adminUser) std.TestSkipHeights(1) - pn.Mint( - barPath, - quxPath, - fee100, - int32(-50), - int32(50), - "100", - "100", - "0", - "0", - max_timeout, - adminAddr, - adminAddr, - ) - - gnft.Approve(stakerAddr, tokenIdFrom(2)) - sr.StakeToken(2) - - // check reward for position 02 (in-range) - std.TestSkipHeights(1) - beforeBar := bar.BalanceOf(adminUser) - sr.CollectReward(2, false) - afterBar := bar.BalanceOf(adminUser) - diff := afterBar - beforeBar - if diff == 0 { - panic("position 02 in-range, should have reward") - } - - // check reward for position 01 (in-range) - beforeBar = bar.BalanceOf(adminUser) - sr.CollectReward(1, false) // FIXME: unexpected panic: slice index out of bounds: 0 (len=0) - afterBar = bar.BalanceOf(adminUser) - diff = afterBar - beforeBar - if diff == 0 { - panic("position 01 in-range, should have reward") + sr.CollectReward(1, false) + newBar := bar.BalanceOf(adminUser) + diff := newBar - oldBar + if !isInErrorRange(diff, 347) { // 2314(rewardPerBlock) * 50%(position01Ratio) * 30%(warmUp) + panic("expected about 347") } } func testUnstakeTokenPos02() { std.TestSetRealm(adminRealm) + sr.UnstakeToken(2, false) // position 02 is unstaked, position 01 the only staked position +} - std.TestSkipHeights(1) - sr.UnstakeToken(2, false) - - /* - std.TestSkipHeights(1) +func testCollectRewardAfterUnstake() { + std.TestSetRealm(adminRealm) - TODO: (after fixing unit test) check reward - - position-02 is unstaked - - only position-01 reward should be increased - */ + oldBar := bar.BalanceOf(adminUser) + std.TestSkipHeights(1) + sr.CollectReward(1, false) + newBar := bar.BalanceOf(adminUser) + diff := newBar - oldBar + if !isInErrorRange(diff, 693) { // 2314(rewardPerBlock) * 30%(warmUp) + panic("expected about 693") + } } func tokenIdFrom(tokenId interface{}) grc721.TokenID { @@ -250,3 +254,9 @@ func tokenIdFrom(tokenId interface{}) grc721.TokenID { panic("unsupported tokenId type") } } + +func isInErrorRange(expected uint64, actual uint64) bool { + lowerBound := expected * 999999 / 1000000 + upperBound := expected * 1000001 / 1000000 + return actual >= lowerBound && actual <= upperBound +} diff --git a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/staked_liquidity_change_by_staking_unstaking_internal_filetest.gno similarity index 81% rename from contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA rename to contract/r/gnoswap/staker/filetests/staked_liquidity_change_by_staking_unstaking_internal_filetest.gno index f9a0f8605..143e1ed35 100644 --- a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_unstaking_internal_filetest.gnoA +++ b/contract/r/gnoswap/staker/filetests/staked_liquidity_change_by_staking_unstaking_internal_filetest.gno @@ -5,7 +5,7 @@ // POSITIONs: // 1. in-range -// 2. in-range (will be unstaked) +// 2. (will be untaked) in-range // REWARDs: // - internal tier 1 ( gnot:gns:3000 ) @@ -69,10 +69,12 @@ func main() { testInit() testCreatePool() - testMintAndStakeWugnotGnsPos01() // position-01 is in-range + testMintAndStakeWugnotGnsPos01() + testMintAndStakeWugnotGnsPos02() - testMintAndStakeWugnotGnsPos02() // position-02 is in-range - testUnstakeTokenPos02() // position-02 is unstaked + testCollectReward() + testUnstakeTokenPos02() + testCollectRewardAfterUnstake() } func testInit() { @@ -85,6 +87,8 @@ func testInit() { std.TestSetOrigSend(std.Coins{{"ugnot", 50_000_000_000_000}}, nil) wugnot.Deposit() std.TestSetOrigSend(nil, nil) + + sr.SetUnstakingFeeByAdmin(0) } func testCreatePool() { @@ -125,16 +129,6 @@ func testMintAndStakeWugnotGnsPos01() { gnft.Approve(stakerAddr, tokenIdFrom(1)) sr.StakeToken(1) - - // check reward for position 01 (in-range) - std.TestSkipHeights(1) - beforeGns := gns.BalanceOf(adminUser) - sr.CollectReward(1, false) - afterGns := gns.BalanceOf(adminUser) - diff := afterGns - beforeGns - if diff == 0 { - panic("position 01 in-range, should have reward") - } } func testMintAndStakeWugnotGnsPos02() { @@ -161,41 +155,45 @@ func testMintAndStakeWugnotGnsPos02() { gnft.Approve(stakerAddr, tokenIdFrom(2)) sr.StakeToken(2) + std.TestSkipHeights(1) +} + +func testCollectReward() { + std.TestSetRealm(adminRealm) + + // clear reward + sr.CollectReward(1, false) + sr.CollectReward(2, false) - // check reward for position 02 (in-range) std.TestSkipHeights(1) beforeGns := gns.BalanceOf(adminUser) - sr.CollectReward(2, false) + sr.CollectReward(1, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { - panic("position 02 in-range, should have reward") - } - // check reward for position 01 (in-range) - beforeGns = gns.BalanceOf(adminUser) - sr.CollectReward(1, false) - afterGns = gns.BalanceOf(adminUser) - diff = afterGns - beforeGns - if diff == 0 { - panic("position 01 in-range, should have reward") + if !isInErrorRange(diff, 1605307) { // 10702054 * 50% * 30% + panic("expected about 1605307") } } func testUnstakeTokenPos02() { std.TestSetRealm(adminRealm) - std.TestSkipHeights(1) + sr.UnstakeToken(2, false) +} + +func testCollectRewardAfterUnstake() { + std.TestSetRealm(adminRealm) beforeGns := gns.BalanceOf(adminUser) - sr.UnstakeToken(2, false) + std.TestSkipHeights(1) + sr.CollectReward(1, false) afterGns := gns.BalanceOf(adminUser) diff := afterGns - beforeGns - if diff == 0 { - panic("position 02 in-range, should have reward") - } - std.TestSkipHeights(1) + if !isInErrorRange(diff, 3210615) { // 10702054 * 30% + panic("expected about 3210615") + } } func tokenIdFrom(tokenId interface{}) grc721.TokenID { @@ -216,3 +214,9 @@ func tokenIdFrom(tokenId interface{}) grc721.TokenID { panic("unsupported tokenId type") } } + +func isInErrorRange(expected uint64, actual uint64) bool { + lowerBound := expected * 999999 / 1000000 + upperBound := expected * 1000001 / 1000000 + return actual >= lowerBound && actual <= upperBound +} diff --git a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno b/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno deleted file mode 100644 index 80e467b3c..000000000 --- a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gno +++ /dev/null @@ -1,278 +0,0 @@ -// PKGPATH: gno.land/r/gnoswap/v1/staker_test - -// POOLs: -// 1. bar:qux:100 - -// POSITIONs: -// 1. in-range -// 2. (will be staked) out-range -// 3. (will be staked) in-range - -// REWARDs: -// - external bar ( bar:qux:100 ) - -package staker_test - -import ( - "std" - "strconv" - "time" - - "gno.land/p/demo/grc/grc721" - - "gno.land/r/gnoswap/v1/common" - "gno.land/r/gnoswap/v1/consts" - - _ "gno.land/r/demo/wugnot" - "gno.land/r/gnoswap/v1/gns" - "gno.land/r/onbloc/bar" - "gno.land/r/onbloc/qux" - - "gno.land/r/gnoswap/v1/gnft" - - pl "gno.land/r/gnoswap/v1/pool" - pn "gno.land/r/gnoswap/v1/position" - sr "gno.land/r/gnoswap/v1/staker" -) - -var ( - adminAddr = consts.ADMIN - adminUser = common.AddrToUser(adminAddr) - adminRealm = std.NewUserRealm(adminAddr) - - stakerAddr = consts.STAKER_ADDR - stakerUser = common.AddrToUser(stakerAddr) - stakerRealm = std.NewCodeRealm(consts.STAKER_PATH) - - fooPath = "gno.land/r/onbloc/foo" - barPath = "gno.land/r/onbloc/bar" - bazPath = "gno.land/r/onbloc/baz" - quxPath = "gno.land/r/onbloc/qux" - oblPath = "gno.land/r/onbloc/obl" - - gnsPath = "gno.land/r/gnoswap/v1/gns" - wugnotPath = "gno.land/r/demo/wugnot" - - fee100 uint32 = 100 - fee500 uint32 = 500 - fee3000 uint32 = 3000 - - max_timeout int64 = 9999999999 - - // external incentive deposit fee - depositGnsAmount uint64 = 1_000_000_000 // 1_000 GNS - - TIMESTAMP_90DAYS int64 = 90 * 24 * 60 * 60 - TIMESTAMP_180DAYS int64 = 180 * 24 * 60 * 60 - TIMESTAMP_365DAYS int64 = 365 * 24 * 60 * 60 - - poolPath = "gno.land/r/onbloc/bar:gno.land/r/onbloc/qux:100" -) - -func main() { - testInit() - testCreatePool() - testMintBarQuxPos01() - - testCreateExternalIncentive() - - testStakeTokenPos01() - testMakeExternalBarStart() // position-01 is in-range - - testMintAndStakeBarQuxPos02() // position-02 is out-range (no reward) - - //testMintAndStakeBarQuxPos03() // position-03 is in-range - -} - -func testInit() { - std.TestSetRealm(adminRealm) -} - -func testCreatePool() { - std.TestSetRealm(adminRealm) - - pl.SetPoolCreationFeeByAdmin(0) - - std.TestSkipHeights(1) - pl.CreatePool( - barPath, - quxPath, - fee100, - common.TickMathGetSqrtRatioAtTick(0).ToString(), // 79228162514264337593543950337 - ) -} - -func testMintBarQuxPos01() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - - pn.Mint( - barPath, - quxPath, - fee100, - int32(-50), - int32(50), - "50", - "50", - "1", - "1", - max_timeout, - adminAddr, - adminAddr, - ) -} - -func testCreateExternalIncentive() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.STAKER_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.STAKER_ADDR), depositGnsAmount) - - std.TestSkipHeights(1) - sr.CreateExternalIncentive( - "gno.land/r/onbloc/bar:gno.land/r/onbloc/qux:100", - barPath, - 9000000000, - 1234569600, - 1234569600+TIMESTAMP_90DAYS, - ) -} - -func testStakeTokenPos01() { - std.TestSetRealm(adminRealm) - - gnft.Approve(stakerAddr, tokenIdFrom(1)) - - std.TestSkipHeights(1) - sr.StakeToken(1) -} - -func testMakeExternalBarStart() { - externalStartTime := int64(1234569600) - nowTime := time.Now().Unix() - - timeLeft := externalStartTime - nowTime - - blockAvgTime := consts.BLOCK_GENERATION_INTERVAL - blockLeft := timeLeft / blockAvgTime - std.TestSkipHeights(int64(blockLeft)) // skip until external bar starts - std.TestSkipHeights(10) // skip bit more to see reward calculation - - - // check reward for position 01 (in-range) - std.TestSetRealm(adminRealm) - beforeBar := bar.BalanceOf(adminUser) - sr.CollectReward(1, false) - afterBar := bar.BalanceOf(adminUser) - diff := afterBar - beforeBar - if diff == 0 { - panic("position 01 in-range, should have reward") - } -} - -func testMintAndStakeBarQuxPos02() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - barPath, - quxPath, - fee100, - int32(60), - int32(120), - "100", - "100", - "0", - "0", - max_timeout, - adminAddr, - adminAddr, - ) - - gnft.Approve(stakerAddr, tokenIdFrom(2)) - - sr.StakeToken(2) - - // check reward for position 02 (out-range) - std.TestSkipHeights(1) - beforeBar := bar.BalanceOf(adminUser) - sr.CollectReward(2, false) - afterBar := bar.BalanceOf(adminUser) - diff := afterBar - beforeBar - if diff != 0 { - panic("position 02 out-range, should not have reward") - } - - // check reward for position 01 (in-range) - std.TestSkipHeights(1) - beforeBar = bar.BalanceOf(adminUser) - sr.CollectReward(1, false) - afterBar = bar.BalanceOf(adminUser) - diff = afterBar - beforeBar - if diff == 0 { - panic("position 01 in-range, should have reward") - } -} - -func testMintAndStakeBarQuxPos03() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - barPath, - quxPath, - fee100, - int32(-100), - int32(100), - "100", - "100", - "0", - "0", - max_timeout, - adminAddr, - adminAddr, - ) - - gnft.Approve(stakerAddr, tokenIdFrom(3)) - sr.StakeToken(3) - - // check reward for position 03 (in-range) - std.TestSkipHeights(1) - beforeBar := bar.BalanceOf(adminUser) - sr.CollectReward(3, false) - afterBar := bar.BalanceOf(adminUser) - diff := afterBar - beforeBar - if diff == 0 { - panic("position 03 in-range, should have reward") - } -} - -func tokenIdFrom(tokenId interface{}) grc721.TokenID { - if tokenId == nil { - panic("tokenId is nil") - } - - switch tokenId.(type) { - case string: - return grc721.TokenID(tokenId.(string)) - case int: - return grc721.TokenID(strconv.Itoa(tokenId.(int))) - case uint64: - return grc721.TokenID(strconv.Itoa(int(tokenId.(uint64)))) - case grc721.TokenID: - return tokenId.(grc721.TokenID) - default: - panic("unsupported tokenId type") - } -} diff --git a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero b/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero deleted file mode 100644 index 6b6bd0f5f..000000000 --- a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_external_filetest.gnoXX_RewardZero +++ /dev/null @@ -1,275 +0,0 @@ -// PKGPATH: gno.land/r/gnoswap/v1/staker_test - -// POOLs: -// 1. bar:qux:100 - -// POSITIONs: -// 1. in-range -// 2. (will be staked) out-range -// 3. (will be staked) in-range - -// REWARDs: -// - external bar ( bar:qux:100 ) - -package staker_test - -import ( - "std" - "strconv" - "time" - - "gno.land/p/demo/grc/grc721" - - "gno.land/r/gnoswap/v1/common" - "gno.land/r/gnoswap/v1/consts" - - _ "gno.land/r/demo/wugnot" - "gno.land/r/gnoswap/v1/gns" - "gno.land/r/onbloc/bar" - "gno.land/r/onbloc/qux" - - "gno.land/r/gnoswap/v1/gnft" - - pl "gno.land/r/gnoswap/v1/pool" - pn "gno.land/r/gnoswap/v1/position" - sr "gno.land/r/gnoswap/v1/staker" -) - -var ( - adminAddr = consts.ADMIN - adminUser = common.AddrToUser(adminAddr) - adminRealm = std.NewUserRealm(adminAddr) - - stakerAddr = consts.STAKER_ADDR - stakerUser = common.AddrToUser(stakerAddr) - stakerRealm = std.NewCodeRealm(consts.STAKER_PATH) - - fooPath = "gno.land/r/onbloc/foo" - barPath = "gno.land/r/onbloc/bar" - bazPath = "gno.land/r/onbloc/baz" - quxPath = "gno.land/r/onbloc/qux" - oblPath = "gno.land/r/onbloc/obl" - - gnsPath = "gno.land/r/gnoswap/v1/gns" - wugnotPath = "gno.land/r/demo/wugnot" - - fee100 uint32 = 100 - fee500 uint32 = 500 - fee3000 uint32 = 3000 - - max_timeout int64 = 9999999999 - - // external incentive deposit fee - depositGnsAmount uint64 = 1_000_000_000 // 1_000 GNS - - TIMESTAMP_90DAYS int64 = 90 * 24 * 60 * 60 - TIMESTAMP_180DAYS int64 = 180 * 24 * 60 * 60 - TIMESTAMP_365DAYS int64 = 365 * 24 * 60 * 60 - - poolPath = "gno.land/r/onbloc/bar:gno.land/r/onbloc/qux:100" -) - -func main() { - testInit() - testCreatePool() - testMintBarQuxPos01() - - testCreateExternalIncentive() - - testStakeTokenPos01() - testMakeExternalBarStart() // position-01 is in-range - - testMintAndStakeBarQuxPos02() // position-02 is out-range (no reward) - - testMintAndStakeBarQuxPos03() // position-03 is in-range - -} - -func testInit() { - std.TestSetRealm(adminRealm) -} - -func testCreatePool() { - std.TestSetRealm(adminRealm) - - pl.SetPoolCreationFeeByAdmin(0) - - std.TestSkipHeights(1) - pl.CreatePool( - barPath, - quxPath, - fee100, - common.TickMathGetSqrtRatioAtTick(0).ToString(), // 79228162514264337593543950337 - ) -} - -func testMintBarQuxPos01() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - barPath, - quxPath, - fee100, - int32(-50), - int32(50), - "50", - "50", - "1", - "1", - max_timeout, - adminAddr, - adminAddr, - ) -} - -func testCreateExternalIncentive() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.STAKER_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.STAKER_ADDR), depositGnsAmount) - - std.TestSkipHeights(1) - sr.CreateExternalIncentive( - "gno.land/r/onbloc/bar:gno.land/r/onbloc/qux:100", - barPath, - 9000000000, - 1234569600, - 1234569600+TIMESTAMP_90DAYS, - ) -} - -func testStakeTokenPos01() { - std.TestSetRealm(adminRealm) - - gnft.Approve(stakerAddr, tokenIdFrom(1)) - - std.TestSkipHeights(1) - sr.StakeToken(1) -} - -func testMakeExternalBarStart() { - externalStartTime := (1234569600 + TIMESTAMP_90DAYS) - nowTime := time.Now().Unix() - timeLeft := externalStartTime - nowTime - - blockAvgTime := consts.BLOCK_GENERATION_INTERVAL - blockLeft := timeLeft / blockAvgTime - - std.TestSkipHeights(int64(blockLeft)) // skip until external bar starts - std.TestSkipHeights(10) // skip bit more to see reward calculation - - // check reward for position 01 (in-range) - std.TestSetRealm(adminRealm) - beforeBar := bar.BalanceOf(adminUser) - sr.CollectReward(1, false) - afterBar := bar.BalanceOf(adminUser) - diff := afterBar - beforeBar - if diff == 0 { - panic("position 01 in-range, should have reward") - } -} - -func testMintAndStakeBarQuxPos02() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - barPath, - quxPath, - fee100, - int32(60), - int32(120), - "100", - "100", - "0", - "0", - max_timeout, - adminAddr, - adminAddr, - ) - - gnft.Approve(stakerAddr, tokenIdFrom(2)) - sr.StakeToken(2) - - // check reward for position 02 (out-range) - std.TestSkipHeights(1) - beforeBar := bar.BalanceOf(adminUser) - sr.CollectReward(2, false) - afterBar := bar.BalanceOf(adminUser) - diff := afterBar - beforeBar - if diff != 0 { - panic("position 02 out-range, should not have reward") - } - - // check reward for position 01 (in-range) - std.TestSkipHeights(1) - beforeBar = bar.BalanceOf(adminUser) - sr.CollectReward(1, false) - afterBar = bar.BalanceOf(adminUser) - diff = afterBar - beforeBar - if diff == 0 { - panic("position 01 in-range, should have reward") - } -} - -func testMintAndStakeBarQuxPos03() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - barPath, - quxPath, - fee100, - int32(-100), - int32(100), - "100", - "100", - "0", - "0", - max_timeout, - adminAddr, - adminAddr, - ) - - gnft.Approve(stakerAddr, tokenIdFrom(3)) - sr.StakeToken(3) - - // check reward for position 03 (in-range) - std.TestSkipHeights(1) - beforeBar := bar.BalanceOf(adminUser) - sr.CollectReward(3, false) - afterBar := bar.BalanceOf(adminUser) - diff := afterBar - beforeBar - if diff == 0 { - panic("position 03 in-range, should have reward") - } -} - -func tokenIdFrom(tokenId interface{}) grc721.TokenID { - if tokenId == nil { - panic("tokenId is nil") - } - - switch tokenId.(type) { - case string: - return grc721.TokenID(tokenId.(string)) - case int: - return grc721.TokenID(strconv.Itoa(tokenId.(int))) - case uint64: - return grc721.TokenID(strconv.Itoa(int(tokenId.(uint64)))) - case grc721.TokenID: - return tokenId.(grc721.TokenID) - default: - panic("unsupported tokenId type") - } -} diff --git a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA b/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA deleted file mode 100644 index adda5b15d..000000000 --- a/contract/r/gnoswap/staker/filetests/z_staked_liquidity_change_by_staking_internal_filetest.gnoA +++ /dev/null @@ -1,245 +0,0 @@ -// PKGPATH: gno.land/r/gnoswap/v1/staker_test - -// POOLs: -// 1. gnot:gns:3000 - -// POSITIONs: -// 1. in-range -// 2. (will be staked) out-range -// 3. (will be staked) in-range - -// REWARDs: -// - internal tier 1 ( gnot:gns:3000 ) - -package staker_test - -import ( - "std" - "strconv" - - "gno.land/p/demo/grc/grc721" - - "gno.land/r/gnoswap/v1/common" - "gno.land/r/gnoswap/v1/consts" - - "gno.land/r/demo/wugnot" - "gno.land/r/gnoswap/v1/gns" - - "gno.land/r/gnoswap/v1/gnft" - - pl "gno.land/r/gnoswap/v1/pool" - pn "gno.land/r/gnoswap/v1/position" - sr "gno.land/r/gnoswap/v1/staker" -) - -var ( - adminAddr = consts.ADMIN - adminUser = common.AddrToUser(adminAddr) - adminRealm = std.NewUserRealm(adminAddr) - - stakerAddr = consts.STAKER_ADDR - stakerUser = common.AddrToUser(stakerAddr) - stakerRealm = std.NewCodeRealm(consts.STAKER_PATH) - - wugnotAddr = consts.WUGNOT_ADDR - - fooPath = "gno.land/r/onbloc/foo" - barPath = "gno.land/r/onbloc/bar" - bazPath = "gno.land/r/onbloc/baz" - quxPath = "gno.land/r/onbloc/qux" - oblPath = "gno.land/r/onbloc/obl" - - gnsPath = "gno.land/r/gnoswap/v1/gns" - wugnotPath = "gno.land/r/demo/wugnot" - - fee100 uint32 = 100 - fee500 uint32 = 500 - fee3000 uint32 = 3000 - - max_timeout int64 = 9999999999 - - // external incentive deposit fee - depositGnsAmount uint64 = 1_000_000_000 // 1_000 GNS - - TIMESTAMP_90DAYS int64 = 90 * 24 * 60 * 60 - TIMESTAMP_180DAYS int64 = 180 * 24 * 60 * 60 - TIMESTAMP_365DAYS int64 = 365 * 24 * 60 * 60 -) - -func main() { - testInit() - testCreatePool() - - testMintAndStakeWugnotGnsPos01() // position-01 is in-range - - testMintAndStakeWugnotGnsPos02() // position-02 is out-range (no reward) - - testMintAndStakeWugnotGnsPos03() // position-03 is in-range - -} - -func testInit() { - std.TestSetRealm(adminRealm) - - // prepare wugnot - std.TestIssueCoins(adminAddr, std.Coins{{"ugnot", 100_000_000_000_000}}) - banker := std.GetBanker(std.BankerTypeRealmSend) - banker.SendCoins(adminAddr, wugnotAddr, std.Coins{{"ugnot", 50_000_000_000_000}}) - std.TestSetOrigSend(std.Coins{{"ugnot", 50_000_000_000_000}}, nil) - wugnot.Deposit() - std.TestSetOrigSend(nil, nil) -} - -func testCreatePool() { - std.TestSetRealm(adminRealm) - - pl.SetPoolCreationFeeByAdmin(0) - - std.TestSkipHeights(1) - pl.CreatePool( - wugnotPath, - gnsPath, - fee3000, - common.TickMathGetSqrtRatioAtTick(0).ToString(), // 79228162514264337593543950337 - ) -} - -func testMintAndStakeWugnotGnsPos01() { - std.TestSetRealm(adminRealm) - - wugnot.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - wugnotPath, - gnsPath, - fee3000, - int32(-60), - int32(60), - "100", - "100", - "0", - "0", - max_timeout, - adminAddr, - adminAddr, - ) - - gnft.Approve(stakerAddr, tokenIdFrom(1)) - sr.StakeToken(1) - - // check reward for position 01 (in-range) - std.TestSkipHeights(1) - beforeGns := gns.BalanceOf(adminUser) - sr.CollectReward(1, false) - afterGns := gns.BalanceOf(adminUser) - diff := afterGns - beforeGns - if diff == 0 { - panic("position 01 in-range, should have reward") - } - -} - -func testMintAndStakeWugnotGnsPos02() { - std.TestSetRealm(adminRealm) - - wugnot.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - wugnotPath, - gnsPath, - fee3000, - int32(60), - int32(120), - "100", - "100", - "0", - "0", - max_timeout, - adminAddr, - adminAddr, - ) - - gnft.Approve(stakerAddr, tokenIdFrom(2)) - sr.StakeToken(2) - - std.TestSkipHeights(1) - - // check reward for position 02 (out-range) - std.TestSkipHeights(1) - beforeGns := gns.BalanceOf(adminUser) - sr.CollectReward(2, false) - afterGns := gns.BalanceOf(adminUser) - diff := afterGns - beforeGns - if diff != 0 { - panic("position 02 out-range, should not have reward") - } - - // check reward for position 01 (in-range) - std.TestSkipHeights(1) - beforeGns = gns.BalanceOf(adminUser) - sr.CollectReward(1, false) - afterGns = gns.BalanceOf(adminUser) - diff = afterGns - beforeGns - if diff == 0 { - panic("position 01 in-range, should have reward") - } -} - -func testMintAndStakeWugnotGnsPos03() { - std.TestSetRealm(adminRealm) - - wugnot.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - wugnotPath, - gnsPath, - fee3000, - int32(-60), - int32(60), - "100", - "100", - "0", - "0", - max_timeout, - adminAddr, - adminAddr, - ) - - gnft.Approve(stakerAddr, tokenIdFrom(3)) - sr.StakeToken(3) - - // check reward for position 03 (in-range) - std.TestSkipHeights(1) - beforeGns := gns.BalanceOf(adminUser) - sr.CollectReward(3, false) - afterGns := gns.BalanceOf(adminUser) - diff := afterGns - beforeGns - if diff == 0 { - panic("position 03 in-range, should have reward") - } -} - -func tokenIdFrom(tokenId interface{}) grc721.TokenID { - if tokenId == nil { - panic("tokenId is nil") - } - - switch tokenId.(type) { - case string: - return grc721.TokenID(tokenId.(string)) - case int: - return grc721.TokenID(strconv.Itoa(tokenId.(int))) - case uint64: - return grc721.TokenID(strconv.Itoa(int(tokenId.(uint64)))) - case grc721.TokenID: - return tokenId.(grc721.TokenID) - default: - panic("unsupported tokenId type") - } -} diff --git a/contract/r/gnoswap/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing b/contract/r/gnoswap/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing deleted file mode 100644 index d86486113..000000000 --- a/contract/r/gnoswap/staker/filetests/z_staker_internal_external_01_both_has_gns_filetest.gnoXX_ApiGetReward_missing +++ /dev/null @@ -1,299 +0,0 @@ -// PKGPATH: gno.land/r/gnoswap/v1/staker_test -// 1 pool for tier 1 (gnot:gns:0.3%) -// - same pool has 2 external incentives -// 1. bar -// 2. gns -// > internal gns and external gns must not affect each other - -package staker_test - -import ( - "std" - "strconv" - - "gno.land/p/demo/grc/grc721" - - "gno.land/r/gnoswap/v1/common" - "gno.land/r/gnoswap/v1/consts" - - "gno.land/r/demo/wugnot" - "gno.land/r/gnoswap/v1/gns" - "gno.land/r/onbloc/bar" - _ "gno.land/r/onbloc/baz" - - "gno.land/r/gnoswap/v1/gnft" - - en "gno.land/r/gnoswap/v1/emission" - pl "gno.land/r/gnoswap/v1/pool" - pn "gno.land/r/gnoswap/v1/position" - sr "gno.land/r/gnoswap/v1/staker" -) - -var ( - adminAddr = consts.ADMIN - adminUser = common.AddrToUser(adminAddr) - adminRealm = std.NewUserRealm(adminAddr) - - stakerAddr = consts.STAKER_ADDR - stakerUser = common.AddrToUser(stakerAddr) - stakerRealm = std.NewCodeRealm(consts.STAKER_PATH) - - wugnotAddr = consts.WUGNOT_ADDR - - fooPath = "gno.land/r/onbloc/foo" - barPath = "gno.land/r/onbloc/bar" - bazPath = "gno.land/r/onbloc/baz" - quxPath = "gno.land/r/onbloc/qux" - oblPath = "gno.land/r/onbloc/obl" - - gnsPath = "gno.land/r/gnoswap/v1/gns" - wugnotPath = "gno.land/r/demo/wugnot" - - fee100 uint32 = 100 - fee500 uint32 = 500 - fee3000 uint32 = 3000 - - max_timeout int64 = 9999999999 - - // external incentive deposit fee - depositGnsAmount uint64 = 1_000_000_000 // 1_000 GNS - - TIMESTAMP_90DAYS int64 = 90 * 24 * 60 * 60 - TIMESTAMP_180DAYS int64 = 180 * 24 * 60 * 60 - TIMESTAMP_365DAYS int64 = 365 * 24 * 60 * 60 -) - -func main() { - testInit() - testCreatePool() - testMintWugnotGns01() - testCreateExternalIncentiveBar() - testCreateExternalIncentiveGns() - testStakeToken01() - testRewardCheckBeforeActive() - testRewardCheckAfterActive() - testDuration200() - testCollectReward() - testCollectRewardSameBlockNoReward() - testCollectRewardSingleBlock() -} - -func testInit() { - std.TestSetRealm(adminRealm) - - // issue ugnot coins - std.TestIssueCoins(adminAddr, std.Coins{{"ugnot", 100_000_000_000_000}}) - - // prepare wugnot - banker := std.GetBanker(std.BankerTypeRealmSend) - banker.SendCoins(adminAddr, wugnotAddr, std.Coins{{"ugnot", 50_000_000_000_000}}) - std.TestSetOrigSend(std.Coins{{"ugnot", 50_000_000_000_000}}, nil) - wugnot.Deposit() - std.TestSetOrigSend(nil, nil) -} - -func testCreatePool() { - std.TestSetRealm(adminRealm) - - pl.SetPoolCreationFeeByAdmin(0) - - std.TestSkipHeights(1) - // tier 1 by default - pl.CreatePool( - wugnotPath, - gnsPath, - fee3000, - common.TickMathGetSqrtRatioAtTick(0).ToString(), // 79228162514264337593543950337 - ) - - // wil be set to tier 2, and change to tier 1 - pl.CreatePool( - barPath, - bazPath, - fee100, - common.TickMathGetSqrtRatioAtTick(0).ToString(), // 79228162514264337593543950337 - ) -} - -func testMintWugnotGns01() { - std.TestSetRealm(adminRealm) - - wugnot.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - wugnotPath, - gnsPath, - fee3000, - int32(-1020), - int32(1020), - "500000000", - "500000000", - "1", - "1", - max_timeout, - adminAddr, - adminAddr, - ) -} - -func testCreateExternalIncentiveBar() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.STAKER_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.STAKER_ADDR), depositGnsAmount) - - std.TestSkipHeights(1) - sr.AddToken(barPath) - sr.CreateExternalIncentive( - "gno.land/r/demo/wugnot:gno.land/r/gnoswap/v1/gns:3000", - barPath, - 20000000, - 1234569600, - 1234569600+TIMESTAMP_90DAYS, - ) -} - -func testCreateExternalIncentiveGns() { - std.TestSetRealm(adminRealm) - - gns.Approve(common.AddrToUser(consts.STAKER_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - sr.CreateExternalIncentive( - "gno.land/r/demo/wugnot:gno.land/r/gnoswap/v1/gns:3000", - gnsPath, - 20000000, - 1234569600, - 1234569600+TIMESTAMP_90DAYS, - ) -} - -func testStakeToken01() { - std.TestSetRealm(adminRealm) - - gnft.Approve(stakerAddr, tokenIdFrom(1)) - - std.TestSkipHeights(1) - sr.StakeToken(1) - // TODO: (after fixing unit test) check reward by querying with api funcs -} - -func testRewardCheckBeforeActive() { - std.TestSkipHeights(1) - en.MintAndDistributeGns() - - // TODO: (after fixing unit test) check reward by querying with api funcs -} - -func testRewardCheckAfterActive() { - std.TestSkipHeights(849) // in active - std.TestSkipHeights(1) // active // but no block passed since active - std.TestSkipHeights(50) // skip 50 more block - - // TODO: (after fixing unit test) check reward by querying with api funcs -} - -func testDuration200() { - std.TestSkipHeights(200) - - // TODO: (after fixing unit test) check reward by querying with api funcs -} - -func testCollectReward() { - std.TestSetRealm(adminRealm) - - oldBar := bar.BalanceOf(adminUser) - oldGns := gns.BalanceOf(adminUser) - - std.TestSkipHeights(1) - sr.CollectReward(1, false) - - newBar := bar.BalanceOf(adminUser) - newGns := gns.BalanceOf(adminUser) - - println("oldBar", oldBar) - println("newBar", newBar) - - // TODO: this gns balance will have both internal and external gns - // need to check how much gns is from internal and how much is from external - println("oldGns", oldGns) - println("newGns", newGns) -} - -func testCollectRewardSameBlockNoReward() { - std.TestSetRealm(adminRealm) - - oldBar := bar.BalanceOf(adminUser) - oldGns := gns.BalanceOf(adminUser) - - // std.TestSkipHeights(1) // DO NOT SKIP HEIGHT - // current logic is to test collect reward in the same block - sr.CollectReward(1, false) - - newBar := bar.BalanceOf(adminUser) - newGns := gns.BalanceOf(adminUser) - - println("oldBar", oldBar) - println("newBar", newBar) - - // TODO: this gns balance will have both internal and external gns - // need to check how much gns is from internal and how much is from external - println("oldGns", oldGns) - println("newGns", newGns) -} - -func testCollectRewardSingleBlock() { - std.TestSetRealm(adminRealm) - - oldBar := bar.BalanceOf(adminUser) - oldGns := gns.BalanceOf(adminUser) - - std.TestSkipHeights(1) // ONLY 1 BLOCK PASSED - sr.CollectReward(1, false) - - newBar := bar.BalanceOf(adminUser) - newGns := gns.BalanceOf(adminUser) - - println("oldBar", oldBar) - println("newBar", newBar) - - // TODO: this gns balance will have both internal and external gns - // need to check how much gns is from internal and how much is from external - println("oldGns", oldGns) - println("newGns", newGns) -} - -// NOTE: filetest can not access helper functions in origin package -// so we need to implement the helper function here - -func tokenIdFrom(tokenId interface{}) grc721.TokenID { - if tokenId == nil { - panic("tokenId is nil") - } - - switch tokenId.(type) { - case string: - return grc721.TokenID(tokenId.(string)) - case int: - return grc721.TokenID(strconv.Itoa(tokenId.(int))) - case uint64: - return grc721.TokenID(strconv.Itoa(int(tokenId.(uint64)))) - case grc721.TokenID: - return tokenId.(grc721.TokenID) - default: - panic("unsupported tokenId type") - } -} - -func ugnotBalanceOf(addr std.Address) uint64 { - testBanker := std.GetBanker(std.BankerTypeReadonly) - - coins := testBanker.GetCoins(addr) - if len(coins) == 0 { - return 0 - } - - return uint64(coins.AmountOf("ugnot")) -} diff --git a/contract/r/gnoswap/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno b/contract/r/gnoswap/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno deleted file mode 100644 index 53ca63f27..000000000 --- a/contract/r/gnoswap/staker/filetests/z_staker_internal_external_02_position_range_change_filetest.gno +++ /dev/null @@ -1,318 +0,0 @@ -// PKGPATH: gno.land/r/gnoswap/v1/staker_test -// 1 pool for tier 1 (gnot:gns:0.3%) -// - same pool has 1 external incentive (bar) -// 1 position (in-range changes) -// - in-range -// - out-range -// - in-range - -package staker_test - -import ( - "std" - "strconv" - - "gno.land/p/demo/grc/grc721" - - "gno.land/r/gnoswap/v1/common" - "gno.land/r/gnoswap/v1/consts" - - "gno.land/r/demo/wugnot" - "gno.land/r/gnoswap/v1/gns" - "gno.land/r/onbloc/bar" - _ "gno.land/r/onbloc/baz" - - "gno.land/r/gnoswap/v1/gnft" - - pl "gno.land/r/gnoswap/v1/pool" - pn "gno.land/r/gnoswap/v1/position" - rr "gno.land/r/gnoswap/v1/router" - sr "gno.land/r/gnoswap/v1/staker" -) - -var ( - adminAddr = consts.ADMIN - adminUser = common.AddrToUser(adminAddr) - adminRealm = std.NewUserRealm(adminAddr) - - stakerAddr = consts.STAKER_ADDR - stakerUser = common.AddrToUser(stakerAddr) - stakerRealm = std.NewCodeRealm(consts.STAKER_PATH) - - wugnotAddr = consts.WUGNOT_ADDR - - fooPath = "gno.land/r/onbloc/foo" - barPath = "gno.land/r/onbloc/bar" - bazPath = "gno.land/r/onbloc/baz" - quxPath = "gno.land/r/onbloc/qux" - oblPath = "gno.land/r/onbloc/obl" - - gnsPath = "gno.land/r/gnoswap/v1/gns" - wugnotPath = "gno.land/r/demo/wugnot" - - fee100 uint32 = 100 - fee500 uint32 = 500 - fee3000 uint32 = 3000 - - max_timeout int64 = 9999999999 - - // external incentive deposit fee - depositGnsAmount uint64 = 1_000_000_000 // 1_000 GNS - - TIMESTAMP_90DAYS int64 = 90 * 24 * 60 * 60 - TIMESTAMP_180DAYS int64 = 180 * 24 * 60 * 60 - TIMESTAMP_365DAYS int64 = 365 * 24 * 60 * 60 - - poolPath = "gno.land/r/demo/wugnot:gno.land/r/gnoswap/v1/gns:3000" -) - -func main() { - testInit() - testCreatePool() - testMintWugnotGns01() - testMintWugnotGns02() - testCreateExternalIncentiveBar() - testStakeToken01And02() - testMakePosition01OutRangeBySwap() - testRewardCheckAfterOut() - testMakePosition01InRangeBySwap() - testRewardCheckAfterIn() -} - -func testInit() { - std.TestSetRealm(adminRealm) - - // issue ugnot coins - std.TestIssueCoins(adminAddr, std.Coins{{"ugnot", 100_000_000_000_000}}) - - // prepare wugnot - banker := std.GetBanker(std.BankerTypeRealmSend) - banker.SendCoins(adminAddr, wugnotAddr, std.Coins{{"ugnot", 50_000_000_000_000}}) - std.TestSetOrigSend(std.Coins{{"ugnot", 50_000_000_000_000}}, nil) - wugnot.Deposit() - std.TestSetOrigSend(nil, nil) -} - -func testCreatePool() { - std.TestSetRealm(adminRealm) - - pl.SetPoolCreationFeeByAdmin(0) - - std.TestSkipHeights(1) - // tier 1 by default - pl.CreatePool( - wugnotPath, - gnsPath, - fee3000, - common.TickMathGetSqrtRatioAtTick(0).ToString(), // 79228162514264337593543950337 - ) - - // wil be set to tier 2, and change to tier 1 - pl.CreatePool( - barPath, - bazPath, - fee100, - common.TickMathGetSqrtRatioAtTick(0).ToString(), // 79228162514264337593543950337 - ) -} - -func testMintWugnotGns01() { - std.TestSetRealm(adminRealm) - - wugnot.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - wugnotPath, - gnsPath, - fee3000, - int32(-60), - int32(60), - "500000000", - "500000000", - "1", - "1", - max_timeout, - adminAddr, - adminAddr, - ) -} - -func testMintWugnotGns02() { - std.TestSetRealm(adminRealm) - - wugnot.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - wugnotPath, - gnsPath, - fee3000, - int32(-6000), - int32(6000), - "500000000", - "500000000", - "1", - "1", - max_timeout, - adminAddr, - adminAddr, - ) -} - -func testCreateExternalIncentiveBar() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.STAKER_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.STAKER_ADDR), depositGnsAmount) - - std.TestSkipHeights(1) - sr.AddToken(barPath) - sr.CreateExternalIncentive( - "gno.land/r/demo/wugnot:gno.land/r/gnoswap/v1/gns:3000", - barPath, - 20000000, - 1234569600, - 1234569600+TIMESTAMP_90DAYS, - ) - // startHeight 978 - // endHeight 3888978 - // nowHeight 127 - - // make it start - blockLeft := 978 - 127 - std.TestSkipHeights(int64(blockLeft)) // skip until external bar starts - std.TestSkipHeights(10) // skip bit more to see reward calculation -} - -func testStakeToken01And02() { - std.TestSetRealm(adminRealm) - - gnft.Approve(stakerAddr, tokenIdFrom(1)) - gnft.Approve(stakerAddr, tokenIdFrom(2)) - - sr.StakeToken(1) - sr.StakeToken(2) - - // check reward for position 01 (in-range) - std.TestSkipHeights(10) // internal reward + external reward - - gnsOld := gns.BalanceOf(adminUser) - barOld := bar.BalanceOf(adminUser) - sr.CollectReward(1, false) - gnsNew := gns.BalanceOf(adminUser) - barNew := bar.BalanceOf(adminUser) - diffGns := gnsNew - gnsOld - diffBar := barNew - barOld - if diffGns == 0 { - panic("position 01 in-range, should have internal reward") - } - if diffBar == 0 { - panic("position 01 in-range, should have external reward") // FIXME EXTERNAL REWARD IS 0 - } -} - -func testMakePosition01OutRangeBySwap() { - std.TestSetRealm(adminRealm) - - poolTick := pl.PoolGetSlot0Tick(poolPath) - - wugnot.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - wugnot.Approve(common.AddrToUser(consts.ROUTER_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.ROUTER_ADDR), consts.UINT64_MAX) - - tokenIn, tokenOut := rr.ExactInSwapRoute( - wugnotPath, // inputToken - gnsPath, // outputToken - "10000000", // finalAmountIn - poolPath, // RouteArr - "100", // quoteArr - "0", // amountOutMin - max_timeout, // deadline - ) - println("tokenIn", tokenIn) - println("tokenOut", tokenOut) - println() - - newPoolTick := pl.PoolGetSlot0Tick(poolPath) - println("oldPoolTick", poolTick) - println("newPoolTick", newPoolTick) - println() -} - -func testRewardCheckAfterOut() { - std.TestSkipHeights(1) - // TODO: (after fixing unit test) check reward by querying with api funcs -} - -func testMakePosition01InRangeBySwap() { - std.TestSetRealm(adminRealm) - - poolTick := pl.PoolGetSlot0Tick(poolPath) - - wugnot.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - wugnot.Approve(common.AddrToUser(consts.ROUTER_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.ROUTER_ADDR), consts.UINT64_MAX) - - tokenIn, tokenOut := rr.ExactInSwapRoute( - wugnotPath, // inputToken - gnsPath, // outputToken - "10000000", // finalAmountIn - "gno.land/r/gnoswap/v1/gns:gno.land/r/demo/wugnot:3000", // routeArr - "100", // quoteArr - "0", // amountOutMin - max_timeout, // deadline - ) - println("tokenIn", tokenIn) - println("tokenOut", tokenOut) - println() - - newPoolTick := pl.PoolGetSlot0Tick(poolPath) - println("oldPoolTick", poolTick) - println("newPoolTick", newPoolTick) - println() -} - -func testRewardCheckAfterIn() { - std.TestSkipHeights(1) - // TODO: (after fixing unit test) check reward by querying with api funcs -} - -// NOTE: filetest can not access helper functions in origin package -// so we need to implement the helper function here - -func tokenIdFrom(tokenId interface{}) grc721.TokenID { - if tokenId == nil { - panic("tokenId is nil") - } - - switch tokenId.(type) { - case string: - return grc721.TokenID(tokenId.(string)) - case int: - return grc721.TokenID(strconv.Itoa(tokenId.(int))) - case uint64: - return grc721.TokenID(strconv.Itoa(int(tokenId.(uint64)))) - case grc721.TokenID: - return tokenId.(grc721.TokenID) - default: - panic("unsupported tokenId type") - } -} - -func ugnotBalanceOf(addr std.Address) uint64 { - testBanker := std.GetBanker(std.BankerTypeReadonly) - - coins := testBanker.GetCoins(addr) - if len(coins) == 0 { - return 0 - } - - return uint64(coins.AmountOf("ugnot")) -} diff --git a/contract/r/gnoswap/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount b/contract/r/gnoswap/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount deleted file mode 100644 index 97b85d5c3..000000000 --- a/contract/r/gnoswap/staker/filetests/z_two_external_incentive_one_ends_external_filetest.gnoXX_RefundLeftExternalAmount +++ /dev/null @@ -1,262 +0,0 @@ -// PKGPATH: gno.land/r/gnoswap/v1/staker_test - -// POOLs: -// 1. bar:qux:100 - -// POSITIONs: -// 1. in-range - -// REWARDs: -// - external bar 90 days ( bar:qux:100 ) -// - external qux 180 days ( bar:qux:100 ) - -package staker_test - -import ( - "std" - "strconv" - "time" - - "gno.land/p/demo/grc/grc721" - "gno.land/p/demo/testutils" - - "gno.land/r/gnoswap/v1/common" - "gno.land/r/gnoswap/v1/consts" - - "gno.land/r/gnoswap/v1/gns" - "gno.land/r/onbloc/bar" - "gno.land/r/onbloc/qux" - - "gno.land/r/gnoswap/v1/gnft" - - pl "gno.land/r/gnoswap/v1/pool" - pn "gno.land/r/gnoswap/v1/position" - sr "gno.land/r/gnoswap/v1/staker" -) - -var ( - adminAddr = consts.ADMIN - adminUser = common.AddrToUser(adminAddr) - adminRealm = std.NewUserRealm(adminAddr) - - // g1v4u8getjdeskcsmjv4shgmmjta047h6lua7mup - externalCreatorAddr = testutils.TestAddress("externalCreator") - externalCreatorUser = common.AddrToUser(externalCreatorAddr) - externalCreatorRealm = std.NewUserRealm(externalCreatorAddr) - - stakerAddr = consts.STAKER_ADDR - stakerUser = common.AddrToUser(stakerAddr) - stakerRealm = std.NewCodeRealm(consts.STAKER_PATH) - - fooPath = "gno.land/r/onbloc/foo" - barPath = "gno.land/r/onbloc/bar" - bazPath = "gno.land/r/onbloc/baz" - quxPath = "gno.land/r/onbloc/qux" - oblPath = "gno.land/r/onbloc/obl" - - gnsPath = "gno.land/r/gnoswap/v1/gns" - wugnotPath = "gno.land/r/demo/wugnot" - - fee100 uint32 = 100 - fee500 uint32 = 500 - fee3000 uint32 = 3000 - - max_timeout int64 = 9999999999 - - // external incentive deposit fee - depositGnsAmount uint64 = 1_000_000_000 // 1_000 GNS - - TIMESTAMP_90DAYS int64 = 90 * 24 * 60 * 60 - TIMESTAMP_180DAYS int64 = 180 * 24 * 60 * 60 - TIMESTAMP_365DAYS int64 = 365 * 24 * 60 * 60 - - poolPath = "gno.land/r/onbloc/bar:gno.land/r/onbloc/qux:100" -) - -func main() { - testInit() - testCreatePool() - testMintBarQuxPos01() - - testCreateExternalIncentiveBar() // 90 days - testCreateExternalIncentiveQux() // 180 days - - testStakeTokenPos01() - testMakeExternalStart() // position-01 is in-range - - testEndExternalBar() // 90days external(bar) ends, 180days external(qux) still active -} - -func testInit() { - std.TestSetRealm(adminRealm) -} - -func testCreatePool() { - std.TestSetRealm(adminRealm) - - pl.SetPoolCreationFeeByAdmin(0) - - std.TestSkipHeights(1) - pl.CreatePool( - barPath, - quxPath, - fee100, - common.TickMathGetSqrtRatioAtTick(0).ToString(), // 79228162514264337593543950337 - ) -} - -func testMintBarQuxPos01() { - std.TestSetRealm(adminRealm) - - bar.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - qux.Approve(common.AddrToUser(consts.POOL_ADDR), consts.UINT64_MAX) - - std.TestSkipHeights(1) - pn.Mint( - barPath, - quxPath, - fee100, - int32(-50), - int32(50), - "50", - "50", - "1", - "1", - max_timeout, - adminAddr, - adminAddr, - ) -} - -func testCreateExternalIncentiveBar() { - std.TestSetRealm(adminRealm) - bar.Transfer(externalCreatorUser, 9000000000) - gns.Transfer(externalCreatorUser, depositGnsAmount) - - std.TestSetRealm(externalCreatorRealm) // creator - bar.Approve(common.AddrToUser(consts.STAKER_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.STAKER_ADDR), depositGnsAmount) - - std.TestSkipHeights(1) - sr.CreateExternalIncentive( - "gno.land/r/onbloc/bar:gno.land/r/onbloc/qux:100", - barPath, - 9000000000, - 1234569600, - 1234569600+TIMESTAMP_90DAYS, - ) -} - -func testCreateExternalIncentiveQux() { - std.TestSetRealm(adminRealm) - qux.Transfer(externalCreatorUser, 36500000000) - gns.Transfer(externalCreatorUser, depositGnsAmount) - - std.TestSetRealm(externalCreatorRealm) // creator - qux.Approve(common.AddrToUser(consts.STAKER_ADDR), consts.UINT64_MAX) - gns.Approve(common.AddrToUser(consts.STAKER_ADDR), depositGnsAmount) - - std.TestSkipHeights(1) - sr.CreateExternalIncentive( - "gno.land/r/onbloc/bar:gno.land/r/onbloc/qux:100", - quxPath, - 36500000000, - 1234569600, - 1234569600+TIMESTAMP_180DAYS, - ) -} - -func testStakeTokenPos01() { - std.TestSetRealm(adminRealm) - - gnft.Approve(stakerAddr, tokenIdFrom(1)) - - std.TestSkipHeights(1) - sr.StakeToken(1) -} - -func testMakeExternalStart() { - externalStartTime := int64(1234569600) - nowTime := time.Now().Unix() - timeLeft := externalStartTime - nowTime - - blockAvgTime := consts.BLOCK_GENERATION_INTERVAL - blockLeft := timeLeft / blockAvgTime - - std.TestSkipHeights(int64(blockLeft)) // skip until external bar starts - std.TestSkipHeights(10) // skip bit more to see reward calculation - - // check reward for position 01 (in-range) - std.TestSetRealm(adminRealm) - - oldBar := bar.BalanceOf(adminUser) - oldQux := qux.BalanceOf(adminUser) - sr.CollectReward(1, false) - newBar := bar.BalanceOf(adminUser) - newQux := qux.BalanceOf(adminUser) - - diffBar := newBar - oldBar - diffQux := newQux - oldQux - if diffBar == 0 { - panic("position 01 in-range, should have bar external reward") - } - if diffQux == 0 { - panic("position 01 in-range, should have qux external reward") - } -} - -func testEndExternalBar() { - externalEndTime := (1234569600 + TIMESTAMP_90DAYS) - nowTime := time.Now().Unix() - timeLeft := externalEndTime - nowTime - - blockAvgTime := consts.BLOCK_GENERATION_INTERVAL - blockLeft := timeLeft / blockAvgTime - - std.TestSkipHeights(int64(blockLeft)) // skip until external bar ends - std.TestSkipHeights(10) // skip bit more to see reward calculation - - std.TestSetRealm(externalCreatorRealm) - - oldBar := bar.BalanceOf(externalCreatorUser) - oldGns := gns.BalanceOf(externalCreatorUser) - sr.EndExternalIncentive( - externalCreatorAddr, - "gno.land/r/onbloc/bar:gno.land/r/onbloc/qux:100", - barPath, - 1234569600, - 1234569600+TIMESTAMP_90DAYS, - 126, - ) - newBar := bar.BalanceOf(externalCreatorUser) - newGns := gns.BalanceOf(externalCreatorUser) - diffBar := newBar - oldBar - - diffGns := newGns - oldGns - - if diffBar == 0 { - panic("external bar ends, should refunded left bar") // FIXME should refund left bar - } - if diffGns != depositGnsAmount { - panic("external bar ends, should refund gns") - } -} - -func tokenIdFrom(tokenId interface{}) grc721.TokenID { - if tokenId == nil { - panic("tokenId is nil") - } - - switch tokenId.(type) { - case string: - return grc721.TokenID(tokenId.(string)) - case int: - return grc721.TokenID(strconv.Itoa(tokenId.(int))) - case uint64: - return grc721.TokenID(strconv.Itoa(int(tokenId.(uint64)))) - case grc721.TokenID: - return tokenId.(grc721.TokenID) - default: - panic("unsupported tokenId type") - } -} diff --git a/contract/r/gnoswap/staker/protocol_fee_unstaking.gno b/contract/r/gnoswap/staker/protocol_fee_unstaking.gno index 82c04e688..e15bb0489 100644 --- a/contract/r/gnoswap/staker/protocol_fee_unstaking.gno +++ b/contract/r/gnoswap/staker/protocol_fee_unstaking.gno @@ -8,6 +8,8 @@ import ( "gno.land/r/gnoswap/v1/common" "gno.land/r/gnoswap/v1/consts" "gno.land/r/gnoswap/v1/gns" + + pf "gno.land/r/gnoswap/v1/protocol_fee" ) var ( diff --git a/contract/r/gnoswap/staker/reward_calculation_canonical_test.gnoA b/contract/r/gnoswap/staker/reward_calculation_canonical_test.gno similarity index 100% rename from contract/r/gnoswap/staker/reward_calculation_canonical_test.gnoA rename to contract/r/gnoswap/staker/reward_calculation_canonical_test.gno diff --git a/contract/r/gnoswap/staker/tests/full_internal_external_test.gnoA b/contract/r/gnoswap/staker/tests/full_internal_external_test.gnoA index 08ca82f7d..0cde08bfd 100644 --- a/contract/r/gnoswap/staker/tests/full_internal_external_test.gnoA +++ b/contract/r/gnoswap/staker/tests/full_internal_external_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "std" @@ -55,51 +55,51 @@ var ( func TestFullInternalExternal(t *testing.T) { testInit(t) - testCreatePoolWugnotGns3000Tier01(t) - testCreateExternalIncentiveGns(t) // GNS로 리워드 생성 ( gnot:gns:0.3% 풀은 인터널도 GNS고 익스터널도 GNS ) + testCreatePoolWugnotGns3000Tier01(t) // currentTick 0, internal tier #1 + testCreateExternalIncentiveGns(t) // create external reward with gns token (gnot:gns:0.3% pool will have both internal GNS and external GNS ) testMintPos01InRange(t) - testCreateBarBaz500Tier02(t) // 포지션 아예 없어서 커뮤니티 풀로 빠져야 함 + testCreateBarBaz500Tier02(t) // currentTIck 0, internal tier #2 testMintPos02InRange(t) // bar:baz:0.05% testMintPos03OutRange(t) // gnot:gns:0.3% testMintPos04OutRange(t) // bar:baz:0.05% testMintPos05OutRange(t) // gnot:gns:0.3% testMintPos06OutRange(t) // bar:baz:0.05% - testStakeToken01(t) // 여기 직전까지는 스테이킹 된 포지션 없어서 wugnot gns 0.3% 풀에 쌓인 리워드 커뮤니티 풀로 빠져야 함 - testStakeToken02(t) // - testStakeToken03(t) // - testStakeToken04(t) // - testStakeToken05(t) // - testStakeToken06(t) // + testStakeToken01(t) // there are no staked positions for gnot:gns:0.3% pool until very first stkaing => unclaimable rewards + testStakeToken02(t) + testStakeToken03(t) + testStakeToken04(t) + testStakeToken05(t) + testStakeToken06(t) - testCollectRewardAllForWarmUp30(t) // 10블록 쯤 증가시키고, 한 블록 내에서 1~6번 포지션 리워드 수령 (웜업 30% 구간) - testCollectRewardAllForWarmUp50(t) // 웜업 50% 까지 증가시키고, 한 블록 내에서 1~6번 포지션 리워드 수령 - testCollectRewardAllForWarmUp70(t) // 웜업 70% 까지 증가시키고, 한 블록 내에서 1~6번 포지션 리워드 수령 - testCollectRewardAllForWarmUp100(t) // 웜업 100% 까지 증가시키고, 한 블록 내에서 1~6번 포지션 리워드 수령 + testCollectRewardAllForWarmUp30(t) // collect reward while all positions are in warmUp period 30% + testCollectRewardAllForWarmUp50(t) // collect reward while all positions are in warmUp period 50% + testCollectRewardAllForWarmUp70(t) // collect reward while all positions are in warmUp period 70% + testCollectRewardAllForWarmUp100(t) // collect reward while all positions are in warmUp period 1000% testSwapExactIn(t) testSwapExactOut(t) - testCreatePoolBarFoo100Tier03(t) // 틱 600000, 인터널 티어 #3 - testOneClickStakingPos07OutRange(t) // bar:foo:0.01%, 원클릭 스테이킹으로 애초에 outRange로 스테이킹 됨 => 블록 증가 후 7번 포지션 리워드 수령 해보면 outRange기 떄문에 커뮤 풀로 빠져야 함 + testCreatePoolBarFoo100Tier03(t) // currentTick 600000, internal tier #3 + testOneClickStakingPos07OutRange(t) // staked with out-range, therefore reward this this position should be unclaimble, which community_pool receives - testUnstakeToken01(t) // 전체 스테이킹 된 유동성 변경 + testUnstakeToken01(t) // change total staked liquidity // EXTERNAL ONLY - testCreatePoolBazQux3000ExternalOnly(t) // 풀 만드는데 익스터널 인센티브만 있는 풀임 - testCreateExternalIncentiveBaz(t) // 위에서 만든 풀 대상으로 baz 익스터널 인센티브 생성 - testMintPos08InRange(t) // 포지션 생성 - testStakeToken08(t) // 스테이킹 - testCollectReward08(t) // 10 블록 쯤 증가시키고 리워드 수령하면 0으로 나와야 함 (익스터널 아직 시작 안 됨) - testStartExternalIncentive(t) // 익스터널 인센티브 시작 - testCollectReward08AfterStart(t) // 10 블록 증가 후 리워드 수령하면 웜업 구간에 맞는 10 블록 만큼의 리워드 나와야 함 ( 몇 퍼센트 구간인지는 위에서 익스터널 시작시킬려고 몇 블록을 스킵했는지에 따라 다름) - testEndExternalIncentiveBaz(t) // baz 인센티브 종료 ( 페널티 수량 환불되야 함 ) - - testReStakeTokenPos01(t) // 스테이킹 해서 웝업 100% 찍었다가 언스테이킹 된 토큰 다시 스테이킹 ( 웜업 처음(30%)부터 적용되야 함 ) - - testChangeAvgBlockTimeTo4000(t) // 블록 시간 2배로 증가 - testChangeDistributionPctByAdmin(t) // 스테이커한테 가는 에미션 비율 변경 + testCreatePoolBazQux3000ExternalOnly(t) // pool with ONLY EXTERNAL INCETNIVE + testCreateExternalIncentiveBaz(t) // create baz external + testMintPos08InRange(t) + testStakeToken08(t) + testCollectReward08(t) // external did not started yet, no reward + testStartExternalIncentive(t) // start external + testCollectReward08AfterStart(t) + testEndExternalIncentiveBaz(t) // ends external (external creator recieves penalty amount (caused by warm up)) + + testReStakeTokenPos01(t) // position-01 was warm up 100%, but unstaked and staked again ( warm up should be reset to 30% ) + + testChangeAvgBlockTimeTo4000(t) // change avg block time to 4s (orig: 2s) + testChangeDistributionPctByAdmin(t) // change staker's emission distribution percentage to 50% (orig: 75%) } func testInit(t *testing.T) { @@ -107,21 +107,20 @@ func testInit(t *testing.T) { println("[", std.GetHeight(), "] [testInit]") std.TestSetRealm(adminRealm) - // 언스테이킹 수수료 0으로 바꿈 // 계산 편함 + SetUnstakingFeeByAdmin(0) println("[", std.GetHeight(), "] [testInit] SetUnstakingFeeByAdmin(0)") - // 에미션 분배 커뮤니티 비율 0%로 (대신 devOps 한테 많이 가게)) - // 에미션 기본 분배 대상 4개 중에 커뮤니티 풀한테 주는 비율이 이미 있어서 인터널 페널티 발생 시 잔액에 영향을 주기 때문에 애초에 커뮤니티 풀한테는 자동으로 안 풀리게 하고 테스트하는게 깔끔 + en.ChangeDistributionPctByAdmin( - 1, 7500, // 스테이커 - 2, 2500, // 데브옵스 - 3, 0, // 커뮤니티풀 + 1, 7500, // staker + 2, 2500, // devOps + 3, 0, // community pool 4, 0, // xGNS ) println("[", std.GetHeight(), "] [testInit] ChangeDistributionPctByAdmin(75, 25, 0, 0)") - // admin 계정한테 wugnot 토큰 미리 좀 넉넉하게 할당 + std.TestIssueCoins(adminAddr, std.Coins{{"ugnot", 100_000_000_000_000}}) banker := std.GetBanker(std.BankerTypeRealmSend) banker.SendCoins(adminAddr, wugnotAddr, std.Coins{{"ugnot", 50_000_000_000_000}}) @@ -898,14 +897,14 @@ func testOneClickStakingPos07OutRange(t *testing.T) { newCommunityPool := gns.BalanceOf(common.AddrToUser(consts.COMMUNITY_POOL_ADDR)) uassert.Equal(t, uint64(4280820), newCommunityPool-oldCommunityPool) - // 현재 모든 인터널 티어에 대해서 풀이 존재 - // > 블록 당 에미션 리워드 스테이커 비율 10702054 - // > 티어 1, 50% ~= 5351027 - // > 티어 2, 30% ~= 3210616 - // > 티어 3, 20% ~= 2140410 + // all internal tier exists + // staker's emission reward per block 10702054 + // > tier 1, 50% ~= 5351027 + // > tier 2, 30% ~= 3210616 + // > tier 3, 20% ~= 2140410 - // bar:foo:0.1% 풀이 1944165 블록에서 티어 3으로 설정되었고, 현재 블록은 1944167 - // 2 블록 만큼의 리워드(2140410 * 2 = 4280820)가 해당 풀까지 전달되었으나 분배 할 포지션이 없는 관계로 커뮤니티 풀로 빠져야 함 + // bar:foo:0.1% pool has ben set to tier 3, at block 1944165 (current block is 1944167) + // 2 block reward ª2140410 * 2 = 4280820) goes to community_pool as unclaimable checkGnsBalance(t, 0) std.TestSkipHeights(1) @@ -926,13 +925,14 @@ func testUnstakeToken01(t *testing.T) { std.TestSetRealm(adminRealm) // wugnot:gns:0.3% // currentTick: 0 - // 1번 포지션 inRange // -60 ~ 60 || 언스테이킹 됨 - // 3번 포지션 outRange // 60 ~ 120 - // 5번 포지션 outRange // -120 ~ -60 - // > 결국 해당 풀은 outRange 포지션만 있기에 해당 풀에 분배되는 에미션 리워드(티어1 = 5351027)는 커뮤니티 풀로 빠져야 함 + // > position-01 inRange // -60 ~ 60 || unstaked + // > position-03 outRange // 60 ~ 120 + // > position-05 outRange // -120 ~ -60 + // this pool may have mulitple staked position, but nothing is inrange + // therefore reward for this pool(5351027) goes to community_pool as unclaimable oldCommuGns := gns.BalanceOf(common.AddrToUser(consts.COMMUNITY_POOL_ADDR)) - CollectReward(3, false) // 더미 수령 + CollectReward(3, false) // dummy claim newCommuGns := gns.BalanceOf(common.AddrToUser(consts.COMMUNITY_POOL_ADDR)) uassert.Equal(t, uint64(5351027), newCommuGns-oldCommuGns) @@ -1030,7 +1030,7 @@ func testCollectReward08(t *testing.T) { newBaz := baz.BalanceOf(common.AddrToUser(adminAddr)) uassert.Equal(t, uint64(0), newBaz-oldBaz) - // 익스터널 인센티브가 시작되지 않았기에 리워드가 0 + // extenral incentive not yet started checkGnsBalance(t, depositGnsAmount) std.TestSkipHeights(1) @@ -1067,17 +1067,11 @@ func testEndExternalIncentiveBaz(t *testing.T) { t.Run("end external incentive bar", func(t *testing.T) { std.TestSetRealm(std.NewUserRealm(externalCreator)) - // 종료 전 익스터널 만든 주소의 토큰 잔액 저장 - // - gns: 익스터널 생성 시 예치한 gns 환불 - // - baz: 익스터널로 제공한 수량 중 페널티 환불 oldGns := gns.BalanceOf(common.AddrToUser(externalCreator)) oldBaz := baz.BalanceOf(common.AddrToUser(externalCreator)) - // 해당 포지션에 유동성 제공한 주소의 토큰 잔액 저장 - // - baz: 리워드 수령되는지 확인 lpOldBaz := baz.BalanceOf(common.AddrToUser(adminAddr)) - // 종료되도록 블록 증가 std.TestSkipHeights(5832978 - std.GetHeight()) std.TestSkipHeights(1) @@ -1093,19 +1087,18 @@ func testEndExternalIncentiveBaz(t *testing.T) { newGns := gns.BalanceOf(common.AddrToUser(externalCreator)) newBaz := baz.BalanceOf(common.AddrToUser(externalCreator)) + - // 종료 후 확인해야 할꺼 - - // 1. 익스터널 생성 시 디파짓으로 넣은 gns 수량 환불 + // 1. external creator recieves deposit gns amount refundGns := newGns - oldGns uassert.Equal(t, depositGnsAmount, refundGns, "gns refund amount mismatch") - // 2. 웜업에 따른 페널티 수량 환불 - // > 8번 포지션에서 50개의 익스터널 리워드 발생, 30%(15개)는 리워드로, 나머지 70%(35개)가 페널티로 + // 2. external creator receives penalty made by warm up + // > position-08 had 50 reward (30% = 15 goes to reward, 70% = 35 goes to penalty ) refundBaz := newBaz - oldBaz uassert.Equal(t, uint64(35), refundBaz) - // 3. 아직 리워드 수령하지 않은 유저는 계속 리워드 수령 가능 + // 3. liquidity provider(who has staked position) still can receive reward even external is ended std.TestSetRealm(adminRealm) CollectReward(8, false) std.TestSkipHeights(1) @@ -1113,7 +1106,7 @@ func testEndExternalIncentiveBaz(t *testing.T) { lpNewBaz := baz.BalanceOf(common.AddrToUser(adminAddr)) uassert.True(t, lpNewBaz-lpOldBaz > 0) - // 4. 익스터널 종료 이후 블록이 아무리 많이 생겨도 리워드가 추가적으로 발생하면 안 됨 + // 4. after external ends, no reward can be made std.TestSkipHeights(123) CollectReward(8, false) lpNewBaz2 := baz.BalanceOf(common.AddrToUser(adminAddr)) @@ -1140,8 +1133,8 @@ func testReStakeTokenPos01(t *testing.T) { CollectReward(1, false) newGns := gns.BalanceOf(common.AddrToUser(adminAddr)) uassert.True(t, isNear(t, uint64(1605308), newGns-oldGns)) - // 1번 포지션 다시 스테이킹 하고 1 블록 지남 (웜업 30% 부터 계산) - // 현재 gnot:gns:0.3% 풀은 티어 1이며, 블록 당 5351027 개의 리워드가 할당 됨 + // position-01 is in warm up 30% + // gnot:gns:0.3% is tier 1 pool, will get 5351027 per block // 5351027 * 30% = 1605308.1 checkGnsBalance(t, 0) @@ -1150,14 +1143,12 @@ func testReStakeTokenPos01(t *testing.T) { } func testChangeAvgBlockTimeTo4000(t *testing.T) { - // 원래 블록 시간 2초였으나 4초로 증가 - // 1 블록 당 민팅되는 GNS 수량 2배로 증가됨 t.Run("change avg block time to 4000", func(t *testing.T) { std.TestSetRealm(adminRealm) gns.SetAvgBlockTimeInMsByAdmin(4000) std.TestSkipHeights(1) - // 리워드 초기화 + // dummy claim CollectReward(1, false) }) @@ -1166,17 +1157,18 @@ func testChangeAvgBlockTimeTo4000(t *testing.T) { std.TestSkipHeights(1) oldGns := gns.BalanceOf(common.AddrToUser(adminAddr)) - CollectReward(1, false) // 1 블록 증가하고 리워드 확인해보면 얘한테 떨어지는 수량 거의 2배로 되야 함 + CollectReward(1, false) newGns := gns.BalanceOf(common.AddrToUser(adminAddr)) uassert.True(t, isNear(t, uint64(3210616), newGns-oldGns)) - // 블록 시간 2초일 때 블록 당 리워드 = 10702054 - // 블록 시간 4초일 때 블록 당 리워드 = 21404108 - // 티어 1, 2, 3 모두 풀이 있어서, 티어 1 풀은 50%인 10702054 할당 - // 그 중 warmUp 30% = 10702054 * 30% = 3210616.2 + // reward per block when avg block time is 2s = 10702054 + // reward per block when avg block time is 4s = 21404108 + + // tier 1 gets 50% = 21404108 * 50% = 10702054 + // warmUp 30% = 10702054 * 30% = 3210616.2 std.TestSkipHeights(1) - // 원복 + // revert changes gns.SetAvgBlockTimeInMsByAdmin(2000) }) } @@ -1185,18 +1177,15 @@ func testChangeDistributionPctByAdmin(t *testing.T) { t.Run("change staker's emission distribution pct to 50%", func(t *testing.T) { std.TestSetRealm(adminRealm) - // 1번 포지션 리워드 수령 - CollectReward(1, false) - en.ChangeDistributionPctByAdmin( - 1, 5000, // 스테이커 - 2, 5000, // 데브옵스 - 3, 0, // 커뮤니티풀 + 1, 5000, // staker + 2, 5000, // devops + 3, 0, // community pool 4, 0, // xGNS ) - std.TestSkipHeights(1) // 1 블록 증가 했으나, 스테이커의 에미션은 비율 5% + std.TestSkipHeights(1) - // 리워드 초기화 + // dummy claim CollectReward(1, false) }) @@ -1208,19 +1197,18 @@ func testChangeDistributionPctByAdmin(t *testing.T) { CollectReward(1, false) newGns := gns.BalanceOf(common.AddrToUser(adminAddr)) uassert.True(t, isNear(t, uint64(1070205), newGns-oldGns)) - // uassert.True(t, isNear(t, uint64(0), newGns-oldGns)) - // 1 블록 당 발행되는 에미션 수량 14269406 - // (원래) 75% 할당 = 10702054 - // (변경) 50% 할당 = 7134703 + // emission per 1 block 14269406 + // (orig) 75% = 10702054 + // (new) 50% = 7134703 - // 티어 1 풀은 50% 만큼 분배 = 7134703 * 50% = 3567351.5 - // 그 중 warmUp 30% = 3567351.5 * 30% = 1070205.45 + // tier 1 gets 50% = 7134703 * 50% = 3567351.5 + // warmUp 30% = 3567351.5 * 30% = 1070205.45 - // 원복 + // revert changes en.ChangeDistributionPctByAdmin( - 1, 7500, // 스테이커 - 2, 2500, // 데브옵스 - 3, 0, // 커뮤니티풀 + 1, 7500, // staker + 2, 2500, // devops + 3, 0, // community pool 4, 0, // xGNS ) std.TestSkipHeights(1) diff --git a/contract/r/gnoswap/staker/tests/more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA b/contract/r/gnoswap/staker/tests/more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA index ed314cb75..eb9fbe3f6 100644 --- a/contract/r/gnoswap/staker/tests/more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA +++ b/contract/r/gnoswap/staker/tests/more_01_single_position_for_each_warmup_tier_total_4_position_internal_only_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA b/contract/r/gnoswap/staker/tests/more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA index 974174f55..2cc3be613 100644 --- a/contract/r/gnoswap/staker/tests/more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA +++ b/contract/r/gnoswap/staker/tests/more_02_single_position_for_each_warmup_tier_total_4_position_two_external_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA b/contract/r/gnoswap/staker/tests/more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA index 4033ef8f3..25adfdf90 100644 --- a/contract/r/gnoswap/staker/tests/more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA +++ b/contract/r/gnoswap/staker/tests/more_04_positions_with_different_liquidity_and_in_range_chane_by_swap_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/short_warmup_internal_gnot_gns_3000_test.gnoA b/contract/r/gnoswap/staker/tests/short_warmup_internal_gnot_gns_3000_test.gnoA index 0d07e4ead..e1565abf7 100644 --- a/contract/r/gnoswap/staker/tests/short_warmup_internal_gnot_gns_3000_test.gnoA +++ b/contract/r/gnoswap/staker/tests/short_warmup_internal_gnot_gns_3000_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_NFT_transfer_01_test.gnoA b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_01_test.gnoA index 76c900b42..085ae917c 100644 --- a/contract/r/gnoswap/staker/tests/staker_NFT_transfer_01_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_01_test.gnoA @@ -3,7 +3,7 @@ // User 'A' can not transfer NFT to 'B' // user 'A' can collect reward -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/staker_NFT_transfer_02_test.gnoA b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_02_test.gnoA index e70db801c..3127ac5c2 100644 --- a/contract/r/gnoswap/staker/tests/staker_NFT_transfer_02_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_02_test.gnoA @@ -1,7 +1,7 @@ // User 'A' mints and stake NFT (with one click staking) // user 'A' can collect reward -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/staker_NFT_transfer_03_test.gnoA b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_03_test.gnoA index 0a4c5e1aa..a3b5bbcb3 100644 --- a/contract/r/gnoswap/staker/tests/staker_NFT_transfer_03_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_NFT_transfer_03_test.gnoA @@ -4,7 +4,7 @@ // User 'A' can not collect reward // User 'B' can collect reward -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/staker_external_native_coin_test.gnoA b/contract/r/gnoswap/staker/tests/staker_external_native_coin_test.gnoA index a16ae363e..fad32d767 100644 --- a/contract/r/gnoswap/staker/tests/staker_external_native_coin_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_external_native_coin_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/staker_manage_pool_tiers_test.gnoA b/contract/r/gnoswap/staker/tests/staker_manage_pool_tiers_test.gnoA index f83792a72..4dffe6621 100644 --- a/contract/r/gnoswap/staker/tests/staker_manage_pool_tiers_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_manage_pool_tiers_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/staker_mint_and_stake_test.gnoA b/contract/r/gnoswap/staker/tests/staker_mint_and_stake_test.gnoA index 14b8dffcf..1abd74e25 100644 --- a/contract/r/gnoswap/staker/tests/staker_mint_and_stake_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_mint_and_stake_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "std" diff --git a/contract/r/gnoswap/staker/tests/staker_native_create_collect_unstake_test.gnoA b/contract/r/gnoswap/staker/tests/staker_native_create_collect_unstake_test.gnoA index 7b25030b1..703c21ac7 100644 --- a/contract/r/gnoswap/staker/tests/staker_native_create_collect_unstake_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_native_create_collect_unstake_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA index a1fbbbdd6..691c977f5 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_calculate_pool_position_reward_API_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_10_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_10_test.gnoA index b31c0bcd3..4a77757fd 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_10_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_10_test.gnoA @@ -1,6 +1,6 @@ // external incentive + warm up period testing -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_12_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_12_test.gnoA index 518d25397..55af2e3ca 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_12_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_12_test.gnoA @@ -2,7 +2,7 @@ // with two external incentives for same pool // bar + qux -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_13_gns_external_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_13_gns_external_test.gnoA index 5d9d5634b..b57223b2e 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_13_gns_external_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_13_gns_external_test.gnoA @@ -2,7 +2,7 @@ // with two external incentives for same pool // bar + gns -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA index 91d2e46cb..171fbe0b7 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_14_position_in_out_range_changed_by_swap_test.gnoA @@ -1,6 +1,6 @@ // external incentive + warm up period testing -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_15_90d_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_15_90d_test.gnoA index 27c81c579..0c5171eee 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_15_90d_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_15_90d_test.gnoA @@ -1,7 +1,7 @@ // external incentive + warm up period testing // qux for 90 days -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_16_180d_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_16_180d_test.gnoA index fa18d21d4..e3bb7e2d0 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_16_180d_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_16_180d_test.gnoA @@ -1,7 +1,7 @@ // external incentive + warm up period testing // qux for 180 days -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_17_365d_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_17_365d_test.gnoA index 978eca811..3b95c85a0 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_17_365d_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_external_17_365d_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_01_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_01_test.gnoA index d48e06768..adc78512f 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_01_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_01_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_02_small_liq_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_02_small_liq_test.gnoA index 9496acd9a..f73449477 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_02_small_liq_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_02_small_liq_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_03_change_tier_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_03_change_tier_test.gnoA index b8eeb7fb9..fca66bef6 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_03_change_tier_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_03_change_tier_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_04_remove_tier_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_04_remove_tier_test.gnoA index cf8c176b0..a468dfd70 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_04_remove_tier_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_04_remove_tier_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA index a1f281a93..55b93b1ad 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_05_position_in_out_range_changed_by_swap_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA index 0a89550f4..45d3b27f0 100644 --- a/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA +++ b/contract/r/gnoswap/staker/tests/staker_short_warmup_period_internal_gns_and_external_gns_90_test.gnoA @@ -3,7 +3,7 @@ // bar + gns // with internal incentive for same pool -package tests +package staker import ( "math" diff --git a/contract/r/gnoswap/staker/tests/token_uri_in_same_block_test.gnoA b/contract/r/gnoswap/staker/tests/token_uri_in_same_block_test.gnoA index d9399e479..d1c7e8f60 100644 --- a/contract/r/gnoswap/staker/tests/token_uri_in_same_block_test.gnoA +++ b/contract/r/gnoswap/staker/tests/token_uri_in_same_block_test.gnoA @@ -1,4 +1,4 @@ -package tests +package staker import ( "std" From b75d081d8b7f8a7914cf1a486904cb5b3434fbd3 Mon Sep 17 00:00:00 2001 From: 0xTopaz Date: Mon, 20 Jan 2025 22:47:04 +0900 Subject: [PATCH 3/3] chore: change test file --- .../p/gnoswap/gnsmath/{bit_math_test.gnoA => bit_math_test.gno} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename contract/p/gnoswap/gnsmath/{bit_math_test.gnoA => bit_math_test.gno} (100%) diff --git a/contract/p/gnoswap/gnsmath/bit_math_test.gnoA b/contract/p/gnoswap/gnsmath/bit_math_test.gno similarity index 100% rename from contract/p/gnoswap/gnsmath/bit_math_test.gnoA rename to contract/p/gnoswap/gnsmath/bit_math_test.gno