@b2binpay/defi-sdk 1.0.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/LICENSE +21 -0
- package/README.md +179 -0
- package/dist/generated-contracts/apis/accounts-api.d.ts +170 -0
- package/dist/generated-contracts/apis/accounts-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/accounts-api.js +388 -0
- package/dist/generated-contracts/apis/accounts-api.js.map +1 -0
- package/dist/generated-contracts/apis/callbacks-api.d.ts +34 -0
- package/dist/generated-contracts/apis/callbacks-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/callbacks-api.js +97 -0
- package/dist/generated-contracts/apis/callbacks-api.js.map +1 -0
- package/dist/generated-contracts/apis/claims-api.d.ts +74 -0
- package/dist/generated-contracts/apis/claims-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/claims-api.js +173 -0
- package/dist/generated-contracts/apis/claims-api.js.map +1 -0
- package/dist/generated-contracts/apis/currencies-api.d.ts +65 -0
- package/dist/generated-contracts/apis/currencies-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/currencies-api.js +153 -0
- package/dist/generated-contracts/apis/currencies-api.js.map +1 -0
- package/dist/generated-contracts/apis/index.d.ts +11 -0
- package/dist/generated-contracts/apis/index.d.ts.map +1 -0
- package/dist/generated-contracts/apis/index.js +29 -0
- package/dist/generated-contracts/apis/index.js.map +1 -0
- package/dist/generated-contracts/apis/invoices-api.d.ts +174 -0
- package/dist/generated-contracts/apis/invoices-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/invoices-api.js +380 -0
- package/dist/generated-contracts/apis/invoices-api.js.map +1 -0
- package/dist/generated-contracts/apis/networks-api.d.ts +27 -0
- package/dist/generated-contracts/apis/networks-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/networks-api.js +83 -0
- package/dist/generated-contracts/apis/networks-api.js.map +1 -0
- package/dist/generated-contracts/apis/payouts-api.d.ts +118 -0
- package/dist/generated-contracts/apis/payouts-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/payouts-api.js +268 -0
- package/dist/generated-contracts/apis/payouts-api.js.map +1 -0
- package/dist/generated-contracts/apis/queue-operations-api.d.ts +155 -0
- package/dist/generated-contracts/apis/queue-operations-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/queue-operations-api.js +360 -0
- package/dist/generated-contracts/apis/queue-operations-api.js.map +1 -0
- package/dist/generated-contracts/apis/smart-contract-versions-api.d.ts +32 -0
- package/dist/generated-contracts/apis/smart-contract-versions-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/smart-contract-versions-api.js +89 -0
- package/dist/generated-contracts/apis/smart-contract-versions-api.js.map +1 -0
- package/dist/generated-contracts/apis/transactions-api.d.ts +103 -0
- package/dist/generated-contracts/apis/transactions-api.d.ts.map +1 -0
- package/dist/generated-contracts/apis/transactions-api.js +213 -0
- package/dist/generated-contracts/apis/transactions-api.js.map +1 -0
- package/dist/generated-contracts/index.d.ts +4 -0
- package/dist/generated-contracts/index.d.ts.map +1 -0
- package/dist/generated-contracts/index.js +22 -0
- package/dist/generated-contracts/index.js.map +1 -0
- package/dist/generated-contracts/models/account-currency-visibility-response-dto.d.ts +45 -0
- package/dist/generated-contracts/models/account-currency-visibility-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/account-currency-visibility-response-dto.js +59 -0
- package/dist/generated-contracts/models/account-currency-visibility-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/account-deployment-dto.d.ts +84 -0
- package/dist/generated-contracts/models/account-deployment-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/account-deployment-dto.js +88 -0
- package/dist/generated-contracts/models/account-deployment-dto.js.map +1 -0
- package/dist/generated-contracts/models/account-details-dto.d.ts +41 -0
- package/dist/generated-contracts/models/account-details-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/account-details-dto.js +57 -0
- package/dist/generated-contracts/models/account-details-dto.js.map +1 -0
- package/dist/generated-contracts/models/account-response-dto.d.ts +89 -0
- package/dist/generated-contracts/models/account-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/account-response-dto.js +83 -0
- package/dist/generated-contracts/models/account-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/address-book-entry-response-dto.d.ts +58 -0
- package/dist/generated-contracts/models/address-book-entry-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/address-book-entry-response-dto.js +66 -0
- package/dist/generated-contracts/models/address-book-entry-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/address-book-list-response-dto-items-inner.d.ts +58 -0
- package/dist/generated-contracts/models/address-book-list-response-dto-items-inner.d.ts.map +1 -0
- package/dist/generated-contracts/models/address-book-list-response-dto-items-inner.js +66 -0
- package/dist/generated-contracts/models/address-book-list-response-dto-items-inner.js.map +1 -0
- package/dist/generated-contracts/models/address-book-list-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/address-book-list-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/address-book-list-response-dto.js +64 -0
- package/dist/generated-contracts/models/address-book-list-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/api-key-list-response-dto-items-inner.d.ts +69 -0
- package/dist/generated-contracts/models/api-key-list-response-dto-items-inner.d.ts.map +1 -0
- package/dist/generated-contracts/models/api-key-list-response-dto-items-inner.js +73 -0
- package/dist/generated-contracts/models/api-key-list-response-dto-items-inner.js.map +1 -0
- package/dist/generated-contracts/models/api-key-list-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/api-key-list-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/api-key-list-response-dto.js +64 -0
- package/dist/generated-contracts/models/api-key-list-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/api-key-meta-dto.d.ts +69 -0
- package/dist/generated-contracts/models/api-key-meta-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/api-key-meta-dto.js +73 -0
- package/dist/generated-contracts/models/api-key-meta-dto.js.map +1 -0
- package/dist/generated-contracts/models/asset-balance-dto.d.ts +52 -0
- package/dist/generated-contracts/models/asset-balance-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/asset-balance-dto.js +62 -0
- package/dist/generated-contracts/models/asset-balance-dto.js.map +1 -0
- package/dist/generated-contracts/models/asset-balances-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/asset-balances-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/asset-balances-response-dto.js +64 -0
- package/dist/generated-contracts/models/asset-balances-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/auth-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/auth-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/auth-response-dto.js +64 -0
- package/dist/generated-contracts/models/auth-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/balance-history-response-dto-items-inner.d.ts +39 -0
- package/dist/generated-contracts/models/balance-history-response-dto-items-inner.d.ts.map +1 -0
- package/dist/generated-contracts/models/balance-history-response-dto-items-inner.js +55 -0
- package/dist/generated-contracts/models/balance-history-response-dto-items-inner.js.map +1 -0
- package/dist/generated-contracts/models/balance-history-response-dto.d.ts +34 -0
- package/dist/generated-contracts/models/balance-history-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/balance-history-response-dto.js +52 -0
- package/dist/generated-contracts/models/balance-history-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/balance-summary-response-dto.d.ts +51 -0
- package/dist/generated-contracts/models/balance-summary-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/balance-summary-response-dto.js +63 -0
- package/dist/generated-contracts/models/balance-summary-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/call-dto.d.ts +45 -0
- package/dist/generated-contracts/models/call-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/call-dto.js +59 -0
- package/dist/generated-contracts/models/call-dto.js.map +1 -0
- package/dist/generated-contracts/models/callback-secret-response-dto.d.ts +33 -0
- package/dist/generated-contracts/models/callback-secret-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/callback-secret-response-dto.js +51 -0
- package/dist/generated-contracts/models/callback-secret-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/callback.d.ts +135 -0
- package/dist/generated-contracts/models/callback.d.ts.map +1 -0
- package/dist/generated-contracts/models/callback.js +129 -0
- package/dist/generated-contracts/models/callback.js.map +1 -0
- package/dist/generated-contracts/models/claim-item-dto.d.ts +70 -0
- package/dist/generated-contracts/models/claim-item-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/claim-item-dto.js +76 -0
- package/dist/generated-contracts/models/claim-item-dto.js.map +1 -0
- package/dist/generated-contracts/models/claims-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/claims-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/claims-response-dto.js +64 -0
- package/dist/generated-contracts/models/claims-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-account-dto.d.ts +58 -0
- package/dist/generated-contracts/models/create-account-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-account-dto.js +64 -0
- package/dist/generated-contracts/models/create-account-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-address-book-entry-dto.d.ts +40 -0
- package/dist/generated-contracts/models/create-address-book-entry-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-address-book-entry-dto.js +56 -0
- package/dist/generated-contracts/models/create-address-book-entry-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-api-key-dto.d.ts +33 -0
- package/dist/generated-contracts/models/create-api-key-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-api-key-dto.js +49 -0
- package/dist/generated-contracts/models/create-api-key-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-api-key-response-dto.d.ts +75 -0
- package/dist/generated-contracts/models/create-api-key-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-api-key-response-dto.js +77 -0
- package/dist/generated-contracts/models/create-api-key-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-invoice-dto.d.ts +63 -0
- package/dist/generated-contracts/models/create-invoice-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-invoice-dto.js +65 -0
- package/dist/generated-contracts/models/create-invoice-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-multisig-config-change-operation-dto-calls-inner.d.ts +45 -0
- package/dist/generated-contracts/models/create-multisig-config-change-operation-dto-calls-inner.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-multisig-config-change-operation-dto-calls-inner.js +59 -0
- package/dist/generated-contracts/models/create-multisig-config-change-operation-dto-calls-inner.js.map +1 -0
- package/dist/generated-contracts/models/create-multisig-config-change-operation-dto.d.ts +47 -0
- package/dist/generated-contracts/models/create-multisig-config-change-operation-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-multisig-config-change-operation-dto.js +61 -0
- package/dist/generated-contracts/models/create-multisig-config-change-operation-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-payment-body-dto.d.ts +33 -0
- package/dist/generated-contracts/models/create-payment-body-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-payment-body-dto.js +51 -0
- package/dist/generated-contracts/models/create-payment-body-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-payout-dto.d.ts +70 -0
- package/dist/generated-contracts/models/create-payout-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-payout-dto.js +70 -0
- package/dist/generated-contracts/models/create-payout-dto.js.map +1 -0
- package/dist/generated-contracts/models/create-reject-operation-dto.d.ts +33 -0
- package/dist/generated-contracts/models/create-reject-operation-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/create-reject-operation-dto.js +51 -0
- package/dist/generated-contracts/models/create-reject-operation-dto.js.map +1 -0
- package/dist/generated-contracts/models/credit-price-item-dto.d.ts +39 -0
- package/dist/generated-contracts/models/credit-price-item-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/credit-price-item-dto.js +55 -0
- package/dist/generated-contracts/models/credit-price-item-dto.js.map +1 -0
- package/dist/generated-contracts/models/credits-overview-response-dto-unit-prices-inner-discounts-inner.d.ts +39 -0
- package/dist/generated-contracts/models/credits-overview-response-dto-unit-prices-inner-discounts-inner.d.ts.map +1 -0
- package/dist/generated-contracts/models/credits-overview-response-dto-unit-prices-inner-discounts-inner.js +55 -0
- package/dist/generated-contracts/models/credits-overview-response-dto-unit-prices-inner-discounts-inner.js.map +1 -0
- package/dist/generated-contracts/models/credits-overview-response-dto-unit-prices-inner.d.ts +46 -0
- package/dist/generated-contracts/models/credits-overview-response-dto-unit-prices-inner.d.ts.map +1 -0
- package/dist/generated-contracts/models/credits-overview-response-dto-unit-prices-inner.js +60 -0
- package/dist/generated-contracts/models/credits-overview-response-dto-unit-prices-inner.js.map +1 -0
- package/dist/generated-contracts/models/credits-overview-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/credits-overview-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/credits-overview-response-dto.js +64 -0
- package/dist/generated-contracts/models/credits-overview-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/currencies-controller-find-all-v1-is-native-parameter.d.ts +22 -0
- package/dist/generated-contracts/models/currencies-controller-find-all-v1-is-native-parameter.d.ts.map +1 -0
- package/dist/generated-contracts/models/currencies-controller-find-all-v1-is-native-parameter.js +44 -0
- package/dist/generated-contracts/models/currencies-controller-find-all-v1-is-native-parameter.js.map +1 -0
- package/dist/generated-contracts/models/currency-response-dto.d.ts +75 -0
- package/dist/generated-contracts/models/currency-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/currency-response-dto.js +79 -0
- package/dist/generated-contracts/models/currency-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/delete-all-operations-response-dto.d.ts +33 -0
- package/dist/generated-contracts/models/delete-all-operations-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/delete-all-operations-response-dto.js +51 -0
- package/dist/generated-contracts/models/delete-all-operations-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/deployment-params-response-dto.d.ts +51 -0
- package/dist/generated-contracts/models/deployment-params-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/deployment-params-response-dto.js +63 -0
- package/dist/generated-contracts/models/deployment-params-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/deployment-queue-response-dto.d.ts +58 -0
- package/dist/generated-contracts/models/deployment-queue-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/deployment-queue-response-dto.js +68 -0
- package/dist/generated-contracts/models/deployment-queue-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/get-callbacks-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/get-callbacks-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/get-callbacks-response-dto.js +64 -0
- package/dist/generated-contracts/models/get-callbacks-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/index.d.ts +89 -0
- package/dist/generated-contracts/models/index.d.ts.map +1 -0
- package/dist/generated-contracts/models/index.js +107 -0
- package/dist/generated-contracts/models/index.js.map +1 -0
- package/dist/generated-contracts/models/invoice-details-dto.d.ts +34 -0
- package/dist/generated-contracts/models/invoice-details-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/invoice-details-dto.js +52 -0
- package/dist/generated-contracts/models/invoice-details-dto.js.map +1 -0
- package/dist/generated-contracts/models/invoice-response-dto.d.ts +133 -0
- package/dist/generated-contracts/models/invoice-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/invoice-response-dto.js +121 -0
- package/dist/generated-contracts/models/invoice-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/invoices-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/invoices-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/invoices-response-dto.js +64 -0
- package/dist/generated-contracts/models/invoices-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/network-response-dto.d.ts +87 -0
- package/dist/generated-contracts/models/network-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/network-response-dto.js +87 -0
- package/dist/generated-contracts/models/network-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/networks-response-dto.d.ts +34 -0
- package/dist/generated-contracts/models/networks-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/networks-response-dto.js +52 -0
- package/dist/generated-contracts/models/networks-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/nonce-info-response-dto.d.ts +39 -0
- package/dist/generated-contracts/models/nonce-info-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/nonce-info-response-dto.js +55 -0
- package/dist/generated-contracts/models/nonce-info-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/nonce-request-dto.d.ts +59 -0
- package/dist/generated-contracts/models/nonce-request-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/nonce-request-dto.js +69 -0
- package/dist/generated-contracts/models/nonce-request-dto.js.map +1 -0
- package/dist/generated-contracts/models/nonce-response-dto.d.ts +39 -0
- package/dist/generated-contracts/models/nonce-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/nonce-response-dto.js +55 -0
- package/dist/generated-contracts/models/nonce-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/operation-catalog-item-dto.d.ts +45 -0
- package/dist/generated-contracts/models/operation-catalog-item-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/operation-catalog-item-dto.js +59 -0
- package/dist/generated-contracts/models/operation-catalog-item-dto.js.map +1 -0
- package/dist/generated-contracts/models/operation-signature-dto.d.ts +39 -0
- package/dist/generated-contracts/models/operation-signature-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/operation-signature-dto.js +55 -0
- package/dist/generated-contracts/models/operation-signature-dto.js.map +1 -0
- package/dist/generated-contracts/models/operation-usages-response-dto-items-inner-api-operation.d.ts +45 -0
- package/dist/generated-contracts/models/operation-usages-response-dto-items-inner-api-operation.d.ts.map +1 -0
- package/dist/generated-contracts/models/operation-usages-response-dto-items-inner-api-operation.js +59 -0
- package/dist/generated-contracts/models/operation-usages-response-dto-items-inner-api-operation.js.map +1 -0
- package/dist/generated-contracts/models/operation-usages-response-dto-items-inner.d.ts +72 -0
- package/dist/generated-contracts/models/operation-usages-response-dto-items-inner.d.ts.map +1 -0
- package/dist/generated-contracts/models/operation-usages-response-dto-items-inner.js +80 -0
- package/dist/generated-contracts/models/operation-usages-response-dto-items-inner.js.map +1 -0
- package/dist/generated-contracts/models/operation-usages-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/operation-usages-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/operation-usages-response-dto.js +64 -0
- package/dist/generated-contracts/models/operation-usages-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/payout-detail-response-dto.d.ts +130 -0
- package/dist/generated-contracts/models/payout-detail-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/payout-detail-response-dto.js +120 -0
- package/dist/generated-contracts/models/payout-detail-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/payout-list-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/payout-list-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/payout-list-response-dto.js +64 -0
- package/dist/generated-contracts/models/payout-list-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/payout-response-dto.d.ts +130 -0
- package/dist/generated-contracts/models/payout-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/payout-response-dto.js +120 -0
- package/dist/generated-contracts/models/payout-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/post-rates-body-dto.d.ts +34 -0
- package/dist/generated-contracts/models/post-rates-body-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/post-rates-body-dto.js +52 -0
- package/dist/generated-contracts/models/post-rates-body-dto.js.map +1 -0
- package/dist/generated-contracts/models/profile-response-dto.d.ts +66 -0
- package/dist/generated-contracts/models/profile-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/profile-response-dto.js +76 -0
- package/dist/generated-contracts/models/profile-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/public-invoice-response-dto.d.ts +103 -0
- package/dist/generated-contracts/models/public-invoice-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/public-invoice-response-dto.js +101 -0
- package/dist/generated-contracts/models/public-invoice-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/public-transaction-list-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/public-transaction-list-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/public-transaction-list-response-dto.js +64 -0
- package/dist/generated-contracts/models/public-transaction-list-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/public-transaction-response-dto.d.ts +119 -0
- package/dist/generated-contracts/models/public-transaction-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/public-transaction-response-dto.js +113 -0
- package/dist/generated-contracts/models/public-transaction-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/queue-operation-response-dto.d.ts +166 -0
- package/dist/generated-contracts/models/queue-operation-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/queue-operation-response-dto.js +145 -0
- package/dist/generated-contracts/models/queue-operation-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/rate-pair-dto.d.ts +48 -0
- package/dist/generated-contracts/models/rate-pair-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/rate-pair-dto.js +64 -0
- package/dist/generated-contracts/models/rate-pair-dto.js.map +1 -0
- package/dist/generated-contracts/models/rate-result-dto.d.ts +54 -0
- package/dist/generated-contracts/models/rate-result-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/rate-result-dto.js +68 -0
- package/dist/generated-contracts/models/rate-result-dto.js.map +1 -0
- package/dist/generated-contracts/models/rates-response-dto.d.ts +34 -0
- package/dist/generated-contracts/models/rates-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/rates-response-dto.js +52 -0
- package/dist/generated-contracts/models/rates-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/refresh-token-request-dto.d.ts +33 -0
- package/dist/generated-contracts/models/refresh-token-request-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/refresh-token-request-dto.js +51 -0
- package/dist/generated-contracts/models/refresh-token-request-dto.js.map +1 -0
- package/dist/generated-contracts/models/signature-response-dto.d.ts +64 -0
- package/dist/generated-contracts/models/signature-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/signature-response-dto.js +72 -0
- package/dist/generated-contracts/models/signature-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/smart-contract-version-response-dto.d.ts +71 -0
- package/dist/generated-contracts/models/smart-contract-version-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/smart-contract-version-response-dto.js +78 -0
- package/dist/generated-contracts/models/smart-contract-version-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/submit-signature-dto.d.ts +33 -0
- package/dist/generated-contracts/models/submit-signature-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/submit-signature-dto.js +51 -0
- package/dist/generated-contracts/models/submit-signature-dto.js.map +1 -0
- package/dist/generated-contracts/models/top-ups-response-dto-items-inner-currency.d.ts +76 -0
- package/dist/generated-contracts/models/top-ups-response-dto-items-inner-currency.d.ts.map +1 -0
- package/dist/generated-contracts/models/top-ups-response-dto-items-inner-currency.js +80 -0
- package/dist/generated-contracts/models/top-ups-response-dto-items-inner-currency.js.map +1 -0
- package/dist/generated-contracts/models/top-ups-response-dto-items-inner.d.ts +70 -0
- package/dist/generated-contracts/models/top-ups-response-dto-items-inner.d.ts.map +1 -0
- package/dist/generated-contracts/models/top-ups-response-dto-items-inner.js +76 -0
- package/dist/generated-contracts/models/top-ups-response-dto-items-inner.js.map +1 -0
- package/dist/generated-contracts/models/top-ups-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/top-ups-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/top-ups-response-dto.js +64 -0
- package/dist/generated-contracts/models/top-ups-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/transaction-details-dto.d.ts +60 -0
- package/dist/generated-contracts/models/transaction-details-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/transaction-details-dto.js +70 -0
- package/dist/generated-contracts/models/transaction-details-dto.js.map +1 -0
- package/dist/generated-contracts/models/transaction-invoice-response-dto.d.ts +45 -0
- package/dist/generated-contracts/models/transaction-invoice-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/transaction-invoice-response-dto.js +59 -0
- package/dist/generated-contracts/models/transaction-invoice-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/transaction-list-response-dto.d.ts +52 -0
- package/dist/generated-contracts/models/transaction-list-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/transaction-list-response-dto.js +64 -0
- package/dist/generated-contracts/models/transaction-list-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/transaction-response-dto.d.ts +192 -0
- package/dist/generated-contracts/models/transaction-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/transaction-response-dto.js +165 -0
- package/dist/generated-contracts/models/transaction-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.d.ts +22 -0
- package/dist/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.d.ts.map +1 -0
- package/dist/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.js +44 -0
- package/dist/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-scam-parameter.js.map +1 -0
- package/dist/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.d.ts +22 -0
- package/dist/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.d.ts.map +1 -0
- package/dist/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.js +44 -0
- package/dist/generated-contracts/models/transactions-controller-get-transactions-v1-currency-is-verified-parameter.js.map +1 -0
- package/dist/generated-contracts/models/universal-address.d.ts +22 -0
- package/dist/generated-contracts/models/universal-address.d.ts.map +1 -0
- package/dist/generated-contracts/models/universal-address.js +50 -0
- package/dist/generated-contracts/models/universal-address.js.map +1 -0
- package/dist/generated-contracts/models/update-account-dto.d.ts +33 -0
- package/dist/generated-contracts/models/update-account-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/update-account-dto.js +51 -0
- package/dist/generated-contracts/models/update-account-dto.js.map +1 -0
- package/dist/generated-contracts/models/update-address-book-entry-dto.d.ts +33 -0
- package/dist/generated-contracts/models/update-address-book-entry-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/update-address-book-entry-dto.js +49 -0
- package/dist/generated-contracts/models/update-address-book-entry-dto.js.map +1 -0
- package/dist/generated-contracts/models/update-invoice-dto.d.ts +78 -0
- package/dist/generated-contracts/models/update-invoice-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/update-invoice-dto.js +76 -0
- package/dist/generated-contracts/models/update-invoice-dto.js.map +1 -0
- package/dist/generated-contracts/models/update-operation-nonce-dto.d.ts +33 -0
- package/dist/generated-contracts/models/update-operation-nonce-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/update-operation-nonce-dto.js +51 -0
- package/dist/generated-contracts/models/update-operation-nonce-dto.js.map +1 -0
- package/dist/generated-contracts/models/update-payout-dto.d.ts +39 -0
- package/dist/generated-contracts/models/update-payout-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/update-payout-dto.js +51 -0
- package/dist/generated-contracts/models/update-payout-dto.js.map +1 -0
- package/dist/generated-contracts/models/update-profile-request-dto.d.ts +48 -0
- package/dist/generated-contracts/models/update-profile-request-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/update-profile-request-dto.js +60 -0
- package/dist/generated-contracts/models/update-profile-request-dto.js.map +1 -0
- package/dist/generated-contracts/models/user-response-dto.d.ts +63 -0
- package/dist/generated-contracts/models/user-response-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/user-response-dto.js +71 -0
- package/dist/generated-contracts/models/user-response-dto.js.map +1 -0
- package/dist/generated-contracts/models/verify-request-dto.d.ts +53 -0
- package/dist/generated-contracts/models/verify-request-dto.d.ts.map +1 -0
- package/dist/generated-contracts/models/verify-request-dto.js +65 -0
- package/dist/generated-contracts/models/verify-request-dto.js.map +1 -0
- package/dist/generated-contracts/runtime.d.ts +185 -0
- package/dist/generated-contracts/runtime.d.ts.map +1 -0
- package/dist/generated-contracts/runtime.js +350 -0
- package/dist/generated-contracts/runtime.js.map +1 -0
- package/dist/src/abi/index.d.ts +2 -0
- package/dist/src/abi/index.d.ts.map +1 -0
- package/dist/src/abi/index.js +6 -0
- package/dist/src/abi/index.js.map +1 -0
- package/dist/src/abi/multi-sig-wallet.d.ts +539 -0
- package/dist/src/abi/multi-sig-wallet.d.ts.map +1 -0
- package/dist/src/abi/multi-sig-wallet.js +706 -0
- package/dist/src/abi/multi-sig-wallet.js.map +1 -0
- package/dist/src/api/defi-client.d.ts +207 -0
- package/dist/src/api/defi-client.d.ts.map +1 -0
- package/dist/src/api/defi-client.js +404 -0
- package/dist/src/api/defi-client.js.map +1 -0
- package/dist/src/api/index.d.ts +5 -0
- package/dist/src/api/index.d.ts.map +1 -0
- package/dist/src/api/index.js +22 -0
- package/dist/src/api/index.js.map +1 -0
- package/dist/src/api/models/index.d.ts +2 -0
- package/dist/src/api/models/index.d.ts.map +1 -0
- package/dist/src/api/models/index.js +18 -0
- package/dist/src/api/models/index.js.map +1 -0
- package/dist/src/api/models/mappers.d.ts +28 -0
- package/dist/src/api/models/mappers.d.ts.map +1 -0
- package/dist/src/api/models/mappers.js +137 -0
- package/dist/src/api/models/mappers.js.map +1 -0
- package/dist/src/api/models/types.d.ts +167 -0
- package/dist/src/api/models/types.d.ts.map +1 -0
- package/dist/src/api/models/types.js +105 -0
- package/dist/src/api/models/types.js.map +1 -0
- package/dist/src/blockchain/get-chain.d.ts +3 -0
- package/dist/src/blockchain/get-chain.d.ts.map +1 -0
- package/dist/src/blockchain/get-chain.js +54 -0
- package/dist/src/blockchain/get-chain.js.map +1 -0
- package/dist/src/blockchain/index.d.ts +3 -0
- package/dist/src/blockchain/index.d.ts.map +1 -0
- package/dist/src/blockchain/index.js +6 -0
- package/dist/src/blockchain/index.js.map +1 -0
- package/dist/src/blockchain/multisig-client.d.ts +36 -0
- package/dist/src/blockchain/multisig-client.d.ts.map +1 -0
- package/dist/src/blockchain/multisig-client.js +53 -0
- package/dist/src/blockchain/multisig-client.js.map +1 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +21 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/utils/index.d.ts +3 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +40 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/transactions/builders.d.ts +21 -0
- package/dist/src/utils/transactions/builders.d.ts.map +1 -0
- package/dist/src/utils/transactions/builders.js +31 -0
- package/dist/src/utils/transactions/builders.js.map +1 -0
- package/dist/src/utils/transactions/eip712.d.ts +68 -0
- package/dist/src/utils/transactions/eip712.d.ts.map +1 -0
- package/dist/src/utils/transactions/eip712.js +81 -0
- package/dist/src/utils/transactions/eip712.js.map +1 -0
- package/dist/src/utils/transactions/index.d.ts +3 -0
- package/dist/src/utils/transactions/index.d.ts.map +1 -0
- package/dist/src/utils/transactions/index.js +19 -0
- package/dist/src/utils/transactions/index.js.map +1 -0
- package/dist/src/utils/validation.d.ts +20 -0
- package/dist/src/utils/validation.d.ts.map +1 -0
- package/dist/src/utils/validation.js +49 -0
- package/dist/src/utils/validation.js.map +1 -0
- package/docs/api-client.md +74 -0
- package/docs/contributing.md +33 -0
- package/docs/overview.md +33 -0
- package/docs/transactions.md +36 -0
- package/package.json +61 -0
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# API Client
|
|
2
|
+
|
|
3
|
+
The API layer is implemented in `src/api/defi-client.ts` and wraps the generated contracts to present a developer-friendly interface for authentication and API calls.
|
|
4
|
+
|
|
5
|
+
## Configuration
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
const client = new DefiClient({
|
|
9
|
+
baseUrl: 'https://api.example.com',
|
|
10
|
+
apiKey: process.env.API_KEY!,
|
|
11
|
+
defaultHeaders: { 'x-app-version': '1.0.0' },
|
|
12
|
+
});
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Supported options:
|
|
16
|
+
- `baseUrl` (required): REST endpoint (without trailing slash).
|
|
17
|
+
- `apiKey` (required): value sent as the `x-api-key` header on every request.
|
|
18
|
+
- `fetchApi`: Custom fetch implementation (useful for SSR or testing).
|
|
19
|
+
- `middleware`: OpenAPI middleware applied to every request.
|
|
20
|
+
- `defaultHeaders`, `credentials`, `queryParamsStringify`: Fine-grained HTTP control.
|
|
21
|
+
|
|
22
|
+
## Authentication
|
|
23
|
+
|
|
24
|
+
`DefiClient` authenticates purely via API key. Provide the key at construction time and every request will include `x-api-key: <value>`. There is no nonce/signature exchange or access/refresh token management in the SDK anymore.
|
|
25
|
+
|
|
26
|
+
## Account Management
|
|
27
|
+
- `getAccounts()` retrieves all accounts linked to the authenticated user (the first entry is cached automatically).
|
|
28
|
+
- `getAccount()` fetches account details as an `AccountDetailsDto`, exposing the primary `account` metadata plus network `deployments`.
|
|
29
|
+
- `getDeployments(accountDetails?)` returns the list of deployments for the account; pass cached account details to avoid re-fetching if you already have them.
|
|
30
|
+
- `selectChain(chainId)` resolves and stores the deployment for a chain so downstream calls (invoices, payouts, claims, etc.) can omit chain/deployment identifiers.
|
|
31
|
+
- `getSelectedDeployment()` returns the cached deployment (or `undefined` if none was selected yet).
|
|
32
|
+
- `getAccountBalanceSummary({ chainId, baseCurrency })` retrieves balances; `baseCurrency` must be a value from `FiatCurrency`.
|
|
33
|
+
- `getAssetBalances({ chainId?, baseCurrency, ...filters })` returns paginated asset balances with optional sorting/filtering by asset id or balance.
|
|
34
|
+
- `getDeploymentByChain(chainId, accountDetails?)` resolves the `AccountDeploymentDto` for the requested chain without affecting the cached selection (pass cached account details to avoid re-fetching).
|
|
35
|
+
|
|
36
|
+
Each API key is scoped to a single account, so the SDK auto-selects it internally and never requires an `accountId`.
|
|
37
|
+
|
|
38
|
+
## Currencies & Payouts
|
|
39
|
+
- `getCurrencies()` returns the list of supported currencies (native coins have `address === null`).
|
|
40
|
+
- `getNativeCurrency(chainId)` returns the native coin entry for a chain (i.e., the currency with `address === null`).
|
|
41
|
+
- `findCurrencyBySymbol({ symbol, chainId? })` searches currencies by ticker symbol (optionally constrained by chain, or falling back to the selected chain if one is cached); throws if zero or multiple matches exist.
|
|
42
|
+
- `createPayout({ currencyId, amount, recipient, ... })` creates a payout request and enqueues a multisig operation for the selected chain (optionally override via `chainId`; amount is passed through as-is to the REST API).
|
|
43
|
+
- `getPayouts({ ...filters, chainId? })` lists payouts with rich filtering (status, creator, address, etc.).
|
|
44
|
+
- `getPayout({ payoutId, chainId? })` retrieves on-chain and API metadata for a specific payout.
|
|
45
|
+
- `updatePayout({ payoutId, ...patch, chainId? })` patches tracking or callback metadata without re-creating the payout.
|
|
46
|
+
- `getDeploymentQueue({ chainId?, ... })` fetches pending operations for signature/execution.
|
|
47
|
+
- `submitOperationSignature({ operationId, signature, chainId? })` uploads an off-chain signature for an operation.
|
|
48
|
+
|
|
49
|
+
## Invoice Management
|
|
50
|
+
- `getInvoices({ ...filters, chainId? })` paginates invoices by status, date range, currency, or tracking ID.
|
|
51
|
+
- `getInvoice({ invoiceId, chainId? })` returns the full invoice details payload.
|
|
52
|
+
- `createInvoice({ requestedAmount, currencyIds, ... , chainId? })` creates an invoice for a chain/currency pair with optional callbacks.
|
|
53
|
+
- `updateInvoice({ invoiceId, ...patch, chainId? })` updates request amount, callback URLs, currency selections, or status (e.g., to cancel an invoice, set `status: InvoiceStatus.Cancelled`).
|
|
54
|
+
|
|
55
|
+
## Transactions & Claims
|
|
56
|
+
- `getTransactions({ ...filters, chainId? })` exposes the transaction ledger with filters for operation type, status, currency, block hash, etc.
|
|
57
|
+
- `getTransaction({ transactionId, chainId? })` hydrates a specific transaction with decoded metadata.
|
|
58
|
+
- `getClaims({ ...filters, chainId? })` lists claimable deposits grouped by invoice and currency.
|
|
59
|
+
- `getClaimableCurrencies(chainId?)` surfaces currencies that currently have claimable balances.
|
|
60
|
+
- On-chain claim broadcasting is app-controlled; use `MultisigBlockchainClient.buildClaimCalldata` (see `examples/claim-deposits.ts`) to assemble calldata for `MultiSigWallet.claim`/`claimTo`, then broadcast the transaction yourself.
|
|
61
|
+
|
|
62
|
+
## Blockchain Client & Builders
|
|
63
|
+
- `MultisigBlockchainClient` (in `src/blockchain`) encapsulates RPC access for multisig operations.
|
|
64
|
+
- `createExecuteTypedData({ contractAddress, operation, domainOverride? })` returns the EIP-712 payload ready for `signTypedData`.
|
|
65
|
+
- `buildExecuteTransaction({ contractAddress, operations })` builds a `MultiSigWallet.execute` transaction (single or batch) using queue operations.
|
|
66
|
+
- `buildClaimCalldata({ erc20, depositAccountIds, to? })` generates calldata for `claim`/`claimTo` functions.
|
|
67
|
+
|
|
68
|
+
The lower-level builders in `src/utils/transactions` are also exported if you want to construct transactions without instantiating a client. This separation keeps API usage decoupled from blockchain access so the blockchain client can be used independently of how requests are authenticated.
|
|
69
|
+
|
|
70
|
+
## Error Handling
|
|
71
|
+
All generated API methods throw `ResponseError` when the server responds with non-2xx status codes. Catch these errors to read the JSON body for additional context, as demonstrated in `examples/get-account-info.ts`.
|
|
72
|
+
|
|
73
|
+
## Validation Helpers
|
|
74
|
+
Use `validateAddress({ address, networkChainId, currency, assets })` from `src/utils/validation` (re-exported via `@b2binpay/defi-sdk`) before submitting payouts or invoices. The helper enforces checksum address formatting, verifies currency/network combinations, and ensures the currency is part of the provided asset list, returning `{ isValid, errors, normalizedAddress }`.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Contributing Guide
|
|
2
|
+
|
|
3
|
+
## Prerequisites
|
|
4
|
+
- Node `^22.16.0` and npm `^10.9.2`.
|
|
5
|
+
- Access to the OpenAPI specification for regenerating `generated-contracts/`.
|
|
6
|
+
- Wallet tooling capable of signing messages for integration testing.
|
|
7
|
+
|
|
8
|
+
## Project Commands
|
|
9
|
+
- `npm install`: Install dependencies.
|
|
10
|
+
- `npm run generate:api`: Regenerate REST client from the remote OpenAPI spec.
|
|
11
|
+
- `npm run lint`: Check and format code with Biome.
|
|
12
|
+
- `npm run example:get-account-info`: Run the reference example (requires `.env`).
|
|
13
|
+
- `npx tsc --noEmit`: Type-check the project.
|
|
14
|
+
|
|
15
|
+
## Workflow
|
|
16
|
+
1. Update or regenerate API contracts as needed.
|
|
17
|
+
2. Implement changes inside `src/` (API layer or utilities).
|
|
18
|
+
3. Add or update documentation under `docs/`.
|
|
19
|
+
4. Update examples/tests to reflect new behaviour.
|
|
20
|
+
5. Run `npx tsc --noEmit` before opening a PR.
|
|
21
|
+
|
|
22
|
+
## Coding Guidelines
|
|
23
|
+
- Prefer TypeScript modules in `src/` with explicit named exports.
|
|
24
|
+
- Keep shared interfaces/types in dedicated files when used by multiple modules.
|
|
25
|
+
- Favour composition over inheritance; expose helper functions over classes unless stateful behaviour is required.
|
|
26
|
+
- Limit comments to non-obvious logic and architectural decisions.
|
|
27
|
+
|
|
28
|
+
## Release Preparation
|
|
29
|
+
- Ensure `generated-contracts/` is up to date and committed.
|
|
30
|
+
- Bump the version in `package.json` (to be configured once publishing is in place).
|
|
31
|
+
- Attach release notes referencing relevant documentation updates.
|
|
32
|
+
|
|
33
|
+
For architectural orientation review `docs/overview.md` first, then reference module-specific guides.
|
package/docs/overview.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# SDK Overview
|
|
2
|
+
|
|
3
|
+
This SDK provides a single TypeScript entry point that combines REST API access with smart-contract helpers tailored to the B2BinPay DeFi stack.
|
|
4
|
+
|
|
5
|
+
- The **API layer** lives under `src/api` and wraps the generated `AccountsApi` (and related REST modules) so consumers interact with concise methods like `getAccountBalanceSummary`.
|
|
6
|
+
- The **transaction utilities** under `src/utils/transactions` encapsulate `viem` logic for composing, signing, and (soon) decoding contract payloads.
|
|
7
|
+
- Shared contract interfaces live under `src/abi`, ensuring builders/decoders stay consistent with the deployed contracts.
|
|
8
|
+
- Documentation is collated in the `docs/` folder and is shipped with the npm package for discoverability.
|
|
9
|
+
|
|
10
|
+
## High-Level Workflow
|
|
11
|
+
1. Authenticate requests by instantiating `DefiClient` with your API key (sent automatically via `x-api-key`).
|
|
12
|
+
2. Interact with REST endpoints using the client’s convenience methods.
|
|
13
|
+
3. Build and sign contract transactions through the utility layer.
|
|
14
|
+
4. Decode on-chain data returned from contract calls with the same helper set (decoders WIP).
|
|
15
|
+
|
|
16
|
+
## Supported Workflows
|
|
17
|
+
- **Authentication management** – every client instance binds to a sandbox or production base URL and injects the API key automatically.
|
|
18
|
+
- **Account & ledger data** – fetch account details, balances, deployment queues, invoices, payouts, and transactions with a single method call.
|
|
19
|
+
- **Chain selection** – use `selectChain(chainId)` to cache the deployment for a target network so subsequent invoice/payout/claim calls don’t need explicit deployment IDs.
|
|
20
|
+
- **Invoice lifecycle** – create, update, and cancel invoices with tracking IDs, callback URLs, and custom currency selections.
|
|
21
|
+
- **Payout lifecycle** – list payouts with filters, fetch payout details, patch metadata, and submit multisig signatures.
|
|
22
|
+
- **Claims management** – enumerate claimable deposits and trigger single/batch claim executions tied to signed transaction hashes.
|
|
23
|
+
- **Validation helpers** – `validateAddress` enforces address + network correctness before hitting write endpoints, reducing API errors.
|
|
24
|
+
|
|
25
|
+
## Published Package
|
|
26
|
+
The publishable module exports:
|
|
27
|
+
- `DefiClient` and supporting types for API-key-based account flows.
|
|
28
|
+
- Transaction helper utilities (`transactions.buildExecuteOperationsTransaction`, `transactions.createExecuteTypedData`, `transactions.signExecuteTypedData`, etc.) under a dedicated namespace.
|
|
29
|
+
- Shared ABI exports (`abi.MULTI_SIG_WALLET_ABI`) for contract-aware integrations.
|
|
30
|
+
|
|
31
|
+
See `examples/queue-sign.ts` for a combined flow that authenticates, fetches the linked account, builds a payout execute payload, and signs it, `examples/queue-execute.ts` for broadcasting the execute transaction, and `examples/claim-deposits.ts` for on-chain claim calldata and broadcasting.
|
|
32
|
+
|
|
33
|
+
Refer to `docs/api-client.md` and `docs/transactions.md` for deep dives into each layer.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Transaction Utilities
|
|
2
|
+
|
|
3
|
+
This SDK exposes a cohesive set of helpers under `src/utils/transactions` to standardise interactions with the B2BinPay smart contract ecosystem.
|
|
4
|
+
|
|
5
|
+
## Modules
|
|
6
|
+
- `builders/`: Functions that create transaction payloads for contract methods. Currently includes `buildExecuteOperationsTransaction`, which encodes a `MultiSigWallet.execute` call for one or more queued operations.
|
|
7
|
+
- `eip712/`: Helpers for building EIP-712 typed data (`createExecuteTypedData`, `buildExecuteTypedMessage`) and optional sign helpers.
|
|
8
|
+
- `blockchain/MultisigBlockchainClient`: RPC-aware helper that wraps `eip712` utilities, producing execute-typed data while keeping API interactions optional; also exposes `buildClaimCalldata` for claim transactions.
|
|
9
|
+
- ABI definitions required by these helpers are stored under `src/abi` to keep contract interfaces versioned alongside the SDK.
|
|
10
|
+
|
|
11
|
+
## Design Goals
|
|
12
|
+
- **Type safety**: Reuse the same DTOs/ABI typings across builders, signers, and decoders.
|
|
13
|
+
- **Deterministic encoding**: Ensure every canonical contract call has a single builder that validates inputs before encoding.
|
|
14
|
+
- **Composable flows**: Allow apps to compose API data + transaction payload generation without duplicating logic.
|
|
15
|
+
- **Test coverage**: Each helper will include contract-level test vectors and integration fixtures.
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
- Use `buildExecuteOperationsTransaction` (via `transactions.builders` or `MultisigBlockchainClient.buildExecuteTransaction`) to encode on-chain `MultiSigWallet.execute` calls for one or many queue operations.
|
|
19
|
+
- Use `MultisigBlockchainClient.buildClaimCalldata` to assemble calldata for `claim`/`claimTo` when broadcasting claim transactions.
|
|
20
|
+
- See `examples/queue-sign.ts` for signing, `examples/queue-execute.ts` / `examples/queue-execute-batch.ts` for broadcasting execute transactions, and `examples/claim-deposits.ts` for claim calldata + broadcasting.
|
|
21
|
+
|
|
22
|
+
### Signing Queue Operations
|
|
23
|
+
When a payout is created, the backend enqueues a multisig operation. The `executeOperationId` exposed by the queue can be signed locally using:
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
const typedData = await transactions.createExecuteTypedData({
|
|
27
|
+
contractAddress,
|
|
28
|
+
operation,
|
|
29
|
+
publicClient,
|
|
30
|
+
});
|
|
31
|
+
|
|
32
|
+
const signature = await account.signTypedData(typedData);
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Submit the resulting signature with `submitOperationSignature` on the `DefiClient` to record approval. If you prefer a
|
|
36
|
+
higher-level abstraction, instantiate `MultisigBlockchainClient` and call `createExecuteTypedData` directly.
|
package/package.json
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@b2binpay/defi-sdk",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "TypeScript SDK for the B2BinPay DeFi API with blockchain transaction utilities built on viem",
|
|
5
|
+
"private": false,
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"author": "B2BinPay (https://b2binpay.com)",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "https://github.com/b2binpay/defi-sdk-nodejs.git"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://github.com/b2binpay/defi-sdk-nodejs#readme",
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/b2binpay/defi-sdk-nodejs/issues"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc -p tsconfig.build.json",
|
|
18
|
+
"lint": "biome check",
|
|
19
|
+
"lint:fix": "biome check --fix",
|
|
20
|
+
"prepublishOnly": "npm run build",
|
|
21
|
+
"generate:api": "rm -rf ./generated-contracts && openapi-generator-cli generate --openapitools ./openapitools.json",
|
|
22
|
+
"example:get-account-info": "tsx examples/get-account-info.ts",
|
|
23
|
+
"example:create-invoice": "tsx examples/create-invoice.ts",
|
|
24
|
+
"example:get-invoice-details": "tsx examples/get-invoice-details.ts",
|
|
25
|
+
"example:create-payout": "tsx examples/create-payout.ts",
|
|
26
|
+
"example:claim-deposits": "tsx examples/claim-deposits.ts",
|
|
27
|
+
"example:queue-sign": "tsx examples/queue-sign.ts",
|
|
28
|
+
"example:queue-execute": "tsx examples/queue-execute.ts",
|
|
29
|
+
"example:queue-execute-batch": "tsx examples/queue-execute-batch.ts"
|
|
30
|
+
},
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"viem": "^2.40.3"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@biomejs/biome": "2.3.2",
|
|
36
|
+
"@openapitools/openapi-generator-cli": "^2.25.2",
|
|
37
|
+
"@types/node": "^24.10.1",
|
|
38
|
+
"dotenv": "^17.2.3",
|
|
39
|
+
"tsx": "^4.21.0",
|
|
40
|
+
"typescript": "^5.9.3"
|
|
41
|
+
},
|
|
42
|
+
"main": "./dist/index.js",
|
|
43
|
+
"types": "./dist/index.d.ts",
|
|
44
|
+
"exports": {
|
|
45
|
+
".": {
|
|
46
|
+
"types": "./dist/index.d.ts",
|
|
47
|
+
"require": "./dist/index.js",
|
|
48
|
+
"default": "./dist/index.js"
|
|
49
|
+
},
|
|
50
|
+
"./package.json": "./package.json"
|
|
51
|
+
},
|
|
52
|
+
"files": [
|
|
53
|
+
"dist",
|
|
54
|
+
"docs",
|
|
55
|
+
"README.md"
|
|
56
|
+
],
|
|
57
|
+
"engines": {
|
|
58
|
+
"node": "^22.16.0",
|
|
59
|
+
"npm": "^10.9.2"
|
|
60
|
+
}
|
|
61
|
+
}
|