All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Extended wallet to get deposit address:
account.wallet.getDepositAddress()
.
- Extended new webhook event type:
item_creation_order_completed
.
- Extended items filters.
- Replaced bsv-wasm by @noble/curves to handle request signing.
- Removed support for
profile.getEncryptionKeypair
.
- Added item actions feature: users can execute actions from HandCash that interact with the developer app.
- Change CJS extension from
.cjs.js
to.cjs
to avoid issues.
- Replace axios by the native fetch API.
- Added param
appSecret
to theHandCashMinter
constructor.
- Added field
externalId
in items so that they can be referenced externally. - Added feature to burn and create items in a single call via
minter.burnAndCreateItemsOrder({...})
.
- Get item by origin via
account.items.getItemByOrigin('origin')
. - Arbitrary parameter in
minter.createItemsOrder({ uid: 'custom', ...})
to include a custom reference in the order.
- Webhook types changed: webhook types have been changed to be more consistent with the rest of the SDK. Check the webhooks migration guide for more information.
- Extend transaction participant type to include
id
property.
- HandCash Webhooks: added types and signature verification.
- HandCash Minter: create items with a single call.
- Updated type definitions.
- Use ESBuild as the bundler.
- Improved error propagation to include the original error message.
- Updated type definitions.
- Support
imageHighResUrl
in the media schema for items.
- Extended HandCashMinter to retrieve the items in an order.
- Added support for image URL to the collection definitions.
- Improved error handling and propagation.
- Upload collection images before sending the request to create them.
- Added
HandCashMinter
component to inscribe 1Sat Ordinals. - Added
account.items
component to interact with the user items.
- Fix serialization issue affecting some endpoints.
- Better
Attachment
type definition.
- Set
content-type
header asapplication/json
for every HTTP request.
- New function in profile to get app permissions along with the app id (
getPermissionsInfo
).
- Fix string conversion causing an issue with
getEncryptionKeypair()
- Fix data type transformation causing an issue with
getEncryptionKeypair()
- Added missing types definitions -
"BSV"
inCurrencyCode
. - Exported hidden types:
PaymentRequestItem
,Attachment
,TransactionParticipant
.
- Downgraded
nanoid
to have CommonJS support - Fixed query parameters formatting int the get public profiles by aliases endpoint
- Add
oauth-nonce
to the headers to avoid errors when creating multiple requests with the sameoauth-timestamp
in headers.
- Fully rewritten in TS.
- Packaging/building process with Vite.
- Fast tests using Vitest.
- Smaller package size.
- ESM & CJS support.
- Documentation (Jsdoc) for all core functions and classes of the SDK.
ππ» Credits to trgsv
- Improve typescript definitions
- Add new feature to create new accounts directly from apps
- Fix bug when requesting multiple profiles #31
ππ» Credits to krisarsov
- Fix typescript definition for
PaymentParameters
- Add typescript definitions
index.d.ts
! - Add tags to the payment items:
wallet.pay({ payments: [{ destination: 'satoshi', tags: ['tag1', 'tag2'], currencyCode: 'USD', sendAmount: 0.05}] });
ππ» Credits to Alvin
- Use production environment by default in the SDK initialization.
- Extend
HandCashOwner
(RUN extension) to return the NFT locations.
- Change SDK initialization to define
appSecret
. - Revert
clientUrl
so it redirects to app.handcash.io instead of handcash.io.
- Extend
Wallet
to expose the user total balance viaaccount.wallet.getTotalBalance()
.
- Update
clientUrl
so it redirects to handcash.io instead of app.handcash.io - Fix issues with some endpoints using HTTP GET with a body as it's not supported by some browsers.
- Extend
HandCashOwner.nextOwner()
with an optional aliasHandCashOwner.nextOwner(alias)
.
- Include app-secret in the headers for the run extension endpoints.
- Improve JSDoc for better auto-completion
- Improve error feedback when using wrong auth tokens: "Missing authToken" and "Invalid authToken".
- Method to get the change spend limits URL via
handCashConnect.getChangeSpendLimitsUrl()
- Beta features:
HandCashPurse
andHandCashOwner
to integrate HandCash Connect with RUN.
- Add feature in wallet to retrieve an exchange rate for a given fiat currency code.
- Add extra query parameters to the redirection URL so when the user is redirected back to the app these parameters are included.
- Expose
bitcoinUnit
as part of users' public profile.
- Improve JSDoc for better auto-completion
- Improve error feedback when using wrong auth tokens: "Missing authToken" and "Invalid authToken".
- Method to get the change spend limits URL via
handCashConnect.getChangeSpendLimitsUrl()
- Beta features:
HandCashPurse
andHandCashOwner
to integrate HandCash Connect with RUN.
- Add feature in wallet to retrieve an exchange rate for a given fiat currency code.
- Add extra query parameters to the redirection URL so when the user is redirected back to the app these parameters are included.
- Expose
bitcoinUnit
as part of users' public profile.
- Improve error propagation so
HandCashApiError
does not wrap generic errors as they lose the stack trace and other important details. - Replace deprecated
@std/esm
byesm
.
- Fixed wrong signature issue affecting browser integration.
- Initial release