Struct rust_libindy_wrapper::wallet::Wallet[][src]

pub struct Wallet {}

Methods

impl Wallet
[src]

Registers custom wallet implementation.

It allows library user to provide custom wallet implementation.

Arguments

  • command_handle - Command handle to map callback to caller context.
  • xtype - Wallet type name.
  • create - WalletType create operation handler
  • open - WalletType open operation handler
  • set - Wallet set operation handler
  • get - Wallet get operation handler
  • get_not_expired - Wallet get_not_expired operation handler
  • list - Wallet list operation handler(must to return data in the following format: {"values":[{"key":"", "value":""}, {"key":"", "value":""}]}
  • close - Wallet close operation handler
  • delete - WalletType delete operation handler
  • free - Handler that allows to de-allocate strings allocated in caller code

Registers custom wallet implementation.

It allows library user to provide custom wallet implementation.

Arguments

  • command_handle - Command handle to map callback to caller context.
  • xtype - Wallet type name.
  • create - WalletType create operation handler
  • open - WalletType open operation handler
  • set - Wallet set operation handler
  • get - Wallet get operation handler
  • get_not_expired - Wallet get_not_expired operation handler
  • list - Wallet list operation handler(must to return data in the following format: {"values":[{"key":"", "value":""}, {"key":"", "value":""}]}
  • close - Wallet close operation handler
  • delete - WalletType delete operation handler
  • free - Handler that allows to de-allocate strings allocated in caller code
  • timeout - the maximum time this function waits for a response

Registers custom wallet implementation.

It allows library user to provide custom wallet implementation.

Arguments

  • command_handle - Command handle to map callback to caller context.
  • xtype - Wallet type name.
  • create - WalletType create operation handler
  • open - WalletType open operation handler
  • set - Wallet set operation handler
  • get - Wallet get operation handler
  • get_not_expired - Wallet get_not_expired operation handler
  • list - Wallet list operation handler(must to return data in the following format: {"values":[{"key":"", "value":""}, {"key":"", "value":""}]}
  • close - Wallet close operation handler
  • delete - WalletType delete operation handler
  • free - Handler that allows to de-allocate strings allocated in caller code
  • closure - the closure that is called when finished

Returns

  • errorcode - errorcode from calling ffi function. The closure receives the return result

Creates a new secure wallet with the given unique name.

Arguments

  • config - Wallet configuration json. List of supported keys are defined by wallet type. if NULL, then default config will be used.
  • credentials - Wallet credentials json. List of supported keys are defined by wallet type. if NULL, then default config will be used.

Creates a new secure wallet with the given unique name.

Arguments

  • config - Wallet configuration json. List of supported keys are defined by wallet type. if NULL, then default config will be used.
  • credentials - Wallet credentials json. List of supported keys are defined by wallet type. if NULL, then default config will be used.
  • timeout - the maximum time this function waits for a response

Creates a new secure wallet with the given unique name.

Arguments

  • config - Wallet configuration json. List of supported keys are defined by wallet type. if NULL, then default config will be used.
  • credentials - Wallet credentials json. List of supported keys are defined by wallet type. if NULL, then default config will be used.
  • closure - the closure that is called when finished

Returns

  • errorcode - errorcode from calling ffi function. The closure receives the return result

Opens the wallet with specific name.

Wallet with corresponded name must be previously created with indy_create_wallet method. It is impossible to open wallet with the same name more than once.

Arguments

  • runtime_config (optional)- Runtime wallet configuration json. if NULL, then default runtime_config will be used. Example: { "freshness_time": string (optional), Amount of minutes to consider wallet value as fresh. Defaults to 24*60. ... List of additional supported keys are defined by wallet type. }
  • credentials (optional) - Wallet credentials json. List of supported keys are defined by wallet type. if NULL, then default credentials will be used.

Returns

Handle to opened wallet to use in methods that require wallet access.

Opens the wallet with specific name.

Wallet with corresponded name must be previously created with indy_create_wallet method. It is impossible to open wallet with the same name more than once.

Arguments

  • runtime_config (optional)- Runtime wallet configuration json. if NULL, then default runtime_config will be used. Example: { "freshness_time": string (optional), Amount of minutes to consider wallet value as fresh. Defaults to 24*60. ... List of additional supported keys are defined by wallet type. }
  • credentials (optional) - Wallet credentials json. List of supported keys are defined by wallet type. if NULL, then default credentials will be used.
  • timeout - the maximum time this function waits for a response

Returns

Handle to opened wallet to use in methods that require wallet access.

Opens the wallet with specific name.

Wallet with corresponded name must be previously created with indy_create_wallet method. It is impossible to open wallet with the same name more than once.

Arguments

  • runtime_config (optional)- Runtime wallet configuration json. if NULL, then default runtime_config will be used. Example: { "freshness_time": string (optional), Amount of minutes to consider wallet value as fresh. Defaults to 24*60. ... List of additional supported keys are defined by wallet type. }
  • credentials (optional) - Wallet credentials json. List of supported keys are defined by wallet type. if NULL, then default credentials will be used.
  • closure - the closure that is called when finished

Returns

  • errorcode - errorcode from calling ffi function. The closure receives the return result

Exports opened wallet

Note this endpoint is EXPERIMENTAL. Function signature and behaviour may change in the future releases.

Arguments:

  • wallet_handle - wallet handle returned by indy_open_wallet
  • export_config - JSON containing settings for input operation. { "path": path of the file that contains exported wallet content "key": passphrase used to derive export key }

Exports opened wallet

Note this endpoint is EXPERIMENTAL. Function signature and behaviour may change in the future releases.

Arguments:

  • wallet_handle - wallet handle returned by indy_open_wallet
  • export_config - JSON containing settings for input operation. { "path": path of the file that contains exported wallet content "key": passphrase used to derive export key }
  • timeout - the maximum time this function waits for a response

Exports opened wallet

Note this endpoint is EXPERIMENTAL. Function signature and behaviour may change in the future releases.

Arguments:

  • wallet_handle - wallet handle returned by indy_open_wallet
  • export_config - JSON containing settings for input operation. { "path": path of the file that contains exported wallet content "key": passphrase used to derive export key }
  • closure - the closure that is called when finished

Returns

  • errorcode - errorcode from calling ffi function. The closure receives the return result

Creates a new secure wallet with the given unique name and then imports its content according to fields provided in import_config This can be seen as an Wallet::create call with additional content import

Note this endpoint is EXPERIMENTAL. Function signature and behaviour may change in the future releases.

Arguments

  • config - Wallet configuration json. { "storage": List of supported keys are defined by wallet type. }

  • credentials - Wallet credentials json (if NULL, then default config will be used). { "key": string, "storage": Optional List of supported keys are defined by wallet type.

    }

  • import_config - JSON containing settings for input operation. { "path": path of the file that contains exported wallet content "key": passphrase used to derive export key }

  • Creates a new secure wallet with the given unique name and then imports its content according to fields provided in import_config This can be seen as an Wallet::create call with additional content import

    Note this endpoint is EXPERIMENTAL. Function signature and behaviour may change in the future releases.

    Arguments

    • config - Wallet configuration json. { "storage": List of supported keys are defined by wallet type. }

    • credentials - Wallet credentials json (if NULL, then default config will be used). { "key": string, "storage": Optional List of supported keys are defined by wallet type.

      }

    • import_config - JSON containing settings for input operation. { "path": path of the file that contains exported wallet content "key": passphrase used to derive export key }

    • timeout - the maximum time this function waits for a response

    • Creates a new secure wallet with the given unique name and then imports its content according to fields provided in import_config This can be seen as an Wallet::create call with additional content import

      Note this endpoint is EXPERIMENTAL. Function signature and behaviour may change in the future releases.

      Arguments

      • config - Wallet configuration json. { "storage": List of supported keys are defined by wallet type. }

      • credentials - Wallet credentials json (if NULL, then default config will be used). { "key": string, "storage": Optional List of supported keys are defined by wallet type.

        }

      • import_config_json - JSON containing settings for input operation. { "path": path of the file that contains exported wallet content "key": passphrase used to derive export key }

      • closure - the closure that is called when finished

      • Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Deletes created wallet.

        Deletes created wallet.

        Arguments

        • timeout - the maximum time this function waits for a response

        Deletes created wallet.

        Arguments

        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Closes opened wallet and frees allocated resources.

        Arguments

        • handle - wallet handle returned by Wallet::open.

        Closes opened wallet and frees allocated resources.

        Arguments

        • handle - wallet handle returned by Wallet::open.
        • timeout - the maximum time this function waits for a response

        Closes opened wallet and frees allocated resources.

        Arguments

        • handle - wallet handle returned by Wallet::open.
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Create a new non-secret record in the wallet

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • value - the value of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } Note that null means no tags If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching

        Create a new non-secret record in the wallet

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • value - the value of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } Note that null means no tags If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching
        • timeout - the maximum time this function waits for a response

        Create a new non-secret record in the wallet

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • value - the value of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } Note that null means no tags If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Update a non-secret wallet record value

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • value - the new value of record

        Update a non-secret wallet record value

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • value - the new value of record
        • timeout - the maximum time this function waits for a response

        Update a non-secret wallet record value

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • value - the new value of record
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Update a non-secret wallet record tags

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching

        Update a non-secret wallet record tags

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching
        • timeout - the maximum time this function waits for a response

        Update a non-secret wallet record tags

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Add new tags to the wallet record

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching Note if some from provided tags already assigned to the record than corresponding tags values will be replaced

        Add new tags to the wallet record

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching Note if some from provided tags already assigned to the record than corresponding tags values will be replaced
        • timeout - the maximum time this function waits for a response

        Add new tags to the wallet record

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tags_json - the record tags used for search and storing meta information as json: { "tagName1": , // string tag (will be stored encrypted) "tagName2": , // string tag (will be stored encrypted) "~tagName3": , // string tag (will be stored un-encrypted) "~tagName4": , // string tag (will be stored un-encrypted) } If tag name starts with "~" the tag will be stored un-encrypted that will allow usage of this tag in complex search queries (comparison, predicates) Encrypted tags can be searched only for exact matching Note if some from provided tags already assigned to the record than corresponding tags values will be replaced
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Delete tags from the wallet record

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tag_names_json - the list of tag names to remove from the record as json array: ["tagName1", "tagName2", ...]

        Delete tags from the wallet record

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tag_names_json - the list of tag names to remove from the record as json array: ["tagName1", "tagName2", ...]
        • timeout - the maximum time this function waits for a response

        Delete tags from the wallet record

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • tag_names_json - the list of tag names to remove from the record as json array: ["tagName1", "tagName2", ...]
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Delete an existing wallet record in the wallet

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - record type
        • id - the id of record

        Delete an existing wallet record in the wallet

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - record type
        • id - the id of record
        • timeout - the maximum time this function waits for a response

        Delete an existing wallet record in the wallet

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - record type
        • id - the id of record
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Get an wallet record by id

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • options_json - //TODO: FIXME: Think about replacing by bitmaks { retrieveType: (optional, false by default) Retrieve record type, retrieveValue: (optional, true by default) Retrieve record value, retrieveTags: (optional, false by default) Retrieve record tags }

        Returns

        • wallet record json - { id: "Some id", type: "Some type", // present only if retrieveType set to true value: "Some value", // present only if retrieveValue set to true tags: , // present only if retrieveTags set to true }

        Get an wallet record by id

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • options_json - //TODO: FIXME: Think about replacing by bitmaks { retrieveType: (optional, false by default) Retrieve record type, retrieveValue: (optional, true by default) Retrieve record value, retrieveTags: (optional, false by default) Retrieve record tags }
        • timeout - the maximum time this function waits for a response

        Returns

        • wallet record json - { id: "Some id", type: "Some type", // present only if retrieveType set to true value: "Some value", // present only if retrieveValue set to true tags: , // present only if retrieveTags set to true }

        Get an wallet record by id

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • id - the id of record
        • options_json - //TODO: FIXME: Think about replacing by bitmaks { retrieveType: (optional, false by default) Retrieve record type, retrieveValue: (optional, true by default) Retrieve record value, retrieveTags: (optional, false by default) Retrieve record tags }
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Search for wallet records.

        Note instead of immediately returning of fetched records this call returns wallet_search_handle that can be used later to fetch records by small batches (with indy_fetch_wallet_search_next_records).

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • query_json - MongoDB style query to wallet record tags: { "tagName": "tagValue", $or: { "tagName2": { $regex: 'pattern' }, "tagName3": { $gte: '123' }, }, }
        • options_json - //TODO: FIXME: Think about replacing by bitmaks { retrieveRecords: (optional, true by default) If false only "counts" will be calculated, retrieveTotalCount: (optional, false by default) Calculate total count, retrieveType: (optional, false by default) Retrieve record type, retrieveValue: (optional, true by default) Retrieve record value, retrieveTags: (optional, false by default) Retrieve record tags, }

        Returns

        • search_handle - Wallet search handle that can be used later to fetch records by small batches (with indy_fetch_wallet_search_next_records)

        Search for wallet records.

        Note instead of immediately returning of fetched records this call returns wallet_search_handle that can be used later to fetch records by small batches (with indy_fetch_wallet_search_next_records).

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • query_json - MongoDB style query to wallet record tags: { "tagName": "tagValue", $or: { "tagName2": { $regex: 'pattern' }, "tagName3": { $gte: '123' }, }, }
        • options_json - //TODO: FIXME: Think about replacing by bitmaks { retrieveRecords: (optional, true by default) If false only "counts" will be calculated, retrieveTotalCount: (optional, false by default) Calculate total count, retrieveType: (optional, false by default) Retrieve record type, retrieveValue: (optional, true by default) Retrieve record value, retrieveTags: (optional, false by default) Retrieve record tags, }
        • timeout - the maximum time this function waits for a response

        Returns

        • search_handle - Wallet search handle that can be used later to fetch records by small batches (with indy_fetch_wallet_search_next_records)

        Search for wallet records.

        Note instead of immediately returning of fetched records this call returns wallet_search_handle that can be used later to fetch records by small batches (with indy_fetch_wallet_search_next_records).

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • xtype - allows to separate different record types collections
        • query_json - MongoDB style query to wallet record tags: { "tagName": "tagValue", $or: { "tagName2": { $regex: 'pattern' }, "tagName3": { $gte: '123' }, }, }
        • options_json - //TODO: FIXME: Think about replacing by bitmaks { retrieveRecords: (optional, true by default) If false only "counts" will be calculated, retrieveTotalCount: (optional, false by default) Calculate total count, retrieveType: (optional, false by default) Retrieve record type, retrieveValue: (optional, true by default) Retrieve record value, retrieveTags: (optional, false by default) Retrieve record tags, }
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Fetch next records for wallet search.

        Not if there are no records this call returns WalletNoRecords error.

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • wallet_search_handle - wallet search handle (created by indy_open_wallet_search)
        • count - Count of records to fetch

        Returns

        • wallet records json - { totalCount: , // present only if retrieveTotalCount set to true records: [{ // present only if retrieveRecords set to true id: "Some id", type: "Some type", // present only if retrieveType set to true value: "Some value", // present only if retrieveValue set to true tags: , // present only if retrieveTags set to true }], }

        Fetch next records for wallet search.

        Not if there are no records this call returns WalletNoRecords error.

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • wallet_search_handle - wallet search handle (created by indy_open_wallet_search)
        • count - Count of records to fetch
        • timeout - the maximum time this function waits for a response

        Returns

        • wallet records json - { totalCount: , // present only if retrieveTotalCount set to true records: [{ // present only if retrieveRecords set to true id: "Some id", type: "Some type", // present only if retrieveType set to true value: "Some value", // present only if retrieveValue set to true tags: , // present only if retrieveTags set to true }], }

        Fetch next records for wallet search.

        Not if there are no records this call returns WalletNoRecords error.

        Arguments

        • wallet_handle - wallet handle (created by open_wallet)
        • wallet_search_handle - wallet search handle (created by indy_open_wallet_search)
        • count - Count of records to fetch
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Close wallet search (make search handle invalid)

        Arguments

        • wallet_search_handle - wallet search handle

        Close wallet search (make search handle invalid)

        Arguments

        • wallet_search_handle - wallet search handle
        • timeout - the maximum time this function waits for a response

        Close wallet search (make search handle invalid)

        Arguments

        • wallet_search_handle - wallet search handle
        • closure - the closure that is called when finished

        Returns

        • errorcode - errorcode from calling ffi function. The closure receives the return result

        Auto Trait Implementations

        impl Send for Wallet

        impl Sync for Wallet