Skip to content

Commit

Permalink
Merge pull request #67 from Entropy-Foundation/clean/unused_modules
Browse files Browse the repository at this point in the history
Remove unused `delegation_pool` module from supra_framework
  • Loading branch information
nizam-supraoracles authored Sep 6, 2024
2 parents 28fa00c + 803f06a commit 6266ddc
Show file tree
Hide file tree
Showing 20 changed files with 394 additions and 6,119 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/aptos-framework-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,4 @@ jobs:
- name: Run tests
run: |
${{ env.CARGO_BIN }} test --release -p aptos-framework -- --skip prover
RUST_MIN_STACK=104857600 ${{ env.CARGO_BIN }} nextest run -p e2e-move-tests
RUST_MIN_STACK=104857600 ${{ env.CARGO_BIN }} nextest run -p e2e-move-tests --no-fail-fast
839 changes: 69 additions & 770 deletions aptos-move/framework/cached-packages/src/aptos_framework_sdk_builder.rs

Large diffs are not rendered by default.

207 changes: 75 additions & 132 deletions aptos-move/framework/supra-framework/doc/genesis.md

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion aptos-move/framework/supra-framework/doc/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ This is the reference documentation of the Aptos framework.
- [`0x1::config_buffer`](config_buffer.md#0x1_config_buffer)
- [`0x1::consensus_config`](consensus_config.md#0x1_consensus_config)
- [`0x1::create_signer`](create_signer.md#0x1_create_signer)
- [`0x1::delegation_pool`](delegation_pool.md#0x1_delegation_pool)
- [`0x1::dispatchable_fungible_asset`](dispatchable_fungible_asset.md#0x1_dispatchable_fungible_asset)
- [`0x1::dkg`](dkg.md#0x1_dkg)
- [`0x1::event`](event.md#0x1_event)
Expand Down
262 changes: 131 additions & 131 deletions aptos-move/framework/supra-framework/doc/pbo_delegation_pool.md

Large diffs are not rendered by default.

40 changes: 20 additions & 20 deletions aptos-move/framework/supra-framework/doc/staking_contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -1267,26 +1267,6 @@ pool.
## Constants


<a id="0x1_staking_contract_EINVALID_COMMISSION_PERCENTAGE"></a>

Commission percentage has to be between 0 and 100.


<pre><code><b>const</b> <a href="staking_contract.md#0x1_staking_contract_EINVALID_COMMISSION_PERCENTAGE">EINVALID_COMMISSION_PERCENTAGE</a>: u64 = 2;
</code></pre>



<a id="0x1_staking_contract_EOPERATOR_BENEFICIARY_CHANGE_NOT_SUPPORTED"></a>

Chaning beneficiaries for operators is not supported.


<pre><code><b>const</b> <a href="staking_contract.md#0x1_staking_contract_EOPERATOR_BENEFICIARY_CHANGE_NOT_SUPPORTED">EOPERATOR_BENEFICIARY_CHANGE_NOT_SUPPORTED</a>: u64 = 9;
</code></pre>



<a id="0x1_staking_contract_ECANT_MERGE_STAKING_CONTRACTS"></a>

Staking contracts can't be merged.
Expand Down Expand Up @@ -1317,6 +1297,16 @@ Store amount must be at least the min stake required for a stake pool to join th



<a id="0x1_staking_contract_EINVALID_COMMISSION_PERCENTAGE"></a>

Commission percentage has to be between 0 and 100.


<pre><code><b>const</b> <a href="staking_contract.md#0x1_staking_contract_EINVALID_COMMISSION_PERCENTAGE">EINVALID_COMMISSION_PERCENTAGE</a>: u64 = 2;
</code></pre>



<a id="0x1_staking_contract_ENOT_STAKER_OR_OPERATOR_OR_BENEFICIARY"></a>

Caller must be either the staker, operator, or beneficiary.
Expand Down Expand Up @@ -1347,6 +1337,16 @@ Staker has no staking contracts.



<a id="0x1_staking_contract_EOPERATOR_BENEFICIARY_CHANGE_NOT_SUPPORTED"></a>

Chaning beneficiaries for operators is not supported.


<pre><code><b>const</b> <a href="staking_contract.md#0x1_staking_contract_EOPERATOR_BENEFICIARY_CHANGE_NOT_SUPPORTED">EOPERATOR_BENEFICIARY_CHANGE_NOT_SUPPORTED</a>: u64 = 9;
</code></pre>



<a id="0x1_staking_contract_ESTAKING_CONTRACT_ALREADY_EXISTS"></a>

The staking contract already exists and cannot be re-created.
Expand Down
4,465 changes: 0 additions & 4,465 deletions aptos-move/framework/supra-framework/sources/delegation_pool.move

This file was deleted.

This file was deleted.

181 changes: 0 additions & 181 deletions aptos-move/framework/supra-framework/sources/genesis.move
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ module supra_framework::genesis {

use aptos_std::simple_map;
use supra_framework::supra_account;
use supra_framework::delegation_pool;
use supra_framework::pbo_delegation_pool;
use supra_framework::multisig_account;

Expand Down Expand Up @@ -448,61 +447,6 @@ module supra_framework::genesis {
};
}

fun create_delegation_pools(
delegator_configs: vector<DelegatorConfiguration>,
) {
let unique_accounts: vector<address> = vector::empty();
vector::for_each_ref(&delegator_configs, |delegator_config| {
let delegator_config: &DelegatorConfiguration = delegator_config;
//Ensure that there is a unique owner_address for each pool
//This is needed otherwise move_to of DelegationPoolOwnership at owner_address would fail
assert!(!vector::contains(&unique_accounts,&delegator_config.owner_address),
error::already_exists(EDUPLICATE_ACCOUNT));
vector::push_back(&mut unique_accounts,delegator_config.owner_address);
create_delegation_pool(delegator_config);
});
}

fun create_delegation_pool(
delegator_config: &DelegatorConfiguration,
) {
let unique_accounts:vector<address> = vector::empty();
vector::for_each_ref(&delegator_config.delegator_addresses, |delegator_address| {
let delegator_address: &address = delegator_address;
assert!(
!vector::contains(&unique_accounts, delegator_address),
error::already_exists(EDUPLICATE_ACCOUNT),
);
vector::push_back(&mut unique_accounts, *delegator_address);
});
let owner_signer = create_signer(delegator_config.owner_address);
delegation_pool::initialize_delegation_pool(
&owner_signer,
delegator_config.validator.commission_percentage,
delegator_config.delegation_pool_creation_seed,
);
let pool_address = delegation_pool::get_owned_pool_address(delegator_config.owner_address);
delegation_pool::set_operator(&owner_signer,delegator_config.validator.validator_config.operator_address);
delegation_pool::set_delegated_voter(&owner_signer,delegator_config.validator.validator_config.voter_address);

let i = 0;
while (i < vector::length(&delegator_config.delegator_addresses)) {
let delegator_address = *vector::borrow(&delegator_config.delegator_addresses, i);
let delegator = &create_signer(delegator_address);
let delegator_stake = *vector::borrow(&delegator_config.delegator_stakes, i);
delegation_pool::add_stake(delegator, pool_address, delegator_stake);
i = i + 1;
};

let validator = delegator_config.validator.validator_config;
assert_validator_addresses_check(&validator);

if (delegator_config.validator.join_during_genesis) {
initialize_validator(pool_address,&validator);
};

}

fun create_pbo_delegation_pools(
pbo_delegator_configs: vector<PboDelegatorConfiguration>,
delegation_percentage: u64,
Expand Down Expand Up @@ -846,131 +790,6 @@ module supra_framework::genesis {
coin::destroy_mint_cap(mint_cap);
}

#[test(supra_framework = @0x1)]
fun test_create_delegation_pool(supra_framework: &signer) {
use std::features;
setup();
features::change_feature_flags_for_testing(supra_framework,vector[11],vector[]);
initialize_supra_coin(supra_framework);
let owner = @0x121341;
create_account(supra_framework, owner, 0);
create_account(supra_framework,@0x121344,0);
let (_, pk_1) = stake::generate_identity();
let _pk_1 = ed25519::unvalidated_public_key_to_bytes(&pk_1);
let validator_config_commission = ValidatorConfigurationWithCommission{
validator_config: ValidatorConfiguration{
owner_address: @0x121342,
operator_address: @0x121343,
voter_address: @0x121344,
stake_amount: 100 * ONE_APT,
consensus_pubkey: _pk_1,
network_addresses: x"222222",
full_node_network_addresses: x"333333",
},
commission_percentage: 10,
join_during_genesis: true,
};
let delegation_pool_creation_seed = x"121341";
let delegator_addresses = vector[@0x121342, @0x121343];
let delegator_stakes = vector[100 * ONE_APT, 200 * ONE_APT];
let i = 0;
while (i < vector::length(&delegator_addresses)) {
create_account(supra_framework, *vector::borrow(&delegator_addresses, i), *vector::borrow(&delegator_stakes, i));
i = i + 1;
};
let delegator_config = DelegatorConfiguration{
owner_address: owner,
validator: validator_config_commission,
delegation_pool_creation_seed: delegation_pool_creation_seed,
delegator_addresses,
delegator_stakes
};
create_delegation_pool(&delegator_config);
let pool_address = delegation_pool::get_owned_pool_address(owner);
assert!(delegation_pool::delegation_pool_exists(pool_address), 0);
delegation_pool::assert_delegation(@0x121342, pool_address, 100 * ONE_APT, 0, 0);
delegation_pool::assert_delegation(@0x121343, pool_address, 200 * ONE_APT, 0, 0);
}

#[test(supra_framework = @0x1)]
fun test_create_delegation_pools(supra_framework: &signer) {
use std::features;
setup();
features::change_feature_flags_for_testing(supra_framework,vector[11],vector[]);
initialize_supra_coin(supra_framework);
let owner1 = @0x121341;
create_account(supra_framework, owner1, 0);

let (_, pk_1)=stake::generate_identity();
let (_, pk_2)=stake::generate_identity();
let _pk_1 = ed25519::unvalidated_public_key_to_bytes(&pk_1);
let _pk_2 = ed25519::unvalidated_public_key_to_bytes(&pk_2);
let validator_config_commission1 = ValidatorConfigurationWithCommission{
validator_config: ValidatorConfiguration{
owner_address: @0x121341,
operator_address: @0x121342,
voter_address: @0x121343,
stake_amount: 100 * ONE_APT,
consensus_pubkey: _pk_1,
network_addresses: x"222222",
full_node_network_addresses: x"333333",
},
commission_percentage: 10,
join_during_genesis: true,
};
let delegation_pool_creation_seed1 = x"121341";
let delegator_addresses1 = vector[@0x121342, @0x121343];
let delegator_stakes1 = vector[100 * ONE_APT, 200 * ONE_APT];
let i = 0;
while (i < vector::length(&delegator_addresses1)) {
create_account(supra_framework, *vector::borrow(&delegator_addresses1, i), *vector::borrow(&delegator_stakes1, i));
i = i + 1;
};
let delegator_config1 = DelegatorConfiguration{
owner_address: owner1,
validator: validator_config_commission1,
delegation_pool_creation_seed: delegation_pool_creation_seed1,
delegator_addresses: delegator_addresses1,
delegator_stakes: delegator_stakes1
};
let owner2 = @0x121344;
create_account(supra_framework, owner2, 0);
let validator_config_commission2 = ValidatorConfigurationWithCommission{
validator_config: ValidatorConfiguration{
owner_address: @0x121344,
operator_address: @0x121345,
voter_address: @0x121346,
stake_amount: 100 * ONE_APT,
consensus_pubkey: _pk_2,
network_addresses: x"222222",
full_node_network_addresses: x"333333",
},
commission_percentage: 20,
join_during_genesis: true,
};
let delegation_pool_creation_seed2 = x"121344";
let delegator_addresses2 = vector[@0x121345, @0x121346];
let delegator_stakes2 = vector[100 * ONE_APT, 200 * ONE_APT];
let i = 0;
while (i < vector::length(&delegator_addresses2)) {
create_account(supra_framework, *vector::borrow(&delegator_addresses2, i), *vector::borrow(&delegator_stakes2, i));
i = i + 1;
};
let delegator_config2 = DelegatorConfiguration{
owner_address: owner2,
validator: validator_config_commission2,
delegation_pool_creation_seed: delegation_pool_creation_seed2,
delegator_addresses: delegator_addresses2,
delegator_stakes: delegator_stakes2
};
let delegator_configs = vector[delegator_config1, delegator_config2];
create_delegation_pools(delegator_configs);
let pool_address1 = delegation_pool::get_owned_pool_address(owner1);
let pool_address2 = delegation_pool::get_owned_pool_address(owner2);
assert!(delegation_pool::delegation_pool_exists(pool_address1), 0);
assert!(delegation_pool::delegation_pool_exists(pool_address2), 1);
}

#[test(supra_framework = @0x1)]
fun test_create_pbo_delegation_pool(supra_framework: &signer) {
use std::features;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,14 +151,6 @@ spec supra_framework::genesis {
ensures global<chain_status::GenesisEndMarker>(@supra_framework) == chain_status::GenesisEndMarker {};
}

spec create_delegation_pools {
pragma verify = false;
}

spec create_delegation_pool {
pragma verify = false;
}

spec create_pbo_delegation_pools {
pragma verify = false;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1271,7 +1271,7 @@ module supra_framework::pbo_delegation_pool {
}

/// Add `amount` of coins to the delegation pool `pool_address`.
public fun add_stake(delegator: &signer, pool_address: address, amount: u64) acquires DelegationPool, GovernanceRecords, BeneficiaryForOperator, NextCommissionPercentage {
public entry fun add_stake(delegator: &signer, pool_address: address, amount: u64) acquires DelegationPool, GovernanceRecords, BeneficiaryForOperator, NextCommissionPercentage {
// short-circuit if amount to add is 0 so no event is emitted
if (amount == 0) { return };
// synchronize delegation and stake pools before any user operation
Expand Down
Loading

0 comments on commit 6266ddc

Please sign in to comment.