radix_engine_interface/blueprints/resource/fungible/
fungible_vault.rs

1use crate::blueprints::resource::Proof;
2use crate::internal_prelude::*;
3use radix_common::math::*;
4use sbor::rust::prelude::*;
5
6pub const FUNGIBLE_VAULT_BLUEPRINT: &str = "FungibleVault";
7
8pub const FUNGIBLE_VAULT_LOCK_FEE_IDENT: &str = "lock_fee";
9
10#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
11pub struct FungibleVaultLockFeeInput {
12    pub amount: Decimal,
13    pub contingent: bool,
14}
15
16pub type FungibleVaultLockFeeManifestInput = FungibleVaultLockFeeInput;
17
18pub type FungibleVaultLockFeeOutput = ();
19
20pub const FUNGIBLE_VAULT_LOCK_FUNGIBLE_AMOUNT_IDENT: &str = "lock_amount";
21
22#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
23pub struct FungibleVaultLockFungibleAmountInput {
24    pub amount: Decimal,
25}
26
27pub type FungibleVaultLockFungibleAmountManifestInput = FungibleVaultLockFungibleAmountInput;
28
29pub type FungibleVaultLockFungibleAmountOutput = ();
30
31pub const FUNGIBLE_VAULT_UNLOCK_FUNGIBLE_AMOUNT_IDENT: &str = "unlock_amount";
32
33#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
34pub struct FungibleVaultUnlockFungibleAmountInput {
35    pub amount: Decimal,
36}
37
38pub type FungibleVaultUnlockFungibleAmountManifestInput = FungibleVaultUnlockFungibleAmountInput;
39
40pub type FungibleVaultUnlockFungibleAmountOutput = ();
41
42pub const FUNGIBLE_VAULT_CREATE_PROOF_OF_AMOUNT_IDENT: &str = "create_proof_of_amount";
43
44#[derive(Debug, Clone, Eq, PartialEq, ScryptoSbor, ManifestSbor)]
45pub struct FungibleVaultCreateProofOfAmountInput {
46    pub amount: Decimal,
47}
48
49pub type FungibleVaultCreateProofOfAmountManifestInput = FungibleVaultCreateProofOfAmountInput;
50
51pub type FungibleVaultCreateProofOfAmountOutput = Proof;
52
53pub type FungibleVaultPutInput = VaultPutInput;
54pub type FungibleVaultPutManifestInput = VaultPutManifestInput;
55
56pub type FungibleVaultFreezeInput = VaultFreezeInput;
57pub type FungibleVaultFreezeManifestInput = VaultFreezeManifestInput;
58
59pub type FungibleVaultUnfreezeInput = VaultUnfreezeInput;
60pub type FungibleVaultUnfreezeManifestInput = VaultUnfreezeManifestInput;
61
62pub type FungibleVaultGetAmountInput = VaultGetAmountInput;
63pub type FungibleVaultGetAmountManifestInput = VaultGetAmountManifestInput;
64
65pub type FungibleVaultBurnInput = VaultBurnInput;
66pub type FungibleVaultBurnManifestInput = VaultBurnManifestInput;