-
#1196
d9b7360d
Thanks @MananTank! - refactor erc-721.ts, erc-1155.ts, erc-20.ts -
#1208
8a2d9204
Thanks @sebas5384! - Updated gas station URL -
#1134
990c665d
Thanks @nkrishang! - Introduce SmartWallet sdk class -
#1199
c6f44722
Thanks @MananTank! - Add eslint-plugin-better-tree-shaking for improved tree-shaking -
#1191
45ae105e
Thanks @kumaryash90! - OZ minimal forwarder addresses for zksync testnet and mainnet -
#1198
bb7ca20e
Thanks @MananTank! - Better PURE annotations for tree shaking -
#1193
23d61cfe
Thanks @jnsdls! - add shared metadata extension (open edition) -
#1189
8941b226
Thanks @MananTank! - Add PURE annotations to improve tree-shaking -
#1197
e0ce4a37
Thanks @joaquim-verges! - contract.erc721.claim(quantity) now supports Zora contracts -
Updated dependencies [
e0ce4a37
,990c665d
,f41f1a29
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#1162
a430160e
Thanks @kumaryash90! - Util for deterministic direct deployments -
#1167
12b07aad
Thanks @kienngo98! - Reduce circular dependencies -
#1155
7d2a446e
Thanks @kumaryash90! - Expose salt input for proxy deployments in contract deployer -
#1175
01293857
Thanks @MananTank! - - enable no-cycle eslint rule- various tree-shaking improvements
-
#1181
20bbad1a
Thanks @iketw! - [SDK] Change the failed to fetch contract metadata warn to debug. Users were getting confused thinking this was an error. -
Updated dependencies [
cc20f93e
,8e28b0f5
]:- @thirdweb-dev/[email protected]
-
#1131
3bf7f375
Thanks @kumaryash90! - Handle old released standard contracts -
#1127
8687d6ac
Thanks @kumaryash90! - add missing exports -
#1120
522453fd
Thanks @MananTank! - Reduce circular dependencies -
#1129
6803c3e9
Thanks @kumaryash90! - Fix any evm deployments -
#1124
56f85e57
Thanks @MananTank! - Reduce circular dependencies -
#1016
6a91b6a0
Thanks @kumaryash90! - Update publish flow -
#1125
a5f16b6d
Thanks @kumaryash90! - Check standard deploy type -
#1128
b6728603
Thanks @kumaryash90! - enable zksync mainnet deployments -
#1152
ed47fd53
Thanks @MananTank! - Reduce circular dependencies -
Updated dependencies [
16232de9
,645b0303
]:- @thirdweb-dev/[email protected]
-
#1104
ce36322b
Thanks @farhanW3! - Added getNonce() to User-Wallets, to help with getting the nonce of the wallet. Updated ERC1155 airdrop to use BigNumber to avoid overflow issue -
#1105
c60658ed
Thanks @MananTank! - Reduce Circular dependencies -
#1110
aa9e952c
Thanks @MananTank! - Reduce circular dependencies -
#1095
564eaccf
Thanks @nkrishang! - Add SmartWalletFactory extension detection and logic -
#1112
6aee0413
Thanks @MananTank! - Reduce circular dependencies -
#1108
e93aa70e
Thanks @MananTank! - Reduce circular deps -
#1117
51bbd3d1
Thanks @MananTank! - Reduce circular dependencies -
Updated dependencies [
564eaccf
]:- @thirdweb-dev/[email protected]
-
#1100
23d90b3e
Thanks @MananTank! - Reduce circular dependencies -
#1102
cc56037e
Thanks @MananTank! - Reduce circular dependencies -
Updated dependencies [
67450789
]:- @thirdweb-dev/[email protected]
-
#1093
2f1df0b5
Thanks @MananTank! - Reduce circular dependencies -
#1061
189daf02
Thanks @joaquim-verges! - Add erc721.transferFrom -
#1051
afae0873
Thanks @nachoiacovino! - Fix bad check on ineligibily reasons for erc1155 -
#1043
c6e74ef0
Thanks @kumaryash90! - allow overrides for read actions -
#1071
ee4c7de2
Thanks @MananTank! - Reduce circular dependencies -
#1060
f7b352a5
Thanks @joaquim-verges! - Expose getSignerAddress() on Transaction objects -
#1049
4a1d7581
Thanks @nachoiacovino! - Remove an unnecessary check in claim conditions ineligibility -
#1094
bdabbef7
Thanks @kumaryash90! - Fix Create2 factory deployment -
#1089
59206233
Thanks @MananTank! - Reduce circular dependencies -
#1062
98efd090
Thanks @joaquim-verges! - Add erc1155.transferFrom -
#1072
8eecf4c2
Thanks @MananTank! - Reduce circular dependencies -
#1055
d5651006
Thanks @MananTank! - Reduce cyclic deps -
#1091
da576108
Thanks @joaquim-verges! - Return data from DeployTransaction.simulate() -
#1064
c85810ee
Thanks @MananTank! - Do not cache signer in wallets -
#1075
a034b032
Thanks @MananTank! - Reduce circular dependencies -
Updated dependencies [
bd86661f
,c85810ee
,6fd10f94
,5f1e6abb
]:- @thirdweb-dev/[email protected]
- Updated dependencies [
30e5593d
]:- @thirdweb-dev/[email protected]
- Updated dependencies [
d5123044
,3c8c5d56
,907d97be
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#713
e9b69300
Thanks @kumaryash90! - Display plugins on router release page -
#983
49ec2d17
Thanks @adam-maj! - Add the ability to queue a transaction -
#997
799d98e8
Thanks @joaquim-verges! - Switch type of SmartContract.abi -
#1021
e4356e76
Thanks @joaquim-verges! - Update error message when contracts ABIs cannot be resolved, with url to import contract -
#988
9886c858
Thanks @kumaryash90! - Support ZKSync -
Updated dependencies [
c3645c45
,470e0a14
,482f6d1b
,8db78299
]:- @thirdweb-dev/[email protected]
-
#992
32908b76
Thanks @joaquim-verges! - Add alias for extension detection functions -
Updated dependencies [
6a4aab0b
]:- @thirdweb-dev/[email protected]
-
#976
eb521d24
Thanks @adam-maj! - Expose raw error on transaction error -
#986
af4b5356
Thanks @adam-maj! - Parse snapshot inputs in chunks -
#977
93bd5733
Thanks @MananTank! - Fix Connect Wallet Open/Close issues -
#985
a2df187b
Thanks @joaquim-verges! - Fix solana token deploy -
#975
aa9b6acc
Thanks @adam-maj! - Export resolve address ENS function -
Updated dependencies [
5305b42d
]:- @thirdweb-dev/[email protected]
-
#932
bf6df267
Thanks @kumaryash90! - Add SKALE chains gas price -
#944
8f962bc1
Thanks @kumaryash90! - Fix forwarder domain and address computation -
#951
28b5d1eb
Thanks @kumaryash90! - Custom gas-price for Theta network -
#961
0bf29745
Thanks @kumaryash90! - Update forwarder addresses to GSNv2 Forwarder -
#905
f0279c22
Thanks @kumaryash90! - Verification utils for any EVM contracts -
#927
1e9fad77
Thanks @MananTank! - safe, deviceWallet and smartWallet autoconnect -
#959
00d0d01e
Thanks @joaquim-verges! - Detect Account and AccountFactory contracts -
#947
fc96e147
Thanks @joaquim-verges! - Expose Transaction.getTarget() -
Updated dependencies [
00d0d01e
,d2c7f6d7
,f12a80a4
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#898
abe88599
Thanks @joaquim-verges! - Fix open packs gaslessly with chain agnostic forwarder -
#892
4acb2b55
Thanks @MananTank! - Add Switch Account button for MetaMask -
#903
77224646
Thanks @joaquim-verges! - Better tx error parsing -
#915
c9ee9b32
Thanks @kumaryash90! - Fix errors for Create2 factory deployments on any EVM -
#890
00f4355f
Thanks @adam-maj! - Add ability to batch create listings and auctions -
#907
29146e00
Thanks @kumaryash90! - Fix listing validation for marketplace v2 & v3 -
#885
bfdd8493
Thanks @kumaryash90! - Enable MarketplaceV3 deployment on any EVM -
Updated dependencies [
a6610f12
,77224646
]:- @thirdweb-dev/[email protected]
-
#882
ac8fa0b3
Thanks @joaquim-verges! - Fix resolving proxy implementation addreses with leading 0s -
#756
b75bcef5
Thanks @kumaryash90! - Any EVM deploy flow with Create2 factory -
#878
c9027fce
Thanks @kumaryash90! - Util function for any-evm deployment status -
Updated dependencies [
b75bcef5
]:- @thirdweb-dev/[email protected]
-
#864
b3d57949
Thanks @ciaranightingale! - Remove necessity for LazyMint to detect any of the claim extensions -
#869
602d8cbc
Thanks @adam-maj! - Add .prepare() syntax to tiered-drop
-
#861
1547d76c
Thanks @adam-maj! - Add option to pass timestamps for dates -
#863
1b8f812f
Thanks @ciaranightingale! - Update Solidity SDK detected extension portal links -
Updated dependencies [
235eb046
]:- @thirdweb-dev/[email protected]
- Updated dependencies [
1137a20d
]:- @thirdweb-dev/[email protected]
-
#834
b7fcae6e
Thanks @adam-maj! - The signature of allcontract.call
methods has been updated to the following structure:function call(functionName: string, args: any[], overrides?: CallOverrides);
Meaning that the following contract call in the old format:
const owner = "0x..."; const operator = "0x..."; const overrides = { gasLimit: "10000", gasPrice: "10000" }; const res = await contract.call("approve", owner, operator, overrides);
Would now look like this with the changes:
const owner = "0x..."; const operator = "0x..."; const overrides = { gasLimit: "10000", gasPrice: "10000" }; const res = await contract.call("approve", [owner, operator], overrides);
-
Updated dependencies [
839fce1f
,839fce1f
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
9b303829
]:- @thirdweb-dev/[email protected]
-
#703
6e9b9dba
Thanks @adam-maj! - Add .prepare() to all other functions -
#705
2ec28021
Thanks @joaquim-verges! - Remove hardcoded gasLimit on marketplace/pack -
#830
805896c7
Thanks @adam-maj! - Make metadata optional on signature input -
#796
b56511e2
Thanks @iketw! - [SDK] avoid recursively parsing the abi -
#753
8ef5a6f2
Thanks @joaquim-verges! - Allow interacting with marketplace v3 extensions from getContract() -
#758
4cbbad98
Thanks @adam-maj! - Add .prepare support for transaction deployments -
#701
71532e5a
Thanks @kumaryash90! - contracts v3.4.4 -
#797
de7b6196
Thanks @iketw! - [SDK] Remove duplicate creation in derived class -
#721
1baed0b1
Thanks @adam-maj! - Add support for thirdweb generate -
#761
52d37f01
Thanks @joaquim-verges! - Fix ABI parser for inputs with no names -
#790
485abd06
Thanks @joaquim-verges! - Fix getPackContents for ERC20 rewards -
#819
682f1c67
Thanks @adam-maj! - Update contract.call to have function types -
#782
d8c1c943
Thanks @jnsdls! - parse ABIs correctly (knowing function names can be empty strings) -
#820
08507611
Thanks @adam-maj! - Add magical types for thirdweb generate -
#773
8463a176
Thanks @adam-maj! - Fix ENS cache infinite recursion -
#832
e47ceafe
Thanks @MananTank! - - Fixwallet.addListener
"connect", "disconnect" event emit issue- update the paper sdk
-
#704
208d97e6
Thanks @joaquim-verges! - Export currency utils -
#770
5c7c0923
Thanks @joaquim-verges! - Fix failed metadata fetch breaking marketplace get all listings calls -
#735
ba9f593b
Thanks @jnsdls! -getBlockNumber()
- get the latest block number for a given chain
Example: Get the latest block number for Ethereum.
import { getBlockNumber } from "@thirdweb-dev/sdk"; const blockNumber = await getBlockNumber({ network: "ethereum", }); console.log("Block number", blockNumber);
getBlock()
- get a block by number or hash
Example: Get the latest block for Ethereum.
import { getBlock } from "@thirdweb-dev/sdk"; const block = await getBlock({ network: "ethereum", block: "latest", }); console.log("Block", block);
getBlockWithTransactions()
- get a block (with parsed transactions) by block number or hash
Example: Get the latest block for Ethereum.
import { getBlockWithTransactions } from "@thirdweb-dev/sdk"; const blockWithTransactions = await getBlockWithTransactions({ network: "ethereum", block: "latest", }); console.log("Block", blockWithTransactions); console.log("Transactions", blockWithTransactions.transactions);
watchBlockNumber()
- watch for new blocks (real-time)
Example: Watch for new blocks on Ethereum.
import { watchBlockNumber } from "@thirdweb-dev/sdk"; const unsubscribe = watchBlockNumber({ network: "ethereum", onBlockNumber: (blockNumber) => { console.log("New block number", blockNumber); }, }); // Later unsubscribe from watching for new blocks unsubscribe();
watchBlock()
- watch for new blocks (real-time)
Example: Watch for new blocks on Ethereum.
import { watchBlock } from "@thirdweb-dev/sdk"; const unsubscribe = watchBlock({ network: "ethereum", onBlock: (block) => { console.log("New block", block); }, }); // Later unsubscribe from watching for new blocks unsubscribe();
watchBlockWithTransactions()
- watch for new blocks (real-time)
Example: Watch for new blocks on Ethereum.
import { watchBlockWithTransactions } from "@thirdweb-dev/sdk"; const unsubscribe = watchBlockWithTransactions({ network: "ethereum", onBlock: (blockWithTransactions) => { console.log("New block", blockWithTransactions); console.log("Transactions", blockWithTransactions.transactions); }, }); // Later unsubscribe from watching for new blocks unsubscribe();
watchTransactions()
- watch for transactions for a given address (real-time)
Example: Watch for transactions on USD Coin (USDC) contract address.
import { watchTransactions } from "@thirdweb-dev/sdk"; const unsubscribe = watchTransactions({ network: "ethereum", contractAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", onTransactions: (transactions) => { console.log("New transactions", transactions); }, }); // Later unsubscribe from watching for new transactions unsubscribe();
-
#767
9fa628f8
Thanks @adam-maj! - Make generate work with useContract -
#737
abf609a4
Thanks @adam-maj! - Add multiply gas limit on Transaction class -
Updated dependencies [
d01b135d
,9ea43969
,e3161e59
,71532e5a
,33d1cc7f
,6b145d4b
,e2ec70c4
,1baed0b1
,2221f97d
,5c7c0923
,92d19070
,9a4a542c
,b2d0ffb0
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- #698
713d3187
Thanks @joaquim-verges! - Fix fetching NFTs with null metadata
-
#697
2682f582
Thanks @joaquim-verges! - Fix fetching ABI on legacy contracts -
#693
d5f18b40
Thanks @joaquim-verges! - Fix passing only chain name as the network to connect to -
#694
2efe5be3
Thanks @joaquim-verges! - Optimize getContract calls with no type -
#687
baeb7427
Thanks @nachoiacovino! - New app uri defaults
-
#676
a7e908b5
Thanks @adam-maj! - Add transaction builder to registries -
#671
61ef6964
Thanks @furqanrydhan! - comment fixes -
#661
2f4cd928
Thanks @adam-maj! - Add prepare function to all contracts -
#644
63f552d7
Thanks @adam-maj! - Update storage config to accept gatewayUrls -
#663
e081075b
Thanks @adam-maj! - Add tx.sign() and expose get functions for transaction -
#674
d8dec9fc
Thanks @adam-maj! - Allow passing through number into chain -
#621
478780f6
Thanks @kumaryash90! - Feature for extension router -
#631
b83ea525
Thanks @nachoiacovino! - Fix detection of appURI extension -
#640
541dfeea
Thanks @adam-maj! - Fix bound transaction functions -
#665
6ef52dc9
Thanks @shift4id! - Fix spelling throughout all packages -
#673
0c883044
Thanks @adam-maj! - Don't use functions in sdk.getContract -
#623
0666f37c
Thanks @adam-maj! - Cleanup signer and provider connection logic -
#643
85250cf7
Thanks @jnsdls! - autoCompletechain.slug
andchain.chainId
fornew ThirdwebSDK()
-
#679
2335f000
Thanks @jnsdls! -NFT.supply
type switched tostring
type to prevent javascriptnumber
overflow -
#662
3740a0bf
Thanks @furqanrydhan! - switch appuri -> app -
#626
91f5a2fd
Thanks @nachoiacovino! - Improve comments and examples in the documentation -
#628
537785fe
Thanks @adam-maj! - Add getContract and getContractFromAbi functions -
#667
b6b0855b
Thanks @adam-maj! - Allow setting extra overrides in transaction -
#675
2a8cc289
Thanks @adam-maj! - Add transaction builders to publisher -
#642
dc08aa73
Thanks @furqanrydhan! - better contract metadata compatibility -
#653
bd6be0ba
Thanks @jnsdls! - addextensions
getter tosdk.getContractList()
andsdk.getMultiChainContractList()
return types -
Updated dependencies [
8a8a37f6
,63f552d7
,fb346ffd
,7832041c
,6ef52dc9
,85250cf7
,e33bd2a8
,4355518a
,cc7ce8b1
,29c1cf7e
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
d7deaa4
,b7a5b45
]:- @thirdweb-dev/[email protected]
-
#616
5712650
Thanks @joaquim-verges! - Handle custom currencies for all chains -
Updated dependencies [
a3472a1
,5712650
]:- @thirdweb-dev/[email protected]
- Updated dependencies [
3d644fb
]:- @thirdweb-dev/[email protected]
-
#604
f3408d0
Thanks @jnsdls! - fix possible crash in StaticJsonRpcBatchProvider -
Updated dependencies [
66cf1fb
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
300fe4a
,f580b8a
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
af8cf40
Thanks @joaquim-verges! - ## Now supports Any EVM - Any Contract!- Can now create a
ThirdwebSDK
instance passing: chain id (any EVM chain) / chain name (only supported ones) / RPC url / Provider / Signer - Ability to pass and override any chain information in the new
supportedChains
property of theSDKOptions
- Support for local nodes! Simply create an SDK with
ChainId.Localhost
or your own local URL to interact with contracts and wallets on your local node - While connected to a local node, request funds to the connected wallet using
await sdk.wallet.requestFunds(0.1)
- Any contract can now be used without passing any ABI, simply by importing the contract on thirdweb.com/chain/contract_address
- Can now create a
-
af8cf40
Thanks @joaquim-verges! - fix getting contract metadata from multichain registry when readonly rpc is defined -
5d25ee1
Thanks @jnsdls! - fixgetMultiChainContractList
in case of custom chains -
#585
4d77c18
Thanks @adam-maj! - Update tiered drop value calculation -
af8cf40
Thanks @joaquim-verges! - Support local nodes and expose ThirdwebSDK.fromLocalNode() -
#577
44d56e4
Thanks @nachoiacovino! - Check how many NFTs a specific wallet has claimed to return the proper error on getClaimIneligibilityReasons -
#590
44cce2f
Thanks @jnsdls! - allow passing aChain
to initialize the SDK -
Updated dependencies [
6a50719
,af8cf40
,5d25ee1
,d0bcd2c
,017b0d5
,500a0e6
]:- @thirdweb-dev/[email protected]
-
#555
55b00ef
Thanks @joaquim-verges! - Add gas estimators to each marketplace plugin -
Updated dependencies [
76d219e
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- #474
1686fb4
Thanks @kumaryash90! - Introducing marketplace-v3 class
-
#547
0b38dac
Thanks @adam-maj! - Add proper error hanling for no funds error -
#545
29d0c62
Thanks @adam-maj! - Add error info fields to transaction error -
#474
1686fb4
Thanks @kumaryash90! - Support for Plugin Pattern based contracts -
#539
f295ec6
Thanks @adam-maj! - Upgrade error messages on failed transactions -
#544
f1aecc3
Thanks @kumaryash90! - Contracts v3.4.0 -
Updated dependencies [
1686fb4
,912738b
,1686fb4
,f1aecc3
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#542
ec1f232
Thanks @joaquim-verges! - Solana - Expose getTransaction pagination options + transactions for given wallet -
#540
d29f7e7
Thanks @joaquim-verges! - exposegetMintTransaction()
for fine grain control on mint calls
-
#410
b45d761
Thanks @adam-maj! - Add creator and royalty settings to drop -
#535
5f8ec45
Thanks @jnsdls! - [Solana] - addburnBatch()
andgetTransactions()
for NFTCollection and NFTDrop -
#471
04de5b2
Thanks @adam-maj! - Expose getSnapshotEntryForAddress
- #525
19b8e18
Thanks @joaquim-verges! - FixgetClaimTransaction().estimateGasCostInEther()
for claims costing native currency
-
#519
f15733f
Thanks @adam-maj! - Thesdk.auth
namespace has been removed with Auth major upgrade. Instead, use theThirdwebAuth
import from the@thirdweb-dev/auth
package.import { PrivateKeyWallet } from "@thirdweb-dev/auth/evm"; // Pass in domain and wallet to the constructor const wallet = new PrivateKeyWallet("0x..."); const auth = new ThirdwebAuth(wallet, "example.com"); // Auth functions no longer require domain to be passed in const payload = await auth.login();
Additionally,
AwsKmsWallet
andAwsSecretsManager
wallets have been moved into the@thirdweb-dev/wallets/evm
entrypoint from the SDK.import { AwsKmsWallet, AwsSecretsManagerWallet, } from "@thirdweb-dev/wallets/evm";
-
#493
f37e86b
Thanks @joaquim-verges! - Move Solana dependencies to peer dependencies - please install them separately:npm install @thirdweb-dev/sdk @metaplex-foundation/js @project-serum/anchor
- #475
7cab8d1
Thanks @kumaryash90! - Support for Plugin Pattern based contracts
-
#498
5fba324
Thanks @joaquim-verges! - Fix claim condition detection on legacy contracts -
#502
894cbef
Thanks @joaquim-verges! - Add intermediate event for contract deploy transactions before confirmation -
#463
557429b
Thanks @joaquim-verges! - PackVRF integration -
#500
73dc026
Thanks @retocrooman! - Getting the domain separator is not a required function. If an error occurs there, the permit it self will not be possible. Therefore, error handling should be performed appropriately. -
#311
9eaa21d
Thanks @joaquim-verges! - Add support for multi chain registry -
#491
68c8e3c
Thanks @joaquim-verges! - Use multichain registry to resolve contracts that cannot be resolved via IPFS -
#494
bff433e
Thanks @joaquim-verges! - Fix deploy transaction listener for all deploy typessdk.deployer.addDeployListener()
-
Updated dependencies [
557429b
,9eaa21d
,9eaa21d
]:- @thirdweb-dev/[email protected]
-
#465
e913e0d
Thanks @adam-maj! - Fix passing options to factory -
5862c55
Thanks @kumaryash90! - update forwarder address -
#466
73883f5
Thanks @joaquim-verges! - workaround for signing typed data with magic.link signers -
#468
f7a74a3
Thanks @joaquim-verges! - Exposesdk.wallet.signTypedData()
-
#421
ea95c5f
Thanks @yehia67! - Add new utilities to parse/format currencies.toEther
&toWei
as default 18 decimal andtoUnits
&toDisplayValue
in case of different numbers of decimals. -
#456
699a2b1
Thanks @joaquim-verges! - [SOL] Fix claiming drops with custom currencies -
#458
4cdd0bd
Thanks @joaquim-verges! - Fixes for latest wallet package integration -
#453
a8267f9
Thanks @joaquim-verges! - [SOL] Drop fixes for large batch uploads
-
#451
3731459
Thanks @joaquim-verges! - Less strict prebuilt checks to support OSRF variants -
#450
cac6c30
Thanks @joaquim-verges! - Fix setting allowance or approvals gaslessly -
#448
7a37e56
Thanks @jnsdls! - [EVM] - allowuseContract
to fail faster to enable the import case
- #443
8c6cdaa
Thanks @joaquim-verges! - Fix signature minting from OpenSea Royalty Filter NFT collection contracts
- #440
efc56fa
Thanks @jnsdls! - [EVM] - providers are now re-used if the constructor options are identical leading to better batching, also introduced an additional max batch size param (250 by default)
-
#438
f451da6
Thanks @joaquim-verges! - Fix SigMint detection for OSRF NFT Collection contracts -
#424
1bfb91d
Thanks @joaquim-verges! - Improve error parsing for other wallets -
#434
def4251
Thanks @joaquim-verges! - [SOL] Remove workaround to fetch NFT owners -
#429
034a257
Thanks @jakeloo! - Extract more minimal proxy impl address -
#418
eca4776
Thanks @joaquim-verges! - Increase gas limit for opening packs -
Updated dependencies [
f451da6
]:- @thirdweb-dev/[email protected]
-
#408
48797c7
Thanks @jnsdls! - [EVM] - addGasless
as a possible extension to feature-detect -
#402
83dcaf7
Thanks @adam-maj! - Expose sdk.fromWallet and wallet classes -
#412
f03be39
Thanks @easonchai! - Correctly handle contracts using the SignatureMintERC1155 ContractKit extension -
#283
2eaa67a
Thanks @adam-maj! - AppURI detection now enabled -
#414
47f8945
Thanks @joaquim-verges! - Improve error parsing
-
#405
ccb7db4
Thanks @nachoiacovino! - Add updateAll param to creators and royalty update hooks for Solana -
#404
9151aa7
Thanks @jnsdls! - [EVM] - exposegetDefaultTrustedForwarders
helper function -
#305
5a01c53
Thanks @joaquim-verges! - Update to Metaplex 0.17
-
#398
15514f1
Thanks @jnsdls! - [EVM] - adddefaultValue
to constructorParams schema for releases -
#388
7c0744a
Thanks @adam-maj! - Add support for total supply and pagination on get all -
#395
f8bceec
Thanks @jnsdls! - [Solana] - fix claim condition reset to native token from custom -
#399
887af24
Thanks @jnsdls! - [EVM] - fix custom error handling for null-ish error values -
#390
96bd92e
Thanks @joaquim-verges! - [SDK] ExposegetAllDetectedFeatures(ABI)
helper function
- #364
7cb8e59
Thanks @joaquim-verges! - Enable new Drop contracts
-
#382
0ed77d2
Thanks @jnsdls! - AddconstructorParams
toExtraPublishMetadataSchemaInput
schema to support better deploys from releases. -
#385
04a47e8
Thanks @adam-maj! - Add retroactive royalty and creator setting
-
#380
3eba69a
Thanks @joaquim-verges! - Expose sdk.wallet.getChainId() -
#376
4af785c
Thanks @adam-maj! - Update tiered-drop with tokens claimed -
#373
6f818f3
Thanks @adam-maj! - Update tiered-drop contract version -
Updated dependencies [
4af785c
,6f818f3
]:- @thirdweb-dev/[email protected]
-
#368
4e7b293
Thanks @joaquim-verges! - Fix handling of old allowlist proof format -
#365
c9c0e4f
Thanks @jnsdls! - [EVM] - now React Native compatible
-
#329
5200d5d
Thanks @adam-maj! - ### Breaking changes:- claim conditions had some changes to support the new drop contracts:
maxClaimablePerTransaction
is now namedmaxClaimablePerWallet
maxQuantity
is now namedmaxClaimable
- signature minting now requires a
to
address to be set for security purposees
- Support for new optimized Drop contracts
- Support for new claim conditions with overrides
- Don't allow zero address recipient on signature minting
-
#362
42a6065
Thanks @joaquim-verges! - [SDK] Fix fetching NFTs with numbers as ids -
Updated dependencies [
aa6d9ed
]:- @thirdweb-dev/[email protected]
- #359
e731c1a
Thanks @joaquim-verges! - [SDK] Allow fetching claimerProofs from any claim condition
-
#353
1c24c3c
Thanks @nachoiacovino! - Add useUpdateCreators hook, fix CreatorInput schema -
#357
65fc7ba
Thanks @joaquim-verges! - Expose claimConditions.getClaimerProofs(address) to get allowlist information for a given address
-
#344
21c21c1
Thanks @nachoiacovino! - Update internal function resolveContractUriFromAddress -> resolveContractUriFromAddress -
#352
3522917
Thanks @joaquim-verges! - Expose marketplace.auction.executeSale(listingId)
- #343
72227b2
Thanks @joaquim-verges! - Expose general marketplace.makeOffer() function
-
#337
340605b
Thanks @adam-maj! - Clean native token address in listing -
#342
26116a6
Thanks @joaquim-verges! - Add new univeral RPC urls -
Updated dependencies [
ef27aad
]:- @thirdweb-dev/[email protected]
-
#332
ad851f7
Thanks @joaquim-verges! - Fix for finding addresses in legacy merkle tree format -
#330
6218c88
Thanks @joaquim-verges! - Fix deploying contracts with non-32 bytes parameters like bytes4
-
#315
89ff921
Thanks @furqanrydhan! - fixing vite, multihash moved to non lazy load + cbor-x instead of cbor-web -
#321
a57b4f0
Thanks @joaquim-verges! - [SDK] Implement sharded merkle trees for lightweight allowlist checksBehavior change
We've made allowlists much more performant using sharded merkle trees. This allows us to process large allowlists (1M+) efficiently.
To support those large allowlists, fetching claim conditions does not fetch the allowlist data by default anymore. Instead, you can pass an options object to additionally fetch the allowlist data along with the rest of the claim conditions data.
This affects
ClaimConditions.getActive()
andClaimConditions.getAll()
Examples:
const activeClaimCondition = await contract.erc721.claimConditions.getActive(); // `activeClaimCondition.snapshot` is undefined const activeclaimConditionWithtAllowList = await contract.erc721.claimConditions.getActive({ withAllowList: true, }); // `activeClaimCondition.snapshot` returns the allowlist data
-
#326
126752d
Thanks @jnsdls! - [EVM] - expose fn to get ipfs hash from bytecote publicly -
#328
df74340
Thanks @joaquim-verges! - Update cbor-x import to work with es2018 builds (embeds) -
Updated dependencies [
87fd6ab
]:- @thirdweb-dev/[email protected]
-
#312
b6eec61
Thanks @adam-maj! - Add quantity to mint additional supply -
#310
9727502
Thanks @nachoiacovino! - [SOL] - add useMintNFTSupply hook in react and accomodate inputs for it in SDK -
#307
782b58d
Thanks @kumaryash90! - fix multicall gasless -
#320
f41a443
Thanks @adam-maj! - Add update creators and update royalty -
#313
f45ef62
Thanks @joaquim-verges! - Return default metadata when failing to fetch a given tokenId on NFT contracts -
#319
2f8ec89
Thanks @joaquim-verges! - Expose total claimed and unclaimed supply for erc721 drop contracts -
#322
b7cd744
Thanks @joaquim-verges! - [SOL] Allow signing multiple claims at once -
#306
53c6507
Thanks @adam-maj! - Add contract deploy listener
- #303
712b11a
Thanks @joaquim-verges! - [SOL] Fix getting real NFT owners
-
#289
521a49c
Thanks @nachoiacovino! - Standarize useClaimNFT to evm -
#293
8b3b97c
Thanks @joaquim-verges! - [SOL] Fix getAllClaimed for NFT Drops -
#286
25a4773
Thanks @joaquim-verges! - [SOL] Add pagination for nftCollection.getAll() -
#269
b2cadf1
Thanks @jnsdls! - [EVM] - remove deprecated chains from support -
#263
d6bb61b
Thanks @jnsdls! - [Solana] - aligngetProgram
withgetContract
from EVM -
#297
78d6d3c
Thanks @jnsdls! - [SOL] - fix getAddress to return undefined if wallet is not connected -
#294
89d87a5
Thanks @jnsdls! - [SOL] - batch uploads for NFT drop to satisfy solana size limits -
#270
41507d3
Thanks @joaquim-verges! - [SOL] Add to registry when deploying new programs -
#290
8096c78
Thanks @jnsdls! - [SOL] - makeclaim()
take a typeofAmount
instead ofnumber
-
#273
b1fa171
Thanks @joaquim-verges! - [Solana] Expose maxClaimable for claim conditions and disallow claiming by default -
#280
18381fa
Thanks @ElasticBottle! - Fix errorneous ERC20 Allowance check -
#263
d6bb61b
Thanks @jnsdls! - [EVM] - add chainId getter on contracts -
#296
cf88795
Thanks @jnsdls! - [SOL] - add network to userwallet -
#285
89b5c6f
Thanks @joaquim-verges! - [SOL] Make creating NFTDrop transactions sequential
-
#247
caf9795
Thanks @furqanrydhan! - AppURI detection now enabled -
#238
6647f70
Thanks @joaquim-verges! - Unify NFT return types for EVM and SolanaThis is a transparent upgrade, except for one type change for ERC1155 NFTs
- nft.id is now of type
string
instead ofBigNumber
- edition.supply is now of type
number
instead ofBigNumber
This should make it much easer to deal with in applications, instead of having to manipulate BigNumber objects.
Most people convert BigNumber to strings, which is compatible with this upgrade.
- nft.id is now of type
-
#257
ba6f450
Thanks @jnsdls! - [EVM] - fix permission enumerable export -
#261
c8261b7
Thanks @jnsdls! - [EVM] - align behavior ofuseContract()
andgetContract()
across react & sdk to both allow passing optional second params of contract types or ABIs -
#250
20745f8
Thanks @nachoiacovino! - Add check if abi exists on extractFunctionsFromAbi function -
#252
2ea3f00
Thanks @joaquim-verges! - Expose a way to update collection settings, pass in upload options to lazyMint -
#234
9412d41
Thanks @joaquim-verges! - [SOL] Add burn NFT functionality + misc API refinement -
#256
d677e9d
Thanks @jnsdls! - [EVM] - make PermissiosEnumerable feature available -
#240
e662408
Thanks @jnsdls! - unify program metadata return type -
#249
e4b10bc
Thanks @joaquim-verges! - [SOL] Update NFT Drop API for claim conditions + multiple fixes -
#245
1972f3e
Thanks @jnsdls! - [SOL] - allow burning of drop'd NFTs -
#236
cac373b
Thanks @jnsdls! - [SOL] - attempt to resolve network more agressively
-
#191
8239763
Thanks @mykcryptodev! - Get all offers for a listing -
#194
27a30e3
Thanks @aeither! - Add ability to view and update owner of a contract -
#226
f2a6211
Thanks @jnsdls! - [EVM] shrink size by importing TWProxy__factory individually -
#232
d26b768
Thanks @joaquim-verges! - [SOL] Dynamic imports for anchor programs -
#182
ba7dcbb
Thanks @jnebab! - added getMinimumNextBid function in marketplace contract to get the minimum bid a user can place to outbid the previous highest bid -
#229
9c8a3fb
Thanks @joaquim-verges! - [SOL] Allow passing a quantity to claim, and new claimTo function -
Updated dependencies [
f2a6211
,f2a6211
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#222
666ff5f
Thanks @joaquim-verges! - [SOL] expose ThirdwebSDK.fromPrivateKey() -
#224
0dade96
Thanks @joaquim-verges! - [EVM] Ensure that factory/proxy flags are set before deploying via proxy
- #213
e187d21
Thanks @joaquim-verges! - new @thirdweb-dev/sdk/solana entrypoint
-
#217
3c8f620
Thanks @joaquim-verges! - Enable proxy deploys for released contracts -
#206
acbabc8
Thanks @kumaryash90! - Gas override for relayer txns -
#216
b030a86
Thanks @kumaryash90! - Update addresses
- #205
ce05bfd
Thanks @joaquim-verges! - Fix Buffer usage in SDK
- #199
5f5ab01
Thanks @joaquim-verges! - Fix getOwned for signature drop
-
#195
a80fc97
Thanks @jnsdls! - add missing roles for pre-built contracts -
Updated dependencies [
24f66e3
]:- @thirdweb-dev/[email protected]
-
#167
4169b94
Thanks @joaquim-verges! - Syntax changes for react native support -
#174
3b877ba
Thanks @kumaryash90! - detect forwarder address for defender -
#163
b54f95d
Thanks @adam-maj! - Use independent JSON types by package -
#154
f8ab477
Thanks @jnsdls! - Add fiat checkout to nft-drop, edition-drop and signature-drop -
#162
772f843
Thanks @joaquim-verges! - Catch gas estimate errors in gasless tx -
#168
208b038
Thanks @jnsdls! - Switch naming of exported prebuilt contract types back from<name>Impl
to<name>
for easier use -
#161
5345479
Thanks @joaquim-verges! - Allow forcing direct deploys to deploy implementations from release flow -
Updated dependencies [
493ebf0
,b54f95d
,cfe8bba
,f4074dd
,d608cea
,3580182
,0ccbca7
,45a400f
]:- @thirdweb-dev/[email protected]
- Updated dependencies [
964add6
]:- @thirdweb-dev/[email protected]
-
#143
51dde28
Thanks @joaquim-verges! - Fix using external signers with ThirdwebSDKProvider -
#133
9d74a43
Thanks @joaquim-verges! - Make contract events data generic for better DX -
#135
b234c58
Thanks @jnsdls! - add a new StaticJsonRpcBatchProvider to stop callingeth_getChainId
when possible -
Updated dependencies [
57432d2
]:- @thirdweb-dev/[email protected]
-
#131
42c79e9
Thanks @joaquim-verges! - Fix editing releases from the dashboard -
#124
fe8751e
Thanks @joaquim-verges! - Add feature detection for Ownable
- #122
98dd64a
Thanks @joaquim-verges! - handle legacy claim method signature in extensions
-
#19
82627ea
Thanks @joaquim-verges! - 3.0.0 update- 85% reduction in package size!
- Custom contracts are now first class citizens
- Getting contracts is now async. This allows dynamically importing contracts and reduces the weight of the SDK significantly.
before:
const token = sdk.getToken(...) const nftDrop = sdk.getNFTDrop(...)
after:
const token = await sdk.getToken(...) const nftDrop = await sdk.getNFTDrop(...)
- New Extension API for custom contracts
When working with custom contracts using
await sdk.getContract(...)
, we now expose all the convenient high level APIs for each ERC standard top level. Calling a function that is not supported in your contract will give you an error with instructions on how to unlock that functionality.before:
const contract = await sdk.getContract(...) // ERC721 contracts const contract.nft?.drop?.claim?.to(...) const contract.nft?.drop?.claim?.conditions.set(...) // ERC1155 contracts const contract.edition?.mint?.to(...) // ERC20 contracts const contract.token?.burn.tokens(...)
after:
const contract = await sdk.getContract(...) // ERC721 contracts const contract.erc721.claimTo(...) const contract.erc721.claimConditions.set(...) // ERC1155 contracts const contract.erc1155.mintTo(...) // ERC20 contracts const contract.erc20.burn(...)
-
#99
a70b590
Thanks @jnsdls! - do not prompt to deploy again if user rejected the first call -
#115
a37bc00
Thanks @jnsdls! - addsales
module to token pre-built contract -
#111
b442c97
Thanks @nachoiacovino! - Use Enumerable to getOwned NFTs if no Supply extension found -
#106
0fa6f3f
Thanks @jnsdls! - add "events" to token-drop, make "getBuiltInContract" async properly -
#91
2adb8ff
Thanks @kumaryash90! - Add arbitrum and optimism goerli; rename testnets -
#108
5a5bc36
Thanks @kumaryash90! - function for adding contents to pack -
#90
820a519
Thanks @joaquim-verges! - Expose ERC721/1155Claimable detected extensions -
#106
0fa6f3f
Thanks @jnsdls! - make prebuilt contracts entirely async -
Updated dependencies [
820a519
]:- @thirdweb-dev/[email protected]
-
#74
baa87a1
Thanks @nkrishang! - Updated forwarder address for Goerli -
#75
4079326
Thanks @jnsdls! - add a default for factory deployments initializer function ("initialize") -
#71
05353fd
Thanks @joaquim-verges! - Allow for chain agnostic gasless tx -
Updated dependencies [
f2bdf47
]:- @thirdweb-dev/[email protected]
-
#61
3287c2b
Thanks @jnsdls! - fix versions in dependencies before releasing stable -
Updated dependencies [
3287c2b
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#59
6ba9cad
Thanks @jnsdls! - moveabis
from top level intodist
in contracts-js -
Updated dependencies [
6ba9cad
]:- @thirdweb-dev/[email protected]
-
Updated dependencies [
5644ccd
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
Updated dependencies [
091f175
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- Updated dependencies [
924247a
,924247a
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
-
#49
e59735b
Thanks @joaquim-verges! - Added ContractEncoder to custom contracts -contract.encoder
-
#52
2eb7e94
Thanks @joaquim-verges! - Support for audited Pack contract -
Updated dependencies [
2eb7e94
]:- @thirdweb-dev/[email protected]
-
#45
ed639d6
Thanks @jnsdls! - switch back to preconstruct for building -
#46
349b5c1
Thanks @jnsdls! - imrprove babel & tsconfig settings -
#34
5731ac2
Thanks @jnsdls! - fix build for CRA and vite builds (replacedcbor
dependency withcbor-web
) -
Updated dependencies [
127bc50
,ed639d6
,349b5c1
,c52a43c
,46ad691
,5731ac2
]:- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- 02c2b52: force version
- Updated dependencies [02c2b52]
- @thirdweb-dev/[email protected]
- 3abe26c: initialze monorepo packages
- Updated dependencies [3abe26c]
- @thirdweb-dev/[email protected]
- @thirdweb-dev/[email protected]
- d4abb09: Add support for Binance chains (BSC)
- 274afb5: make input/output versions of the release metadata schemas
- 86e3b58: use storage helpers from @thirdweb-dev/storage
- 0c78b16: Fix listening to a single contract event
- Updated dependencies [86e3b58]
- @thirdweb-dev/[email protected]