We want to use an Open Zeppelin Relayer SDK to send transactions to a Polygon node.
We are wondering if there is a way to make sure a transaction cannot be duplicated through the Relay SDK.
When the SDK answers with a transaction ID there is a way to track the result afterwards, but there is no way to know when the connection is lost, if the API in the other side processed the request that was just sent or not through the SDK.
Is there a way to have idempotency when using the Relayer SDK?
We found there is a way to read the transactions through the Nonce with the API that would allow us to find out if there is a transaction ID created which we haven't received and based on that data obtain the missing information on our side before sending another transaction to this relayer.