Skip to main content
Version: Next

Contract FungibleTokenSwitchboard


_10
contract FungibleTokenSwitchboard {
_10
_10
StoragePath: StoragePath
_10
_10
PublicPath: PublicPath
_10
_10
ReceiverPublicPath: PublicPath
_10
}

The contract that allows an account to receive payments in multiple fungible tokens using a single {FungibleToken.Receiver} capability. This capability should ideally be stored at the FungibleTokenSwitchboard.ReceiverPublicPath = /public/GenericFTReceiver but it can be stored anywhere.

Interfaces

resource interface SwitchboardPublic


_10
resource interface SwitchboardPublic {
_10
}

The interface that enforces the method to allow anyone to check on the available capabilities of a switchboard resource and also exposes the deposit methods to deposit funds on it.

More...


Structs & Resources

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.

More...


Functions

fun createSwitchboard()


_10
func createSwitchboard(): Switchboard

Function that allows to create a new blank switchboard. A user must call this function and store the returned resource in their storage.


Events

event VaultCapabilityAdded


_10
event VaultCapabilityAdded(type Type, switchboardOwner Address?, capabilityOwner Address?)

The event that is emitted when a new vault capability is added to a switchboard resource.


event VaultCapabilityRemoved


_10
event VaultCapabilityRemoved(type Type, switchboardOwner Address?, capabilityOwner Address?)

The event that is emitted when a vault capability is removed from a switchboard resource.


event NotCompletedDeposit


_10
event NotCompletedDeposit(type Type, amount UFix64, switchboardOwner Address?)

The event that is emitted when a deposit can not be completed.