@symmio/trading-core 3.0.0 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/chains/types.d.ts +197 -0
- package/dist/core/chains/types.d.ts.map +1 -1
- package/dist/core/chains/types.js.map +1 -1
- package/dist/core/config/merge-chain-config.d.ts.map +1 -1
- package/dist/core/config/merge-chain-config.js +49 -19
- package/dist/core/config/merge-chain-config.js.map +1 -1
- package/dist/gasless/abortable-sleep.d.ts +17 -0
- package/dist/gasless/abortable-sleep.d.ts.map +1 -0
- package/dist/gasless/abortable-sleep.js +21 -0
- package/dist/gasless/abortable-sleep.js.map +1 -0
- package/dist/gasless/assert-gateway-coherence.d.ts +20 -0
- package/dist/gasless/assert-gateway-coherence.d.ts.map +1 -0
- package/dist/gasless/assert-gateway-coherence.js +26 -0
- package/dist/gasless/assert-gateway-coherence.js.map +1 -0
- package/dist/gasless/batch/calls.d.ts +121 -0
- package/dist/gasless/batch/calls.d.ts.map +1 -0
- package/dist/gasless/batch/calls.js +36 -0
- package/dist/gasless/batch/calls.js.map +1 -0
- package/dist/gasless/batch/index.d.ts +2 -0
- package/dist/gasless/batch/index.d.ts.map +1 -0
- package/dist/gasless/batch/resolve-gasless-batch.d.ts +118 -0
- package/dist/gasless/batch/resolve-gasless-batch.d.ts.map +1 -0
- package/dist/gasless/batch/resolve-gasless-batch.js +89 -0
- package/dist/gasless/batch/resolve-gasless-batch.js.map +1 -0
- package/dist/gasless/classify-gasless-failure.d.ts +99 -0
- package/dist/gasless/classify-gasless-failure.d.ts.map +1 -0
- package/dist/gasless/classify-gasless-failure.js +60 -0
- package/dist/gasless/classify-gasless-failure.js.map +1 -0
- package/dist/gasless/confirm-gasless-request/confirm-gasless-request.d.ts +121 -0
- package/dist/gasless/confirm-gasless-request/confirm-gasless-request.d.ts.map +1 -0
- package/dist/gasless/confirm-gasless-request/confirm-gasless-request.js +73 -0
- package/dist/gasless/confirm-gasless-request/confirm-gasless-request.js.map +1 -0
- package/dist/gasless/confirm-gasless-request/index.d.ts +2 -0
- package/dist/gasless/confirm-gasless-request/index.d.ts.map +1 -0
- package/dist/gasless/constants.d.ts +24 -0
- package/dist/gasless/constants.d.ts.map +1 -0
- package/dist/gasless/constants.js +6 -0
- package/dist/gasless/constants.js.map +1 -0
- package/dist/gasless/delegation-preflight.d.ts +39 -0
- package/dist/gasless/delegation-preflight.d.ts.map +1 -0
- package/dist/gasless/delegation-preflight.js +33 -0
- package/dist/gasless/delegation-preflight.js.map +1 -0
- package/dist/gasless/dispatch/maybe-relay-as-gasless.d.ts +73 -0
- package/dist/gasless/dispatch/maybe-relay-as-gasless.d.ts.map +1 -0
- package/dist/gasless/dispatch/maybe-relay-as-gasless.js +189 -0
- package/dist/gasless/dispatch/maybe-relay-as-gasless.js.map +1 -0
- package/dist/gasless/eip712.d.ts +79 -0
- package/dist/gasless/eip712.d.ts.map +1 -0
- package/dist/gasless/eip712.js +60 -0
- package/dist/gasless/eip712.js.map +1 -0
- package/dist/gasless/errors.d.ts +132 -0
- package/dist/gasless/errors.d.ts.map +1 -0
- package/dist/gasless/errors.js +110 -0
- package/dist/gasless/errors.js.map +1 -0
- package/dist/gasless/events.d.ts +37 -0
- package/dist/gasless/events.d.ts.map +1 -0
- package/dist/gasless/events.js +34 -0
- package/dist/gasless/events.js.map +1 -0
- package/dist/gasless/fallback.d.ts +58 -0
- package/dist/gasless/fallback.d.ts.map +1 -0
- package/dist/gasless/fallback.js +34 -0
- package/dist/gasless/fallback.js.map +1 -0
- package/dist/gasless/format-gasless-operation.d.ts +37 -0
- package/dist/gasless/format-gasless-operation.d.ts.map +1 -0
- package/dist/gasless/format-gasless-operation.js +33 -0
- package/dist/gasless/format-gasless-operation.js.map +1 -0
- package/dist/gasless/gasless-url.d.ts +82 -0
- package/dist/gasless/gasless-url.d.ts.map +1 -0
- package/dist/gasless/gasless-url.js +70 -0
- package/dist/gasless/gasless-url.js.map +1 -0
- package/dist/gasless/gasless-wallet-execute/calls.d.ts +73 -0
- package/dist/gasless/gasless-wallet-execute/calls.d.ts.map +1 -0
- package/dist/gasless/gasless-wallet-execute/calls.js +24 -0
- package/dist/gasless/gasless-wallet-execute/calls.js.map +1 -0
- package/dist/gasless/gasless-wallet-execute/gasless-wallet-execute.d.ts +148 -0
- package/dist/gasless/gasless-wallet-execute/gasless-wallet-execute.d.ts.map +1 -0
- package/dist/gasless/gasless-wallet-execute/gasless-wallet-execute.js +120 -0
- package/dist/gasless/gasless-wallet-execute/gasless-wallet-execute.js.map +1 -0
- package/dist/gasless/gasless-wallet-execute/index.d.ts +5 -0
- package/dist/gasless/gasless-wallet-execute/index.d.ts.map +1 -0
- package/dist/gasless/gasless-wallet-execute/query.d.ts +18 -0
- package/dist/gasless/gasless-wallet-execute/query.d.ts.map +1 -0
- package/dist/gasless/gasless-wallet-execute/query.js +12 -0
- package/dist/gasless/gasless-wallet-execute/query.js.map +1 -0
- package/dist/gasless/gasless-wallet-execute/selectors.d.ts +38 -0
- package/dist/gasless/gasless-wallet-execute/selectors.d.ts.map +1 -0
- package/dist/gasless/gasless-wallet-execute/selectors.js +15 -0
- package/dist/gasless/gasless-wallet-execute/selectors.js.map +1 -0
- package/dist/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.d.ts +72 -0
- package/dist/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.d.ts.map +1 -0
- package/dist/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.js +42 -0
- package/dist/gasless/get-gasless-batch-fee-quote/get-gasless-batch-fee-quote.js.map +1 -0
- package/dist/gasless/get-gasless-batch-fee-quote/index.d.ts +3 -0
- package/dist/gasless/get-gasless-batch-fee-quote/index.d.ts.map +1 -0
- package/dist/gasless/get-gasless-batch-fee-quote/query.d.ts +47 -0
- package/dist/gasless/get-gasless-batch-fee-quote/query.d.ts.map +1 -0
- package/dist/gasless/get-gasless-batch-fee-quote/query.js +50 -0
- package/dist/gasless/get-gasless-batch-fee-quote/query.js.map +1 -0
- package/dist/gasless/get-gasless-deposit-policy/get-gasless-deposit-policy.d.ts +80 -0
- package/dist/gasless/get-gasless-deposit-policy/get-gasless-deposit-policy.d.ts.map +1 -0
- package/dist/gasless/get-gasless-deposit-policy/get-gasless-deposit-policy.js +61 -0
- package/dist/gasless/get-gasless-deposit-policy/get-gasless-deposit-policy.js.map +1 -0
- package/dist/gasless/get-gasless-deposit-policy/index.d.ts +3 -0
- package/dist/gasless/get-gasless-deposit-policy/index.d.ts.map +1 -0
- package/dist/gasless/get-gasless-deposit-policy/query.d.ts +51 -0
- package/dist/gasless/get-gasless-deposit-policy/query.d.ts.map +1 -0
- package/dist/gasless/get-gasless-deposit-policy/query.js +25 -0
- package/dist/gasless/get-gasless-deposit-policy/query.js.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/encode-relay-batch-call-data.d.ts +27 -0
- package/dist/gasless/get-gasless-fee-quote/encode-relay-batch-call-data.d.ts.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/encode-relay-batch-call-data.js +22 -0
- package/dist/gasless/get-gasless-fee-quote/encode-relay-batch-call-data.js.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/fee-quote-errors.d.ts +61 -0
- package/dist/gasless/get-gasless-fee-quote/fee-quote-errors.d.ts.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/fee-quote-errors.js +59 -0
- package/dist/gasless/get-gasless-fee-quote/fee-quote-errors.js.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/get-gasless-fee-quote.d.ts +79 -0
- package/dist/gasless/get-gasless-fee-quote/get-gasless-fee-quote.d.ts.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/get-gasless-fee-quote.js +53 -0
- package/dist/gasless/get-gasless-fee-quote/get-gasless-fee-quote.js.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/index.d.ts +4 -0
- package/dist/gasless/get-gasless-fee-quote/index.d.ts.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/query.d.ts +41 -0
- package/dist/gasless/get-gasless-fee-quote/query.d.ts.map +1 -0
- package/dist/gasless/get-gasless-fee-quote/query.js +31 -0
- package/dist/gasless/get-gasless-fee-quote/query.js.map +1 -0
- package/dist/gasless/get-gasless-request/get-gasless-request.d.ts +51 -0
- package/dist/gasless/get-gasless-request/get-gasless-request.d.ts.map +1 -0
- package/dist/gasless/get-gasless-request/get-gasless-request.js +15 -0
- package/dist/gasless/get-gasless-request/get-gasless-request.js.map +1 -0
- package/dist/gasless/get-gasless-request/index.d.ts +4 -0
- package/dist/gasless/get-gasless-request/index.d.ts.map +1 -0
- package/dist/gasless/get-gasless-request/query.d.ts +64 -0
- package/dist/gasless/get-gasless-request/query.d.ts.map +1 -0
- package/dist/gasless/get-gasless-request/query.js +42 -0
- package/dist/gasless/get-gasless-request/query.js.map +1 -0
- package/dist/gasless/get-gasless-request/to-gasless-request.d.ts +26 -0
- package/dist/gasless/get-gasless-request/to-gasless-request.d.ts.map +1 -0
- package/dist/gasless/get-gasless-request/to-gasless-request.js +62 -0
- package/dist/gasless/get-gasless-request/to-gasless-request.js.map +1 -0
- package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.d.ts +40 -0
- package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.d.ts.map +1 -0
- package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.js +15 -0
- package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.js.map +1 -0
- package/dist/gasless/get-gasless-request-transactions/index.d.ts +4 -0
- package/dist/gasless/get-gasless-request-transactions/index.d.ts.map +1 -0
- package/dist/gasless/get-gasless-request-transactions/query.d.ts +75 -0
- package/dist/gasless/get-gasless-request-transactions/query.d.ts.map +1 -0
- package/dist/gasless/get-gasless-request-transactions/query.js +37 -0
- package/dist/gasless/get-gasless-request-transactions/query.js.map +1 -0
- package/dist/gasless/get-gasless-request-transactions/to-gasless-request-transaction.d.ts +21 -0
- package/dist/gasless/get-gasless-request-transactions/to-gasless-request-transaction.d.ts.map +1 -0
- package/dist/gasless/get-gasless-request-transactions/to-gasless-request-transaction.js +27 -0
- package/dist/gasless/get-gasless-request-transactions/to-gasless-request-transaction.js.map +1 -0
- package/dist/gasless/get-gasless-wallet-address/get-gasless-wallet-address.d.ts +48 -0
- package/dist/gasless/get-gasless-wallet-address/get-gasless-wallet-address.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-address/get-gasless-wallet-address.js +20 -0
- package/dist/gasless/get-gasless-wallet-address/get-gasless-wallet-address.js.map +1 -0
- package/dist/gasless/get-gasless-wallet-address/index.d.ts +3 -0
- package/dist/gasless/get-gasless-wallet-address/index.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-address/query.d.ts +46 -0
- package/dist/gasless/get-gasless-wallet-address/query.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-address/query.js +25 -0
- package/dist/gasless/get-gasless-wallet-address/query.js.map +1 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/get-gasless-wallet-creation-fee.d.ts +57 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/get-gasless-wallet-creation-fee.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/get-gasless-wallet-creation-fee.js +17 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/get-gasless-wallet-creation-fee.js.map +1 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/index.d.ts +3 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/index.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/query.d.ts +51 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/query.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/query.js +25 -0
- package/dist/gasless/get-gasless-wallet-creation-fee/query.js.map +1 -0
- package/dist/gasless/get-gasless-wallet-nonce/get-gasless-wallet-nonce.d.ts +51 -0
- package/dist/gasless/get-gasless-wallet-nonce/get-gasless-wallet-nonce.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-nonce/get-gasless-wallet-nonce.js +21 -0
- package/dist/gasless/get-gasless-wallet-nonce/get-gasless-wallet-nonce.js.map +1 -0
- package/dist/gasless/get-gasless-wallet-nonce/index.d.ts +3 -0
- package/dist/gasless/get-gasless-wallet-nonce/index.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-nonce/query.d.ts +47 -0
- package/dist/gasless/get-gasless-wallet-nonce/query.d.ts.map +1 -0
- package/dist/gasless/get-gasless-wallet-nonce/query.js +25 -0
- package/dist/gasless/get-gasless-wallet-nonce/query.js.map +1 -0
- package/dist/gasless/get-session-key-selectors.d.ts +83 -0
- package/dist/gasless/get-session-key-selectors.d.ts.map +1 -0
- package/dist/gasless/get-session-key-selectors.js +25 -0
- package/dist/gasless/get-session-key-selectors.js.map +1 -0
- package/dist/gasless/http.d.ts +229 -0
- package/dist/gasless/http.d.ts.map +1 -0
- package/dist/gasless/http.js +165 -0
- package/dist/gasless/http.js.map +1 -0
- package/dist/gasless/index.d.ts +34 -0
- package/dist/gasless/index.d.ts.map +1 -0
- package/dist/gasless/is-newer-gasless-request.d.ts +32 -0
- package/dist/gasless/is-newer-gasless-request.d.ts.map +1 -0
- package/dist/gasless/is-newer-gasless-request.js +21 -0
- package/dist/gasless/is-newer-gasless-request.js.map +1 -0
- package/dist/gasless/nonce-lock.d.ts +180 -0
- package/dist/gasless/nonce-lock.d.ts.map +1 -0
- package/dist/gasless/nonce-lock.js +102 -0
- package/dist/gasless/nonce-lock.js.map +1 -0
- package/dist/gasless/observe-gasless-request.d.ts +65 -0
- package/dist/gasless/observe-gasless-request.d.ts.map +1 -0
- package/dist/gasless/observe-gasless-request.js +56 -0
- package/dist/gasless/observe-gasless-request.js.map +1 -0
- package/dist/gasless/query-poll-delay.d.ts +39 -0
- package/dist/gasless/query-poll-delay.d.ts.map +1 -0
- package/dist/gasless/query-poll-delay.js +14 -0
- package/dist/gasless/query-poll-delay.js.map +1 -0
- package/dist/gasless/relay-gasless-batch/index.d.ts +3 -0
- package/dist/gasless/relay-gasless-batch/index.d.ts.map +1 -0
- package/dist/gasless/relay-gasless-batch/query.d.ts +18 -0
- package/dist/gasless/relay-gasless-batch/query.d.ts.map +1 -0
- package/dist/gasless/relay-gasless-batch/query.js +12 -0
- package/dist/gasless/relay-gasless-batch/query.js.map +1 -0
- package/dist/gasless/relay-gasless-batch/relay-gasless-batch.d.ts +106 -0
- package/dist/gasless/relay-gasless-batch/relay-gasless-batch.d.ts.map +1 -0
- package/dist/gasless/relay-gasless-batch/relay-gasless-batch.js +145 -0
- package/dist/gasless/relay-gasless-batch/relay-gasless-batch.js.map +1 -0
- package/dist/gasless/relay-gasless-batch/sign-gasless-batch.d.ts +36 -0
- package/dist/gasless/relay-gasless-batch/sign-gasless-batch.d.ts.map +1 -0
- package/dist/gasless/relay-gasless-batch/sign-gasless-batch.js +24 -0
- package/dist/gasless/relay-gasless-batch/sign-gasless-batch.js.map +1 -0
- package/dist/gasless/relay-grant-delegation/index.d.ts +3 -0
- package/dist/gasless/relay-grant-delegation/index.d.ts.map +1 -0
- package/dist/gasless/relay-grant-delegation/query.d.ts +18 -0
- package/dist/gasless/relay-grant-delegation/query.d.ts.map +1 -0
- package/dist/gasless/relay-grant-delegation/query.js +12 -0
- package/dist/gasless/relay-grant-delegation/query.js.map +1 -0
- package/dist/gasless/relay-grant-delegation/relay-grant-delegation.d.ts +69 -0
- package/dist/gasless/relay-grant-delegation/relay-grant-delegation.d.ts.map +1 -0
- package/dist/gasless/relay-grant-delegation/relay-grant-delegation.js +57 -0
- package/dist/gasless/relay-grant-delegation/relay-grant-delegation.js.map +1 -0
- package/dist/gasless/relay-instant-operations/index.d.ts +3 -0
- package/dist/gasless/relay-instant-operations/index.d.ts.map +1 -0
- package/dist/gasless/relay-instant-operations/query.d.ts +18 -0
- package/dist/gasless/relay-instant-operations/query.d.ts.map +1 -0
- package/dist/gasless/relay-instant-operations/query.js +12 -0
- package/dist/gasless/relay-instant-operations/query.js.map +1 -0
- package/dist/gasless/relay-instant-operations/relay-instant-operations.d.ts +127 -0
- package/dist/gasless/relay-instant-operations/relay-instant-operations.d.ts.map +1 -0
- package/dist/gasless/relay-instant-operations/relay-instant-operations.js +42 -0
- package/dist/gasless/relay-instant-operations/relay-instant-operations.js.map +1 -0
- package/dist/gasless/relayable-writes.d.ts +163 -0
- package/dist/gasless/relayable-writes.d.ts.map +1 -0
- package/dist/gasless/relayable-writes.js +113 -0
- package/dist/gasless/relayable-writes.js.map +1 -0
- package/dist/gasless/resolve-gasless.d.ts +52 -0
- package/dist/gasless/resolve-gasless.d.ts.map +1 -0
- package/dist/gasless/resolve-gasless.js +19 -0
- package/dist/gasless/resolve-gasless.js.map +1 -0
- package/dist/gasless/resolve-wallet-identities.d.ts +30 -0
- package/dist/gasless/resolve-wallet-identities.d.ts.map +1 -0
- package/dist/gasless/resolve-wallet-identities.js +21 -0
- package/dist/gasless/resolve-wallet-identities.js.map +1 -0
- package/dist/gasless/resubmit-gasless-request/index.d.ts +3 -0
- package/dist/gasless/resubmit-gasless-request/index.d.ts.map +1 -0
- package/dist/gasless/resubmit-gasless-request/query.d.ts +19 -0
- package/dist/gasless/resubmit-gasless-request/query.d.ts.map +1 -0
- package/dist/gasless/resubmit-gasless-request/query.js +12 -0
- package/dist/gasless/resubmit-gasless-request/query.js.map +1 -0
- package/dist/gasless/resubmit-gasless-request/resubmit-gasless-request.d.ts +50 -0
- package/dist/gasless/resubmit-gasless-request/resubmit-gasless-request.d.ts.map +1 -0
- package/dist/gasless/resubmit-gasless-request/resubmit-gasless-request.js +52 -0
- package/dist/gasless/resubmit-gasless-request/resubmit-gasless-request.js.map +1 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/index.d.ts +3 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/index.d.ts.map +1 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/query.d.ts +18 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/query.d.ts.map +1 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/query.js +12 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/query.js.map +1 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/settle-gasless-deposit-existing-account.d.ts +66 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/settle-gasless-deposit-existing-account.d.ts.map +1 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/settle-gasless-deposit-existing-account.js +36 -0
- package/dist/gasless/settle-gasless-deposit-existing-account/settle-gasless-deposit-existing-account.js.map +1 -0
- package/dist/gasless/settle-gasless-deposit-new-account/index.d.ts +3 -0
- package/dist/gasless/settle-gasless-deposit-new-account/index.d.ts.map +1 -0
- package/dist/gasless/settle-gasless-deposit-new-account/query.d.ts +18 -0
- package/dist/gasless/settle-gasless-deposit-new-account/query.d.ts.map +1 -0
- package/dist/gasless/settle-gasless-deposit-new-account/query.js +12 -0
- package/dist/gasless/settle-gasless-deposit-new-account/query.js.map +1 -0
- package/dist/gasless/settle-gasless-deposit-new-account/settle-gasless-deposit-new-account.d.ts +106 -0
- package/dist/gasless/settle-gasless-deposit-new-account/settle-gasless-deposit-new-account.d.ts.map +1 -0
- package/dist/gasless/settle-gasless-deposit-new-account/settle-gasless-deposit-new-account.js +43 -0
- package/dist/gasless/settle-gasless-deposit-new-account/settle-gasless-deposit-new-account.js.map +1 -0
- package/dist/gasless/status-read-limiter.d.ts +44 -0
- package/dist/gasless/status-read-limiter.d.ts.map +1 -0
- package/dist/gasless/status-read-limiter.js +28 -0
- package/dist/gasless/status-read-limiter.js.map +1 -0
- package/dist/gasless/to-gasless-deposit-receipt.d.ts +61 -0
- package/dist/gasless/to-gasless-deposit-receipt.d.ts.map +1 -0
- package/dist/gasless/to-gasless-deposit-receipt.js +36 -0
- package/dist/gasless/to-gasless-deposit-receipt.js.map +1 -0
- package/dist/gasless/to-gasless-submit-receipt.d.ts +60 -0
- package/dist/gasless/to-gasless-submit-receipt.d.ts.map +1 -0
- package/dist/gasless/to-gasless-submit-receipt.js +26 -0
- package/dist/gasless/to-gasless-submit-receipt.js.map +1 -0
- package/dist/gasless/transient-read.d.ts +32 -0
- package/dist/gasless/transient-read.d.ts.map +1 -0
- package/dist/gasless/transient-read.js +28 -0
- package/dist/gasless/transient-read.js.map +1 -0
- package/dist/gasless/types/generated/gasless-deposits.d.ts +170 -0
- package/dist/gasless/types/generated/gasless-deposits.d.ts.map +1 -0
- package/dist/gasless/types/generated/gasless-operations.d.ts +260 -0
- package/dist/gasless/types/generated/gasless-operations.d.ts.map +1 -0
- package/dist/gasless/types.d.ts +493 -0
- package/dist/gasless/types.d.ts.map +1 -0
- package/dist/gasless/types.js +33 -0
- package/dist/gasless/types.js.map +1 -0
- package/dist/gasless/unconfirmed-submit.d.ts +132 -0
- package/dist/gasless/unconfirmed-submit.d.ts.map +1 -0
- package/dist/gasless/unconfirmed-submit.js +49 -0
- package/dist/gasless/unconfirmed-submit.js.map +1 -0
- package/dist/gasless/wait-for-gasless-request/index.d.ts +2 -0
- package/dist/gasless/wait-for-gasless-request/index.d.ts.map +1 -0
- package/dist/gasless/wait-for-gasless-request/wait-for-gasless-request.d.ts +114 -0
- package/dist/gasless/wait-for-gasless-request/wait-for-gasless-request.d.ts.map +1 -0
- package/dist/gasless/wait-for-gasless-request/wait-for-gasless-request.js +77 -0
- package/dist/gasless/wait-for-gasless-request/wait-for-gasless-request.js.map +1 -0
- package/dist/gasless/wallet-id.d.ts +42 -0
- package/dist/gasless/wallet-id.d.ts.map +1 -0
- package/dist/gasless/wallet-id.js +25 -0
- package/dist/gasless/wallet-id.js.map +1 -0
- package/dist/gasless/wire-parse.d.ts +33 -0
- package/dist/gasless/wire-parse.d.ts.map +1 -0
- package/dist/gasless/wire-parse.js +14 -0
- package/dist/gasless/wire-parse.js.map +1 -0
- package/dist/gasless/wire-types.d.ts +73 -0
- package/dist/gasless/wire-types.d.ts.map +1 -0
- package/dist/gasless/write-request-registry.d.ts +56 -0
- package/dist/gasless/write-request-registry.d.ts.map +1 -0
- package/dist/gasless/write-request-registry.js +22 -0
- package/dist/gasless/write-request-registry.js.map +1 -0
- package/dist/index.d.ts +82 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +568 -497
- package/dist/pools/listing-config/to-listing-config.js +2 -2
- package/dist/pools/listing-config/to-listing-config.js.map +1 -1
- package/dist/pools/market-detail/to-listing-market-detail.d.ts.map +1 -1
- package/dist/pools/market-detail/to-listing-market-detail.js +46 -40
- package/dist/pools/market-detail/to-listing-market-detail.js.map +1 -1
- package/dist/pools/markets/to-listing-market.d.ts.map +1 -1
- package/dist/pools/markets/to-listing-market.js +2 -1
- package/dist/pools/markets/to-listing-market.js.map +1 -1
- package/dist/pools/types/generated/listing-backend.d.ts +163 -16
- package/dist/pools/types/generated/listing-backend.d.ts.map +1 -1
- package/dist/pools/types/generated/listing-backend.js.map +1 -1
- package/dist/pools/types.d.ts +52 -2
- package/dist/pools/types.d.ts.map +1 -1
- package/dist/pools/types.js +6 -4
- package/dist/pools/types.js.map +1 -1
- package/dist/quotes/get-quote-funding/get-quote-funding.d.ts +3 -2
- package/dist/quotes/get-quote-funding/get-quote-funding.d.ts.map +1 -1
- package/dist/quotes/get-quote-funding/get-quote-funding.js.map +1 -1
- package/dist/quotes/get-quote-funding/types.d.ts +4 -2
- package/dist/quotes/get-quote-funding/types.d.ts.map +1 -1
- package/dist/quotes/get-quote-pending-funding/get-quote-pending-funding.d.ts +68 -0
- package/dist/quotes/get-quote-pending-funding/get-quote-pending-funding.d.ts.map +1 -0
- package/dist/quotes/get-quote-pending-funding/get-quote-pending-funding.js +34 -0
- package/dist/quotes/get-quote-pending-funding/get-quote-pending-funding.js.map +1 -0
- package/dist/quotes/get-quote-pending-funding/index.d.ts +4 -0
- package/dist/quotes/get-quote-pending-funding/index.d.ts.map +1 -0
- package/dist/quotes/get-quote-pending-funding/query.d.ts +58 -0
- package/dist/quotes/get-quote-pending-funding/query.d.ts.map +1 -0
- package/dist/quotes/get-quote-pending-funding/query.js +27 -0
- package/dist/quotes/get-quote-pending-funding/query.js.map +1 -0
- package/dist/quotes/get-quote-pending-funding/types.d.ts +19 -0
- package/dist/quotes/get-quote-pending-funding/types.d.ts.map +1 -0
- package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.d.ts +2 -1
- package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.d.ts.map +1 -1
- package/dist/quotes/get-quotes-events-by-type/get-quotes-events-by-type.js.map +1 -1
- package/dist/quotes/grouping/aggregate-group-funding.d.ts +9 -8
- package/dist/quotes/grouping/aggregate-group-funding.d.ts.map +1 -1
- package/dist/quotes/grouping/aggregate-group-funding.js.map +1 -1
- package/dist/quotes/grouping/partition-quotes.d.ts +30 -0
- package/dist/quotes/grouping/partition-quotes.d.ts.map +1 -1
- package/dist/quotes/grouping/partition-quotes.js +9 -6
- package/dist/quotes/grouping/partition-quotes.js.map +1 -1
- package/dist/quotes/index.d.ts +1 -0
- package/dist/quotes/index.d.ts.map +1 -1
- package/dist/quotes/unified-quote.d.ts +6 -6
- package/dist/quotes/unified-quote.js.map +1 -1
- package/dist/shared/errors/redact-url.d.ts +15 -0
- package/dist/shared/errors/redact-url.d.ts.map +1 -0
- package/dist/shared/errors/redact-url.js +9 -0
- package/dist/shared/errors/redact-url.js.map +1 -0
- package/dist/shared/errors/retry-after.d.ts +17 -0
- package/dist/shared/errors/retry-after.d.ts.map +1 -0
- package/dist/shared/errors/retry-after.js +16 -0
- package/dist/shared/errors/retry-after.js.map +1 -0
- package/dist/shared/errors/sanitized-api-error.d.ts +32 -0
- package/dist/shared/errors/sanitized-api-error.d.ts.map +1 -0
- package/dist/shared/errors/sanitized-api-error.js +41 -0
- package/dist/shared/errors/sanitized-api-error.js.map +1 -0
- package/dist/shared/errors/symm-error.d.ts +39 -4
- package/dist/shared/errors/symm-error.d.ts.map +1 -1
- package/dist/shared/errors/symm-error.js +29 -15
- package/dist/shared/errors/symm-error.js.map +1 -1
- package/dist/shared/types/properties.d.ts +53 -5
- package/dist/shared/types/properties.d.ts.map +1 -1
- package/dist/shared/utils/core-units.d.ts +82 -0
- package/dist/shared/utils/core-units.d.ts.map +1 -0
- package/dist/shared/utils/core-units.js +21 -0
- package/dist/shared/utils/core-units.js.map +1 -0
- package/dist/shared/utils/http-header.d.ts +16 -0
- package/dist/shared/utils/http-header.d.ts.map +1 -0
- package/dist/shared/utils/http-header.js +14 -0
- package/dist/shared/utils/http-header.js.map +1 -0
- package/dist/shared/utils/query.js +2 -1
- package/dist/shared/utils/query.js.map +1 -1
- package/dist/solvers/force-close/force-close-auto.d.ts +6 -2
- package/dist/solvers/force-close/force-close-auto.d.ts.map +1 -1
- package/dist/solvers/force-close/force-close-auto.js +2 -1
- package/dist/solvers/force-close/force-close-auto.js.map +1 -1
- package/dist/solvers/force-close/force-close-position.d.ts +9 -3
- package/dist/solvers/force-close/force-close-position.d.ts.map +1 -1
- package/dist/solvers/force-close/force-close-position.js +2 -1
- package/dist/solvers/force-close/force-close-position.js.map +1 -1
- package/dist/solvers/instant-open/instant-open/adapters/enigma-instant-open.js +12 -12
- package/dist/solvers/instant-open/instant-open/adapters/rasa-instant-open.js +7 -7
- package/dist/symmio-contracts/abi/index.d.ts +2 -0
- package/dist/symmio-contracts/abi/index.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/v0.8.6/gasless-layer.d.ts +2323 -0
- package/dist/symmio-contracts/abi/v0.8.6/gasless-layer.d.ts.map +1 -0
- package/dist/symmio-contracts/abi/v0.8.6/gasless-layer.js +2706 -0
- package/dist/symmio-contracts/abi/v0.8.6/gasless-layer.js.map +1 -0
- package/dist/symmio-contracts/abi/v0.8.6/gasless-wallet.d.ts +137 -0
- package/dist/symmio-contracts/abi/v0.8.6/gasless-wallet.d.ts.map +1 -0
- package/dist/symmio-contracts/abi/v0.8.6/gasless-wallet.js +145 -0
- package/dist/symmio-contracts/abi/v0.8.6/gasless-wallet.js.map +1 -0
- package/dist/symmio-contracts/abi/v0.8.6/index.d.ts +2 -0
- package/dist/symmio-contracts/abi/v0.8.6/index.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/v0.8.6/instant-layer.d.ts +1879 -37
- package/dist/symmio-contracts/abi/v0.8.6/instant-layer.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/v0.8.6/instant-layer.js +2180 -50
- package/dist/symmio-contracts/abi/v0.8.6/instant-layer.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/add-margin.d.ts +2 -2
- package/dist/symmio-contracts/account-layer/actions/add-margin.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/add-margin.js +34 -17
- package/dist/symmio-contracts/account-layer/actions/add-margin.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.d.ts +11 -2
- package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.js +33 -17
- package/dist/symmio-contracts/account-layer/actions/create-sub-accounts.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/delete-sub-account.d.ts +9 -2
- package/dist/symmio-contracts/account-layer/actions/delete-sub-account.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/delete-sub-account.js +33 -16
- package/dist/symmio-contracts/account-layer/actions/delete-sub-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.d.ts +8 -2
- package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.js +34 -17
- package/dist/symmio-contracts/account-layer/actions/deposit-and-allocate-for-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/deposit-for-account.d.ts +8 -2
- package/dist/symmio-contracts/account-layer/actions/deposit-for-account.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/deposit-for-account.js +34 -17
- package/dist/symmio-contracts/account-layer/actions/deposit-for-account.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/edit-account-name.d.ts +7 -2
- package/dist/symmio-contracts/account-layer/actions/edit-account-name.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/edit-account-name.js +34 -17
- package/dist/symmio-contracts/account-layer/actions/edit-account-name.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-info.d.ts +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-info.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-of.d.ts +9 -3
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-of.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/get-account-balance-of.js.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/remove-margin.d.ts +2 -2
- package/dist/symmio-contracts/account-layer/actions/remove-margin.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/actions/remove-margin.js +41 -20
- package/dist/symmio-contracts/account-layer/actions/remove-margin.js.map +1 -1
- package/dist/symmio-contracts/account-layer/types.d.ts +3 -1
- package/dist/symmio-contracts/account-layer/types.d.ts.map +1 -1
- package/dist/symmio-contracts/account-layer/types.js.map +1 -1
- package/dist/symmio-contracts/instant-layer/actions/finalize-revoke-delegation.d.ts +60 -0
- package/dist/symmio-contracts/instant-layer/actions/finalize-revoke-delegation.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/finalize-revoke-delegation.js +35 -0
- package/dist/symmio-contracts/instant-layer/actions/finalize-revoke-delegation.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/get-active-delegations.d.ts +91 -0
- package/dist/symmio-contracts/instant-layer/actions/get-active-delegations.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/get-active-delegations.js +19 -0
- package/dist/symmio-contracts/instant-layer/actions/get-active-delegations.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/get-instant-layer-nonce.d.ts +36 -0
- package/dist/symmio-contracts/instant-layer/actions/get-instant-layer-nonce.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/get-instant-layer-nonce.js +15 -0
- package/dist/symmio-contracts/instant-layer/actions/get-instant-layer-nonce.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/get-pending-revocation-etas.d.ts +79 -0
- package/dist/symmio-contracts/instant-layer/actions/get-pending-revocation-etas.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/get-pending-revocation-etas.js +32 -0
- package/dist/symmio-contracts/instant-layer/actions/get-pending-revocation-etas.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/get-revocation-cooldown.d.ts +43 -0
- package/dist/symmio-contracts/instant-layer/actions/get-revocation-cooldown.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/get-revocation-cooldown.js +14 -0
- package/dist/symmio-contracts/instant-layer/actions/get-revocation-cooldown.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/grant-delegation.d.ts +24 -3
- package/dist/symmio-contracts/instant-layer/actions/grant-delegation.d.ts.map +1 -1
- package/dist/symmio-contracts/instant-layer/actions/grant-delegation.js +48 -22
- package/dist/symmio-contracts/instant-layer/actions/grant-delegation.js.map +1 -1
- package/dist/symmio-contracts/instant-layer/actions/initiate-revoke-delegation.d.ts +62 -0
- package/dist/symmio-contracts/instant-layer/actions/initiate-revoke-delegation.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/actions/initiate-revoke-delegation.js +35 -0
- package/dist/symmio-contracts/instant-layer/actions/initiate-revoke-delegation.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/index.d.ts +12 -0
- package/dist/symmio-contracts/instant-layer/index.d.ts.map +1 -1
- package/dist/symmio-contracts/instant-layer/query/finalize-revoke-delegation.d.ts +22 -0
- package/dist/symmio-contracts/instant-layer/query/finalize-revoke-delegation.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/finalize-revoke-delegation.js +12 -0
- package/dist/symmio-contracts/instant-layer/query/finalize-revoke-delegation.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/get-active-delegations.d.ts +36 -0
- package/dist/symmio-contracts/instant-layer/query/get-active-delegations.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/get-active-delegations.js +29 -0
- package/dist/symmio-contracts/instant-layer/query/get-active-delegations.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/get-instant-layer-nonce.d.ts +39 -0
- package/dist/symmio-contracts/instant-layer/query/get-instant-layer-nonce.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/get-instant-layer-nonce.js +27 -0
- package/dist/symmio-contracts/instant-layer/query/get-instant-layer-nonce.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/get-is-delegation-active.js +7 -7
- package/dist/symmio-contracts/instant-layer/query/get-pending-revocation-etas.d.ts +42 -0
- package/dist/symmio-contracts/instant-layer/query/get-pending-revocation-etas.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/get-pending-revocation-etas.js +30 -0
- package/dist/symmio-contracts/instant-layer/query/get-pending-revocation-etas.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/get-revocation-cooldown.d.ts +36 -0
- package/dist/symmio-contracts/instant-layer/query/get-revocation-cooldown.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/get-revocation-cooldown.js +21 -0
- package/dist/symmio-contracts/instant-layer/query/get-revocation-cooldown.js.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/initiate-revoke-delegation.d.ts +22 -0
- package/dist/symmio-contracts/instant-layer/query/initiate-revoke-delegation.d.ts.map +1 -0
- package/dist/symmio-contracts/instant-layer/query/initiate-revoke-delegation.js +12 -0
- package/dist/symmio-contracts/instant-layer/query/initiate-revoke-delegation.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/allocate.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/allocate.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/allocate.js +2 -1
- package/dist/symmio-contracts/symmio/actions/allocate.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/approve-operational-fee.d.ts +87 -0
- package/dist/symmio-contracts/symmio/actions/approve-operational-fee.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/approve-operational-fee.js +38 -0
- package/dist/symmio-contracts/symmio/actions/approve-operational-fee.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.js +2 -1
- package/dist/symmio-contracts/symmio/actions/deallocate-and-initiate-withdraw.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/deallocate.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/deallocate.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/deallocate.js +2 -1
- package/dist/symmio-contracts/symmio/actions/deallocate.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.d.ts +15 -3
- package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.js +34 -17
- package/dist/symmio-contracts/symmio/actions/finalize-withdraw-request.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.js +2 -1
- package/dist/symmio-contracts/symmio/actions/force-cancel-close-request.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/force-cancel-quote.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/force-cancel-quote.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/force-cancel-quote.js +2 -1
- package/dist/symmio-contracts/symmio/actions/force-cancel-quote.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/get-operational-fee-allowance.d.ts +85 -0
- package/dist/symmio-contracts/symmio/actions/get-operational-fee-allowance.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/actions/get-operational-fee-allowance.js +29 -0
- package/dist/symmio-contracts/symmio/actions/get-operational-fee-allowance.js.map +1 -0
- package/dist/symmio-contracts/symmio/actions/initiate-withdraw.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/initiate-withdraw.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/initiate-withdraw.js +2 -1
- package/dist/symmio-contracts/symmio/actions/initiate-withdraw.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.js +2 -1
- package/dist/symmio-contracts/symmio/actions/request-cancel-withdraw.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.js +2 -1
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-close-request.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.js +2 -1
- package/dist/symmio-contracts/symmio/actions/request-to-cancel-quote.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/withdraw-auto.d.ts +9 -7
- package/dist/symmio-contracts/symmio/actions/withdraw-auto.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/withdraw-auto.js +24 -22
- package/dist/symmio-contracts/symmio/actions/withdraw-auto.js.map +1 -1
- package/dist/symmio-contracts/symmio/actions/withdraw.d.ts +2 -2
- package/dist/symmio-contracts/symmio/actions/withdraw.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/actions/withdraw.js +4 -2
- package/dist/symmio-contracts/symmio/actions/withdraw.js.map +1 -1
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/get-funding-fees-of-party-b.d.ts +43 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/get-funding-fees-of-party-b.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/get-funding-fees-of-party-b.js +15 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/get-funding-fees-of-party-b.js.map +1 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/index.d.ts +4 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/index.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/query.d.ts +43 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/query.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/query.js +25 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/query.js.map +1 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/types.d.ts +85 -0
- package/dist/symmio-contracts/symmio/get-funding-fees-of-party-b/types.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/index.d.ts +5 -0
- package/dist/symmio-contracts/symmio/index.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/internal/call-as-sub-account.d.ts +2 -1
- package/dist/symmio-contracts/symmio/internal/call-as-sub-account.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/internal/call-as-sub-account.js +46 -17
- package/dist/symmio-contracts/symmio/internal/call-as-sub-account.js.map +1 -1
- package/dist/symmio-contracts/symmio/query/approve-operational-fee.d.ts +18 -0
- package/dist/symmio-contracts/symmio/query/approve-operational-fee.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/approve-operational-fee.js +12 -0
- package/dist/symmio-contracts/symmio/query/approve-operational-fee.js.map +1 -0
- package/dist/symmio-contracts/symmio/query/get-operational-fee-allowance.d.ts +35 -0
- package/dist/symmio-contracts/symmio/query/get-operational-fee-allowance.d.ts.map +1 -0
- package/dist/symmio-contracts/symmio/query/get-operational-fee-allowance.js +28 -0
- package/dist/symmio-contracts/symmio/query/get-operational-fee-allowance.js.map +1 -0
- package/dist/symmio-contracts/symmio/types.d.ts +6 -6
- package/dist/symmio-contracts/symmio/types.js.map +1 -1
- package/dist/symmio-subgraph/executeSubgraphRequest.d.ts +2 -1
- package/dist/symmio-subgraph/executeSubgraphRequest.d.ts.map +1 -1
- package/dist/symmio-subgraph/executeSubgraphRequest.js +24 -21
- package/dist/symmio-subgraph/executeSubgraphRequest.js.map +1 -1
- package/dist/websocket/gasless/close-code-policy.d.ts +51 -0
- package/dist/websocket/gasless/close-code-policy.d.ts.map +1 -0
- package/dist/websocket/gasless/close-code-policy.js +75 -0
- package/dist/websocket/gasless/close-code-policy.js.map +1 -0
- package/dist/websocket/gasless/gasless-stream-hub.d.ts +61 -0
- package/dist/websocket/gasless/gasless-stream-hub.d.ts.map +1 -0
- package/dist/websocket/gasless/gasless-stream-hub.js +311 -0
- package/dist/websocket/gasless/gasless-stream-hub.js.map +1 -0
- package/dist/websocket/gasless/index.d.ts +7 -0
- package/dist/websocket/gasless/index.d.ts.map +1 -0
- package/dist/websocket/gasless/parse-gasless-stream-message.d.ts +82 -0
- package/dist/websocket/gasless/parse-gasless-stream-message.d.ts.map +1 -0
- package/dist/websocket/gasless/parse-gasless-stream-message.js +136 -0
- package/dist/websocket/gasless/parse-gasless-stream-message.js.map +1 -0
- package/dist/websocket/gasless/resolve-gasless-stream-url.d.ts +58 -0
- package/dist/websocket/gasless/resolve-gasless-stream-url.d.ts.map +1 -0
- package/dist/websocket/gasless/resolve-gasless-stream-url.js +59 -0
- package/dist/websocket/gasless/resolve-gasless-stream-url.js.map +1 -0
- package/dist/websocket/gasless/types.d.ts +48 -0
- package/dist/websocket/gasless/types.d.ts.map +1 -0
- package/dist/websocket/gasless/watch-gasless-request.d.ts +72 -0
- package/dist/websocket/gasless/watch-gasless-request.d.ts.map +1 -0
- package/dist/websocket/gasless/watch-gasless-request.js +35 -0
- package/dist/websocket/gasless/watch-gasless-request.js.map +1 -0
- package/dist/websocket/index.d.ts +1 -0
- package/dist/websocket/index.d.ts.map +1 -1
- package/dist/websocket/socket/create-reconnecting-socket.d.ts +39 -6
- package/dist/websocket/socket/create-reconnecting-socket.d.ts.map +1 -1
- package/dist/websocket/socket/create-reconnecting-socket.js +92 -53
- package/dist/websocket/socket/create-reconnecting-socket.js.map +1 -1
- package/dist/websocket/socket/socket-status.d.ts +7 -2
- package/dist/websocket/socket/socket-status.d.ts.map +1 -1
- package/dist/websocket/socket/socket-status.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { gaslessLayerAbi as e } from "../../symmio-contracts/abi/v0.8.6/gasless-layer.js";
|
|
2
|
+
import { SymmError as t } from "../../shared/errors/symm-error.js";
|
|
3
|
+
import { resolveGaslessService as n } from "../resolve-gasless.js";
|
|
4
|
+
import { resolveGaslessFeeQuoteError as r } from "./fee-quote-errors.js";
|
|
5
|
+
import { assertGaslessWalletId as i } from "../wallet-id.js";
|
|
6
|
+
import { encodeRelayBatchCallData as a } from "./encode-relay-batch-call-data.js";
|
|
7
|
+
//#region src/gasless/get-gasless-fee-quote/get-gasless-fee-quote.ts
|
|
8
|
+
async function o(o, s) {
|
|
9
|
+
let { chainId: c, operations: l } = s;
|
|
10
|
+
if (l.length === 0) throw new t("validation", "GASLESS_EMPTY_BATCH", "Gasless: a fee quote needs at least one operation.");
|
|
11
|
+
let u = l.map((e, t) => i(e.walletId ?? 0n, `operations[${t}].walletId`)), d = n(o, { chainId: c }), f = o.getClient({ chainId: c }), p = a({
|
|
12
|
+
operations: l.map((e) => e.operation),
|
|
13
|
+
walletIds: u
|
|
14
|
+
}), m;
|
|
15
|
+
try {
|
|
16
|
+
m = await f.readContract({
|
|
17
|
+
address: d.gaslessLayerAddress,
|
|
18
|
+
abi: e,
|
|
19
|
+
functionName: "previewFeeQuote",
|
|
20
|
+
args: [p, 0n]
|
|
21
|
+
});
|
|
22
|
+
} catch (e) {
|
|
23
|
+
throw await r(e, {
|
|
24
|
+
client: f,
|
|
25
|
+
gaslessLayerAddress: d.gaslessLayerAddress
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
collateralToken: m.collateralToken,
|
|
30
|
+
collateralDecimals: m.collateralDecimals,
|
|
31
|
+
blockNumber: m.blockNumber,
|
|
32
|
+
timestamp: m.timestamp,
|
|
33
|
+
exact: m.exact,
|
|
34
|
+
payments: m.payments.map((e) => ({
|
|
35
|
+
account: e.account,
|
|
36
|
+
payer: e.payer,
|
|
37
|
+
source: e.source,
|
|
38
|
+
operationalFee18: e.operationalFee18,
|
|
39
|
+
depositFee18: e.depositFee18,
|
|
40
|
+
walletCreationFee18: e.walletCreationFee18,
|
|
41
|
+
nativeTopUpFee18: e.nativeTopUpFee18,
|
|
42
|
+
nativeGasCollateral18: e.nativeGasCollateral18
|
|
43
|
+
})),
|
|
44
|
+
totalFee18: m.totalFee18,
|
|
45
|
+
totalDebit18: m.totalDebit18,
|
|
46
|
+
freeOpsApplied: m.freeOpsApplied,
|
|
47
|
+
nativeSponsored: m.nativeSponsored
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { o as getGaslessFeeQuote };
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=get-gasless-fee-quote.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-gasless-fee-quote.js","names":[],"sources":["../../../src/gasless/get-gasless-fee-quote/get-gasless-fee-quote.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport { SymmError } from \"../../shared/errors/symm-error\";\nimport type { ChainIdParameter, Compute } from \"../../shared/types/properties\";\nimport type { SignedOperation } from \"../../solvers/instant-open/shared/types\";\nimport { gaslessLayerAbi } from \"../../symmio-contracts/abi/v0.8.6/gasless-layer\";\nimport { resolveGaslessService } from \"../resolve-gasless\";\nimport type { GaslessFeeQuote, GaslessFeeSource } from \"../types\";\nimport { assertGaslessWalletId } from \"../wallet-id\";\nimport { encodeRelayBatchCallData } from \"./encode-relay-batch-call-data\";\nimport { resolveGaslessFeeQuoteError } from \"./fee-quote-errors\";\n\n/** One operation of a batch to quote, with the GaslessWallet it runs against. */\nexport interface GaslessFeeQuoteOperation {\n /**\n * The exact operation about to be relayed — final calldata, signer account\n * and replay header. No signature is needed: the quote never verifies one.\n */\n operation: SignedOperation;\n /**\n * The GaslessWallet id the operation is relayed with. Omit (or pass `0n`) for\n * ordinary InstantLayer operations, delegation grants, and wallet-zero\n * operations; pass the wallet's id for an operation that executes from a\n * positive-id wallet. Range `0n` through `2^256 - 1`.\n */\n walletId?: bigint;\n}\n\n/**\n * Parameters for {@link getGaslessFeeQuote}.\n */\nexport type GetGaslessFeeQuoteParameters = Compute<\n ChainIdParameter & {\n /**\n * The full batch, in relay order. Quote the whole batch rather than one\n * operation at a time: free-quota slots and first-use wallet creation fees\n * are allocated across the batch.\n */\n operations: readonly GaslessFeeQuoteOperation[];\n }\n>;\n\n/** Return type of {@link getGaslessFeeQuote}. */\nexport type GetGaslessFeeQuoteReturnType = GaslessFeeQuote;\n\n/**\n * Quote what the GaslessLayer would charge to relay a batch — **before** asking\n * the user to sign anything.\n *\n * Encodes the batch as the `relayInstantBatch` call the relayer submits (with\n * placeholder signatures) and reads `previewFeeQuote(callData, 0)`. The quote\n * applies selector fees, payer multipliers, the daily free quota, and the\n * one-time creation fee of every undeployed GaslessWallet the batch executes\n * from — any wallet id, wallet `0` included — and prices a wallet operation by\n * its inner call selectors. Every amount is 18-decimal.\n *\n * It is a preview, not a guarantee: `exact` is always `false`, the charge and its\n * payer can change before execution, and the relayer's own simulation is\n * authoritative. The quote does not check that the payer can afford it.\n *\n * Requires a multi-wallet GaslessLayer; a deployment that predates it throws\n * `GASLESS_LAYER_INTERFACE_UNSUPPORTED`. When the quote reverts with empty data,\n * one more read (quoting empty calldata) tells such a deployment apart from a\n * batch the GaslessLayer cannot decode.\n *\n * @param config - The SDK config.\n * @param parameters - The batch to quote and an optional chain id.\n * @returns The fee quote.\n * @throws {SymmError} `GASLESS_EMPTY_BATCH` for an empty batch, or `GASLESS_WALLET_ID_INVALID`\n * for a wallet id outside the `uint256` range — both before any RPC call.\n * @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION`.\n * @throws {SymmError} `GASLESS_FREE_QUOTA_EXHAUSTED` when a billing account's daily free\n * quota is spent and the GaslessLayer refuses paid operations (see\n * {@link isGaslessFreeQuotaExhaustedError}).\n * @throws {SymmError} `GASLESS_FEE_QUOTE_REVERTED` when the contract rejects the batch\n * (e.g. a wallet operation whose target is not the wallet of its id) or cannot\n * decode it (malformed wallet `execute` calldata, which reverts with empty data).\n * @throws {SymmError} `GASLESS_LAYER_INTERFACE_UNSUPPORTED` when the configured address\n * has no `previewFeeQuote`.\n * @throws Viem transport errors, unchanged — and the original viem revert, unchanged,\n * when an empty-data revert cannot be classified because the follow-up read failed.\n *\n * @example\n * ```ts\n * const quote = await getGaslessFeeQuote(config, {\n * operations: [{ operation }, { operation: walletOperation, walletId: 2n }],\n * });\n * const fee = quote.totalFee18; // 18-decimal\n * ```\n */\nexport async function getGaslessFeeQuote(\n config: Config,\n parameters: GetGaslessFeeQuoteParameters,\n): Promise<GetGaslessFeeQuoteReturnType> {\n const { chainId, operations } = parameters;\n\n if (operations.length === 0) {\n throw new SymmError(\"validation\", \"GASLESS_EMPTY_BATCH\", \"Gasless: a fee quote needs at least one operation.\");\n }\n const walletIds = operations.map((entry, index) =>\n assertGaslessWalletId(entry.walletId ?? 0n, `operations[${index}].walletId`),\n );\n\n const gasless = resolveGaslessService(config, { chainId });\n const client = config.getClient({ chainId });\n\n const callData = encodeRelayBatchCallData({ operations: operations.map((entry) => entry.operation), walletIds });\n\n let quote;\n try {\n quote = await client.readContract({\n address: gasless.gaslessLayerAddress,\n abi: gaslessLayerAbi,\n functionName: \"previewFeeQuote\",\n args: [callData, 0n],\n });\n } catch (err) {\n throw await resolveGaslessFeeQuoteError(err, { client, gaslessLayerAddress: gasless.gaslessLayerAddress });\n }\n\n return {\n collateralToken: quote.collateralToken,\n collateralDecimals: quote.collateralDecimals,\n blockNumber: quote.blockNumber,\n timestamp: quote.timestamp,\n exact: quote.exact,\n payments: quote.payments.map((payment) => ({\n account: payment.account,\n payer: payment.payer,\n /** The contract writes `uint8(FeeSource.X)`, so the value is always a member. */\n source: payment.source as GaslessFeeSource,\n operationalFee18: payment.operationalFee18,\n depositFee18: payment.depositFee18,\n walletCreationFee18: payment.walletCreationFee18,\n nativeTopUpFee18: payment.nativeTopUpFee18,\n nativeGasCollateral18: payment.nativeGasCollateral18,\n })),\n totalFee18: quote.totalFee18,\n totalDebit18: quote.totalDebit18,\n freeOpsApplied: quote.freeOpsApplied,\n nativeSponsored: quote.nativeSponsored,\n };\n}\n"],"mappings":";;;;;;;AAyFA,eAAsB,EACpB,GACA,GACuC;CACvC,IAAM,EAAE,YAAS,kBAAe;CAEhC,IAAI,EAAW,WAAW,GACxB,MAAM,IAAI,EAAU,cAAc,uBAAuB,oDAAoD;CAE/G,IAAM,IAAY,EAAW,KAAK,GAAO,MACvC,EAAsB,EAAM,YAAY,IAAI,cAAc,EAAM,WAAW,CAC7E,GAEM,IAAU,EAAsB,GAAQ,EAAE,WAAQ,CAAC,GACnD,IAAS,EAAO,UAAU,EAAE,WAAQ,CAAC,GAErC,IAAW,EAAyB;EAAE,YAAY,EAAW,KAAK,MAAU,EAAM,SAAS;EAAG;CAAU,CAAC,GAE3G;CACJ,IAAI;EACF,IAAQ,MAAM,EAAO,aAAa;GAChC,SAAS,EAAQ;GACjB,KAAK;GACL,cAAc;GACd,MAAM,CAAC,GAAU,EAAE;EACrB,CAAC;CACH,SAAS,GAAK;EACZ,MAAM,MAAM,EAA4B,GAAK;GAAE;GAAQ,qBAAqB,EAAQ;EAAoB,CAAC;CAC3G;CAEA,OAAO;EACL,iBAAiB,EAAM;EACvB,oBAAoB,EAAM;EAC1B,aAAa,EAAM;EACnB,WAAW,EAAM;EACjB,OAAO,EAAM;EACb,UAAU,EAAM,SAAS,KAAK,OAAa;GACzC,SAAS,EAAQ;GACjB,OAAO,EAAQ;GAEf,QAAQ,EAAQ;GAChB,kBAAkB,EAAQ;GAC1B,cAAc,EAAQ;GACtB,qBAAqB,EAAQ;GAC7B,kBAAkB,EAAQ;GAC1B,uBAAuB,EAAQ;EACjC,EAAE;EACF,YAAY,EAAM;EAClB,cAAc,EAAM;EACpB,gBAAgB,EAAM;EACtB,iBAAiB,EAAM;CACzB;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-fee-quote/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Config } from '../../core/config/index.js';
|
|
2
|
+
import { Compute, ConfigKeyParameter, ExactPartial } from '../../shared/types/properties.js';
|
|
3
|
+
import { QueryParameter, SymmioQueryOptions } from '../../shared/types/query.js';
|
|
4
|
+
import { GetGaslessFeeQuoteParameters, GetGaslessFeeQuoteReturnType } from './get-gasless-fee-quote.js';
|
|
5
|
+
/** Data resolved by the {@link getGaslessFeeQuoteQueryOptions} query. */
|
|
6
|
+
export type GetGaslessFeeQuoteData = GetGaslessFeeQuoteReturnType;
|
|
7
|
+
/**
|
|
8
|
+
* Build the TanStack Query key for {@link getGaslessFeeQuoteQueryOptions}.
|
|
9
|
+
*
|
|
10
|
+
* An omitted `walletId` keys as `0n`, so `{ operation }` and
|
|
11
|
+
* `{ operation, walletId: 0n }` share one cache entry — they quote the same call.
|
|
12
|
+
*
|
|
13
|
+
* @param options - Partial query parameters.
|
|
14
|
+
* @returns A stable, hashable query key.
|
|
15
|
+
*/
|
|
16
|
+
export declare function getGaslessFeeQuoteQueryKey(options?: Compute<ExactPartial<GetGaslessFeeQuoteParameters> & ConfigKeyParameter>): readonly ["getGaslessFeeQuote", Record<string, unknown>];
|
|
17
|
+
/** Query-key type produced by {@link getGaslessFeeQuoteQueryKey}. */
|
|
18
|
+
export type GetGaslessFeeQuoteQueryKey = ReturnType<typeof getGaslessFeeQuoteQueryKey>;
|
|
19
|
+
/**
|
|
20
|
+
* Options accepted by {@link getGaslessFeeQuoteQueryOptions}.
|
|
21
|
+
*/
|
|
22
|
+
export type GetGaslessFeeQuoteOptions = Compute<GetGaslessFeeQuoteParameters & QueryParameter<GetGaslessFeeQuoteData, Error, GetGaslessFeeQuoteData, GetGaslessFeeQuoteQueryKey>>;
|
|
23
|
+
/** TanStack Query options returned by {@link getGaslessFeeQuoteQueryOptions}. */
|
|
24
|
+
export type GetGaslessFeeQuoteQueryOptions = SymmioQueryOptions<GetGaslessFeeQuoteData, Error, GetGaslessFeeQuoteData, GetGaslessFeeQuoteQueryKey>;
|
|
25
|
+
/**
|
|
26
|
+
* Build TanStack Query options for {@link getGaslessFeeQuote}.
|
|
27
|
+
*
|
|
28
|
+
* The key covers every operation field and wallet id, so a changed nonce,
|
|
29
|
+
* calldata or wallet re-quotes instead of reusing a stale quote.
|
|
30
|
+
*
|
|
31
|
+
* @param config - The SDK config.
|
|
32
|
+
* @param options - Query parameters and TanStack overrides.
|
|
33
|
+
* @returns Options to pass to `useQuery` / `queryClient.fetchQuery`.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* useQuery(getGaslessFeeQuoteQueryOptions(config, { operations: [{ operation }] }));
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function getGaslessFeeQuoteQueryOptions(config: Config, options: GetGaslessFeeQuoteOptions): GetGaslessFeeQuoteQueryOptions;
|
|
41
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-fee-quote/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnF,OAAO,EAEL,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,EAClC,MAAM,yBAAyB,CAAC;AAEjC,yEAAyE;AACzE,MAAM,MAAM,sBAAsB,GAAG,4BAA4B,CAAC;AAElE;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,OAAO,CAAC,YAAY,CAAC,4BAA4B,CAAC,GAAG,kBAAkB,CAAM,4DAIvF;AAED,qEAAqE;AACrE,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,4BAA4B,GAC1B,cAAc,CAAC,sBAAsB,EAAE,KAAK,EAAE,sBAAsB,EAAE,0BAA0B,CAAC,CACpG,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,8BAA8B,GAAG,kBAAkB,CAC7D,sBAAsB,EACtB,KAAK,EACL,sBAAsB,EACtB,0BAA0B,CAC3B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,yBAAyB,GACjC,8BAA8B,CAUhC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { getGaslessFeeQuote as e } from "./get-gasless-fee-quote.js";
|
|
2
|
+
import { filterQueryOptions as t } from "../../shared/utils/query.js";
|
|
3
|
+
//#region src/gasless/get-gasless-fee-quote/query.ts
|
|
4
|
+
function n(e = {}) {
|
|
5
|
+
let n = e.operations?.map((e) => ({
|
|
6
|
+
...e,
|
|
7
|
+
walletId: e.walletId ?? 0n
|
|
8
|
+
}));
|
|
9
|
+
return ["getGaslessFeeQuote", t({
|
|
10
|
+
...e,
|
|
11
|
+
operations: n
|
|
12
|
+
})];
|
|
13
|
+
}
|
|
14
|
+
function r(t, r) {
|
|
15
|
+
return {
|
|
16
|
+
...r.query,
|
|
17
|
+
queryKey: n({
|
|
18
|
+
...r,
|
|
19
|
+
configKey: t.getChainConfigKey(r.chainId)
|
|
20
|
+
}),
|
|
21
|
+
enabled: r.query?.enabled ?? !0,
|
|
22
|
+
queryFn: () => e(t, {
|
|
23
|
+
chainId: r.chainId,
|
|
24
|
+
operations: r.operations
|
|
25
|
+
})
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
export { n as getGaslessFeeQuoteQueryKey, r as getGaslessFeeQuoteQueryOptions };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","names":[],"sources":["../../../src/gasless/get-gasless-fee-quote/query.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport type { Compute, ConfigKeyParameter, ExactPartial } from \"../../shared/types/properties\";\nimport type { QueryParameter, SymmioQueryOptions } from \"../../shared/types/query\";\nimport { filterQueryOptions } from \"../../shared/utils/query\";\nimport {\n getGaslessFeeQuote,\n type GetGaslessFeeQuoteParameters,\n type GetGaslessFeeQuoteReturnType,\n} from \"./get-gasless-fee-quote\";\n\n/** Data resolved by the {@link getGaslessFeeQuoteQueryOptions} query. */\nexport type GetGaslessFeeQuoteData = GetGaslessFeeQuoteReturnType;\n\n/**\n * Build the TanStack Query key for {@link getGaslessFeeQuoteQueryOptions}.\n *\n * An omitted `walletId` keys as `0n`, so `{ operation }` and\n * `{ operation, walletId: 0n }` share one cache entry — they quote the same call.\n *\n * @param options - Partial query parameters.\n * @returns A stable, hashable query key.\n */\nexport function getGaslessFeeQuoteQueryKey(\n options: Compute<ExactPartial<GetGaslessFeeQuoteParameters> & ConfigKeyParameter> = {},\n) {\n const operations = options.operations?.map((entry) => ({ ...entry, walletId: entry.walletId ?? 0n }));\n return [\"getGaslessFeeQuote\", filterQueryOptions({ ...options, operations })] as const;\n}\n\n/** Query-key type produced by {@link getGaslessFeeQuoteQueryKey}. */\nexport type GetGaslessFeeQuoteQueryKey = ReturnType<typeof getGaslessFeeQuoteQueryKey>;\n\n/**\n * Options accepted by {@link getGaslessFeeQuoteQueryOptions}.\n */\nexport type GetGaslessFeeQuoteOptions = Compute<\n GetGaslessFeeQuoteParameters &\n QueryParameter<GetGaslessFeeQuoteData, Error, GetGaslessFeeQuoteData, GetGaslessFeeQuoteQueryKey>\n>;\n\n/** TanStack Query options returned by {@link getGaslessFeeQuoteQueryOptions}. */\nexport type GetGaslessFeeQuoteQueryOptions = SymmioQueryOptions<\n GetGaslessFeeQuoteData,\n Error,\n GetGaslessFeeQuoteData,\n GetGaslessFeeQuoteQueryKey\n>;\n\n/**\n * Build TanStack Query options for {@link getGaslessFeeQuote}.\n *\n * The key covers every operation field and wallet id, so a changed nonce,\n * calldata or wallet re-quotes instead of reusing a stale quote.\n *\n * @param config - The SDK config.\n * @param options - Query parameters and TanStack overrides.\n * @returns Options to pass to `useQuery` / `queryClient.fetchQuery`.\n *\n * @example\n * ```ts\n * useQuery(getGaslessFeeQuoteQueryOptions(config, { operations: [{ operation }] }));\n * ```\n */\nexport function getGaslessFeeQuoteQueryOptions(\n config: Config,\n options: GetGaslessFeeQuoteOptions,\n): GetGaslessFeeQuoteQueryOptions {\n return {\n ...options.query,\n queryKey: getGaslessFeeQuoteQueryKey({\n ...options,\n configKey: config.getChainConfigKey(options.chainId),\n }),\n enabled: options.query?.enabled ?? true,\n queryFn: () => getGaslessFeeQuote(config, { chainId: options.chainId, operations: options.operations }),\n };\n}\n"],"mappings":";;;AAsBA,SAAgB,EACd,IAAoF,CAAC,GACrF;CACA,IAAM,IAAa,EAAQ,YAAY,KAAK,OAAW;EAAE,GAAG;EAAO,UAAU,EAAM,YAAY;CAAG,EAAE;CACpG,OAAO,CAAC,sBAAsB,EAAmB;EAAE,GAAG;EAAS;CAAW,CAAC,CAAC;AAC9E;AAoCA,SAAgB,EACd,GACA,GACgC;CAChC,OAAO;EACL,GAAG,EAAQ;EACX,UAAU,EAA2B;GACnC,GAAG;GACH,WAAW,EAAO,kBAAkB,EAAQ,OAAO;EACrD,CAAC;EACD,SAAS,EAAQ,OAAO,WAAW;EACnC,eAAe,EAAmB,GAAQ;GAAE,SAAS,EAAQ;GAAS,YAAY,EAAQ;EAAW,CAAC;CACxG;AACF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Config } from '../../core/config/index.js';
|
|
2
|
+
import { ChainIdParameter, Compute } from '../../shared/types/properties.js';
|
|
3
|
+
import { GaslessRequest, GaslessService } from '../types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Parameters for {@link getGaslessRequest}.
|
|
6
|
+
*/
|
|
7
|
+
export type GetGaslessRequestParameters = Compute<ChainIdParameter & {
|
|
8
|
+
/** Stable service tracking id returned by a gasless submit. */
|
|
9
|
+
requestId: string;
|
|
10
|
+
/**
|
|
11
|
+
* Which sub-service stores the request. Operation relays live on
|
|
12
|
+
* `"operations"` (the default); deposit settlements on `"deposits"`. The
|
|
13
|
+
* two services are separate databases — a request id polled against the
|
|
14
|
+
* wrong one is `NOT_FOUND`.
|
|
15
|
+
*/
|
|
16
|
+
service?: GaslessService;
|
|
17
|
+
/**
|
|
18
|
+
* Cancel the read in flight. In React the query factory passes TanStack's
|
|
19
|
+
* own signal, so an unmounted poll stops spending the deployment's shared
|
|
20
|
+
* request budget instead of finishing into a discarded result.
|
|
21
|
+
*/
|
|
22
|
+
signal?: AbortSignal;
|
|
23
|
+
}>;
|
|
24
|
+
/** Return type of {@link getGaslessRequest}. */
|
|
25
|
+
export type GetGaslessRequestReturnType = GaslessRequest;
|
|
26
|
+
/**
|
|
27
|
+
* Fetch one stored GaslessQ relayer request.
|
|
28
|
+
*
|
|
29
|
+
* Fire-and-forget model: a submit returns `202` immediately and this record is
|
|
30
|
+
* the only source of truth afterwards. Poll it until
|
|
31
|
+
* `isGaslessRequestTerminal(status)` — via the query factory's
|
|
32
|
+
* `query.refetchInterval` in React, or {@link waitForGaslessRequest} in plain
|
|
33
|
+
* code. `submitted` is **not** success; only `succeeded` is.
|
|
34
|
+
*
|
|
35
|
+
* @param config - The SDK config.
|
|
36
|
+
* @param parameters - Request id, optional service and chain id.
|
|
37
|
+
* @returns The normalized request record.
|
|
38
|
+
* @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION`
|
|
39
|
+
* when the chain has no usable gasless service.
|
|
40
|
+
* @throws {SymmApiError} `GASLESS_STATUS_FETCH_FAILED` on HTTP failure —
|
|
41
|
+
* including `404` while the record is not yet readable right after a `202`
|
|
42
|
+
* (the accept-vs-record race; retry briefly before treating it as unknown).
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* const request = await getGaslessRequest(config, { requestId });
|
|
47
|
+
* if (request.status === GaslessRequestStatus.SUBMITTED) watchTx(request.txHash);
|
|
48
|
+
* ```
|
|
49
|
+
*/
|
|
50
|
+
export declare function getGaslessRequest(config: Config, parameters: GetGaslessRequestParameters): Promise<GetGaslessRequestReturnType>;
|
|
51
|
+
//# sourceMappingURL=get-gasless-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-gasless-request.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-request/get-gasless-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI/D;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,OAAO,CAC/C,gBAAgB,GAAG;IACjB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CACF,CAAC;AAEF,gDAAgD;AAChD,MAAM,MAAM,2BAA2B,GAAG,cAAc,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,2BAA2B,GACtC,OAAO,CAAC,2BAA2B,CAAC,CActC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { gaslessGet as e, resolveGaslessHttp as t } from "../http.js";
|
|
2
|
+
import { acquireGaslessStatusRead as n } from "../status-read-limiter.js";
|
|
3
|
+
import { toGaslessRequest as r } from "./to-gasless-request.js";
|
|
4
|
+
//#region src/gasless/get-gasless-request/get-gasless-request.ts
|
|
5
|
+
async function i(i, a) {
|
|
6
|
+
let { chainId: o, requestId: s, service: c = "operations", signal: l } = a, u = t(i, {
|
|
7
|
+
chainId: o,
|
|
8
|
+
service: c
|
|
9
|
+
});
|
|
10
|
+
return await n(i, u, { signal: l }), r(await e(u, `/${encodeURIComponent(s)}`, "GASLESS_STATUS_FETCH_FAILED", { signal: l }));
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { i as getGaslessRequest };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=get-gasless-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-gasless-request.js","names":[],"sources":["../../../src/gasless/get-gasless-request/get-gasless-request.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport type { ChainIdParameter, Compute } from \"../../shared/types/properties\";\nimport { gaslessGet, resolveGaslessHttp } from \"../http\";\nimport { acquireGaslessStatusRead } from \"../status-read-limiter\";\nimport type { GaslessRequest, GaslessService } from \"../types\";\nimport type { GaslessWireRequestRecord } from \"../wire-types\";\nimport { toGaslessRequest } from \"./to-gasless-request\";\n\n/**\n * Parameters for {@link getGaslessRequest}.\n */\nexport type GetGaslessRequestParameters = Compute<\n ChainIdParameter & {\n /** Stable service tracking id returned by a gasless submit. */\n requestId: string;\n /**\n * Which sub-service stores the request. Operation relays live on\n * `\"operations\"` (the default); deposit settlements on `\"deposits\"`. The\n * two services are separate databases — a request id polled against the\n * wrong one is `NOT_FOUND`.\n */\n service?: GaslessService;\n /**\n * Cancel the read in flight. In React the query factory passes TanStack's\n * own signal, so an unmounted poll stops spending the deployment's shared\n * request budget instead of finishing into a discarded result.\n */\n signal?: AbortSignal;\n }\n>;\n\n/** Return type of {@link getGaslessRequest}. */\nexport type GetGaslessRequestReturnType = GaslessRequest;\n\n/**\n * Fetch one stored GaslessQ relayer request.\n *\n * Fire-and-forget model: a submit returns `202` immediately and this record is\n * the only source of truth afterwards. Poll it until\n * `isGaslessRequestTerminal(status)` — via the query factory's\n * `query.refetchInterval` in React, or {@link waitForGaslessRequest} in plain\n * code. `submitted` is **not** success; only `succeeded` is.\n *\n * @param config - The SDK config.\n * @param parameters - Request id, optional service and chain id.\n * @returns The normalized request record.\n * @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION`\n * when the chain has no usable gasless service.\n * @throws {SymmApiError} `GASLESS_STATUS_FETCH_FAILED` on HTTP failure —\n * including `404` while the record is not yet readable right after a `202`\n * (the accept-vs-record race; retry briefly before treating it as unknown).\n *\n * @example\n * ```ts\n * const request = await getGaslessRequest(config, { requestId });\n * if (request.status === GaslessRequestStatus.SUBMITTED) watchTx(request.txHash);\n * ```\n */\nexport async function getGaslessRequest(\n config: Config,\n parameters: GetGaslessRequestParameters,\n): Promise<GetGaslessRequestReturnType> {\n const { chainId, requestId, service = \"operations\", signal } = parameters;\n const context = resolveGaslessHttp(config, { chainId, service });\n\n /** Status polling is unattended and parallel; pace it inside the shared per-deployment budget. */\n await acquireGaslessStatusRead(config, context, { signal });\n\n const raw = await gaslessGet<GaslessWireRequestRecord>(\n context,\n `/${encodeURIComponent(requestId)}`,\n \"GASLESS_STATUS_FETCH_FAILED\",\n { signal },\n );\n return toGaslessRequest(raw);\n}\n"],"mappings":";;;;AA0DA,eAAsB,EACpB,GACA,GACsC;CACtC,IAAM,EAAE,YAAS,cAAW,aAAU,cAAc,cAAW,GACzD,IAAU,EAAmB,GAAQ;EAAE;EAAS;CAAQ,CAAC;CAW/D,OARA,MAAM,EAAyB,GAAQ,GAAS,EAAE,UAAO,CAAC,GAQnD,EAAiB,MANN,EAChB,GACA,IAAI,mBAAmB,CAAS,KAChC,+BACA,EAAE,UAAO,CACX,CAC2B;AAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-request/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Config } from '../../core/config/index.js';
|
|
2
|
+
import { Compute, ConfigKeyParameter, ExactPartial } from '../../shared/types/properties.js';
|
|
3
|
+
import { QueryParameter, SymmioQueryOptions } from '../../shared/types/query.js';
|
|
4
|
+
import { GetGaslessRequestParameters, GetGaslessRequestReturnType } from './get-gasless-request.js';
|
|
5
|
+
/** Data resolved by the {@link getGaslessRequestQueryOptions} query. */
|
|
6
|
+
export type GetGaslessRequestData = GetGaslessRequestReturnType;
|
|
7
|
+
/**
|
|
8
|
+
* Build the TanStack Query key for {@link getGaslessRequestQueryOptions}.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Partial query parameters.
|
|
11
|
+
* @returns A stable, hashable query key.
|
|
12
|
+
*/
|
|
13
|
+
export declare function getGaslessRequestQueryKey(options?: Compute<ExactPartial<GetGaslessRequestParameters> & ConfigKeyParameter>): readonly ["getGaslessRequest", Record<string, unknown>];
|
|
14
|
+
/** Query-key type produced by {@link getGaslessRequestQueryKey}. */
|
|
15
|
+
export type GetGaslessRequestQueryKey = ReturnType<typeof getGaslessRequestQueryKey>;
|
|
16
|
+
/**
|
|
17
|
+
* Options accepted by {@link getGaslessRequestQueryOptions}: the action's
|
|
18
|
+
* required read parameters, an optional chain id, and TanStack overrides.
|
|
19
|
+
*/
|
|
20
|
+
export type GetGaslessRequestOptions = Compute<GetGaslessRequestParameters & QueryParameter<GetGaslessRequestData, Error, GetGaslessRequestData, GetGaslessRequestQueryKey>>;
|
|
21
|
+
/**
|
|
22
|
+
* TanStack Query options returned by {@link getGaslessRequestQueryOptions}.
|
|
23
|
+
*
|
|
24
|
+
* Its `queryFn` takes the query context, so TanStack's own `AbortSignal`
|
|
25
|
+
* reaches the HTTP call: a query that unmounts or is cancelled stops its poll
|
|
26
|
+
* in flight instead of finishing into a discarded result.
|
|
27
|
+
*/
|
|
28
|
+
export type GetGaslessRequestQueryOptions = Omit<SymmioQueryOptions<GetGaslessRequestData, Error, GetGaslessRequestData, GetGaslessRequestQueryKey>, "queryFn"> & {
|
|
29
|
+
queryFn: (context?: {
|
|
30
|
+
signal?: AbortSignal;
|
|
31
|
+
}) => Promise<GetGaslessRequestData>;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Build TanStack Query options for {@link getGaslessRequest}.
|
|
35
|
+
*
|
|
36
|
+
* **Polls by default.** A relay request is a workflow, not a value: fetching it
|
|
37
|
+
* once answers `queued` and freezes there, which reads as a stalled UI even
|
|
38
|
+
* though the relayer finished seconds later. So this factory ships the
|
|
39
|
+
* service-recommended cadence — a jittered 1–2 s while `queued`, 3–5 s after
|
|
40
|
+
* `submitted`, and **stop** once terminal, because a terminal record is
|
|
41
|
+
* immutable and polling one forever bills the service for an answer that cannot
|
|
42
|
+
* change.
|
|
43
|
+
*
|
|
44
|
+
* It also absorbs the two failures that are not answers: the accept-vs-record
|
|
45
|
+
* `404` right after a `202` (up to three), and transient transport failures —
|
|
46
|
+
* `429`, `503`, a dropped connection — which are retried with the gateway's
|
|
47
|
+
* `Retry-After` when it sent one, and a jittered backoff otherwise. A definitive
|
|
48
|
+
* answer (`401`, `403`, `422`, a service error code) is surfaced immediately.
|
|
49
|
+
*
|
|
50
|
+
* Every default is applied only where the caller supplied nothing, so
|
|
51
|
+
* `query.refetchInterval` / `query.retry` / `query.staleTime` still win.
|
|
52
|
+
*
|
|
53
|
+
* @param config - The SDK config.
|
|
54
|
+
* @param options - Query parameters and TanStack overrides.
|
|
55
|
+
* @returns Options to pass to `useQuery` / `queryClient.fetchQuery`.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* // Polls to a terminal status on its own.
|
|
60
|
+
* const request = useQuery(getGaslessRequestQueryOptions(config, { requestId }));
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function getGaslessRequestQueryOptions(config: Config, options: GetGaslessRequestOptions): GetGaslessRequestQueryOptions;
|
|
64
|
+
//# sourceMappingURL=query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-request/query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC/F,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAKnF,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,2BAA2B,EACjC,MAAM,uBAAuB,CAAC;AAE/B,wEAAwE;AACxE,MAAM,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,GAAE,OAAO,CAAC,YAAY,CAAC,2BAA2B,CAAC,GAAG,kBAAkB,CAAM,2DAGtF;AAED,oEAAoE;AACpE,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAErF;;;GAGG;AACH,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,2BAA2B,GACzB,cAAc,CAAC,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,CAAC,CACjG,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAC9C,kBAAkB,CAAC,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE,yBAAyB,CAAC,EAClG,SAAS,CACV,GAAG;IACF,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,WAAW,CAAA;KAAE,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACjF,CAAC;AAiCF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,6BAA6B,CAyC/B"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { gaslessPollDelay as e, isGaslessRequestTerminal as t } from "../types.js";
|
|
2
|
+
import { getGaslessRequest as n } from "./get-gasless-request.js";
|
|
3
|
+
import { gaslessTransientReadDelay as r, isTransientGaslessReadError as i } from "../transient-read.js";
|
|
4
|
+
import { filterQueryOptions as a } from "../../shared/utils/query.js";
|
|
5
|
+
import { gaslessQueryPollDelay as o } from "../query-poll-delay.js";
|
|
6
|
+
//#region src/gasless/get-gasless-request/query.ts
|
|
7
|
+
function s(e = {}) {
|
|
8
|
+
return ["getGaslessRequest", a(e)];
|
|
9
|
+
}
|
|
10
|
+
var c = 3, l = 8;
|
|
11
|
+
function u(e) {
|
|
12
|
+
return e?.status === 404;
|
|
13
|
+
}
|
|
14
|
+
function d(a, d) {
|
|
15
|
+
let f = d.query;
|
|
16
|
+
return {
|
|
17
|
+
...f,
|
|
18
|
+
queryKey: s({
|
|
19
|
+
...d,
|
|
20
|
+
service: d.service ?? "operations",
|
|
21
|
+
configKey: a.getChainConfigKey(d.chainId)
|
|
22
|
+
}),
|
|
23
|
+
enabled: f?.enabled ?? !0,
|
|
24
|
+
queryFn: (e) => {
|
|
25
|
+
let { chainId: t, requestId: r, service: i } = d;
|
|
26
|
+
return n(a, {
|
|
27
|
+
chainId: t,
|
|
28
|
+
requestId: r,
|
|
29
|
+
service: i,
|
|
30
|
+
signal: e?.signal ?? d.signal
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
refetchInterval: f?.refetchInterval ?? ((e) => o(e.state.data?.status, e.state)),
|
|
34
|
+
staleTime: f?.staleTime ?? ((e) => e.state.data && t(e.state.data.status) ? Infinity : 0),
|
|
35
|
+
retry: f?.retry ?? ((e, t) => u(t) ? e < c : i(t) && e < l),
|
|
36
|
+
retryDelay: f?.retryDelay ?? ((t, n) => u(n) ? e(void 0) : r(t, n))
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
//#endregion
|
|
40
|
+
export { s as getGaslessRequestQueryKey, d as getGaslessRequestQueryOptions };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","names":[],"sources":["../../../src/gasless/get-gasless-request/query.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport type { Compute, ConfigKeyParameter, ExactPartial } from \"../../shared/types/properties\";\nimport type { QueryParameter, SymmioQueryOptions } from \"../../shared/types/query\";\nimport { filterQueryOptions } from \"../../shared/utils/query\";\nimport { gaslessQueryPollDelay } from \"../query-poll-delay\";\nimport { gaslessTransientReadDelay, isTransientGaslessReadError } from \"../transient-read\";\nimport { gaslessPollDelay, isGaslessRequestTerminal } from \"../types\";\nimport {\n getGaslessRequest,\n type GetGaslessRequestParameters,\n type GetGaslessRequestReturnType,\n} from \"./get-gasless-request\";\n\n/** Data resolved by the {@link getGaslessRequestQueryOptions} query. */\nexport type GetGaslessRequestData = GetGaslessRequestReturnType;\n\n/**\n * Build the TanStack Query key for {@link getGaslessRequestQueryOptions}.\n *\n * @param options - Partial query parameters.\n * @returns A stable, hashable query key.\n */\nexport function getGaslessRequestQueryKey(\n options: Compute<ExactPartial<GetGaslessRequestParameters> & ConfigKeyParameter> = {},\n) {\n return [\"getGaslessRequest\", filterQueryOptions(options)] as const;\n}\n\n/** Query-key type produced by {@link getGaslessRequestQueryKey}. */\nexport type GetGaslessRequestQueryKey = ReturnType<typeof getGaslessRequestQueryKey>;\n\n/**\n * Options accepted by {@link getGaslessRequestQueryOptions}: the action's\n * required read parameters, an optional chain id, and TanStack overrides.\n */\nexport type GetGaslessRequestOptions = Compute<\n GetGaslessRequestParameters &\n QueryParameter<GetGaslessRequestData, Error, GetGaslessRequestData, GetGaslessRequestQueryKey>\n>;\n\n/**\n * TanStack Query options returned by {@link getGaslessRequestQueryOptions}.\n *\n * Its `queryFn` takes the query context, so TanStack's own `AbortSignal`\n * reaches the HTTP call: a query that unmounts or is cancelled stops its poll\n * in flight instead of finishing into a discarded result.\n */\nexport type GetGaslessRequestQueryOptions = Omit<\n SymmioQueryOptions<GetGaslessRequestData, Error, GetGaslessRequestData, GetGaslessRequestQueryKey>,\n \"queryFn\"\n> & {\n queryFn: (context?: { signal?: AbortSignal }) => Promise<GetGaslessRequestData>;\n};\n\n/**\n * Number of consecutive `404`s tolerated right after a submit: the accepted\n * workflow's record may not be readable immediately (the accept-vs-record\n * race). Mirrors the imperative wait loop's tolerance.\n */\nconst NOT_FOUND_RETRIES = 3;\n\n/**\n * How many consecutive transient transport failures are absorbed before the\n * query surfaces an error.\n *\n * Generous on purpose: a `429`, a `503` or a dropped connection says nothing\n * about the workflow, which keeps running server-side, and a UI that renders\n * \"failed\" because a poll was throttled is what makes a user resubmit a request\n * that is already executing. Each retry waits `max(Retry-After, jittered 1 s →\n * 30 s backoff)`, so the ceiling is minutes of blindness, not a burst.\n */\nconst TRANSIENT_RETRIES = 8;\n\n/**\n * Whether an error is the service's \"record not readable yet\" `404`.\n *\n * Duck-typed on `status` rather than an `instanceof SymmApiError` check: a\n * framework layer may normalize the error before TanStack's `retry` sees it\n * (the React hook wraps `queryFn` and rethrows a `SymmioRequestError`), and an\n * `instanceof` test would silently make this whole tolerance dead code there.\n */\nfunction isNotFound(error: unknown): boolean {\n return (error as { status?: number } | undefined)?.status === 404;\n}\n\n/**\n * Build TanStack Query options for {@link getGaslessRequest}.\n *\n * **Polls by default.** A relay request is a workflow, not a value: fetching it\n * once answers `queued` and freezes there, which reads as a stalled UI even\n * though the relayer finished seconds later. So this factory ships the\n * service-recommended cadence — a jittered 1–2 s while `queued`, 3–5 s after\n * `submitted`, and **stop** once terminal, because a terminal record is\n * immutable and polling one forever bills the service for an answer that cannot\n * change.\n *\n * It also absorbs the two failures that are not answers: the accept-vs-record\n * `404` right after a `202` (up to three), and transient transport failures —\n * `429`, `503`, a dropped connection — which are retried with the gateway's\n * `Retry-After` when it sent one, and a jittered backoff otherwise. A definitive\n * answer (`401`, `403`, `422`, a service error code) is surfaced immediately.\n *\n * Every default is applied only where the caller supplied nothing, so\n * `query.refetchInterval` / `query.retry` / `query.staleTime` still win.\n *\n * @param config - The SDK config.\n * @param options - Query parameters and TanStack overrides.\n * @returns Options to pass to `useQuery` / `queryClient.fetchQuery`.\n *\n * @example\n * ```ts\n * // Polls to a terminal status on its own.\n * const request = useQuery(getGaslessRequestQueryOptions(config, { requestId }));\n * ```\n */\nexport function getGaslessRequestQueryOptions(\n config: Config,\n options: GetGaslessRequestOptions,\n): GetGaslessRequestQueryOptions {\n const query = options.query;\n\n return {\n ...query,\n /**\n * `service` is defaulted into the key, not left to the caller: the action\n * defaults it too, so a key built without it would identify the same\n * record under a second cache entry that no writer ever seeds.\n */\n queryKey: getGaslessRequestQueryKey({\n ...options,\n service: options.service ?? \"operations\",\n configKey: config.getChainConfigKey(options.chainId),\n }),\n enabled: query?.enabled ?? true,\n queryFn: (context) => {\n const { chainId, requestId, service } = options;\n return getGaslessRequest(config, { chainId, requestId, service, signal: context?.signal ?? options.signal });\n },\n /**\n * The jitter is seeded from the query's own fetch timestamps rather than\n * drawn per call: TanStack restarts the countdown whenever a recomputed\n * `refetchInterval` differs from the running one, and a per-call\n * `Math.random()` would restart it on every render and never fire.\n */\n refetchInterval: query?.refetchInterval ?? ((q) => gaslessQueryPollDelay(q.state.data?.status, q.state)),\n /** A terminal record never changes, so a remount must not refetch one. */\n staleTime:\n query?.staleTime ?? ((q) => (q.state.data && isGaslessRequestTerminal(q.state.data.status) ? Infinity : 0)),\n retry:\n query?.retry ??\n ((failureCount: number, error: Error) =>\n isNotFound(error)\n ? failureCount < NOT_FOUND_RETRIES\n : isTransientGaslessReadError(error) && failureCount < TRANSIENT_RETRIES),\n retryDelay:\n query?.retryDelay ??\n ((failureCount: number, error: Error) =>\n isNotFound(error) ? (gaslessPollDelay(undefined) as number) : gaslessTransientReadDelay(failureCount, error)),\n };\n}\n"],"mappings":";;;;;;AAsBA,SAAgB,EACd,IAAmF,CAAC,GACpF;CACA,OAAO,CAAC,qBAAqB,EAAmB,CAAO,CAAC;AAC1D;AAiCA,IAAM,IAAoB,GAYpB,IAAoB;AAU1B,SAAS,EAAW,GAAyB;CAC3C,OAAQ,GAA2C,WAAW;AAChE;AAgCA,SAAgB,EACd,GACA,GAC+B;CAC/B,IAAM,IAAQ,EAAQ;CAEtB,OAAO;EACL,GAAG;EAMH,UAAU,EAA0B;GAClC,GAAG;GACH,SAAS,EAAQ,WAAW;GAC5B,WAAW,EAAO,kBAAkB,EAAQ,OAAO;EACrD,CAAC;EACD,SAAS,GAAO,WAAW;EAC3B,UAAU,MAAY;GACpB,IAAM,EAAE,YAAS,cAAW,eAAY;GACxC,OAAO,EAAkB,GAAQ;IAAE;IAAS;IAAW;IAAS,QAAQ,GAAS,UAAU,EAAQ;GAAO,CAAC;EAC7G;EAOA,iBAAiB,GAAO,qBAAqB,MAAM,EAAsB,EAAE,MAAM,MAAM,QAAQ,EAAE,KAAK;EAEtG,WACE,GAAO,eAAe,MAAO,EAAE,MAAM,QAAQ,EAAyB,EAAE,MAAM,KAAK,MAAM,IAAI,WAAW;EAC1G,OACE,GAAO,WACL,GAAsB,MACtB,EAAW,CAAK,IACZ,IAAe,IACf,EAA4B,CAAK,KAAK,IAAe;EAC7D,YACE,GAAO,gBACL,GAAsB,MACtB,EAAW,CAAK,IAAK,EAAiB,KAAA,CAAS,IAAe,EAA0B,GAAc,CAAK;CACjH;AACF"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { GaslessRequestStatus, GaslessRequest } from '../types.js';
|
|
2
|
+
import { GaslessWireRequestRecord } from '../wire-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Parse a wire status string into {@link GaslessRequestStatus}.
|
|
5
|
+
*
|
|
6
|
+
* @throws {SymmError} `GASLESS_STATUS_UNKNOWN` for a value outside the
|
|
7
|
+
* documented lifecycle — better a loud failure than a silent non-terminal
|
|
8
|
+
* status that polls forever.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare function toGaslessRequestStatus(raw: string): GaslessRequestStatus;
|
|
13
|
+
/**
|
|
14
|
+
* Normalize a stored request record (operations or deposits shape) into the
|
|
15
|
+
* {@link GaslessRequest} union.
|
|
16
|
+
*
|
|
17
|
+
* The two services are separate databases with different columns, so the shape
|
|
18
|
+
* itself picks the variant: a deposits record carries `deposit_address` and
|
|
19
|
+
* keys its id `request_id`, while an operations record keys its id `id`.
|
|
20
|
+
* Optional wire fields normalize to explicit `null` (absent, not zero), and
|
|
21
|
+
* wallet ids to `bigint`s, with a missing id meaning wallet `0`.
|
|
22
|
+
*
|
|
23
|
+
* @internal
|
|
24
|
+
*/
|
|
25
|
+
export declare function toGaslessRequest(raw: GaslessWireRequestRecord): GaslessRequest;
|
|
26
|
+
//# sourceMappingURL=to-gasless-request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-gasless-request.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-request/to-gasless-request.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EAGpB,KAAK,cAAc,EACpB,MAAM,UAAU,CAAC;AAGlB,OAAO,KAAK,EAAwD,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAIpH;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAKxE;AA2ED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,GAAG,cAAc,CAI9E"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { SymmError as e } from "../../shared/errors/symm-error.js";
|
|
2
|
+
import { GaslessRequestStatus as t } from "../types.js";
|
|
3
|
+
import { parseGaslessWalletId as n } from "../wallet-id.js";
|
|
4
|
+
import { toGaslessOptionalAmount as r } from "../wire-parse.js";
|
|
5
|
+
//#region src/gasless/get-gasless-request/to-gasless-request.ts
|
|
6
|
+
var i = new Set(Object.values(t));
|
|
7
|
+
function a(t) {
|
|
8
|
+
if (!i.has(t)) throw new e("api", "GASLESS_STATUS_UNKNOWN", `Gasless: unknown request status "${t}".`);
|
|
9
|
+
return t;
|
|
10
|
+
}
|
|
11
|
+
function o(e) {
|
|
12
|
+
if (Array.isArray(e.wallet_ids)) return e.wallet_ids.map((e, t) => n(e, `payload.wallet_ids[${t}]`));
|
|
13
|
+
let t = Array.isArray(e.signed_ops) ? e.signed_ops.length : 0;
|
|
14
|
+
return Array.from({ length: t }, () => 0n);
|
|
15
|
+
}
|
|
16
|
+
function s(e) {
|
|
17
|
+
return {
|
|
18
|
+
service: "operations",
|
|
19
|
+
requestId: e.id,
|
|
20
|
+
status: a(e.status),
|
|
21
|
+
txHash: e.tx_hash ?? null,
|
|
22
|
+
errorCode: e.error_code ?? null,
|
|
23
|
+
errorMessage: e.error_message ?? null,
|
|
24
|
+
idempotencyKey: e.idempotency_key ?? null,
|
|
25
|
+
owner: e.user_address ?? null,
|
|
26
|
+
walletIds: o(e.payload ?? {}),
|
|
27
|
+
createdAt: e.created_at ?? null,
|
|
28
|
+
updatedAt: e.updated_at ?? null,
|
|
29
|
+
operationType: e.operation_type ?? null,
|
|
30
|
+
accountId: e.account_id ?? null,
|
|
31
|
+
feeAmountRaw: r(e.fee_amount_raw)
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
function c(e) {
|
|
35
|
+
let t = e.payload ?? {}, i = e.wallet_id ?? t.wallet_id, o = i == null ? 0n : n(i, "wallet_id");
|
|
36
|
+
return {
|
|
37
|
+
service: "deposits",
|
|
38
|
+
requestId: e.request_id,
|
|
39
|
+
status: a(e.status),
|
|
40
|
+
txHash: e.tx_hash ?? null,
|
|
41
|
+
errorCode: e.error_code ?? null,
|
|
42
|
+
errorMessage: e.error_message ?? null,
|
|
43
|
+
idempotencyKey: e.idempotency_key ?? null,
|
|
44
|
+
owner: e.wallet_address ?? null,
|
|
45
|
+
walletIds: [o],
|
|
46
|
+
createdAt: e.created_at ?? null,
|
|
47
|
+
updatedAt: e.updated_at ?? null,
|
|
48
|
+
depositAddress: e.deposit_address ?? null,
|
|
49
|
+
walletId: o,
|
|
50
|
+
accountName: e.account_name ?? null,
|
|
51
|
+
amountRaw: r(e.amount_raw),
|
|
52
|
+
feeRaw: r(e.fee_raw),
|
|
53
|
+
creditedRaw: r(e.credited_raw)
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
function l(e) {
|
|
57
|
+
return "deposit_address" in e ? c(e) : s(e);
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { l as toGaslessRequest };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=to-gasless-request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-gasless-request.js","names":[],"sources":["../../../src/gasless/get-gasless-request/to-gasless-request.ts"],"sourcesContent":["import type { Address, Hash } from \"viem\";\nimport { SymmError } from \"../../shared/errors/symm-error\";\nimport {\n GaslessRequestStatus,\n type GaslessDepositRequest,\n type GaslessOperationRequest,\n type GaslessRequest,\n} from \"../types\";\nimport { parseGaslessWalletId } from \"../wallet-id\";\nimport { toGaslessOptionalAmount } from \"../wire-parse\";\nimport type { GaslessWireDepositRecord, GaslessWireOperationRecord, GaslessWireRequestRecord } from \"../wire-types\";\n\nconst STATUS_VALUES = new Set<string>(Object.values(GaslessRequestStatus));\n\n/**\n * Parse a wire status string into {@link GaslessRequestStatus}.\n *\n * @throws {SymmError} `GASLESS_STATUS_UNKNOWN` for a value outside the\n * documented lifecycle — better a loud failure than a silent non-terminal\n * status that polls forever.\n *\n * @internal\n */\nexport function toGaslessRequestStatus(raw: string): GaslessRequestStatus {\n if (!STATUS_VALUES.has(raw)) {\n throw new SymmError(\"api\", \"GASLESS_STATUS_UNKNOWN\", `Gasless: unknown request status \"${raw}\".`);\n }\n return raw as GaslessRequestStatus;\n}\n\n/** The stored JSON payload of a record, as far as wallet ids are concerned. */\ninterface WalletIdPayload {\n wallet_ids?: unknown;\n wallet_id?: unknown;\n signed_ops?: unknown;\n}\n\n/**\n * The wallet ids a stored operation record selected.\n *\n * Records written before multiple wallets existed carry no ids at all, and an\n * omitted id means wallet `0` — so they normalize to one zero per stored\n * operation rather than to an empty array, which would read as \"no wallets\".\n *\n * @internal\n */\nfunction toOperationWalletIds(payload: WalletIdPayload): bigint[] {\n if (Array.isArray(payload.wallet_ids)) {\n return payload.wallet_ids.map((value, index) => parseGaslessWalletId(value, `payload.wallet_ids[${index}]`));\n }\n const operationCount = Array.isArray(payload.signed_ops) ? payload.signed_ops.length : 0;\n return Array.from({ length: operationCount }, () => 0n);\n}\n\n/** Normalize a stored operations record. @internal */\nfunction toGaslessOperationRequest(raw: GaslessWireOperationRecord): GaslessOperationRequest {\n return {\n service: \"operations\",\n requestId: raw.id,\n status: toGaslessRequestStatus(raw.status),\n txHash: (raw.tx_hash as Hash | undefined) ?? null,\n errorCode: raw.error_code ?? null,\n errorMessage: raw.error_message ?? null,\n idempotencyKey: raw.idempotency_key ?? null,\n owner: (raw.user_address as Address | undefined) ?? null,\n walletIds: toOperationWalletIds((raw.payload ?? {}) as WalletIdPayload),\n createdAt: raw.created_at ?? null,\n updatedAt: raw.updated_at ?? null,\n operationType: raw.operation_type ?? null,\n accountId: raw.account_id ?? null,\n feeAmountRaw: toGaslessOptionalAmount(raw.fee_amount_raw),\n };\n}\n\n/** Normalize a stored deposits record. @internal */\nfunction toGaslessDepositRequest(raw: GaslessWireDepositRecord): GaslessDepositRequest {\n const payload = (raw.payload ?? {}) as WalletIdPayload;\n const storedWalletId = raw.wallet_id ?? payload.wallet_id;\n const walletId =\n storedWalletId === undefined || storedWalletId === null ? 0n : parseGaslessWalletId(storedWalletId, \"wallet_id\");\n\n return {\n service: \"deposits\",\n requestId: raw.request_id,\n status: toGaslessRequestStatus(raw.status),\n txHash: (raw.tx_hash as Hash | undefined) ?? null,\n errorCode: raw.error_code ?? null,\n errorMessage: raw.error_message ?? null,\n idempotencyKey: raw.idempotency_key ?? null,\n /** `wallet_address` is the owner address, not a GaslessWallet address. */\n owner: (raw.wallet_address as Address | undefined) ?? null,\n walletIds: [walletId],\n createdAt: raw.created_at ?? null,\n updatedAt: raw.updated_at ?? null,\n depositAddress: (raw.deposit_address as Address | undefined) ?? null,\n walletId,\n accountName: raw.account_name ?? null,\n amountRaw: toGaslessOptionalAmount(raw.amount_raw),\n feeRaw: toGaslessOptionalAmount(raw.fee_raw),\n creditedRaw: toGaslessOptionalAmount(raw.credited_raw),\n };\n}\n\n/**\n * Normalize a stored request record (operations or deposits shape) into the\n * {@link GaslessRequest} union.\n *\n * The two services are separate databases with different columns, so the shape\n * itself picks the variant: a deposits record carries `deposit_address` and\n * keys its id `request_id`, while an operations record keys its id `id`.\n * Optional wire fields normalize to explicit `null` (absent, not zero), and\n * wallet ids to `bigint`s, with a missing id meaning wallet `0`.\n *\n * @internal\n */\nexport function toGaslessRequest(raw: GaslessWireRequestRecord): GaslessRequest {\n return \"deposit_address\" in raw\n ? toGaslessDepositRequest(raw as GaslessWireDepositRecord)\n : toGaslessOperationRequest(raw as GaslessWireOperationRecord);\n}\n"],"mappings":";;;;;AAYA,IAAM,IAAgB,IAAI,IAAY,OAAO,OAAO,CAAoB,CAAC;AAWzE,SAAgB,EAAuB,GAAmC;CACxE,IAAI,CAAC,EAAc,IAAI,CAAG,GACxB,MAAM,IAAI,EAAU,OAAO,0BAA0B,oCAAoC,EAAI,GAAG;CAElG,OAAO;AACT;AAkBA,SAAS,EAAqB,GAAoC;CAChE,IAAI,MAAM,QAAQ,EAAQ,UAAU,GAClC,OAAO,EAAQ,WAAW,KAAK,GAAO,MAAU,EAAqB,GAAO,sBAAsB,EAAM,EAAE,CAAC;CAE7G,IAAM,IAAiB,MAAM,QAAQ,EAAQ,UAAU,IAAI,EAAQ,WAAW,SAAS;CACvF,OAAO,MAAM,KAAK,EAAE,QAAQ,EAAe,SAAS,EAAE;AACxD;AAGA,SAAS,EAA0B,GAA0D;CAC3F,OAAO;EACL,SAAS;EACT,WAAW,EAAI;EACf,QAAQ,EAAuB,EAAI,MAAM;EACzC,QAAS,EAAI,WAAgC;EAC7C,WAAW,EAAI,cAAc;EAC7B,cAAc,EAAI,iBAAiB;EACnC,gBAAgB,EAAI,mBAAmB;EACvC,OAAQ,EAAI,gBAAwC;EACpD,WAAW,EAAsB,EAAI,WAAW,CAAC,CAAqB;EACtE,WAAW,EAAI,cAAc;EAC7B,WAAW,EAAI,cAAc;EAC7B,eAAe,EAAI,kBAAkB;EACrC,WAAW,EAAI,cAAc;EAC7B,cAAc,EAAwB,EAAI,cAAc;CAC1D;AACF;AAGA,SAAS,EAAwB,GAAsD;CACrF,IAAM,IAAW,EAAI,WAAW,CAAC,GAC3B,IAAiB,EAAI,aAAa,EAAQ,WAC1C,IACJ,KAAmD,OAAO,KAAK,EAAqB,GAAgB,WAAW;CAEjH,OAAO;EACL,SAAS;EACT,WAAW,EAAI;EACf,QAAQ,EAAuB,EAAI,MAAM;EACzC,QAAS,EAAI,WAAgC;EAC7C,WAAW,EAAI,cAAc;EAC7B,cAAc,EAAI,iBAAiB;EACnC,gBAAgB,EAAI,mBAAmB;EAEvC,OAAQ,EAAI,kBAA0C;EACtD,WAAW,CAAC,CAAQ;EACpB,WAAW,EAAI,cAAc;EAC7B,WAAW,EAAI,cAAc;EAC7B,gBAAiB,EAAI,mBAA2C;EAChE;EACA,aAAa,EAAI,gBAAgB;EACjC,WAAW,EAAwB,EAAI,UAAU;EACjD,QAAQ,EAAwB,EAAI,OAAO;EAC3C,aAAa,EAAwB,EAAI,YAAY;CACvD;AACF;AAcA,SAAgB,EAAiB,GAA+C;CAC9E,OAAO,qBAAqB,IACxB,EAAwB,CAA+B,IACvD,EAA0B,CAAiC;AACjE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Config } from '../../core/config/index.js';
|
|
2
|
+
import { ChainIdParameter, Compute } from '../../shared/types/properties.js';
|
|
3
|
+
import { GaslessRequestTransaction, GaslessService } from '../types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Parameters for {@link getGaslessRequestTransactions}.
|
|
6
|
+
*/
|
|
7
|
+
export type GetGaslessRequestTransactionsParameters = Compute<ChainIdParameter & {
|
|
8
|
+
/** Stable service tracking id returned by a gasless submit. */
|
|
9
|
+
requestId: string;
|
|
10
|
+
/** Which sub-service stores the request. Defaults to `"operations"`. */
|
|
11
|
+
service?: GaslessService;
|
|
12
|
+
/** Cancel the read in flight — the React hook passes TanStack's query signal. */
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
}>;
|
|
15
|
+
/** Return type of {@link getGaslessRequestTransactions}. */
|
|
16
|
+
export type GetGaslessRequestTransactionsReturnType = readonly GaslessRequestTransaction[];
|
|
17
|
+
/**
|
|
18
|
+
* List the EVM broadcast attempts stored for one gasless request.
|
|
19
|
+
*
|
|
20
|
+
* A transaction hash is mutable across replacement attempts — the request id
|
|
21
|
+
* is the stable identifier, and this endpoint shows every attempt with its
|
|
22
|
+
* receipt outcome. Fetch it when a `txHash` appears or when a request reaches
|
|
23
|
+
* a terminal status, to show explorer links or diagnose a `failed` request.
|
|
24
|
+
*
|
|
25
|
+
* @param config - The SDK config.
|
|
26
|
+
* @param parameters - Request id, optional service and chain id.
|
|
27
|
+
* @returns The stored attempts, oldest first as the service returns them.
|
|
28
|
+
* @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION`.
|
|
29
|
+
* @throws {SymmApiError} `GASLESS_TRANSACTIONS_FETCH_FAILED` on HTTP failure.
|
|
30
|
+
* @throws {SymmError} `GASLESS_ATTEMPT_STATUS_UNKNOWN` when the service reports
|
|
31
|
+
* an attempt status outside {@link GaslessTransactionAttemptStatus}.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* const attempts = await getGaslessRequestTransactions(config, { requestId });
|
|
36
|
+
* const latest = attempts.at(-1);
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function getGaslessRequestTransactions(config: Config, parameters: GetGaslessRequestTransactionsParameters): Promise<GetGaslessRequestTransactionsReturnType>;
|
|
40
|
+
//# sourceMappingURL=get-gasless-request-transactions.d.ts.map
|
package/dist/gasless/get-gasless-request-transactions/get-gasless-request-transactions.d.ts.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-gasless-request-transactions.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-request-transactions/get-gasless-request-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAG/E,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAI1E;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG,OAAO,CAC3D,gBAAgB,GAAG;IACjB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB,wEAAwE;IACxE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,iFAAiF;IACjF,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CACF,CAAC;AAEF,4DAA4D;AAC5D,MAAM,MAAM,uCAAuC,GAAG,SAAS,yBAAyB,EAAE,CAAC;AAE3F;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,uCAAuC,GAClD,OAAO,CAAC,uCAAuC,CAAC,CAclD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { gaslessGet as e, resolveGaslessHttp as t } from "../http.js";
|
|
2
|
+
import { acquireGaslessStatusRead as n } from "../status-read-limiter.js";
|
|
3
|
+
import { toGaslessRequestTransaction as r } from "./to-gasless-request-transaction.js";
|
|
4
|
+
//#region src/gasless/get-gasless-request-transactions/get-gasless-request-transactions.ts
|
|
5
|
+
async function i(i, a) {
|
|
6
|
+
let { chainId: o, requestId: s, service: c = "operations", signal: l } = a, u = t(i, {
|
|
7
|
+
chainId: o,
|
|
8
|
+
service: c
|
|
9
|
+
});
|
|
10
|
+
return await n(i, u, { signal: l }), (await e(u, `/${encodeURIComponent(s)}/transactions`, "GASLESS_TRANSACTIONS_FETCH_FAILED", { signal: l })).map(r);
|
|
11
|
+
}
|
|
12
|
+
//#endregion
|
|
13
|
+
export { i as getGaslessRequestTransactions };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=get-gasless-request-transactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-gasless-request-transactions.js","names":[],"sources":["../../../src/gasless/get-gasless-request-transactions/get-gasless-request-transactions.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport type { ChainIdParameter, Compute } from \"../../shared/types/properties\";\nimport { gaslessGet, resolveGaslessHttp } from \"../http\";\nimport { acquireGaslessStatusRead } from \"../status-read-limiter\";\nimport type { GaslessRequestTransaction, GaslessService } from \"../types\";\nimport type { GaslessWireTransactionAttempt } from \"../wire-types\";\nimport { toGaslessRequestTransaction } from \"./to-gasless-request-transaction\";\n\n/**\n * Parameters for {@link getGaslessRequestTransactions}.\n */\nexport type GetGaslessRequestTransactionsParameters = Compute<\n ChainIdParameter & {\n /** Stable service tracking id returned by a gasless submit. */\n requestId: string;\n /** Which sub-service stores the request. Defaults to `\"operations\"`. */\n service?: GaslessService;\n /** Cancel the read in flight — the React hook passes TanStack's query signal. */\n signal?: AbortSignal;\n }\n>;\n\n/** Return type of {@link getGaslessRequestTransactions}. */\nexport type GetGaslessRequestTransactionsReturnType = readonly GaslessRequestTransaction[];\n\n/**\n * List the EVM broadcast attempts stored for one gasless request.\n *\n * A transaction hash is mutable across replacement attempts — the request id\n * is the stable identifier, and this endpoint shows every attempt with its\n * receipt outcome. Fetch it when a `txHash` appears or when a request reaches\n * a terminal status, to show explorer links or diagnose a `failed` request.\n *\n * @param config - The SDK config.\n * @param parameters - Request id, optional service and chain id.\n * @returns The stored attempts, oldest first as the service returns them.\n * @throws {SymmError} `GASLESS_NOT_CONFIGURED` / `GASLESS_UNSUPPORTED_CONTRACTS_VERSION`.\n * @throws {SymmApiError} `GASLESS_TRANSACTIONS_FETCH_FAILED` on HTTP failure.\n * @throws {SymmError} `GASLESS_ATTEMPT_STATUS_UNKNOWN` when the service reports\n * an attempt status outside {@link GaslessTransactionAttemptStatus}.\n *\n * @example\n * ```ts\n * const attempts = await getGaslessRequestTransactions(config, { requestId });\n * const latest = attempts.at(-1);\n * ```\n */\nexport async function getGaslessRequestTransactions(\n config: Config,\n parameters: GetGaslessRequestTransactionsParameters,\n): Promise<GetGaslessRequestTransactionsReturnType> {\n const { chainId, requestId, service = \"operations\", signal } = parameters;\n const context = resolveGaslessHttp(config, { chainId, service });\n\n /** Shares the status-read budget: the attempts list is polled beside the record it belongs to. */\n await acquireGaslessStatusRead(config, context, { signal });\n\n const raw = await gaslessGet<GaslessWireTransactionAttempt[]>(\n context,\n `/${encodeURIComponent(requestId)}/transactions`,\n \"GASLESS_TRANSACTIONS_FETCH_FAILED\",\n { signal },\n );\n return raw.map(toGaslessRequestTransaction);\n}\n"],"mappings":";;;;AA+CA,eAAsB,EACpB,GACA,GACkD;CAClD,IAAM,EAAE,YAAS,cAAW,aAAU,cAAc,cAAW,GACzD,IAAU,EAAmB,GAAQ;EAAE;EAAS;CAAQ,CAAC;CAW/D,OARA,MAAM,EAAyB,GAAQ,GAAS,EAAE,UAAO,CAAC,IAQnD,MANW,EAChB,GACA,IAAI,mBAAmB,CAAS,EAAE,gBAClC,qCACA,EAAE,UAAO,CACX,GACW,IAAI,CAA2B;AAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/gasless/get-gasless-request-transactions/index.ts"],"names":[],"mappings":"AAAA,cAAc,oCAAoC,CAAC;AACnD,cAAc,SAAS,CAAC;AACxB,cAAc,kCAAkC,CAAC"}
|