Meet StoreKit 2

RSS for tag

Discuss the WWDC21 session Meet StoreKit 2.

Posts under wwdc21-10114 tag

50 Posts

Post

Replies

Boosts

Views

Activity

StoreKit 2 • updateListenerTask never called (Ask To Buy context for example)
Hello, I'm currently adding StoreKit 2 into my app. I've watched the WWDC21 session (Meet SK2) and downloaded the sample SKDemo app. When I want to test the Ask To Buy flow, it does not work: I see the sheet on the device, I see the alert and tap on the "Ask" button. In Xcode, I then approve the transaction but the func listenForTransactions() -> Task<Void, Error> is never called. I'm testing the app in Debug mode, on a real device and on a simulator (using the Products.storekit local configuration file). What's wrong? Thanks, Axel Version 13.2 beta 2 (13C5081f) iOS 15.2 (19C5044b) func listenForTransactions() -> Task<Void, Error> {         return Task.detached {             for await result in Transaction.updates {                 do {                     let transaction = try self.checkVerified(result)                     await self.updatePurchasedIdentifiers(transaction)                     await transaction.finish()                 } catch {                     print("Transaction failed verification")                 }             }         }     }
3
0
2.7k
Mar ’22
StoreKit 2 - latest transaction for a subscription is not the latest one at launch when app is not running
When dealing with auto-renewable subscriptions, there are multiple ways to access the latest transaction. We can access it when a purchase is made, or we can request the latest transaction for a given productID at a later time. To do so, we can use Transaction.latest(for:), access the transaction history using Transaction.all, get the currentEntitlements, or use the array of Product.SubscriptionInfo.Statusthan contains the latest transaction for a subscription group. It's also necessary to listen to transactions when the app is running using the AsyncSequenceTransaction.updates`. In my app (and also in the SKDemo project from Apple), when I want to access the latest transaction as soon as the app is launched, it's missing the transactions that renewed or happened while the app was not running. I tried using the different methods mentioned above but they never give me the latest transaction, always the latest transaction while the app was running before I killed it. I have to wait for a new renewal event to receive the latest transaction in the Transaction.updates listener, which is not good. For example, when I set the Subscription Renewal Rate to Monthly Renewal Every 30 seconds, and I quit the app when the latest transactionId is 100, I wait for 5 minutes, I expect to see the transactionId 110 but I see 100. In the real life, it means that if the app is not running when a monthly or annual subscription renews, I have to wait weeks or months to receive the missing transaction. I thought that the Transaction.updates listener would be called at launch with all the transactions that occurred while the app was not running. Is that a bug in Xcode or have I misunderstood something? How can I access the real latest transaction that happened when the app was not running at launch? I need to access that to know what the user has access to. I think the transaction management panel from Xcode displays all the transactions, even the one when the app was not running. PS: I'm using Xcode 13.2.1 and iOS 15.0 (simulator). Transaction.updates is not working on iOS 15.2 (my device, or simulator) from what I've seen so far.
5
0
4.4k
Feb ’22
Subscription state not update if I subscribe in App Store sandbox instead of my app
if let status = try await product.subscription?.status { for state in status { if (state.state == .subscribed) { isPro = true break } } } When I subscribe with the api product.purchase in my app, every thing work right. The state is updated to .subscribed right after the purchase finished. However, when I manage the subscription in App Store sandbox with a test account. The subscription state does not updated until I manually ask for another purchase in my app. Then a window popup telling me that I have already purchased this product. And then the state of the subscription also updated to .subscribed. I have also made a update listener to listener all transaction update, just like how SKDemo do. But seems it doesn't receive any update. Last, could any one tell me that if the update listener also responsible for listening the expiration of a subscription?
2
0
2.0k
Feb ’22
Manage Subscriptions Window not remove in app using UIKit in iOS 15
I am using Storekit 2 for in-App Purchase, I am having problem regarding with manage subscriptions UI, when I click on manage subscriptions custom button then Manage subscriptions apple UI open and when I click on cross button , it does not remove on iPhone 13 and on the other hand on other iPhone XR the Subscription window is hide but app got stuck with black window
1
0
722
Feb ’22
StoreKit2 equivalent to SKPaymentQueue.presentCodeRedemptionSheet()
Does anyone know what the StoreKit2 equivalent to original StoreKit's SKPaymentQueue.presentCodeRedemptionSheet() is? I'm not seeing anything in the docs that appears to handle Offer Codes specifically. Yes, there's static func promotionalOffer(offerID: String, keyID: String, nonce: UUID, signature: Data, timestamp: Int) -> Product.PurchaseOption but promotional offers are a separate thing to Offer codes, I believe. Appreciate any pointers anyone has on how to allow in-app redemption of an Offer Code using StoreKit2. I'm assuming I should not include original StoreKit as well as StoreKit2 and call the older API, right?
0
0
751
Feb ’22
Mac in-app purchases aren't showing up in the production environment with StoreKit 2
I'm trying to launch a new Mac-only app using SwiftUI and targeting macOS 12, so using the new StoreKit 2 APIs makes a ton of sense. My code for the purchases is largely based on the sample code from WWDC21, and it works really really well during local testing and when installed through TestFlight. But the purchases never load when App Review runs the app. They've sent several screenshots, and none of the purchases are loaded and I haven no idea why. I've made sure to select "In-App Purchase" in the "Signing & Capabilities" tab. I have created all of the purchases in App Store Connect, quadruple checked the identifiers match what the app is expecting, and made sure the purchases were submitted for review along with the app. What else could I possibly be missing? Has anyone else had similar issues?
2
0
1.4k
Jan ’22
Validate StoreKit2 in-app purchase jwsRepresentation in backend (node ideally, but anything works)
How can I validate an in-app purchase JWS Representation from StoreKit2 on my backend in Node? Its easy enough to decode the payload, but I can't find public keys that Apple uses to sign these JWS/JWTs anywhere. Any other time I've worked with JWTs, you simply used the node jsonwebtoken library and passed in the signers public key or shared secret key, either configured or fetched from a JWK. I do see the docs about validating the certificate chain in the x5c field but am at a bit of a loss on how to verify that its from Apple. Anyone can create a JWT and sign one. Thank you!
4
0
7.8k
Jan ’22
Transaction.latest(for:) returns nil in StoreKit 2
Using the Implementing a Store In Your App Using the StoreKit API sample code, I've successfully integrated my new APP with StoreKit 2. There is one problem though: when I call the method Transaction.latest(for:) to get the user’s latest transaction, it always returns nil. Here's the code snippet: guard let result = await Transaction.latest(for: myProductId) else { return false } Is this a bug with StoreKit 2, or am I doing something wrong? This happens on a physical device, running from Xcode. Thanks in advance.
4
0
2.2k
Jan ’22
StoreKit 2 products always loading in App Review
I used StoreKit 2 to implement in-app purchases (maybe it was a wrong choice). It performed perfectly during the development and testing phases, but when I submitted the App for review, the products could not be loaded. I checked the configuration and code many times, and used TestFlight to test on multiple devices, but the problem was not reproduced. It is now suspected to be a problem with the StoreKit 2 and App Review environment. I submitted a feedback using Feedback Assistant: FB9809466. Now, I don’t know what I should continue to do to help myself solve the current dilemma. Maybe I should use the old version of StoreKit to refactor everything?
2
0
1.5k
Dec ’21
StoreKit 2: does Transaction.currentEntitlements provide transactions for .inGracePeriod subscriptions?
When we request the current entitlements for a user using the Transaction.currentEntitlements static method, does StoreKit provide transactions for subscriptions with a Product.SubscriptionInfo.RenewalState set to .inGracePeriod or only .subscribed? I'm asking because as a developer we need to give access to content to a user if its subscription is in .inGracePeriod. So in my opinion, the user is still entitled to this subscription. I've not found any information in the documentation, WWDC videos or Apple sample codes. The documentation explains The latest transaction for each active auto-renewable subscription Is .inGracePeriod considered an active subscription?
1
0
1.8k
Dec ’21
StoreKit 2: does Transaction.currentEntitlements also provide transactions for subscriptions shared with me?
Let's imagine an app with two plans, one for individual (level of service 2) and one for family (level of service 1). If a user is subscribed as an individual, but if someone in his family shares a family plan with him, will Transaction.currentEntitlements show both subscriptions? Or only the transaction where the user is the owner (in this case the individual subscription)?
1
0
1.2k
Dec ’21
StoreKit 2: how can we test Family Sharing?
I'm not a member of any Family in iCloud. I want to understand what happens when a user is subscribed through Family Sharing but also how to use StoreKit when the user is subscribed twice: as an individual who purchased the product and as a member of a family when the purchase is shared with him. How can I test Family Sharing for an app offering a product with Family Sharing enabled? Is it possible to create a fake Family in App Store Connect and add testers to it?
2
0
1.9k
Dec ’21
Storekit 2 some question
Hello,The Storekit 2 is pretty good, i want to Use it in my app right now,but i found some question? 1、unfinished transation never Automatic trigger on any where,such as when I start up again, how can i fetch the unfinished transations on some way? 2、i call transaction.finish(),but, when i user Transaction.unfinished to fetch all unfinished transations, the transaction i just finished, alway be funded 3、how can i verified jws myself, not call the autoVafified api you provide,can you has some demo?
3
0
1.6k
Dec ’21
StoreKit 2 and its receipt verification
Hey folks! One of my customers has problem when purchasing the in-app subscription: The operation couldn't be completed (StoreKit.VerificationResult<StoreKit.Transaction>.VerificationError error 2.) Any idea why this happens? I'm using the standard purchase verification private func checkVerified<T>(_ result: VerificationResult<T>) throws -> T {     //Check if the transaction passes StoreKit verification.     switch result {     case let .unverified(_, error):         //StoreKit has parsed the JWS but failed verification. Don't deliver content to the user.         throw error     case .verified(let safe):         //If the transaction is verified, unwrap and return it.         return safe     } }
1
0
3.3k
Dec ’21
StoreKit 2 • How to know when a user cancelled the subscription during free trial?
Hello, When a user cancels a subscription during a free trial, we should stop providing access to content. How can we know that? From the in app management in Xcode, when I cancel a subscription during free trial period (cancelling in the few seconds after the purchase), the currentEntitlements still provide the subscription. How to know when a user cancelled the subscription during free trial? Thanks
2
0
2.8k
Nov ’21
How can I tell if a StoreKit 2 purchase was completed on _this_ device?
In the session on StoreKit 2 (which looks amazing!), the presenter says: In fact, if your app is running when a purchase is made on another device, you'll be notified about the new transaction. This seems to mean that when an app uses the listener API to be notified of transactions, it will get transactions that happened on other devices. My app offers purchases across other platforms in addition to iOS, and when a purchase happens we register it with our own account system. If a user has the app running on both their iPad and iPhone and makes a purchase on the phone, if the iPad gets notified of it the same way it would of a purchase made on the iPad, both devices will try to report it to our system. This seems undesirable. What's the recommended approach here? Should we just make sure our system will disregard duplicate transaction reports? Or is there a way to know whether a transaction originated on this device? I don't see a property on the transaction type that looks like it could accomplish this. Maybe the deviceVerification properties? But that's seems more like the new edition of transaction receipt verification - failing that check would presumably mean that the purchase is invalid, not that it didn't happen on this device...?
2
0
3.2k
Nov ’21
Transaction data returned by calling interface is null. Invoke the inApps/v1/history interface.
our app integrates Apple Pay, and after the user pays successfully, our server obtains the original_transaction_id. after we get the original_transaction_id, we call. The https://api.storekit.itunes.apple.com/inapps/v1/history/ interface. 3.Url of request: https://api.storekit.itunes.apple.com/inapps/v1/history/30000931965136 4.The response result is: {"revision":"0","bundleId":"live.vshow.live.dfgsdb2","appAppleId":1552575331,"environment":"Production","hasMore":false,"signedTransactions":[]} 5.Why is the result of signedTransactions empty?
2
0
1.3k
Oct ’21
StoreKit 2 • updateListenerTask never called (Ask To Buy context for example)
Hello, I'm currently adding StoreKit 2 into my app. I've watched the WWDC21 session (Meet SK2) and downloaded the sample SKDemo app. When I want to test the Ask To Buy flow, it does not work: I see the sheet on the device, I see the alert and tap on the "Ask" button. In Xcode, I then approve the transaction but the func listenForTransactions() -> Task<Void, Error> is never called. I'm testing the app in Debug mode, on a real device and on a simulator (using the Products.storekit local configuration file). What's wrong? Thanks, Axel Version 13.2 beta 2 (13C5081f) iOS 15.2 (19C5044b) func listenForTransactions() -> Task<Void, Error> {         return Task.detached {             for await result in Transaction.updates {                 do {                     let transaction = try self.checkVerified(result)                     await self.updatePurchasedIdentifiers(transaction)                     await transaction.finish()                 } catch {                     print("Transaction failed verification")                 }             }         }     }
Replies
3
Boosts
0
Views
2.7k
Activity
Mar ’22
StoreKit 2 - latest transaction for a subscription is not the latest one at launch when app is not running
When dealing with auto-renewable subscriptions, there are multiple ways to access the latest transaction. We can access it when a purchase is made, or we can request the latest transaction for a given productID at a later time. To do so, we can use Transaction.latest(for:), access the transaction history using Transaction.all, get the currentEntitlements, or use the array of Product.SubscriptionInfo.Statusthan contains the latest transaction for a subscription group. It's also necessary to listen to transactions when the app is running using the AsyncSequenceTransaction.updates`. In my app (and also in the SKDemo project from Apple), when I want to access the latest transaction as soon as the app is launched, it's missing the transactions that renewed or happened while the app was not running. I tried using the different methods mentioned above but they never give me the latest transaction, always the latest transaction while the app was running before I killed it. I have to wait for a new renewal event to receive the latest transaction in the Transaction.updates listener, which is not good. For example, when I set the Subscription Renewal Rate to Monthly Renewal Every 30 seconds, and I quit the app when the latest transactionId is 100, I wait for 5 minutes, I expect to see the transactionId 110 but I see 100. In the real life, it means that if the app is not running when a monthly or annual subscription renews, I have to wait weeks or months to receive the missing transaction. I thought that the Transaction.updates listener would be called at launch with all the transactions that occurred while the app was not running. Is that a bug in Xcode or have I misunderstood something? How can I access the real latest transaction that happened when the app was not running at launch? I need to access that to know what the user has access to. I think the transaction management panel from Xcode displays all the transactions, even the one when the app was not running. PS: I'm using Xcode 13.2.1 and iOS 15.0 (simulator). Transaction.updates is not working on iOS 15.2 (my device, or simulator) from what I've seen so far.
Replies
5
Boosts
0
Views
4.4k
Activity
Feb ’22
Subscription state not update if I subscribe in App Store sandbox instead of my app
if let status = try await product.subscription?.status { for state in status { if (state.state == .subscribed) { isPro = true break } } } When I subscribe with the api product.purchase in my app, every thing work right. The state is updated to .subscribed right after the purchase finished. However, when I manage the subscription in App Store sandbox with a test account. The subscription state does not updated until I manually ask for another purchase in my app. Then a window popup telling me that I have already purchased this product. And then the state of the subscription also updated to .subscribed. I have also made a update listener to listener all transaction update, just like how SKDemo do. But seems it doesn't receive any update. Last, could any one tell me that if the update listener also responsible for listening the expiration of a subscription?
Replies
2
Boosts
0
Views
2.0k
Activity
Feb ’22
Storekit 2 using Apple hosted content
My app downloads content from the Apple server using downloads:[SKdownload] found in SkPaymentTransaction. I want to upgrade my app to use StoreKit 2, but I can't find any download information in the StoreKit 2's Transaction or Product structs. Where do I find the downloads?
Replies
1
Boosts
0
Views
694
Activity
Feb ’22
Manage Subscriptions Window not remove in app using UIKit in iOS 15
I am using Storekit 2 for in-App Purchase, I am having problem regarding with manage subscriptions UI, when I click on manage subscriptions custom button then Manage subscriptions apple UI open and when I click on cross button , it does not remove on iPhone 13 and on the other hand on other iPhone XR the Subscription window is hide but app got stuck with black window
Replies
1
Boosts
0
Views
722
Activity
Feb ’22
StoreKit2 equivalent to SKPaymentQueue.presentCodeRedemptionSheet()
Does anyone know what the StoreKit2 equivalent to original StoreKit's SKPaymentQueue.presentCodeRedemptionSheet() is? I'm not seeing anything in the docs that appears to handle Offer Codes specifically. Yes, there's static func promotionalOffer(offerID: String, keyID: String, nonce: UUID, signature: Data, timestamp: Int) -> Product.PurchaseOption but promotional offers are a separate thing to Offer codes, I believe. Appreciate any pointers anyone has on how to allow in-app redemption of an Offer Code using StoreKit2. I'm assuming I should not include original StoreKit as well as StoreKit2 and call the older API, right?
Replies
0
Boosts
0
Views
751
Activity
Feb ’22
Mac in-app purchases aren't showing up in the production environment with StoreKit 2
I'm trying to launch a new Mac-only app using SwiftUI and targeting macOS 12, so using the new StoreKit 2 APIs makes a ton of sense. My code for the purchases is largely based on the sample code from WWDC21, and it works really really well during local testing and when installed through TestFlight. But the purchases never load when App Review runs the app. They've sent several screenshots, and none of the purchases are loaded and I haven no idea why. I've made sure to select "In-App Purchase" in the "Signing & Capabilities" tab. I have created all of the purchases in App Store Connect, quadruple checked the identifiers match what the app is expecting, and made sure the purchases were submitted for review along with the app. What else could I possibly be missing? Has anyone else had similar issues?
Replies
2
Boosts
0
Views
1.4k
Activity
Jan ’22
Validate StoreKit2 in-app purchase jwsRepresentation in backend (node ideally, but anything works)
How can I validate an in-app purchase JWS Representation from StoreKit2 on my backend in Node? Its easy enough to decode the payload, but I can't find public keys that Apple uses to sign these JWS/JWTs anywhere. Any other time I've worked with JWTs, you simply used the node jsonwebtoken library and passed in the signers public key or shared secret key, either configured or fetched from a JWK. I do see the docs about validating the certificate chain in the x5c field but am at a bit of a loss on how to verify that its from Apple. Anyone can create a JWT and sign one. Thank you!
Replies
4
Boosts
0
Views
7.8k
Activity
Jan ’22
Transaction.latest(for:) returns nil in StoreKit 2
Using the Implementing a Store In Your App Using the StoreKit API sample code, I've successfully integrated my new APP with StoreKit 2. There is one problem though: when I call the method Transaction.latest(for:) to get the user’s latest transaction, it always returns nil. Here's the code snippet: guard let result = await Transaction.latest(for: myProductId) else { return false } Is this a bug with StoreKit 2, or am I doing something wrong? This happens on a physical device, running from Xcode. Thanks in advance.
Replies
4
Boosts
0
Views
2.2k
Activity
Jan ’22
Do I still need to provide a restore button when using storekit2
I am building a app which only support iOS version over 15.0 and using storekit2 to make in app purchase. I read that by using storekit2 developer no longer need to restore purchase info manually. I wonder if I could dismiss a restore button in my app
Replies
1
Boosts
0
Views
1.1k
Activity
Jan ’22
StoreKit 2 products always loading in App Review
I used StoreKit 2 to implement in-app purchases (maybe it was a wrong choice). It performed perfectly during the development and testing phases, but when I submitted the App for review, the products could not be loaded. I checked the configuration and code many times, and used TestFlight to test on multiple devices, but the problem was not reproduced. It is now suspected to be a problem with the StoreKit 2 and App Review environment. I submitted a feedback using Feedback Assistant: FB9809466. Now, I don’t know what I should continue to do to help myself solve the current dilemma. Maybe I should use the old version of StoreKit to refactor everything?
Replies
2
Boosts
0
Views
1.5k
Activity
Dec ’21
StoreKit 2: does Transaction.currentEntitlements provide transactions for .inGracePeriod subscriptions?
When we request the current entitlements for a user using the Transaction.currentEntitlements static method, does StoreKit provide transactions for subscriptions with a Product.SubscriptionInfo.RenewalState set to .inGracePeriod or only .subscribed? I'm asking because as a developer we need to give access to content to a user if its subscription is in .inGracePeriod. So in my opinion, the user is still entitled to this subscription. I've not found any information in the documentation, WWDC videos or Apple sample codes. The documentation explains The latest transaction for each active auto-renewable subscription Is .inGracePeriod considered an active subscription?
Replies
1
Boosts
0
Views
1.8k
Activity
Dec ’21
StoreKit 2: does Transaction.currentEntitlements also provide transactions for subscriptions shared with me?
Let's imagine an app with two plans, one for individual (level of service 2) and one for family (level of service 1). If a user is subscribed as an individual, but if someone in his family shares a family plan with him, will Transaction.currentEntitlements show both subscriptions? Or only the transaction where the user is the owner (in this case the individual subscription)?
Replies
1
Boosts
0
Views
1.2k
Activity
Dec ’21
StoreKit 2: how can we test Family Sharing?
I'm not a member of any Family in iCloud. I want to understand what happens when a user is subscribed through Family Sharing but also how to use StoreKit when the user is subscribed twice: as an individual who purchased the product and as a member of a family when the purchase is shared with him. How can I test Family Sharing for an app offering a product with Family Sharing enabled? Is it possible to create a fake Family in App Store Connect and add testers to it?
Replies
2
Boosts
0
Views
1.9k
Activity
Dec ’21
APP STORE SERVER API (STORE KIT 2) returning same originalTransactionId for all notifications
The response body for the body for the app store server notification responseBodyV2 on sandbox returns same originalTransactionId for different subscription product ids when decoded
Replies
0
Boosts
0
Views
528
Activity
Dec ’21
Storekit 2 some question
Hello,The Storekit 2 is pretty good, i want to Use it in my app right now,but i found some question? 1、unfinished transation never Automatic trigger on any where,such as when I start up again, how can i fetch the unfinished transations on some way? 2、i call transaction.finish(),but, when i user Transaction.unfinished to fetch all unfinished transations, the transaction i just finished, alway be funded 3、how can i verified jws myself, not call the autoVafified api you provide,can you has some demo?
Replies
3
Boosts
0
Views
1.6k
Activity
Dec ’21
StoreKit 2 and its receipt verification
Hey folks! One of my customers has problem when purchasing the in-app subscription: The operation couldn't be completed (StoreKit.VerificationResult<StoreKit.Transaction>.VerificationError error 2.) Any idea why this happens? I'm using the standard purchase verification private func checkVerified<T>(_ result: VerificationResult<T>) throws -> T {     //Check if the transaction passes StoreKit verification.     switch result {     case let .unverified(_, error):         //StoreKit has parsed the JWS but failed verification. Don't deliver content to the user.         throw error     case .verified(let safe):         //If the transaction is verified, unwrap and return it.         return safe     } }
Replies
1
Boosts
0
Views
3.3k
Activity
Dec ’21
StoreKit 2 • How to know when a user cancelled the subscription during free trial?
Hello, When a user cancels a subscription during a free trial, we should stop providing access to content. How can we know that? From the in app management in Xcode, when I cancel a subscription during free trial period (cancelling in the few seconds after the purchase), the currentEntitlements still provide the subscription. How to know when a user cancelled the subscription during free trial? Thanks
Replies
2
Boosts
0
Views
2.8k
Activity
Nov ’21
How can I tell if a StoreKit 2 purchase was completed on _this_ device?
In the session on StoreKit 2 (which looks amazing!), the presenter says: In fact, if your app is running when a purchase is made on another device, you'll be notified about the new transaction. This seems to mean that when an app uses the listener API to be notified of transactions, it will get transactions that happened on other devices. My app offers purchases across other platforms in addition to iOS, and when a purchase happens we register it with our own account system. If a user has the app running on both their iPad and iPhone and makes a purchase on the phone, if the iPad gets notified of it the same way it would of a purchase made on the iPad, both devices will try to report it to our system. This seems undesirable. What's the recommended approach here? Should we just make sure our system will disregard duplicate transaction reports? Or is there a way to know whether a transaction originated on this device? I don't see a property on the transaction type that looks like it could accomplish this. Maybe the deviceVerification properties? But that's seems more like the new edition of transaction receipt verification - failing that check would presumably mean that the purchase is invalid, not that it didn't happen on this device...?
Replies
2
Boosts
0
Views
3.2k
Activity
Nov ’21
Transaction data returned by calling interface is null. Invoke the inApps/v1/history interface.
our app integrates Apple Pay, and after the user pays successfully, our server obtains the original_transaction_id. after we get the original_transaction_id, we call. The https://api.storekit.itunes.apple.com/inapps/v1/history/ interface. 3.Url of request: https://api.storekit.itunes.apple.com/inapps/v1/history/30000931965136 4.The response result is: {"revision":"0","bundleId":"live.vshow.live.dfgsdb2","appAppleId":1552575331,"environment":"Production","hasMore":false,"signedTransactions":[]} 5.Why is the result of signedTransactions empty?
Replies
2
Boosts
0
Views
1.3k
Activity
Oct ’21