Skip to content

Commit 2bd2f96

Browse files
Bo WuYour Name
authored andcommitted
move2 upgrade
1 parent e0e9f60 commit 2bd2f96

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+9777
-150
lines changed
Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
---
2-
remote_endpoint: https://fullnode.mainnet.aptoslabs.com
2+
remote_endpoint: https://testnet.movementnetwork.xyz/
33
# replace with below for actual release, compat test needs concrete URL above:
44
# remote_endpoint: ~
5-
name: "v1.32.0"
5+
name: "v0.1"
66
proposals:
77
- name: proposal_1_upgrade_framework
88
metadata:
9-
title: "Multi-step proposal to upgrade mainnet framework, version v1.32.0"
10-
description: "This includes changes in https://github.com/aptos-labs/aptos-core/commits/aptos-release-v1.32"
11-
execution_mode: MultiStep
9+
title: "Multi-step proposal to upgrade mainnet framework, version v0.1"
10+
description: "This is for upgrading the framework to move2"
11+
execution_mode: RootSigner
1212
update_sequence:
13-
- Gas:
14-
old: https://raw.githubusercontent.com/aptos-labs/aptos-networks/main/gas/v1.31.0.json
15-
new: https://raw.githubusercontent.com/aptos-labs/aptos-networks/main/gas/v1.32.0.json
1613
- Framework:
17-
bytecode_version: 6
14+
bytecode_version: 7

aptos-move/aptos-release-builder/src/components/feature_flags.rs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ pub enum FeatureFlag {
149149
EnableLazyLoading,
150150
CalculateTransactionFeeForDistribution,
151151
DistributeTransactionFee,
152+
GovernedGasPool,
152153
}
153154

154155
fn generate_features_blob(writer: &CodeWriter, data: &[u64]) {
@@ -395,6 +396,7 @@ impl From<FeatureFlag> for AptosFeatureFlag {
395396
AptosFeatureFlag::CALCULATE_TRANSACTION_FEE_FOR_DISTRIBUTION
396397
},
397398
FeatureFlag::DistributeTransactionFee => AptosFeatureFlag::DISTRIBUTE_TRANSACTION_FEE,
399+
FeatureFlag::GovernedGasPool => AptosFeatureFlag::GOVERNED_GAS_POOL,
398400
}
399401
}
400402
}
@@ -568,6 +570,7 @@ impl From<AptosFeatureFlag> for FeatureFlag {
568570
FeatureFlag::CalculateTransactionFeeForDistribution
569571
},
570572
AptosFeatureFlag::DISTRIBUTE_TRANSACTION_FEE => FeatureFlag::DistributeTransactionFee,
573+
AptosFeatureFlag::GOVERNED_GAS_POOL => FeatureFlag::GovernedGasPool,
571574
}
572575
}
573576
}

