TypeScript SDK for the OpenSea marketplace
MIT License
Bot releases are hidden (Show)
Published by JoshuaSchmidt-OpenSea over 1 year ago
Full Changelog: https://github.com/ProjectOpenSea/opensea-js/compare/v6.0.1...v6.0.2
Published by JoshuaSchmidt-OpenSea over 1 year ago
Published by JoshuaSchmidt-OpenSea over 1 year ago
The SDK contained a lot of legacy code from deprecated dependencies and pre-Seaport contracts. OpenSea audited every dependency, function, and utility in the codebase to delete as much code as possible.
Now, this SDK will be focused on functions and convenience wrappers for 2 use cases:
In previous versions, the SDK had a random mix of Web3 and ethers usage. Now, the SDK has created consistency by only using ethers. This makes instantiating an instance of the SDK much simpler. As a read-only example:
import { ethers } from 'ethers'
import { OpenSeaSDK, Network } from 'opensea-js'
// This example provider won't let you make transactions, only read-only calls:
const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io')
const openseaSDK = new OpenSeaSDK(provider, {
networkName: Network.Main,
apiKey: YOUR_API_KEY
})
The SDK had a random mix of bignumber.js
, BN.js
, and ethers.BigNumber
with many utility functions to convert between the various types. This system was ripe for hidden, uncaught bugs. Now, the SDK only uses ethers
built in BigNumber.
For more information on this type see the Ethers BigNumber documentation.
There was a config called networkName
which has been renamed to chain
These functions were a mix of broken, deprecated, or rarely used. If anything was removed that was heavily relied upon by the web3 ecosystem, make sure to comment in the discussions for this release. OpenSea is open to adding back functions that the community needs if there is sufficient support for it and no better alternative.
The following functions still existed in the code base from the legacy Wyvern functions and are now removed.
The following functions were previously marked as deprecated and are now removed.
_computeGasPrice
Utility functions existed in the SDK for wrapping NFTs into their corresponding WrappedNFT ERC20 tokens, purchasing Wrapped NFTS, and liquidating NFTs. If users still have a need for these types of transactions, they should learn to use the Uniswap API.
These methods were superfluous and have been removed.
getBalance
provider.getGasPrice()
Additionally, these methods were wrappers on Seaport and can still be called by using sdkInstance.seaport_v1_5
API_KEY
renamed to OPENSEA_API_KEY
Network
enum renamed to Chain
apiConfig.networkName
renamed to apiConfig.chain
Integration test coverage has been dramatically improved. As of now, the integration tests include:
For more information on integration tests, see the README
By removing the following dependencies, the package size was reduced by XX%.
There are now only 3 dependencies left! From 15 in opensea-js v5.
The compilation target has been bumped from es5
to es6
and a browser build is now outputted to lib/bundle.js
.
esModuleInterop
and allowSyntheticDefaultImports
are now disabled by default. See reasoning here: https://www.semver-ts.org/#module-interop
Published by JoshuaSchmidt-OpenSea over 1 year ago
Published by JoshuaSchmidt-OpenSea over 1 year ago
This release uses the Seaport 1.5 protocol.
For more information, see our changelog announcement.
Full Changelog: https://github.com/ProjectOpenSea/opensea-js/compare/4.0.22...v5.0.0
Published by cterech over 1 year ago