@imtbl/sdk 1.23.3 → 1.24.0-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/checkout.js CHANGED
@@ -139,7 +139,7 @@ const flattenProperties$1 = (properties) => {
139
139
  };
140
140
 
141
141
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
142
- const SDK_VERSION$1 = '1.23.3';
142
+ const SDK_VERSION$1 = '1.24.0-alpha';
143
143
  const getReferrer$1 = () => {
144
144
  if (isNode$1()) {
145
145
  return '';
@@ -17550,7 +17550,7 @@ const flattenProperties = (properties) => {
17550
17550
  };
17551
17551
 
17552
17552
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
17553
- const SDK_VERSION = '1.23.3';
17553
+ const SDK_VERSION = '1.24.0-alpha';
17554
17554
  const getReferrer = () => {
17555
17555
  if (isNode()) {
17556
17556
  return '';
@@ -28211,7 +28211,7 @@ class APIError extends Error {
28211
28211
 
28212
28212
  /* eslint-disable implicit-arrow-linebreak */
28213
28213
  const defaultHeaders = {
28214
- sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.23.3',
28214
+ sdkVersion: 'ts-immutable-sdk-multi-rollup-api-client-1.24.0-alpha',
28215
28215
  };
28216
28216
  /**
28217
28217
  * createAPIConfiguration to create a custom Configuration
@@ -29642,7 +29642,7 @@ const IMMUTABLE_ZKVEM_GAS_OVERRIDES = {
29642
29642
  maxPriorityFeePerGas: BigNumber$1.from(10e9),
29643
29643
  };
29644
29644
 
29645
- const SDK_VERSION_MARKER = '1.23.3';
29645
+ const SDK_VERSION_MARKER = '1.24.0-alpha';
29646
29646
  // This SDK version is replaced by the `yarn build` command ran on the root level
29647
29647
  const globalPackageVersion = () => SDK_VERSION_MARKER;
29648
29648
 
@@ -30911,8 +30911,7 @@ const erc721BalanceAggregator = (itemRequirements) => {
30911
30911
  const balanceAggregator = (itemRequirements) => erc721BalanceAggregator(erc20BalanceAggregator(nativeBalanceAggregator(itemRequirements)));
30912
30912
 
30913
30913
  /* eslint-disable arrow-body-style */
30914
- const getTokensFromRequirements = (itemRequirements) => itemRequirements
30915
- .map((itemRequirement) => {
30914
+ const getTokensFromRequirements = (itemRequirements) => itemRequirements.map((itemRequirement) => {
30916
30915
  switch (itemRequirement.type) {
30917
30916
  case ItemType.ERC20:
30918
30917
  return {
@@ -30937,11 +30936,11 @@ const getERC721BalanceRequirement = (itemRequirement, balances) => {
30937
30936
  // Find the requirements related balance
30938
30937
  const itemBalanceResult = balances.find((balance) => {
30939
30938
  const balanceERC721Result = balance;
30940
- return isMatchingAddress(balanceERC721Result.contractAddress, itemRequirement.contractAddress)
30941
- && balanceERC721Result.id === itemRequirement.id;
30939
+ return (isMatchingAddress(balanceERC721Result.contractAddress, itemRequirement.contractAddress) && balanceERC721Result.id === itemRequirement.id);
30942
30940
  });
30943
30941
  // Calculate the balance delta
30944
- const sufficient = (requiredBalance.isNegative() || requiredBalance.isZero())
30942
+ const sufficient = requiredBalance.isNegative()
30943
+ || requiredBalance.isZero()
30945
30944
  || (itemBalanceResult?.balance.gte(requiredBalance) ?? false);
30946
30945
  const delta = requiredBalance.sub(itemBalanceResult?.balance ?? BigNumber$1.from(0));
30947
30946
  let erc721BalanceResult = itemBalanceResult;
@@ -30972,7 +30971,7 @@ const getERC721BalanceRequirement = (itemRequirement, balances) => {
30972
30971
  /**
30973
30972
  * Gets the balance requirement for a NATIVE or ERC20 requirement.
30974
30973
  */
30975
- const getTokenBalanceRequirement = (itemRequirement, balances) => {
30974
+ const getTokenBalanceRequirement = async (itemRequirement, balances, provider) => {
30976
30975
  let itemBalanceResult;
30977
30976
  // Get the requirements related balance
30978
30977
  if (itemRequirement.type === ItemType.ERC20) {
@@ -30987,17 +30986,37 @@ const getTokenBalanceRequirement = (itemRequirement, balances) => {
30987
30986
  }
30988
30987
  // Calculate the balance delta
30989
30988
  const requiredBalance = itemRequirement.amount;
30990
- const sufficient = (requiredBalance.isNegative() || requiredBalance.isZero())
30989
+ const sufficient = requiredBalance.isNegative()
30990
+ || requiredBalance.isZero()
30991
30991
  || (itemBalanceResult?.balance.gte(requiredBalance) ?? false);
30992
30992
  const delta = requiredBalance.sub(itemBalanceResult?.balance ?? BigNumber$1.from(0));
30993
30993
  let name = '';
30994
30994
  let symbol = '';
30995
30995
  let decimals = DEFAULT_TOKEN_DECIMALS$1;
30996
30996
  if (itemBalanceResult) {
30997
- decimals = itemBalanceResult.token?.decimals ?? DEFAULT_TOKEN_DECIMALS$1;
30997
+ decimals = itemBalanceResult.token?.decimals
30998
+ ?? DEFAULT_TOKEN_DECIMALS$1;
30998
30999
  name = itemBalanceResult.token.name;
30999
31000
  symbol = itemBalanceResult.token.symbol;
31000
31001
  }
31002
+ else if (itemRequirement.type === ItemType.ERC20) {
31003
+ // Missing item balance so we need to query contract
31004
+ try {
31005
+ const contract = new Contract$1(itemRequirement.tokenAddress, JSON.stringify(ERC20ABI), provider);
31006
+ const [contractName, contractSymbol, contractDecimals] = await Promise.all([
31007
+ contract.name(),
31008
+ contract.symbol(),
31009
+ contract.decimals(),
31010
+ ]);
31011
+ decimals = contractDecimals;
31012
+ name = contractName;
31013
+ symbol = contractSymbol;
31014
+ }
31015
+ catch (error) {
31016
+ // eslint-disable-next-line no-console
31017
+ console.error('Failed to query contract information', itemRequirement.tokenAddress);
31018
+ }
31019
+ }
31001
31020
  let tokenBalanceResult = itemBalanceResult;
31002
31021
  if (itemRequirement.type === ItemType.NATIVE) {
31003
31022
  // No token balance so mark as zero native
@@ -31049,9 +31068,23 @@ const getTokenBalanceRequirement = (itemRequirement, balances) => {
31049
31068
  balance: delta,
31050
31069
  formattedBalance: utils$2.formatUnits(delta, decimals),
31051
31070
  },
31052
- current: tokenBalanceResult,
31071
+ current: {
31072
+ ...tokenBalanceResult,
31073
+ token: {
31074
+ address: itemRequirement.tokenAddress,
31075
+ name,
31076
+ symbol,
31077
+ decimals,
31078
+ },
31079
+ },
31053
31080
  required: {
31054
31081
  ...tokenBalanceResult,
31082
+ token: {
31083
+ address: itemRequirement.tokenAddress,
31084
+ name,
31085
+ symbol,
31086
+ decimals,
31087
+ },
31055
31088
  balance: BigNumber$1.from(itemRequirement.amount),
31056
31089
  formattedBalance: utils$2.formatUnits(itemRequirement.amount, decimals),
31057
31090
  },
@@ -31148,13 +31181,14 @@ const balanceCheck = async (config, provider, ownerAddress, itemRequirements, fo
31148
31181
  }
31149
31182
  // Wait for all balances and calculate the requirements
31150
31183
  const promisesResponses = await Promise.all(balancePromises);
31151
- const balanceRequirements = [];
31184
+ const erc721BalanceRequirements = [];
31185
+ const tokenBalanceRequirementPromises = [];
31152
31186
  // Get all ERC20 and NATIVE balances
31153
31187
  if (requiredToken.length > 0 && promisesResponses.length > 0) {
31154
31188
  const result = promisesResponses.shift();
31155
31189
  if (result) {
31156
31190
  requiredToken.forEach((item) => {
31157
- balanceRequirements.push(getTokenBalanceRequirement(item, result));
31191
+ tokenBalanceRequirementPromises.push(getTokenBalanceRequirement(item, result, provider));
31158
31192
  });
31159
31193
  }
31160
31194
  }
@@ -31163,10 +31197,14 @@ const balanceCheck = async (config, provider, ownerAddress, itemRequirements, fo
31163
31197
  const result = promisesResponses.shift();
31164
31198
  if (result) {
31165
31199
  requiredERC721.forEach((item) => {
31166
- balanceRequirements.push(getERC721BalanceRequirement(item, result));
31200
+ erc721BalanceRequirements.push(getERC721BalanceRequirement(item, result));
31167
31201
  });
31168
31202
  }
31169
31203
  }
31204
+ const balanceRequirements = [
31205
+ ...erc721BalanceRequirements,
31206
+ ...(await Promise.all(tokenBalanceRequirementPromises)),
31207
+ ];
31170
31208
  // Find if there are any requirements that aren't sufficient.
31171
31209
  // If there is not item with sufficient === false then the requirements
31172
31210
  // are satisfied.
package/dist/config.js CHANGED
@@ -128,7 +128,7 @@ const flattenProperties = (properties) => {
128
128
  };
129
129
 
130
130
  // WARNING: DO NOT CHANGE THE STRING BELOW. IT GETS REPLACED AT BUILD TIME.
131
- const SDK_VERSION = '1.23.3';
131
+ const SDK_VERSION = '1.24.0-alpha';
132
132
  const getReferrer = () => {
133
133
  if (isNode()) {
134
134
  return '';