mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 11:07:56 +00:00
Return account's asset balances (#13352)
* Runtime method to get user's assets balances * Fix test (typo) * Update frame/assets/src/functions.rs * Remove instance param * Update frame/assets/src/functions.rs Co-authored-by: Bastian Köcher <git@kchr.de> * Remove instance param * Refactor * Chore * Update doc --------- Co-authored-by: Bastian Köcher <git@kchr.de> Co-authored-by: parity-processbot <>
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
// This file is part of Substrate.
|
||||
|
||||
// Copyright (C) 2018-2022 Parity Technologies (UK) Ltd.
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later WITH Classpath-exception-2.0
|
||||
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
//! Runtime API definition for assets.
|
||||
|
||||
use codec::Codec;
|
||||
use sp_std::vec::Vec;
|
||||
|
||||
sp_api::decl_runtime_apis! {
|
||||
pub trait AssetsApi<AccountId, AssetBalance, AssetId>
|
||||
where
|
||||
AccountId: Codec,
|
||||
AssetBalance: Codec,
|
||||
AssetId: Codec,
|
||||
{
|
||||
/// Returns the list of `AssetId`s and corresponding balance that an `AccountId` has.
|
||||
fn account_balances(account: AccountId) -> Vec<(AssetId, AssetBalance)>;
|
||||
}
|
||||
}
|
||||
@@ -105,6 +105,9 @@ use sp_runtime::generic::Era;
|
||||
/// Generated voter bag information.
|
||||
mod voter_bags;
|
||||
|
||||
/// Runtime API definition for assets.
|
||||
pub mod assets_api;
|
||||
|
||||
// Make the WASM binary available.
|
||||
#[cfg(feature = "std")]
|
||||
include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
|
||||
@@ -2072,6 +2075,18 @@ impl_runtime_apis! {
|
||||
}
|
||||
}
|
||||
|
||||
impl assets_api::AssetsApi<
|
||||
Block,
|
||||
AccountId,
|
||||
Balance,
|
||||
u32,
|
||||
> for Runtime
|
||||
{
|
||||
fn account_balances(account: AccountId) -> Vec<(u32, Balance)> {
|
||||
Assets::account_balances(account)
|
||||
}
|
||||
}
|
||||
|
||||
impl pallet_contracts::ContractsApi<Block, AccountId, Balance, BlockNumber, Hash> for Runtime
|
||||
{
|
||||
fn call(
|
||||
|
||||
Reference in New Issue
Block a user