Skip to main content
@paxoslabs/amplify-sdk@1.0.0 is a hard break from 0.5.x. There is no compatibility shim — every integration must be updated. This page lists what changed and the smallest correct update for each surface.

Removed APIs

The following are gone in 1.0.0:
  • initAmplifySDK(...).
  • All flat-function exports (prepareDeposit, prepareDepositTxData, prepareDepositWithPermitTxData, prepareDepositPermitSignature, prepareDepositAuthorization, prepareWithdrawal, prepareWithdrawalAuthorization, prepareWithdrawOrderTxData, prepareApproveWithdrawOrderTxData, prepareCancelWithdrawOrderTxData, prepareApproveDepositTokenTxData).
  • All ABI exports.
  • EIP-712 helpers (parsePermitSignature, toEthSignTypedDataV4, PERMIT_TYPES). Use viem (signTypedData) directly on the typed data the SDK returns.
  • On-chain approval-status helpers (isDepositSpendApproved, isWithdrawalSpendApproved).
  • The typed-error hierarchy (VaultNotFoundByAddressError, UnauthorizedVaultAccessError, UnsupportedChainError, VaultConfigIncompleteError, …). All errors now flow through a single AmplifyError.
  • SDK-managed telemetry and logger.
  • Display helpers (getVaultTVL, getVaultAPY, getMinimumMint, getMinimumWithdrawalOrderSize, getDepositCap, getWithdrawalFee, getWithdrawalRequests, calculateDepositFee). The same data is available directly via the client’s vaults.*, withdraw.*, and users.* namespaces.

The new shape

Field-by-field rename table

Deposit

Withdraw

Vaults / reads

Users

Error handling

There are no longer separate error classes per failure mode. Switch on err.statusCode and inspect err.body for backend-provided error details.

Permit deposits

Withdrawals

Withdrawals settle through WithdrawQueue.submitOrder and require a prior ERC-20 approve(WithdrawQueue, amount) on the share token. Call client.core.authorization.detect({ tokenAddress: vaultAddress, ... }) to detect whether allowance is already sufficient (method: 'already_approved'); otherwise submit a standard approve transaction before calling client.amplify.withdraw.prepare(...).

Decimals

Token amounts in 1.0.0 are decimal strings in base units. The SDK does not parse human-readable inputs. Always read decimals() live from the token contract (e.g. via viem’s readContract / useBalance) and convert with parseUnits(value, decimals).toString() before calling the SDK.