aptos-move/framework/README.md

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -50,31 +50,14 @@ To skip the Move prover tests, run:
5050
cargo test -- --skip prover
5151
```
5252

53-
To filter and run **all** the tests in specific packages (e.g., `aptos_stdlib`), run:
53+
To filter and run only the tests in specific packages (e.g., `aptos_stdlib`), run:
5454

5555
```
5656
cargo test -- aptos_stdlib --skip prover
5757
```
5858

5959
(See tests in `tests/move_unit_test.rs` to determine which filter to use; e.g., to run the tests in `aptos_framework` you must filter by `move_framework`.)
6060

61-
To **filter by test name or module name** in a specific package (e.g., run the `test_empty_range_proof` in `aptos_stdlib::ristretto255_bulletproofs`), run:
62-
63-
```
64-
TEST_FILTER="test_range_proof" cargo test -- aptos_stdlib --skip prover
65-
```
66-
67-
Or, e.g., run all the Bulletproof tests:
68-
```
69-
TEST_FILTER="bulletproofs" cargo test -- aptos_stdlib --skip prover
70-
```
71-
72-
To show the amount of time and gas used in every test, set env var `REPORT_STATS=1`.
73-
E.g.,
74-
```
75-
REPORT_STATS=1 TEST_FILTER="bulletproofs" cargo test -- aptos_stdlib --skip prover
76-
```
77-
7861
Sometimes, Rust runs out of stack memory in dev build mode. You can address this by either:
7962
1. Adjusting the stack size
8063

@@ -96,7 +79,7 @@ The overall structure of the Aptos Framework is as follows:
9679
├── aptos-token # Sources, testing and generated documentation for Aptos token component
9780
├── aptos-stdlib # Sources, testing and generated documentation for Aptos stdlib component
9881
├── move-stdlib # Sources, testing and generated documentation for Move stdlib component
99-
├── cached-packages # Tooling to generate SDK from move sources.
82+
├── cached-packages # Tooling to generate SDK from mvoe sources.
10083
├── src # Compilation and generation of information from Move source files in the Aptos Framework. Not designed to be used as a Rust library
10184
├── releases # Move release bundles
10285
└── tests

aptos-move/framework/aptos-framework/doc/aptos_coin.md

Lines changed: 47 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ modified from https://github.com/move-language/move/tree/main/language/documenta
1717
- [Function `destroy_mint_cap`](#0x1_aptos_coin_destroy_mint_cap)
1818
- [Function `configure_accounts_for_test`](#0x1_aptos_coin_configure_accounts_for_test)
1919
- [Function `mint`](#0x1_aptos_coin_mint)
20+
- [Function `destroy_mint_capability_from`](#0x1_aptos_coin_destroy_mint_capability_from)
2021
- [Function `delegate_mint_capability`](#0x1_aptos_coin_delegate_mint_capability)
2122
- [Function `claim_mint_capability`](#0x1_aptos_coin_claim_mint_capability)
2223
- [Function `find_delegation`](#0x1_aptos_coin_find_delegation)
@@ -209,8 +210,8 @@ Can only called during genesis to initialize the Aptos coin.
209210

210211
<b>let</b> (burn_cap, freeze_cap, mint_cap) = <a href="coin.md#0x1_coin_initialize_with_parallelizable_supply">coin::initialize_with_parallelizable_supply</a>&lt;<a href="aptos_coin.md#0x1_aptos_coin_AptosCoin">AptosCoin</a>&gt;(
211212
aptos_framework,
212-
<a href="../../aptos-stdlib/../move-stdlib/doc/string.md#0x1_string_utf8">string::utf8</a>(b"Aptos Coin"),
213-
<a href="../../aptos-stdlib/../move-stdlib/doc/string.md#0x1_string_utf8">string::utf8</a>(b"APT"),
213+
<a href="../../aptos-stdlib/../move-stdlib/doc/string.md#0x1_string_utf8">string::utf8</a>(b"Move Coin"),
214+
<a href="../../aptos-stdlib/../move-stdlib/doc/string.md#0x1_string_utf8">string::utf8</a>(b"MOVE"),
214215
8, // decimals
215216
<b>true</b>, // monitor_supply
216217
);
@@ -260,7 +261,7 @@ Only called during genesis to destroy the aptos framework account's mint capabil
260261
and accounts have been initialized during genesis.
261262

262263

263-
<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_destroy_mint_cap">destroy_mint_cap</a>(aptos_framework: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>)
264+
<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_destroy_mint_cap">destroy_mint_cap</a>(<a href="account.md#0x1_account">account</a>: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>)
264265
</code></pre>
265266

266267

@@ -269,8 +270,8 @@ and accounts have been initialized during genesis.
269270
<summary>Implementation</summary>
270271

271272

272-
<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_destroy_mint_cap">destroy_mint_cap</a>(aptos_framework: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>) <b>acquires</b> <a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a> {
273-
<a href="system_addresses.md#0x1_system_addresses_assert_aptos_framework">system_addresses::assert_aptos_framework</a>(aptos_framework);
273+
<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_destroy_mint_cap">destroy_mint_cap</a>(<a href="account.md#0x1_account">account</a>: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>) <b>acquires</b> <a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a> {
274+
<a href="system_addresses.md#0x1_system_addresses_assert_aptos_framework">system_addresses::assert_aptos_framework</a>(<a href="account.md#0x1_account">account</a>);
274275
<b>let</b> <a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a> { mint_cap } = <b>move_from</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a>&gt;(@aptos_framework);
275276
<a href="coin.md#0x1_coin_destroy_mint_cap">coin::destroy_mint_cap</a>(mint_cap);
276277
}
@@ -358,6 +359,33 @@ Create new coins and deposit them into dst_addr's account.
358359

359360

360361

362+
</details>
363+
364+
<a id="0x1_aptos_coin_destroy_mint_capability_from"></a>
365+
366+
## Function `destroy_mint_capability_from`
367+
368+
Desroy the mint capability from the account.
369+
370+
371+
<pre><code><b>public</b> <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_destroy_mint_capability_from">destroy_mint_capability_from</a>(<a href="account.md#0x1_account">account</a>: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>, from: <b>address</b>)
372+
</code></pre>
373+
374+
375+
376+
<details>
377+
<summary>Implementation</summary>
378+
379+
380+
<pre><code><b>public</b> <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_destroy_mint_capability_from">destroy_mint_capability_from</a>(<a href="account.md#0x1_account">account</a>: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>, from: <b>address</b>) <b>acquires</b> <a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a> {
381+
<a href="system_addresses.md#0x1_system_addresses_assert_aptos_framework">system_addresses::assert_aptos_framework</a>(<a href="account.md#0x1_account">account</a>);
382+
<b>let</b> <a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a> { mint_cap } = <b>move_from</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a>&gt;(from);
383+
<a href="coin.md#0x1_coin_destroy_mint_cap">coin::destroy_mint_cap</a>(mint_cap);
384+
}
385+
</code></pre>
386+
387+
388+
361389
</details>
362390

363391
<a id="0x1_aptos_coin_delegate_mint_capability"></a>
@@ -378,8 +406,11 @@ Create delegated token for the address so the account could claim MintCapability
378406

379407

380408
<pre><code><b>public</b> entry <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_delegate_mint_capability">delegate_mint_capability</a>(<a href="account.md#0x1_account">account</a>: <a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>, <b>to</b>: <b>address</b>) <b>acquires</b> <a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a> {
381-
<a href="system_addresses.md#0x1_system_addresses_assert_core_resource">system_addresses::assert_core_resource</a>(&<a href="account.md#0x1_account">account</a>);
382-
<b>let</b> delegations = &<b>mut</b> <b>borrow_global_mut</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a>&gt;(@core_resources).inner;
409+
<a href="system_addresses.md#0x1_system_addresses_assert_aptos_framework">system_addresses::assert_aptos_framework</a>(&<a href="account.md#0x1_account">account</a>);
410+
<b>let</b> delegations = &<b>mut</b> <b>borrow_global_mut</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a>&gt;(@aptos_framework).inner;
411+
<b>if</b> (!<b>exists</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a>&gt;(<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer_address_of">signer::address_of</a>(&<a href="account.md#0x1_account">account</a>))) {
412+
<b>move_to</b>(&<a href="account.md#0x1_account">account</a>, <a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a> { inner: <a href="../../aptos-stdlib/../move-stdlib/doc/vector.md#0x1_vector">vector</a>[] });
413+
};
383414
<a href="../../aptos-stdlib/../move-stdlib/doc/vector.md#0x1_vector_for_each_ref">vector::for_each_ref</a>(delegations, |element| {
384415
<b>let</b> element: &<a href="aptos_coin.md#0x1_aptos_coin_DelegatedMintCapability">DelegatedMintCapability</a> = element;
385416
<b>assert</b>!(element.<b>to</b> != <b>to</b>, <a href="../../aptos-stdlib/../move-stdlib/doc/error.md#0x1_error_invalid_argument">error::invalid_argument</a>(<a href="aptos_coin.md#0x1_aptos_coin_EALREADY_DELEGATED">EALREADY_DELEGATED</a>));
@@ -413,11 +444,11 @@ Claim the delegated mint capability and destroy the delegated token.
413444
<b>let</b> maybe_index = <a href="aptos_coin.md#0x1_aptos_coin_find_delegation">find_delegation</a>(<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer_address_of">signer::address_of</a>(<a href="account.md#0x1_account">account</a>));
414445
<b>assert</b>!(<a href="../../aptos-stdlib/../move-stdlib/doc/option.md#0x1_option_is_some">option::is_some</a>(&maybe_index), <a href="aptos_coin.md#0x1_aptos_coin_EDELEGATION_NOT_FOUND">EDELEGATION_NOT_FOUND</a>);
415446
<b>let</b> idx = *<a href="../../aptos-stdlib/../move-stdlib/doc/option.md#0x1_option_borrow">option::borrow</a>(&maybe_index);
416-
<b>let</b> delegations = &<b>mut</b> <b>borrow_global_mut</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a>&gt;(@core_resources).inner;
447+
<b>let</b> delegations = &<b>mut</b> <b>borrow_global_mut</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a>&gt;(@aptos_framework).inner;
417448
<b>let</b> <a href="aptos_coin.md#0x1_aptos_coin_DelegatedMintCapability">DelegatedMintCapability</a> { <b>to</b>: _ } = <a href="../../aptos-stdlib/../move-stdlib/doc/vector.md#0x1_vector_swap_remove">vector::swap_remove</a>(delegations, idx);
418449

419450
// Make a <b>copy</b> of mint cap and give it <b>to</b> the specified <a href="account.md#0x1_account">account</a>.
420-
<b>let</b> mint_cap = <b>borrow_global</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a>&gt;(@core_resources).mint_cap;
451+
<b>let</b> mint_cap = <b>borrow_global</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a>&gt;(@aptos_framework).mint_cap;
421452
<b>move_to</b>(<a href="account.md#0x1_account">account</a>, <a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a> { mint_cap });
422453
}
423454
</code></pre>
@@ -442,7 +473,7 @@ Claim the delegated mint capability and destroy the delegated token.
442473

443474

444475
<pre><code><b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_find_delegation">find_delegation</a>(addr: <b>address</b>): Option&lt;u64&gt; <b>acquires</b> <a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a> {
445-
<b>let</b> delegations = &<b>borrow_global</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a>&gt;(@core_resources).inner;
476+
<b>let</b> delegations = &<b>borrow_global</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_Delegations">Delegations</a>&gt;(@aptos_framework).inner;
446477
<b>let</b> i = 0;
447478
<b>let</b> len = <a href="../../aptos-stdlib/../move-stdlib/doc/vector.md#0x1_vector_length">vector::length</a>(delegations);
448479
<b>let</b> index = <a href="../../aptos-stdlib/../move-stdlib/doc/option.md#0x1_option_none">option::none</a>();
@@ -513,7 +544,7 @@ Claim the delegated mint capability and destroy the delegated token.
513544

514545

515546
<pre><code><b>pragma</b> verify = <b>true</b>;
516-
<b>pragma</b> aborts_if_is_partial;
547+
<b>pragma</b> aborts_if_is_strict;
517548
</code></pre>
518549

519550

@@ -529,12 +560,10 @@ Claim the delegated mint capability and destroy the delegated token.
529560

530561

531562

532-
<pre><code><b>pragma</b> verify = <b>false</b>;
533-
<b>aborts_if</b> <a href="permissioned_signer.md#0x1_permissioned_signer_spec_is_permissioned_signer">permissioned_signer::spec_is_permissioned_signer</a>(aptos_framework);
534-
<b>let</b> addr = <a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer_address_of">signer::address_of</a>(aptos_framework);
563+
<pre><code><b>let</b> addr = <a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer_address_of">signer::address_of</a>(aptos_framework);
535564
<b>aborts_if</b> addr != @aptos_framework;
536-
<b>aborts_if</b> !<a href="../../aptos-stdlib/../move-stdlib/doc/string.md#0x1_string_spec_internal_check_utf8">string::spec_internal_check_utf8</a>(b"Aptos Coin");
537-
<b>aborts_if</b> !<a href="../../aptos-stdlib/../move-stdlib/doc/string.md#0x1_string_spec_internal_check_utf8">string::spec_internal_check_utf8</a>(b"APT");
565+
<b>aborts_if</b> !<a href="../../aptos-stdlib/../move-stdlib/doc/string.md#0x1_string_spec_internal_check_utf8">string::spec_internal_check_utf8</a>(b"Move Coin");
566+
<b>aborts_if</b> !<a href="../../aptos-stdlib/../move-stdlib/doc/string.md#0x1_string_spec_internal_check_utf8">string::spec_internal_check_utf8</a>(b"MOVE");
538567
<b>aborts_if</b> <b>exists</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a>&gt;(addr);
539568
<b>aborts_if</b> <b>exists</b>&lt;<a href="coin.md#0x1_coin_CoinInfo">coin::CoinInfo</a>&lt;<a href="aptos_coin.md#0x1_aptos_coin_AptosCoin">AptosCoin</a>&gt;&gt;(addr);
540569
<b>aborts_if</b> !<b>exists</b>&lt;<a href="aggregator_factory.md#0x1_aggregator_factory_AggregatorFactory">aggregator_factory::AggregatorFactory</a>&gt;(addr);
@@ -554,13 +583,13 @@ Claim the delegated mint capability and destroy the delegated token.
554583
### Function `destroy_mint_cap`
555584

556585

557-
<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_destroy_mint_cap">destroy_mint_cap</a>(aptos_framework: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>)
586+
<pre><code><b>public</b>(<b>friend</b>) <b>fun</b> <a href="aptos_coin.md#0x1_aptos_coin_destroy_mint_cap">destroy_mint_cap</a>(<a href="account.md#0x1_account">account</a>: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>)
558587
</code></pre>
559588

560589

561590

562591

563-
<pre><code><b>let</b> addr = <a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer_address_of">signer::address_of</a>(aptos_framework);
592+
<pre><code><b>let</b> addr = <a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer_address_of">signer::address_of</a>(<a href="account.md#0x1_account">account</a>);
564593
<b>aborts_if</b> addr != @aptos_framework;
565594
<b>aborts_if</b> !<b>exists</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">MintCapStore</a>&gt;(@aptos_framework);
566595
</code></pre>

aptos-move/framework/aptos-framework/doc/aptos_governance.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2011,8 +2011,6 @@ Only called in testnet where the core resources account exists and has been gran
20112011
<pre><code><b>public</b> <b>fun</b> <a href="aptos_governance.md#0x1_aptos_governance_get_signer_testnet_only">get_signer_testnet_only</a>(
20122012
core_resources: &<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a>, signer_address: <b>address</b>): <a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer">signer</a> <b>acquires</b> <a href="aptos_governance.md#0x1_aptos_governance_GovernanceResponsbility">GovernanceResponsbility</a> {
20132013
<a href="system_addresses.md#0x1_system_addresses_assert_core_resource">system_addresses::assert_core_resource</a>(core_resources);
2014-
// Core resources <a href="account.md#0x1_account">account</a> only <b>has</b> mint <a href="../../aptos-stdlib/doc/capability.md#0x1_capability">capability</a> in tests/testnets.
2015-
<b>assert</b>!(<a href="aptos_coin.md#0x1_aptos_coin_has_mint_capability">aptos_coin::has_mint_capability</a>(core_resources), <a href="../../aptos-stdlib/../move-stdlib/doc/error.md#0x1_error_unauthenticated">error::unauthenticated</a>(<a href="aptos_governance.md#0x1_aptos_governance_EUNAUTHORIZED">EUNAUTHORIZED</a>));
20162014
<a href="aptos_governance.md#0x1_aptos_governance_get_signer">get_signer</a>(signer_address)
20172015
}
20182016
</code></pre>
@@ -3226,7 +3224,6 @@ Address @aptos_framework must exist GovernanceResponsbility.
32263224

32273225

32283226
<pre><code><b>aborts_if</b> <a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer_address_of">signer::address_of</a>(core_resources) != @core_resources;
3229-
<b>aborts_if</b> !<b>exists</b>&lt;<a href="aptos_coin.md#0x1_aptos_coin_MintCapStore">aptos_coin::MintCapStore</a>&gt;(<a href="../../aptos-stdlib/../move-stdlib/doc/signer.md#0x1_signer_address_of">signer::address_of</a>(core_resources));
32303227
<b>include</b> <a href="aptos_governance.md#0x1_aptos_governance_GetSignerAbortsIf">GetSignerAbortsIf</a>;
32313228
</code></pre>
32323229

0 commit comments

Comments
 (0)