API documentation of Agoric SDK / Exports / @agoric/smart-wallet / walletFactory
Module: walletFactory
Table of contents
Type Aliases
Variables
Functions
Type Aliases
AssetPublisher
Ƭ AssetPublisher: Object
Type declaration
Name | Type |
---|---|
getAssetSubscription | () => ERef <IterableEachTopic <AssetDescriptor >> |
Defined in
SmartWalletContractTerms
Ƭ SmartWalletContractTerms: Object
Type declaration
Name | Type |
---|---|
agoricNames | ERef <NameHub > |
assetPublisher | AssetPublisher |
board | ERef <index > |
Defined in
WalletReviver
Ƭ WalletReviver: Object
Type declaration
Name | Type |
---|---|
ackWallet | (address : string ) => isRevive |
reviveWallet | (address : string ) => Promise <smartWallet > |
Defined in
isRevive
Ƭ isRevive: boolean
Defined in
start
Ƭ start: typeof prepare
Defined in
Variables
customTermsShape
• Const
customTermsShape: Object
Type declaration
Name | Type |
---|---|
agoricNames | any |
assetPublisher | any |
board | any |
Defined in
privateArgsShape
• Const
privateArgsShape: Matcher
Defined in
Functions
makeAssetRegistry
▸ makeAssetRegistry(assetPublisher
): Object
Make a registry for use by the wallet instances.
This doesn't need to persist durably because the assetPublisher
has a "pinned" topic and call to getAssetSubscription gets a fresh stream of all the assets that it knows of.
Parameters
Name | Type |
---|---|
assetPublisher | AssetPublisher |
Returns
Object
Name | Type |
---|---|
get | (brand : Brand <AssetKind >) => BrandDescriptor |
has | (brand : Brand <AssetKind >) => boolean |
values | () => Iterable <BrandDescriptor > |
Defined in
prepare
▸ prepare(zcf
, privateArgs
, baggage
): Promise
<{ creatorFacet
: Guarded
<{ provideSmartWallet
: (address
: string
, bank
: ERef
<Bank
>, namesByAddressAdmin
: ERef
<NameAdmin
>) => Promise
<[wallet: Object & GetInterfaceGuard<Object> & RemotableBrand<Object, Object & GetInterfaceGuard<Object>>, isNew: boolean]> }> }>
Parameters
Name | Type |
---|---|
zcf | ZCF <SmartWalletContractTerms > |
privateArgs | Object |
privateArgs.storageNode | ERef <StorageNode > |
privateArgs.walletBridgeManager? | ERef <ScopedBridgeManager > |
privateArgs.walletReviver? | ERef <WalletReviver > |
baggage | Baggage |
Returns
Promise
<{ creatorFacet
: Guarded
<{ provideSmartWallet
: (address
: string
, bank
: ERef
<Bank
>, namesByAddressAdmin
: ERef
<NameAdmin
>) => Promise
<[wallet: Object & GetInterfaceGuard<Object> & RemotableBrand<Object, Object & GetInterfaceGuard<Object>>, isNew: boolean]> }> }>
Defined in
publishDepositFacet
▸ publishDepositFacet(address
, wallet
, namesByAddressAdmin
): Promise
<unknown
>
Provide a NameHub for this address and insert depositFacet only if not already done.
Parameters
Name | Type |
---|---|
address | string |
wallet | { getCurrentSubscriber : () => Subscriber <CurrentWalletRecord > ; getDepositFacet : () => Guarded <{ receive : (payment : Payment <AssetKind >) => Promise <Amount <AssetKind >> }> ; getOffersFacet : () => Guarded <{ executeOffer : (offerSpec : OfferSpec ) => Promise <void > ; tryExitOffer : (offerId : OfferId ) => Promise <void > }> ; getPublicTopics : () => { current : { description : string = 'Current state of wallet'; storagePath : Promise <string > ; subscriber : Subscriber <CurrentWalletRecord > = currentRecorderKit.subscriber } ; updates : { description : string = 'Changes to wallet'; storagePath : Promise <string > ; subscriber : Subscriber <UpdateRecord > = updateRecorderKit.subscriber } } ; getUpdatesSubscriber : () => Subscriber <UpdateRecord > ; handleBridgeAction : (actionCapData : CapData <null | string >, canSpend? : boolean ) => Promise <void > ; repairWalletForIncarnation2 : (key : any ) => void } & GetInterfaceGuard <{ getCurrentSubscriber : () => Subscriber <CurrentWalletRecord > ; getDepositFacet : () => Guarded <{ receive : (payment : Payment <AssetKind >) => Promise <Amount <AssetKind >> }> ; getOffersFacet : () => Guarded <{ executeOffer : (offerSpec : OfferSpec ) => Promise <void > ; tryExitOffer : (offerId : OfferId ) => Promise <void > }> ; getPublicTopics : () => { current : { description : string = 'Current state of wallet'; storagePath : Promise <string > ; subscriber : Subscriber <CurrentWalletRecord > = currentRecorderKit.subscriber } ; updates : { description : string = 'Changes to wallet'; storagePath : Promise <string > ; subscriber : Subscriber <UpdateRecord > = updateRecorderKit.subscriber } } ; getUpdatesSubscriber : () => Subscriber <UpdateRecord > ; handleBridgeAction : (actionCapData : CapData <null | string >, canSpend? : boolean ) => Promise <void > ; repairWalletForIncarnation2 : (key : any ) => void }> & RemotableBrand <{}, { getCurrentSubscriber : () => Subscriber <CurrentWalletRecord > ; getDepositFacet : () => Guarded <{ receive : (payment : Payment <AssetKind >) => Promise <Amount <AssetKind >> }> ; getOffersFacet : () => Guarded <{ executeOffer : (offerSpec : OfferSpec ) => Promise <void > ; tryExitOffer : (offerId : OfferId ) => Promise <void > }> ; getPublicTopics : () => { current : { description : string = 'Current state of wallet'; storagePath : Promise <string > ; subscriber : Subscriber <CurrentWalletRecord > = currentRecorderKit.subscriber } ; updates : { description : string = 'Changes to wallet'; storagePath : Promise <string > ; subscriber : Subscriber <UpdateRecord > = updateRecorderKit.subscriber } } ; getUpdatesSubscriber : () => Subscriber <UpdateRecord > ; handleBridgeAction : (actionCapData : CapData <null | string >, canSpend? : boolean ) => Promise <void > ; repairWalletForIncarnation2 : (key : any ) => void } & GetInterfaceGuard <{ getCurrentSubscriber : () => Subscriber <CurrentWalletRecord > ; getDepositFacet : () => Guarded <{ receive : (payment : Payment <AssetKind >) => Promise <Amount <AssetKind >> }> ; getOffersFacet : () => Guarded <{ executeOffer : (offerSpec : OfferSpec ) => Promise <void > ; tryExitOffer : (offerId : OfferId ) => Promise <void > }> ; getPublicTopics : () => { current : { description : string = 'Current state of wallet'; storagePath : Promise <string > ; subscriber : Subscriber <CurrentWalletRecord > = currentRecorderKit.subscriber } ; updates : { description : string = 'Changes to wallet'; storagePath : Promise <string > ; subscriber : Subscriber <UpdateRecord > = updateRecorderKit.subscriber } } ; getUpdatesSubscriber : () => Subscriber <UpdateRecord > ; handleBridgeAction : (actionCapData : CapData <null | string >, canSpend? : boolean ) => Promise <void > ; repairWalletForIncarnation2 : (key : any ) => void }>> |
namesByAddressAdmin | ERef <NameAdmin > |
Returns
Promise
<unknown
>