npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@imtbl/imx-sdk

v3.8.2

Published

This repository contains everything partners need to launch the link, and make transactions on IMX. For all documentation needs, please go to [docs.x.immutable.com](https://docs.x.immutable.com/)

Downloads

8,905

Readme

ImmutableX Javascript SDK

This repository contains everything partners need to launch the link, and make transactions on IMX. For all documentation needs, please go to docs.x.immutable.com

Note: Currently our SDK is only officially compatible with Node v18.

CHANGELOG

Index

3.8.2

  • Fix ERC20 withdrawals by updating retrieval of asset type from encoding API and removing decimal from payload.

3.8.1

  • Fix NFT withdrawals by updating generation of asset ID to use encoding API.

3.8.0

  • Add getStarkExContractMajorVersion to return the StarkEx contract version number.

3.7.1

  • Update withdrawal tests.
  • Simplify withdrawal V2 token logic.
  • Fix use of ownerKey in withdrawal V2.

3.7.0

  • Add support for ERC721 token type to complete withdrawal and register and complete withdrawal flows when StarkEx contract version >= 4.0.

3.6.0

  • Add registerAndCompleteWithdrawal to allow an unregistered user to complete withdrawal using updated exchange contract.
  • Add withdrawalAll to call updated exchange contract.
  • Update getWithdrawalBalanceV4 to use controller.getAssetId when StarkEx contract version >= 4.0.

3.5.0

  • Add completeWithdrawalV2F.
  • Update completeWithdrawalF to use completeWithdrawalV2F when StarkEx contract version >= 4.0.
  • Update isRegisteredStarkF to be compatible with change in behavior of getEthAddress StarkEx contract function in v4.

3.4.0

  • Add StarkEx V4.0 contract bindings.
  • Add registerEthAddress to enable use of function on StarkEx V4.0.

3.3.0

  • Update prepare withdrawal flow to fetch StarkEx contract version and execute logic appropriate for the version.

3.2.0

  • Update deposit flow to fetch StarkEx contract version and execute the deposit flow appropriate for the version.

3.1.3

  • Add getStarkExContractVersion to fetch the StarkEx contract version.

3.1.2

  • Extend order quantity_with_fees type range to include 0.

3.1.1

  • Fix bug where window.ethereum has multiple providers, but no setSelectedProvider function.

3.1.0

  • Bump Ethers version to ^5.7.1 to support Sepolia.

3.0.0

  • Remove functions that interface with v1 orders & trades API endpoints as v1 version of that API has been sunsetted.
  • Removed orderAndTradeAPIVersion parameter from the Link class constructor, this is no longer needed as order and trade API version 3 will be the only available default.

2.1.1

  • Added sunset date for v1 order book functions

2.1.0

  • Add New Ganymede as game wallet provider preference type

2.0.3

  • Added support to generate backwards compatible stark key using getKeyPairFromPath for accounts created with versions before 1.43.5 and also imx-core-sdk

2.0.2

  • fix readme.md

2.0.1

  • remove wallet_connect provider preference to clean up after removal
  • updates to readme

2.0.0

  • Deprecate all @walletconnect/* deps
  • Refactor build tooling to support Node 18 (upgrades to Rollup 3.x)
  • Update magic-sdk to support Node 18

For more information on migration, please see: https://docs.x.immutable.com/docs/x/node16-migration/

1.43.7

  • Fixed GrindKey logic to correctly generate deterministic stark key.
  • Provided backwards compatible way to generate starkkey after this GrindKey Fix.

1.43.6

  • Deprecate v1 versions of getTrade and getTrades functions.
  • Add v3 versions of getTrade and getTrades functions.

1.43.5

  • Fix readme index

1.43.4

  • Fix an issue when attempting a Transfer with a Link SDK created with a value for the orderAndTradeAPIVersion parameter.

1.43.3

  • Fix createOrderRequestV3F function implementation.
  • Add unit tests for v3 order & trade functions.

1.43.2

  • Add SDK dependency tracking.
  • Update critical dependencies.

1.43.1

  • Add Planet quest marketplace domains to experimental feature whitelist.
  • Remove experimental tag from bids/offers functions.

1.43.0

  • Add optional parameter in the Link constructor function to allow targeting v3 endpoints for order and trade flows.

1.42.1

  • Revert changes from 1.42.0. Problem with transpiling Web3Modal package

1.42.0

  • Add support for WalletConnect V2.
  • Added wallet_connect_v2 as a ProviderPreference

1.41.3

  • Add token type, token address, decimals, and symbol to Maker Taker Fees type
  • Add updated_timestamp to Get Order V3 result

1.41.2

  • Fix changelog

1.41.1

  • Add deprecation headers and warning logs for deprecated functions

1.41.0

  • Add support for the optional splitFees parameter when invoking ImmutableXClient.createOrderV3

1.40.1

  • Removed experimental flags on bids/offers endpoints
  • Introduced maker_fees and taker_fees fields to the getOrderV3 and getOrdersV3 endpoints

1.40.0

  • Add imx-link-info events for disptaching wallet change events on the buy route
  • With game wallets and their specific collections, the link.buy() route may suggest that users connect with a specific game wallet before purchasing, this will dispatch an event so that marketplaces are kept in sync with the Link connected wallet provider

1.39.1

  • Fix broken import in gameWalletProvider

1.39.0

  • Add support for Game Wallet Auto Detect feature in Link
  • Add Cross the Ages and KYO as game wallet provider preference types

1.38.6

  • Add support for taker fees to signature generation process in CreateOrderWithFeeV3

1.38.5

  • Add support for taker fees to CreateTradeV3

1.38.4

  • Add support for taker fees to Link AcceptOffer parameters

1.38.3

  • Add Planet quest URLs to experimental feature whitelist

1.38.2

  • Bugfix for dangling event handlers

1.38.1

  • Rename gameIcon to gameIconUrl in GameWalletProviderOptions type

1.38.0

  • Add game wallet provider setup to getEthereumProvider
  • Allow for providerPreference to be extended for game wallet providers

1.37.6

  • Update parameter name for primary and secondary sales: wallet_address is now user_wallet_address

1.37.5

  • Update typo in whitelisted domain nfttrade.com -> nftrade.com

1.37.4

  • Updated whitelisted domains to include tokentrove.com, okx.com and nfttrade.com

1.37.3

  • Updated ImmutableOrderStatus type invalid -> renamed to inactive to match API responses
  • Updated ImmutableFeeType type to include maker and taker

1.37.2

  • Updated ImmutableOrderStatus type to include invalid

1.37.1

  • Updated ImmutableXClient to enhance internal error handlers

1.37.0

  • Add fees parameter to link.makeOffer function

1.36.1

  • Update supported exchange types for getCurrenciesV3()

1.36.0

  • Add experimental getCurrenciesV3()

1.35.7

  • Remove experimental flag from nftCheckout and createExchangeV3 methods

1.35.6

  • Fix return value for getSecondaryTransactionsHistory()

1.35.5

  • Added method isMobile()

1.35.4

  • Add experimental method getSecondaryTransactionsHistory()

1.35.3

  • Update supported_currencies in WidgetParams
  • Add onramp and offramp in ImmutableExchangeType
  • Add provider in NFTCheckoutPrimaryParamsCodec

1.35.2

  • Exclude sellerWalletAddress from NFTCheckoutSecondaryParamsCodec

1.35.1

  • Exclude seller_wallet_address from nftCheckoutPrimary

1.35.0

  • Added third-party cookie blocking policy check when running Link methods on the iFrame mode to return error 1004 if third-party cookies blocked
  • Updated Link methods to return defined errors when rejecting asynchrounous operations
  • Updated Link methods to return error 1003 if the user closes Link
  • Updated Link methods to return error 1005 if the domain is not authorized to use the iFrame mode

1.34.0

  • Add experimental method for creating a buy order createOrderV3
  • Add experimental method for accepting a buy order createTradeV3
  • Add experimental method for cancelling a buy order cancelOrderV3

1.33.0

  • Add experimental nftCheckoutPrimary, nftCheckoutSecondary, getNFTSecondaryTransactionStatus and createExchangeV3 methods

1.32.2

  • Add id param to exchange signable-transfer-details

1.32.1

  • Fixing event listener origin path

1.32.0

  • Revert changes from 1.31.0

1.31.0

  • Updating ImmutableETHToken and ImmutableERC20Token types to include quantity_with_fees property

1.30.0

  • Add experimental method for acceptOffer link.acceptOffer

1.29.0

  • Update Ropsten config to Sandbox/Goerli.

1.28.0

  • Add experimental methods for makeOffer link.makeOffer and cancelOffer link.cancelOffer

1.27.0

  • Add experimental getPrimaryTransactions method

1.26.1

  • Update getEthereumProvider method to detect multiple wallet extensions properly

1.26.0

  • Remove syncState method

1.25.1

  • Update PrimaryTransactionStatus to support waitingAuthorization transaction status

1.25.0

  • Add experimental createNFTPrimaryTransaction and getNFTPrimaryTransactionStatus methods to create/get primary sale transaction

1.24.1

  • Update default webUrl in Link to https://link.ropsten.x.immutable.com

1.24.0

  • Update ImxClient getOrders to support buy_token_name parameter

1.23.0

  • Update ImxClient getOrders to support updated_min_timestamp and updated_max_timestamp parameters

1.22.3

  • Increment engine version to v16

1.22.1

  • Add MultipleExtensionsError when default ethereum was rewritten

1.22.0

  • Add Gamestop provider preference

1.21.4

  • Fix header key and value for createTradeWithRiskAssessment method to trigger risk assessment

1.21.3

  • Remove experimental flag for cryptoToFiat function

1.21.2

  • Update FiatToCrypto and CryptoToFiat result codecs

1.21.1

  • Add experimental duplicated create trade method with x-wallet-sdk-version header

1.21.0

  • Receiving Magic configuration as params of the getProvider function instead of reading it from the localStorage.

1.20.4

  • Update user registration request by adding email field

1.20.3

  • Add experimental verifyOTP method
  • Add experimental getAwaitingOrderStatus method

1.20.2

  • Add eth headers for exchange transfer endpoints

1.20.1

  • Fix the vulnerabilitie by bumping the dependency version

1.20.0

  • Add custom WalletConnect QR code modal to improve UX

1.19.0

  • Add new optional attribute email to the response of the method setup(), this value will be set only when connecting through Magic.

1.18.0

  • Updated ethBalanceV2 and erc20BalanceV2 to stop repetitively fetching the balance

1.17.0

  • Add L1 message signing to transactions

1.16.0

  • Add a new method to get public encryption key getPublicKey()

1.15.0

  • Add ethBalanceV2 and erc20BalanceV2 to support read balances via a provider without connect to the wallet

1.14.1

  • Remove experimental flag for sign()

1.14.0

  • Update dependency: etherjs to 5.6.0

1.13.0

  • Add a new experimental method sign()

1.12.0

  • Add new walletconnect provider
  • Updated getProvider to accept optional provider options

1.11.1

  • Add crypto-to-fiat awareness on getExchanges

1.11.0

  • Removed method getExchangesV1F
  • Removed method getExchangesV1
  • Removed method createExchangeV1
  • Removed method getExchangeV1
  • Removed param version on method getMoonpaySignature

1.10.2

  • Fix Exchange transfer to use V1 Params

1.10.1

  • Updated getCurrencies to return currencies list by exchange type

1.10.0

  • Experimental Added syncState method. link.syncState() will: 1 - add a persistant invisible iframe to the dom, and 2 - resolve with an observable, which will stream events as they come in from link, whenever the user changes their wallet, network or disconnects etc.

1.9.1

  • getExchange returns optional provider wallet address

1.9.0

  • Experimental Added getCurrencies method

1.8.3

  • validateCurrencyAmount returns null or number for min_amount and max_amount

1.8.2

  • Experimental Removed validateCurrencyAmount method
  • Experimental Added getCurrencyLimits method

1.8.0

  • Added calculation function calculateFeeBreakdownFromPriceAmounts
  • Updated calculateFeeBreakdownFromBasePrice to allow for protocol fees to be supplied
  • Updated calculateFeeBreakdownFromFullPrice to allow for protocol fees to be supplied

1.7.0

  • Experimental Added signableTransferDetails and createExchangeTransfer methods
  • Experimental Add amount parameter to cryptoToFiat
  • Experimental Add validateCurrencyAmount method

1.6.1

  • Ease CryptoCurrencies validation to allow string. Link will validate it

1.6.0

  • Added WALLET_CONNECT in ProviderPreference enum

1.5.0

  • Added calculation functions for order price and fee breakdowns
  • calculateFeeBreakdownFromBasePrice: specify the base price and all fees to be applied
  • calculateFeeBreakdownFromFullPrice: specify the price inclusive of fees and all fees applied to it

1.4.0

  • Experimental Added cryptoToFiat method

1.3.53

  • Bugfix for missing ERC20 type

1.3.52

  • Enable batch transfer for NFTs batchNftTransfer

1.3.51

  • listBalances fix bug to support multiple symbols

1.3.50

  • createExchange now use v2 endpoints
  • createExchangeV1 support the old functionality

1.3.49

  • Removes experimental warnings from methods involving maker/taker fees

1.3.48

  • Fix fee floating point precision bug for createOrder

1.3.47

  • getExchanges and getExchange now use v2 endpoints
  • getExchangesV1 and getExchangeV1 support the old functionality

1.3.46

  • Experimental Update types for link batch transfer

1.3.45

  • Add support for exchange v2 endpoints

1.3.44

  • Update request type for method getMoonpaySignature

1.3.43

  • Experimental Add more types for transfer v2 endpoint

1.3.42

  • Updated response type for ImmutableXClient method cancelOrder

1.3.41

  • Experimental Allow specifying fees to Link.cancel

1.3.40

  • Experimental Add transfer v2 endpoint support

1.3.39

  • Bugfix: fix getTrade() types
  • Update request and response types for experimental method getProjects
  • Update type for ProjectResult

1.3.38

  • Updated fiatToCrypto() to accept cryptoCurrencies

1.3.37

  • Experimental Allow specifying fees on getAssets()

1.3.36

  • Added pagination for the exchanges list endpoint

1.3.35

  • Bugfix: restore the types and funcitonality of sell_token_name inside of getOrdersF()

1.3.34

  • Enable order expiration date override from Link

1.3.33

  • Remove Experimental flag from fiatToCrypto method

1.3.32

  • Allow user to override the order expiration date

1.3.31

  • Renamed the exchange() method to fiatToCrypto()

1.3.30

  • Remove Experimental flag from deposit without params or without amount or token

1.3.29

  • Experimental Updated experimental maker/taker fees with bindings for Link

1.3.28

  • Update transfers to allow transfer of more than 50 assets at a time
  • Implemented update transfers to allow transfer of more than 50 assets at a time, not yet enabled

1.3.27

  • Refactoring the exchange history
  • Adding currency parameter for the exchange

1.3.26

  • Fix listTokens query param generation for symbols filter

1.3.25

  • Experimental Update deposit to allow to send request without amount or without any params

1.3.24

  • Bugfix for detecting wallet extensions

1.3.23

  • Handle multiple wallet extensions when getting Etherum provider

1.3.22

  • Experimental Updated experimental maker/taker fees feature to allow specifying fee percentages with 2 d.p. of precision.

1.3.21

  • Experimental Update fee param name for getOrder and getOrders

1.3.20

  • Experimental Added taker fees to getOrder and getOrders

1.3.19

  • Experimental Added taker fees to createTrade

1.3.18

  • Retry on throttled requests (HTTP 429) to API.

1.3.17

  • Remove Experimental flag from sell flow.

1.3.16

  • Experimental Added currency information to exchange types

1.3.15

  • Experimental Added functions to retrieve the exchange history by user.

1.3.14

  • Rename get orders parameter from buy_token_contract to buy_token_address
  • Experimental Updated the codec types for exchange methods.

1.3.13

  • Experimental Updated Magic api key.

1.3.12

  • Fix for ImmutableXClient; default apiUrl in axios config.

1.3.11

  • Added optional apiKey header to all requests to the IMX public api, for use with ratelimiting.

1.3.10

1.3.9

  • Experimental Bugfixes for the exchange method

1.3.8

  • Added optional enableDebug header to constructor of ImmutableXClient, to enable debug logging.

1.3.7

  • Adding providerPreference and ethNetwork to link.setup() response.
  • Exporting LocalStorageKeys enum with the keys used internally.

1.3.6

  • The getCollection and getCollections methods were updated to have new field metadata_url in the response incorrectly. This fixes the error by changing it to metadata_api_url.
  • Adds getMetadataSchema method
  • Update request/response objects for collection and metadata APIs

1.3.5

  • The getCollection and getCollections methods returns a new field metadata_url in the response.
  • Specify supported node versions (12 and 14) in package.json engines.s

1.3.4

  • ImmutableSellOrderCodec: update buy_decimals to be an optional and add contract_address, status as optional fields.
  • ImmutableBuyOrderCodec: update sell_decimals to be an optional and add contract_address, status as optional fields.

1.3.3

  • Experimental support for projects and collections functionality.

1.3.2

  • Experimental support to new exchange method.

1.3.1

  • Refactor internal implementation for experimental features.

1.3.0

  • Added missing type definition for sell param + check location.origin instead of referrer
  • SellParamsCodec: update amount to be an optional and add currencyAddress as an optional param as well.

1.2.8

  • Bugfix on mint v2 response typing

1.2.7

  • Update mint v2 endpoint's response schema to {token_id, contract_address, tx_id}

1.2.6

Renaming ProviderPreference options.

1.2.5

  • Experimental temporary testing mint v2 endpoint with response as a mapping of NFTs to tx IDs

1.2.4

  • Experimental support to easy login with Magic when used via Link.

1.1.6

  • signMessage() function added to Client
  • Controller's signVerifyEth() parametrized and renamed

1.1.6

  • Add signAuthHeader for new Authentication process

1.1.5

  • Claim routes added

1.1.4

  • Fix import recovery param for ledger signing

1.1.3

  • include_fees param for POST requests placed in POST body instead of in query param

1.1.2

  • Bug fix on createOrders

1.1.1

  • Add allowance and approve methods for ERC20 tokens
  • Remove uneccessary fields from mintv2

1.1.0

Includes royalty fees by default in the following endpoints:

  • link.getOrder
  • link.getAssets
  • link.getOrder
  • link.getAsset
  • link.createOrder
  • link.createTrade

which will include a fee body with fee information (if exists).

1.0.2

Updated responses for link methods

  • link.prepareWithdrawal now contains withdrawalId
  • link.completeWithdrawal now contains transactionId

1.0.1

SDK JS is now built with node 12 instead of node 14.

1.0.0

1.0.0 marks the first public release of @imtbl/imx-sdk. Bundled in this release, are the following features:

  • Transfer functionality has been refactored to support multiple transfers at once imx-docs

Maintainers