Skip to content

Commit

Permalink
revert
Browse files Browse the repository at this point in the history
  • Loading branch information
pause125 committed Sep 21, 2022
1 parent be0f397 commit 5762638
Show file tree
Hide file tree
Showing 25 changed files with 53 additions and 112 deletions.
5 changes: 1 addition & 4 deletions build/StarcoinFramework/BuildInfo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -201,9 +201,6 @@ compiled_package_info:
? address: "0x00000000000000000000000000000001"
name: PackageTxnManager
: StarcoinFramework
? address: "0x00000000000000000000000000000001"
name: PackageTxnManagerUpgradeScripts
: StarcoinFramework
? address: "0x00000000000000000000000000000001"
name: PriceOracle
: StarcoinFramework
Expand Down Expand Up @@ -324,7 +321,7 @@ compiled_package_info:
? address: "0x00000000000000000000000000000001"
name: YieldFarmingV2
: StarcoinFramework
source_digest: 1D41BF5CECA715897417BA720EEB91368D3F512C8DDF1CF8A6E97165AD03EF08
source_digest: 3A318003A4127B552F66FB6577C0D1A8246A05B25E8143962F8EB45E6F091C4F
build_flags:
dev_mode: false
test_mode: false
Expand Down
Binary file modified build/StarcoinFramework/bytecode_modules/Account.mv
Binary file not shown.
Binary file modified build/StarcoinFramework/bytecode_modules/PackageTxnManager.mv
Binary file not shown.
26 changes: 0 additions & 26 deletions build/StarcoinFramework/docs/Account.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ The module for the account resource that governs every account
- [Constants](#@Constants_0)
- [Function `remove_signer_capability`](#0x1_Account_remove_signer_capability)
- [Function `get_genesis_capability`](#0x1_Account_get_genesis_capability)
- [Function `get_capability_for`](#0x1_Account_get_capability_for)
- [Function `create_signer_with_cap`](#0x1_Account_create_signer_with_cap)
- [Function `destroy_signer_cap`](#0x1_Account_destroy_signer_cap)
- [Function `signer_address`](#0x1_Account_signer_address)
Expand Down Expand Up @@ -858,31 +857,6 @@ This function can only called once by signer.



</details>

<a name="0x1_Account_get_capability_for"></a>

## Function `get_capability_for`



<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="Account.md#0x1_Account_get_capability_for">get_capability_for</a>(addr: <b>address</b>): <a href="Account.md#0x1_Account_SignerCapability">Account::SignerCapability</a>
</code></pre>



<details>
<summary>Implementation</summary>


<pre><code><b>public</b> (<b>friend</b>) <b>fun</b> <a href="Account.md#0x1_Account_get_capability_for">get_capability_for</a>(addr: <b>address</b>): <a href="Account.md#0x1_Account_SignerCapability">SignerCapability</a> {
<b>let</b> signer_cap = <a href="Account.md#0x1_Account_SignerCapability">SignerCapability</a> { addr };
signer_cap
}
</code></pre>



</details>

<a name="0x1_Account_create_signer_with_cap"></a>
Expand Down
32 changes: 17 additions & 15 deletions build/StarcoinFramework/docs/PackageTxnManager.md
Original file line number Diff line number Diff line change
Expand Up @@ -462,15 +462,6 @@ module upgrade plan event when submitting a module upgrade plan



<a name="0x1_PackageTxnManager_ERR_NOT_UPGRADE_YET"></a>



<pre><code><b>const</b> <a href="PackageTxnManager.md#0x1_PackageTxnManager_ERR_NOT_UPGRADE_YET">ERR_NOT_UPGRADE_YET</a>: u64 = 5;
</code></pre>



<a name="0x1_PackageTxnManager_ESENDER_AND_PACKAGE_ADDRESS_MISMATCH"></a>


Expand Down Expand Up @@ -958,6 +949,12 @@ extract out UpgradePlanCapability from <code>signer</code>.
<b>acquires</b> <a href="PackageTxnManager.md#0x1_PackageTxnManager_TwoPhaseUpgradeV2">TwoPhaseUpgradeV2</a>,<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanCapability">UpgradePlanCapability</a>,<a href="PackageTxnManager.md#0x1_PackageTxnManager_ModuleUpgradeStrategy">ModuleUpgradeStrategy</a>,<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a>{
<b>let</b> account_address = <a href="Signer.md#0x1_Signer_address_of">Signer::address_of</a>(account);
<b>let</b> cap = <b>borrow_global</b>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanCapability">UpgradePlanCapability</a>&gt;(account_address);
<b>assert</b>!(<a href="PackageTxnManager.md#0x1_PackageTxnManager_get_module_upgrade_strategy">get_module_upgrade_strategy</a>(cap.account_address) == <a href="PackageTxnManager.md#0x1_PackageTxnManager_STRATEGY_TWO_PHASE">STRATEGY_TWO_PHASE</a>, <a href="Errors.md#0x1_Errors_invalid_argument">Errors::invalid_argument</a>(<a href="PackageTxnManager.md#0x1_PackageTxnManager_ESTRATEGY_NOT_TWO_PHASE">ESTRATEGY_NOT_TWO_PHASE</a>));
<b>if</b> (!<b>exists</b>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a>&gt;(account_address)) {
<b>move_to</b>(account, <a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a> {
upgrade_plan_event: <a href="Event.md#0x1_Event_new_event_handle">Event::new_event_handle</a>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEvent">UpgradePlanEvent</a>&gt;(account)
})
};
<a href="PackageTxnManager.md#0x1_PackageTxnManager_submit_upgrade_plan_with_cap_v2">submit_upgrade_plan_with_cap_v2</a>(cap, package_hash, version, enforced);
}
</code></pre>
Expand Down Expand Up @@ -999,19 +996,24 @@ extract out UpgradePlanCapability from <code>signer</code>.
<pre><code><b>public</b> <b>fun</b> <a href="PackageTxnManager.md#0x1_PackageTxnManager_submit_upgrade_plan_with_cap_v2">submit_upgrade_plan_with_cap_v2</a>(cap: &<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanCapability">UpgradePlanCapability</a>, package_hash: vector&lt;u8&gt;, version: u64, enforced: bool)
<b>acquires</b> <a href="PackageTxnManager.md#0x1_PackageTxnManager_TwoPhaseUpgradeV2">TwoPhaseUpgradeV2</a>, <a href="PackageTxnManager.md#0x1_PackageTxnManager_ModuleUpgradeStrategy">ModuleUpgradeStrategy</a>, <a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a>{
<b>let</b> package_address = cap.account_address;
<b>assert</b>!(<b>exists</b>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a>&gt;(package_address), <a href="Errors.md#0x1_Errors_not_published">Errors::not_published</a>(<a href="PackageTxnManager.md#0x1_PackageTxnManager_ERR_NOT_UPGRADE_YET">ERR_NOT_UPGRADE_YET</a>));
<b>assert</b>!(<a href="PackageTxnManager.md#0x1_PackageTxnManager_get_module_upgrade_strategy">get_module_upgrade_strategy</a>(package_address) == <a href="PackageTxnManager.md#0x1_PackageTxnManager_STRATEGY_TWO_PHASE">STRATEGY_TWO_PHASE</a>, <a href="Errors.md#0x1_Errors_invalid_argument">Errors::invalid_argument</a>(<a href="PackageTxnManager.md#0x1_PackageTxnManager_ESTRATEGY_NOT_TWO_PHASE">ESTRATEGY_NOT_TWO_PHASE</a>));

<b>let</b> tpu = <b>borrow_global_mut</b>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_TwoPhaseUpgradeV2">TwoPhaseUpgradeV2</a>&gt;(package_address);
<b>let</b> active_after_time = <a href="Timestamp.md#0x1_Timestamp_now_milliseconds">Timestamp::now_milliseconds</a>() + tpu.config.min_time_limit;
<b>let</b> plan = <a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanV2">UpgradePlanV2</a> { package_hash, active_after_time, version, enforced };
tpu.plan = <a href="Option.md#0x1_Option_some">Option::some</a>(<b>copy</b> plan);

<b>let</b> event_holder = <b>borrow_global_mut</b>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a>&gt;(package_address);
<a href="Event.md#0x1_Event_emit_event">Event::emit_event</a>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEvent">UpgradePlanEvent</a>&gt;(&<b>mut</b> event_holder.upgrade_plan_event, <a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEvent">UpgradePlanEvent</a> {
package_address,
plan
});
// TODO
// <b>if</b> <a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanCapability">UpgradePlanCapability</a> was delegated <b>to</b> DAO or contract,
// it's hard <b>to</b> upgrade the <b>address</b> <b>to</b> claim an <a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a>.
// Try <b>to</b> fix this!
<b>if</b> (<b>exists</b>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a>&gt;(package_address)) {
<b>let</b> event_holder = <b>borrow_global_mut</b>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEventHolder">UpgradePlanEventHolder</a>&gt;(package_address);
<a href="Event.md#0x1_Event_emit_event">Event::emit_event</a>&lt;<a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEvent">UpgradePlanEvent</a>&gt;(&<b>mut</b> event_holder.upgrade_plan_event, <a href="PackageTxnManager.md#0x1_PackageTxnManager_UpgradePlanEvent">UpgradePlanEvent</a> {
package_address,
plan
});
}
}
</code></pre>

Expand Down
1 change: 0 additions & 1 deletion build/StarcoinFramework/docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ This is the root document for the Move StarcoinFramework module documentation. T
- [`0x1::Option`](Option.md#0x1_Option)
- [`0x1::Oracle`](Oracle.md#0x1_Oracle)
- [`0x1::PackageTxnManager`](PackageTxnManager.md#0x1_PackageTxnManager)
- [`0x1::PackageTxnManagerUpgradeScripts`](PackageTxnManagerUpgrade.md#0x1_PackageTxnManagerUpgradeScripts)
- [`0x1::PriceOracle`](Oracle.md#0x1_PriceOracle)
- [`0x1::PriceOracleAggregator`](Oracle.md#0x1_PriceOracleAggregator)
- [`0x1::PriceOracleScripts`](Oracle.md#0x1_PriceOracleScripts)
Expand Down
Binary file modified build/StarcoinFramework/source_maps/Account.mvsm
Binary file not shown.
Binary file modified build/StarcoinFramework/source_maps/PackageTxnManager.mvsm
Binary file not shown.
2 changes: 1 addition & 1 deletion integration-tests/daospace/dao_account.exp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ task 2 'run'. lines 6-23:

task 3 'run'. lines 28-40:
{
"gas_used": 114656,
"gas_used": 95609,
"status": "Executed"
}

Expand Down
2 changes: 1 addition & 1 deletion integration-tests/daospace/dao_grant.exp
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ task 5 'run'. lines 13-21:

task 8 'run'. lines 123-134:
{
"gas_used": 8232282,
"gas_used": 1768185,
"status": "Executed"
}

Expand Down
2 changes: 1 addition & 1 deletion integration-tests/daospace/dao_proposal.exp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ processed 42 tasks

task 7 'run'. lines 169-180:
{
"gas_used": 8229485,
"gas_used": 1765388,
"status": "Executed"
}

Expand Down
2 changes: 1 addition & 1 deletion integration-tests/daospace/dao_proposal_rejected.exp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ processed 40 tasks

task 7 'run'. lines 126-135:
{
"gas_used": 996494,
"gas_used": 1168754,
"status": {
"MoveAbort": {
"location": {
Expand Down
2 changes: 1 addition & 1 deletion integration-tests/daospace/dao_upgrade.exp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Publish failure: Discard { status_code: StrView(2015), status_code_name: "UNEXPE

task 13 'run'. lines 160-167:
{
"gas_used": 142127,
"gas_used": 123208,
"status": "Executed"
}

Expand Down
6 changes: 3 additions & 3 deletions integration-tests/daospace/dao_upgrade_incompatible.exp
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ task 4 'run'. lines 97-105:

task 8 'run'. lines 121-136:
{
"gas_used": 173698,
"gas_used": 200239,
"status": "Executed"
}

Expand All @@ -20,7 +20,7 @@ task 9 'run'. lines 138-147:

task 11 'run'. lines 151-159:
{
"gas_used": 110070,
"gas_used": 123208,
"status": "Executed"
}

Expand All @@ -29,7 +29,7 @@ Publish failure: MiscellaneousError

task 14 'run'. lines 166-174:
{
"gas_used": 110070,
"gas_used": 123208,
"status": "Executed"
}

Expand Down
2 changes: 1 addition & 1 deletion integration-tests/daospace/stake_to_sbt_plugin.exp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ processed 17 tasks

task 5 'run'. lines 71-79:
{
"gas_used": 1710807,
"gas_used": 1714614,
"status": "Executed"
}

Expand Down
2 changes: 1 addition & 1 deletion integration-tests/daospaceplugin/salary_gov_plugin.exp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ processed 21 tasks

task 7 'run'. lines 252-264:
{
"gas_used": 8187447,
"gas_used": 1723350,
"status": "Executed"
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ task 5 'run'. lines 36-46:

task 6 'run'. lines 48-57:
{
"gas_used": 81198,
"gas_used": 65884,
"status": "Executed"
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ task 4 'run'. lines 19-31:

task 5 'run'. lines 33-42:
{
"gas_used": 81198,
"gas_used": 65884,
"status": "Executed"
}

task 7 'run'. lines 46-55:
{
"gas_used": 81198,
"gas_used": 65884,
"status": "Executed"
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ task 5 'run'. lines 36-46:

task 6 'run'. lines 48-59:
{
"gas_used": 81198,
"gas_used": 65884,
"status": "Executed"
}

Expand Down
18 changes: 2 additions & 16 deletions integration-tests/starcoin_dao/starcoin_upgrade_module.exp
Original file line number Diff line number Diff line change
Expand Up @@ -47,20 +47,6 @@ task 21 'run'. lines 113-122:

task 23 'run'. lines 126-138:
{
"gas_used": 446524,
"status": {
"ExecutionFailure": {
"location": {
"Module": {
"address": "0x00000000000000000000000000000001",
"name": "PackageTxnManager"
}
},
"function": 21,
"code_offset": 41
}
}
"gas_used": 510063,
"status": "Executed"
}

task 26 'deploy'. lines 151-151:
Publish failure: Discard { status_code: StrView(2015), status_code_name: "UNEXPECTED_ERROR_FROM_KNOWN_MOVE_FUNCTION" }
2 changes: 1 addition & 1 deletion integration-tests/transaction_scripts/module_upgrade.exp
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,6 @@ task 12 'run'. lines 113-126:

task 14 'run'. lines 131-140:
{
"gas_used": 118114,
"gas_used": 99099,
"status": "Executed"
}
2 changes: 1 addition & 1 deletion integration-tests/upgrade_module_dao_proposal/basic.exp
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,6 @@ task 16 'run'. lines 176-190:

task 18 'run'. lines 194-207:
{
"gas_used": 139768,
"gas_used": 120753,
"status": "Executed"
}
6 changes: 0 additions & 6 deletions sources/Account.move
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@ module Account {
use StarcoinFramework::BCS;

friend StarcoinFramework::StarcoinDAO;
friend StarcoinFramework::PackageTxnManagerUpgradeScripts;

spec module {
pragma verify = false;
Expand Down Expand Up @@ -200,11 +199,6 @@ module Account {
signer_cap
}

public (friend) fun get_capability_for(addr: address): SignerCapability {
let signer_cap = SignerCapability { addr };
signer_cap
}

public fun create_signer_with_cap(cap: &SignerCapability): signer {
create_signer(cap.addr)
}
Expand Down
24 changes: 17 additions & 7 deletions sources/PackageTxnManager.move
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ address StarcoinFramework {
const STRATEGY_NEW_MODULE: u8 = 2;
const STRATEGY_FREEZE: u8 = 3;
const ERR_INELIGIBALE_USER: u64 = 4;
const ERR_NOT_UPGRADE_YET: u64 = 5;
const DEFAULT_MIN_TIME_LIMIT: u64 = 86400000;// one day

/// arbitary stragegy
Expand Down Expand Up @@ -245,6 +244,12 @@ address StarcoinFramework {
acquires TwoPhaseUpgradeV2,UpgradePlanCapability,ModuleUpgradeStrategy,UpgradePlanEventHolder{
let account_address = Signer::address_of(account);
let cap = borrow_global<UpgradePlanCapability>(account_address);
assert!(get_module_upgrade_strategy(cap.account_address) == STRATEGY_TWO_PHASE, Errors::invalid_argument(ESTRATEGY_NOT_TWO_PHASE));
if (!exists<UpgradePlanEventHolder>(account_address)) {
move_to(account, UpgradePlanEventHolder {
upgrade_plan_event: Event::new_event_handle<UpgradePlanEvent>(account)
})
};
submit_upgrade_plan_with_cap_v2(cap, package_hash, version, enforced);
}

Expand All @@ -257,19 +262,24 @@ address StarcoinFramework {
public fun submit_upgrade_plan_with_cap_v2(cap: &UpgradePlanCapability, package_hash: vector<u8>, version: u64, enforced: bool)
acquires TwoPhaseUpgradeV2, ModuleUpgradeStrategy, UpgradePlanEventHolder{
let package_address = cap.account_address;
assert!(exists<UpgradePlanEventHolder>(package_address), Errors::not_published(ERR_NOT_UPGRADE_YET));
assert!(get_module_upgrade_strategy(package_address) == STRATEGY_TWO_PHASE, Errors::invalid_argument(ESTRATEGY_NOT_TWO_PHASE));

let tpu = borrow_global_mut<TwoPhaseUpgradeV2>(package_address);
let active_after_time = Timestamp::now_milliseconds() + tpu.config.min_time_limit;
let plan = UpgradePlanV2 { package_hash, active_after_time, version, enforced };
tpu.plan = Option::some(copy plan);

let event_holder = borrow_global_mut<UpgradePlanEventHolder>(package_address);
Event::emit_event<UpgradePlanEvent>(&mut event_holder.upgrade_plan_event, UpgradePlanEvent {
package_address,
plan
});
// TODO
// if UpgradePlanCapability was delegated to DAO or contract,
// it's hard to upgrade the address to claim an UpgradePlanEventHolder.
// Try to fix this!
if (exists<UpgradePlanEventHolder>(package_address)) {
let event_holder = borrow_global_mut<UpgradePlanEventHolder>(package_address);
Event::emit_event<UpgradePlanEvent>(&mut event_holder.upgrade_plan_event, UpgradePlanEvent {
package_address,
plan
});
}
}
spec submit_upgrade_plan_with_cap_v2 {
pragma verify = false;
Expand Down
21 changes: 0 additions & 21 deletions sources/PackageTxnManagerUpgrade.move

This file was deleted.

0 comments on commit 5762638

Please sign in to comment.