radix_engine_interface/blueprints/resource/non_fungible/
non_fungible_bucket.rs

1use crate::blueprints::resource::{Bucket, Proof};
2use crate::internal_prelude::*;
3use radix_common::data::scrypto::model::*;
4use sbor::rust::collections::IndexSet;
5use sbor::rust::fmt::Debug;
6
7pub const NON_FUNGIBLE_BUCKET_CREATE_PROOF_OF_NON_FUNGIBLES_IDENT: &str =
8    "create_proof_of_non_fungibles";
9
10#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
11pub struct NonFungibleBucketCreateProofOfNonFungiblesInput {
12    pub ids: IndexSet<NonFungibleLocalId>,
13}
14
15pub type NonFungibleBucketCreateProofOfNonFungiblesManifestInput =
16    NonFungibleBucketCreateProofOfNonFungiblesInput;
17
18pub type NonFungibleBucketCreateProofOfNonFungiblesOutput = Proof;
19
20pub const NON_FUNGIBLE_BUCKET_BLUEPRINT: &str = "NonFungibleBucket";
21
22pub const NON_FUNGIBLE_BUCKET_TAKE_NON_FUNGIBLES_IDENT: &str = "take_non_fungibles";
23
24#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
25pub struct BucketTakeNonFungiblesInput {
26    pub ids: IndexSet<NonFungibleLocalId>,
27}
28
29pub type BucketTakeNonFungiblesManifestInput = BucketTakeNonFungiblesInput;
30
31pub type BucketTakeNonFungiblesOutput = Bucket;
32
33pub const NON_FUNGIBLE_BUCKET_CONTAINS_NON_FUNGIBLE_IDENT: &str = "contains_non_fungible";
34
35#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
36pub struct NonFungibleBucketContainsNonFungibleInput {
37    pub id: NonFungibleLocalId,
38}
39
40pub type NonFungibleBucketContainsNonFungibleManifestInput =
41    NonFungibleBucketContainsNonFungibleInput;
42
43pub type NonFungibleBucketContainsNonFungibleOutput = bool;
44
45pub const NON_FUNGIBLE_BUCKET_GET_NON_FUNGIBLE_LOCAL_IDS_IDENT: &str = "get_non_fungible_local_ids";
46
47#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
48pub struct BucketGetNonFungibleLocalIdsInput {}
49
50pub type BucketGetNonFungibleLocalIdsManifestInput = BucketGetNonFungibleLocalIdsInput;
51
52pub type BucketGetNonFungibleLocalIdsOutput = IndexSet<NonFungibleLocalId>;
53
54pub const NON_FUNGIBLE_BUCKET_LOCK_NON_FUNGIBLES_IDENT: &str = "lock_non_fungibles";
55
56#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
57pub struct NonFungibleBucketLockNonFungiblesInput {
58    pub local_ids: IndexSet<NonFungibleLocalId>,
59}
60
61pub type NonFungibleBucketLockNonFungiblesManifestInput = NonFungibleBucketLockNonFungiblesInput;
62
63pub type NonFungibleBucketLockNonFungiblesOutput = ();
64
65pub const NON_FUNGIBLE_BUCKET_UNLOCK_NON_FUNGIBLES_IDENT: &str = "unlock_non_fungibles";
66
67#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
68pub struct NonFungibleBucketUnlockNonFungiblesInput {
69    pub local_ids: IndexSet<NonFungibleLocalId>,
70}
71
72pub type NonFungibleBucketUnlockNonFungiblesManifestInput =
73    NonFungibleBucketUnlockNonFungiblesInput;
74
75pub type NonFungibleBucketUnlockNonFungiblesOutput = ();
76
77pub type NonFungibleBucketPutInput = BucketPutInput;
78pub type NonFungibleBucketPutManifestInput = BucketPutManifestInput;
79
80pub type NonFungibleBucketGetAmountInput = BucketGetAmountInput;
81pub type NonFungibleBucketGetAmountManifestInput = BucketGetAmountManifestInput;
82
83pub type NonFungibleBucketGetResourceAddressInput = BucketGetResourceAddressInput;
84pub type NonFungibleBucketGetResourceAddressManifestInput = BucketGetResourceAddressManifestInput;
85
86pub type NonFungibleBucketCreateProofOfAllInput = BucketCreateProofOfAllInput;
87pub type NonFungibleBucketCreateProofOfAllManifestInput = BucketCreateProofOfAllManifestInput;
88
89pub type NonFungibleBucketGetNonFungibleLocalIdsInput = BucketGetNonFungibleLocalIdsInput;
90pub type NonFungibleBucketGetNonFungibleLocalIdsManifestInput =
91    BucketGetNonFungibleLocalIdsManifestInput;