Skip to main content
Version: Next

Resource Switchboard


_10
resource Switchboard {
_10
_10
receiverCapabilities: {Type: Capability<&{FungibleToken.Receiver}>}
_10
}

The resource that stores the multiple fungible token receiver capabilities, allowing the owner to add and remove them and anyone to deposit any fungible token among the available types.

Implemented Interfaces:

  • FungibleToken.Receiver
  • SwitchboardPublic

Initializer


_10
func init()

Functions

fun addNewVault()


_10
func addNewVault(capability Capability<&{FungibleToken.Receiver}>)

Adds a new fungible token receiver capability to the switchboard resource.

token vault deposit function through {FungibleToken.Receiver} that will be added to the switchboard.

Parameters:

  • capability : The capability to expose a certain fungible

fun addNewVaultsByPath()


_10
func addNewVaultsByPath(paths [PublicPath], address Address)

Adds a number of new fungible token receiver capabilities by using the paths where they are stored.

Parameters:

  • paths : The paths where the public capabilities are stored.
  • address : The address of the owner of the capabilities.

fun addNewVaultWrapper()


_10
func addNewVaultWrapper(capability Capability<&{FungibleToken.Receiver}>, type Type)

Adds a new fungible token receiver capability to the switchboard resource specifying which Typeof @FungibleToken.Vault can be deposited to it. Use it to include in your switchboard "wrapper" receivers such as a @TokenForwarding.Forwarder. It can also be used to overwrite the type attached to a certain capability without having to remove that capability first.

token vault deposit function through {FungibleToken.Receiver} that will be added to the switchboard.

capability, rather than the Type from the reference borrowed from said capability

Parameters:

  • capability : The capability to expose a certain fungible
  • type : The type of fungible token that can be deposited to that

fun removeVault()


_10
func removeVault(capability Capability<&{FungibleToken.Receiver}>)

Removes a fungible token receiver capability from the switchboard resource.

removed from the switchboard.

Parameters:

  • capability : The capability to a fungible token vault to be

fun deposit()


_10
func deposit(from FungibleToken.Vault)

Takes a fungible token vault and routes it to the proper fungible token receiver capability for depositing it.

Parameters:

  • from : The deposited fungible token vault resource.

fun safeDeposit()


_10
func safeDeposit(from FungibleToken.Vault): FungibleToken.Vault?

Takes a fungible token vault and tries to route it to the proper fungible token receiver capability for depositing the funds, avoiding panicking if the vault is not available.

deposited.

funds if the deposit was successful, or still containing the funds if the reference to the needed vault was not found.

Parameters:

  • vaultType : The type of the ft vault that wants to be

Returns: The deposited fungible token vault resource, without the


fun getVaultTypes()


_10
func getVaultTypes(): [Type]

A getter function to know which tokens a certain switchboard resource is prepared to receive.

{FungibleToken.Receiver} capabilities that can be effectively borrowed.

Returns: The keys from the dictionary of stored