示例#1
0
        /// <summary>
        /// Stores a claim offer.
        /// </summary>
        /// <remarks>
        /// Stores a claim offer from the issuer specified in the <paramref name="claimOfferJson"/>
        /// into the provided <paramref name="wallet"/>.  The expected structure of the claim offer
        /// is as follows:
        /// <code>
        /// {
        ///     "issuer_did": string,
        ///     "schema_seq_no": string
        /// }
        /// </code>
        /// </remarks>
        /// <param name="wallet">The target wallet.</param>
        /// <param name="claimOfferJson">The claim offer JSON</param>
        /// <returns>An asynchronous <see cref="Task"/> that completes when the operation has completed.</returns>
        public static Task ProverStoreClaimOfferAsync(Wallet wallet, string claimOfferJson)
        {
            var taskCompletionSource = new TaskCompletionSource <bool>();
            var commandHandle        = PendingCommands.Add(taskCompletionSource);

            var commandResult = IndyNativeMethods.indy_prover_store_claim_offer(
                commandHandle,
                wallet.Handle,
                claimOfferJson,
                CallbackHelper.TaskCompletingNoValueCallback
                );

            CallbackHelper.CheckResult(commandResult);

            return(taskCompletionSource.Task);
        }