Resources and Transactions
Transaction samples to get you started
What you probably need
We anticipate that most applications will fall under one of two categories.
Share all NFT Collections with a parent, and nothing else
Share some NFT Collections with a parent, and nothing else
Importantly, both of these setup options give no access to Fungible Token capabilities that are not on public paths. Below are some sample transactions depending on the kind of steps you want to follow. You can deploy your own version of the CapabilityFactory and CapabilityFilter resources should you want to customize their behavior
Share all NFT Collections
Use this setup flow if you want to give access to all NFT Collections with a parent account.
Testnet
All in one (if you can sign from both accounts)
Mainnet
All in one (if you can sign from both accounts)
Share access to some NFT Collections (allow list)
Use this setup flow if you want to give access to specific NFT Collections with a parent account
NOTE: Unlike sharing access to all collections, there is no pre-made sample that can be used to express an allow-list. You must create one yourself and decide how to manage it.
Allow List Filter Management
Once you have your Filter created, you can initialize and publish your child account
Multi-step
Share access to all but some NFT Collections (deny list)
Use this setup flow if you want to give access to all NFT Collections except the types you add to your deny list
NOTE: Unlike sharing access to all collections, there is no pre-made sample that can be used to express a deny-list. You must create one yourself and decide how to manage it.
Allow List Filter Management
Once you have your Filter created, you can initialize and publish your child account
Multi-step
Pre-made resources
Flow has created a few common resources for you to use. If you would like to set your own up, you can find a link to set transactions for each resource to run on your own account to get the same effect.
What Capability types can be obtained?
The CapabilityFactory used in a ChildAccount resource is used to express what types T can be obtained from a child account from a parent. For example, a CapabilityFactory with an entry that can return Capability<&{NonFungibleToken.Provider}> would be giving the ability for a parent to obtain NFT Provider capabilities.
A Capability can only be obtained if a child account's CapabilityFilter permits it, there is a CapabilityFactory for the type of the Capability requested, and the path being requested exists.
The order of types specified by a CapabilityFactory matter! There is an open ticket to handle this. Until it is settled, please take note of the types you are linking or expecting to be accessible.
Capability Factory pre-made resources
All NFT standard interfaces
Testnet - 0x1055970ee34ef4dc
Mainnet - 0xee9ff4f07a2d6dad
This pre-made CapabilityFactory resource can be used if you want to give a parent account access to the following Capability<T> types:
&{NonFungibleToken.CollectionPublic}&{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}&{NonFungibleToken.Provider}
All FungibleToken standard interfaces
Testnet - 0x08bed9e8508ed20e
Mainnet - 0x410aa603925923d9
This pre-made CapabilityFactory resource can be used if you want to give a parent account access to the following Capability<T> types:
&{FungibleToken.Provider}&{FungibleToken.Provider, FungibleToken.Balance, FungibleToken.Receiver}&{FungibleToken.Balance}&{FungibleToken.Receiver}&{FungibleToken.Receiver, FungibleToken.Balance}
All NFT and Fungible Token interfaces
Testnet - 0x1b7fa5972fcb8af5
Mainnet - 0x071d382668250606
This pre-made CapabilityFactory resource can be used if you want to give a parent account access to the following Capability<T> types:
&{NonFungibleToken.CollectionPublic}&{NonFungibleToken.Provider, NonFungibleToken.CollectionPublic}&{NonFungibleToken.Provider}&{FungibleToken.Provider}&{FungibleToken.Provider, FungibleToken.Balance, FungibleToken.Receiver}&{FungibleToken.Balance}&{FungibleToken.Receiver}&{FungibleToken.Receiver, FungibleToken.Balance}
Once an account is published, you can claim them from your specified parent address using the Redeem a child account transaction
Capability Filter pre-made resources
Allow all filter
The allow all filter allows any resource to be borrowed from a child account, provided that it can be obtained through the child account's Capability Filter.
Testnet - 0xe2664be06bb0fe62
Mainnet - 0x78e93a79b05d0d7d
Common Transactions
Last updated