radix_engine_interface/object_modules/metadata/
invocations.rs

1use super::*;
2use crate::internal_prelude::*;
3use radix_common::data::scrypto::model::Own;
4use sbor::rust::fmt::Debug;
5use sbor::rust::prelude::*;
6
7pub const METADATA_BLUEPRINT: &str = "Metadata";
8
9pub const METADATA_CREATE_IDENT: &str = "create";
10
11#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
12pub struct MetadataCreateInput {}
13
14pub type MetadataCreateManifestInput = MetadataCreateInput;
15
16pub type MetadataCreateOutput = Own;
17
18pub const METADATA_CREATE_WITH_DATA_IDENT: &str = "create_with_data";
19
20#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestEncode, ManifestCategorize)]
21pub struct MetadataCreateWithDataInput {
22    pub data: MetadataInit,
23}
24
25#[derive(Debug, Clone, Eq, PartialEq, ManifestSbor, ScryptoDescribe)]
26pub struct MetadataCreateWithDataManifestInput {
27    pub data: ManifestMetadataInit,
28}
29
30pub type MetadataCreateWithDataOutput = Own;
31
32pub const METADATA_SET_IDENT: &str = "set";
33
34#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestEncode, ManifestCategorize)]
35pub struct MetadataSetInput {
36    pub key: String,
37    pub value: MetadataValue,
38}
39
40#[derive(Debug, Clone, Eq, PartialEq, ManifestSbor, ScryptoDescribe)]
41pub struct MetadataSetManifestInput {
42    pub key: String,
43    pub value: ManifestMetadataValue,
44}
45
46pub type MetadataSetOutput = ();
47
48pub const METADATA_LOCK_IDENT: &str = "lock";
49
50#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
51pub struct MetadataLockInput {
52    pub key: String,
53}
54
55pub type MetadataLockManifestInput = MetadataLockInput;
56
57pub type MetadataLockOutput = ();
58
59pub const METADATA_GET_IDENT: &str = "get";
60
61#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
62pub struct MetadataGetInput {
63    pub key: String,
64}
65
66pub type MetadataGetManifestInput = MetadataGetInput;
67
68pub type MetadataGetOutput = Option<MetadataValue>;
69
70pub const METADATA_REMOVE_IDENT: &str = "remove";
71
72#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
73pub struct MetadataRemoveInput {
74    pub key: String,
75}
76
77pub type MetadataRemoveManifestInput = MetadataRemoveInput;
78
79pub type MetadataRemoveOutput = bool;