@imtbl/sdk 0.15.1-alpha → 0.16.0

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.
@@ -36,8 +36,7 @@ const ETH_MAINNET_CHAIN_ID = '1';
36
36
  /**
37
37
  * @constant {string} ZKEVM_DEVNET_CHAIN_ID - The chain ID for the zkEVM devnet (EIP-155 compatible format).
38
38
  */
39
- const ZKEVM_DEVNET_CHAIN_ID = '13433';
40
- /**
39
+ const ZKEVM_DEVNET_CHAIN_ID = '13473';
41
40
  /**
42
41
  * @constant {string} ZKEVM_TESTNET_CHAIN_ID - The chain ID for the zkEVM testnet (EIP-155 compatible format).
43
42
  */
@@ -12318,10 +12317,10 @@ const SUPPORTED_BRIDGES_FOR_ENVIRONMENT = {
12318
12317
  */
12319
12318
  const CONTRACTS_FOR_BRIDGE = new Map()
12320
12319
  .set(ETH_SEPOLIA_TO_ZKEVM_DEVNET, {
12321
- rootChainERC20Predicate: '0xAC0f2096732D40096B3356AD76ba60a2f02366c8',
12322
- rootChainStateSender: '0xeA76fcCdD791A9c231CAda787ae7535c8a5E55B5',
12323
- rootChainCheckpointManager: '0x321A466aa78F5957C6E2375114915EcD14DAdE44',
12324
- rootChainExitHelper: '0x55cA8C418bbB0aC87414F9ea6FFC6a33860Cf967',
12320
+ rootChainERC20Predicate: '0x75E468cF088F947B96422996132FbE71160F21F1',
12321
+ rootChainStateSender: '0xbdC11416f01b122b7621855e61c99C7ED986F894',
12322
+ rootChainCheckpointManager: '0x0721b564a96466b864A998D31846Ba409d21092B',
12323
+ rootChainExitHelper: '0x0a2cb3f90aE65429E5c516af500F59d8fed51844',
12325
12324
  childChainERC20Predicate: '0x0000000000000000000000000000000000001004',
12326
12325
  childChainStateReceiver: '0x0000000000000000000000000000000000001001',
12327
12326
  })
@@ -16945,6 +16944,9 @@ const $d85ad1457a3f1a83$export$161d4a74df65fc08 = {
16945
16944
  [(Environment$1).SANDBOX]: "https://checkout-api.sandbox.immutable.com",
16946
16945
  [(Environment$1).PRODUCTION]: "https://checkout-api.immutable.com"
16947
16946
  };
16947
+ ({
16948
+ [($0472f23319457bfb$export$c06e1e7429de6283).IMTBL_ZKEVM_TESTNET]: "https://explorer.testnet.immutable.com"
16949
+ });
16948
16950
  const $d85ad1457a3f1a83$export$6f24f3cef7d501c4 = new Map([
16949
16951
  [
16950
16952
  ($0472f23319457bfb$export$c06e1e7429de6283).ETHEREUM,
@@ -17264,13 +17266,6 @@ var $4b58188d47aafe8d$export$537fa3efd10ed435;
17264
17266
  GasTokenType["NATIVE"] = "NATIVE";
17265
17267
  GasTokenType["ERC20"] = "ERC20";
17266
17268
  })($4b58188d47aafe8d$export$537fa3efd10ed435 || ($4b58188d47aafe8d$export$537fa3efd10ed435 = {}));
17267
- var $4b58188d47aafe8d$export$5d3b0ad129b9b98e;
17268
- (function(TransactionRequirementType) {
17269
- TransactionRequirementType["GAS"] = "GAS";
17270
- TransactionRequirementType["NATIVE"] = "NATIVE";
17271
- TransactionRequirementType["ERC20"] = "ERC20";
17272
- TransactionRequirementType["ERC721"] = "ERC721";
17273
- })($4b58188d47aafe8d$export$5d3b0ad129b9b98e || ($4b58188d47aafe8d$export$5d3b0ad129b9b98e = {}));
17274
17269
 
17275
17270
 
17276
17271
 
@@ -17724,13 +17719,19 @@ const $dbe95599a4661140$export$8e0e7ffc78696d30 = async (web3Provider, transacti
17724
17719
 
17725
17720
 
17726
17721
 
17722
+ const $dff2555fa96dda9a$var$doesChainSupportEIP1559 = (feeData)=>!!feeData.maxFeePerGas && !!feeData.maxPriorityFeePerGas;
17723
+ const $dff2555fa96dda9a$export$aa28f3111c524ec5 = (feeData)=>{
17724
+ if ($dff2555fa96dda9a$var$doesChainSupportEIP1559(feeData)) return (BigNumber$1).from(feeData.maxFeePerGas).add((BigNumber$1).from(feeData.maxPriorityFeePerGas));
17725
+ if (feeData.gasPrice) return (BigNumber$1).from(feeData.gasPrice);
17726
+ return null;
17727
+ };
17728
+
17729
+
17727
17730
  const $570856c68db0bd36$var$GAS_LIMIT = 140000;
17728
- const $570856c68db0bd36$var$doesChainSupportEIP1559 = (feeData)=>!!feeData.maxFeePerGas && !!feeData.maxPriorityFeePerGas;
17729
- const $570856c68db0bd36$var$getGasPriceInWei = (feeData)=>$570856c68db0bd36$var$doesChainSupportEIP1559(feeData) ? (BigNumber$1).from(feeData.maxFeePerGas).add((BigNumber$1).from(feeData.maxPriorityFeePerGas)) : feeData.gasPrice && (BigNumber$1).from(feeData.gasPrice);
17730
17731
  const $570856c68db0bd36$var$getGasEstimates = async (provider)=>{
17731
17732
  const txnGasLimitInWei = $570856c68db0bd36$var$GAS_LIMIT; // todo: fetch gasLimit from bridgeSDK when they add new fn
17732
17733
  const feeData = await provider.getFeeData();
17733
- const gasPriceInWei = $570856c68db0bd36$var$getGasPriceInWei(feeData);
17734
+ const gasPriceInWei = ($dff2555fa96dda9a$export$aa28f3111c524ec5)(feeData);
17734
17735
  if (!gasPriceInWei) return undefined;
17735
17736
  return gasPriceInWei.mul(txnGasLimitInWei);
17736
17737
  };
@@ -18007,8 +18008,6 @@ async function $2e7bf45a7c9a9570$export$942c8de7174809fc(params, readOnlyProvide
18007
18008
 
18008
18009
 
18009
18010
 
18010
-
18011
-
18012
18011
  const $ddc6bcd0896481e5$export$2fbfa41a4de56a89 = (erc20allowances, erc721allowances)=>{
18013
18012
  const aggregatedAllowances = [];
18014
18013
  if (!erc20allowances.sufficient) {
@@ -18377,12 +18376,9 @@ const $aa6caea9a60d18c7$export$f96d1c819a615a64 = (itemRequirements)=>$aa6caea9a
18377
18376
 
18378
18377
  const $73d2282a108cc7e2$export$ed7929b58bab85da = (itemRequirements)=>itemRequirements.map((itemRequirement)=>{
18379
18378
  if (itemRequirement.type === ($4b58188d47aafe8d$export$1fc8f52ad1810e52).NATIVE) return {
18380
- name: "IMX",
18381
- symbol: "IMX",
18382
18379
  address: ($d85ad1457a3f1a83$export$b80040cb173ba6e9)
18383
18380
  };
18384
18381
  return {
18385
- name: itemRequirement.type,
18386
18382
  address: itemRequirement.contractAddress
18387
18383
  };
18388
18384
  });
@@ -18398,6 +18394,7 @@ const $73d2282a108cc7e2$export$9b757e40b19984c3 = (itemRequirement, balances)=>{
18398
18394
  const delta = requiredBalance.sub(itemBalanceResult?.balance ?? (BigNumber$1).from(0));
18399
18395
  let erc721BalanceResult = itemBalanceResult;
18400
18396
  if (!erc721BalanceResult) erc721BalanceResult = {
18397
+ type: ($4b58188d47aafe8d$export$1fc8f52ad1810e52).ERC721,
18401
18398
  balance: (BigNumber$1).from(0),
18402
18399
  formattedBalance: "0",
18403
18400
  contractAddress: itemRequirement.contractAddress,
@@ -18405,7 +18402,7 @@ const $73d2282a108cc7e2$export$9b757e40b19984c3 = (itemRequirement, balances)=>{
18405
18402
  };
18406
18403
  return {
18407
18404
  sufficient: sufficient,
18408
- type: itemRequirement.type,
18405
+ type: ($4b58188d47aafe8d$export$1fc8f52ad1810e52).ERC721,
18409
18406
  delta: {
18410
18407
  balance: delta,
18411
18408
  formattedBalance: delta.toString()
@@ -18425,23 +18422,30 @@ const $73d2282a108cc7e2$export$6ab9757fda54db7e = (itemRequirement, balances)=>{
18425
18422
  return balance.token?.address === itemRequirement.contractAddress;
18426
18423
  });
18427
18424
  else if (itemRequirement.type === ($4b58188d47aafe8d$export$1fc8f52ad1810e52).NATIVE) itemBalanceResult = balances.find((balance)=>{
18428
- return !("address" in balance.token) || balance.token?.address === ($d85ad1457a3f1a83$export$b80040cb173ba6e9);
18425
+ return balance.token?.address === "" || balance.token?.address === ($d85ad1457a3f1a83$export$b80040cb173ba6e9);
18429
18426
  });
18430
18427
  // Calculate the balance delta
18431
18428
  const requiredBalance = itemRequirement.amount;
18432
18429
  const sufficient = requiredBalance.isNegative() || requiredBalance.isZero() || (itemBalanceResult?.balance.gte(requiredBalance) ?? false);
18433
18430
  const delta = requiredBalance.sub(itemBalanceResult?.balance ?? (BigNumber$1).from(0));
18431
+ let name = "";
18432
+ let symbol = "";
18434
18433
  let decimals = ($d85ad1457a3f1a83$export$903389470ba9433c);
18435
- if (itemBalanceResult) decimals = itemBalanceResult.token?.decimals ?? ($d85ad1457a3f1a83$export$903389470ba9433c);
18434
+ if (itemBalanceResult) {
18435
+ decimals = itemBalanceResult.token?.decimals ?? ($d85ad1457a3f1a83$export$903389470ba9433c);
18436
+ name = itemBalanceResult.token.name;
18437
+ symbol = itemBalanceResult.token.symbol;
18438
+ }
18436
18439
  let tokenBalanceResult = itemBalanceResult;
18437
18440
  if (itemRequirement.type === ($4b58188d47aafe8d$export$1fc8f52ad1810e52).NATIVE) {
18438
18441
  // No token balance so mark as zero native
18439
18442
  if (!tokenBalanceResult) tokenBalanceResult = {
18443
+ type: ($4b58188d47aafe8d$export$1fc8f52ad1810e52).NATIVE,
18440
18444
  balance: (BigNumber$1).from(0),
18441
18445
  formattedBalance: "0",
18442
18446
  token: {
18443
- name: "IMX",
18444
- symbol: "IMX",
18447
+ name: name,
18448
+ symbol: symbol,
18445
18449
  decimals: ($d85ad1457a3f1a83$export$903389470ba9433c),
18446
18450
  address: ($d85ad1457a3f1a83$export$b80040cb173ba6e9)
18447
18451
  }
@@ -18453,9 +18457,13 @@ const $73d2282a108cc7e2$export$6ab9757fda54db7e = (itemRequirement, balances)=>{
18453
18457
  balance: delta,
18454
18458
  formattedBalance: (utils).formatUnits(delta, decimals)
18455
18459
  },
18456
- current: tokenBalanceResult,
18460
+ current: {
18461
+ ...tokenBalanceResult,
18462
+ type: ($4b58188d47aafe8d$export$1fc8f52ad1810e52).NATIVE
18463
+ },
18457
18464
  required: {
18458
18465
  ...tokenBalanceResult,
18466
+ type: ($4b58188d47aafe8d$export$1fc8f52ad1810e52).NATIVE,
18459
18467
  balance: (BigNumber$1).from(itemRequirement.amount),
18460
18468
  formattedBalance: (utils).formatUnits(itemRequirement.amount, decimals)
18461
18469
  }
@@ -18463,10 +18471,14 @@ const $73d2282a108cc7e2$export$6ab9757fda54db7e = (itemRequirement, balances)=>{
18463
18471
  }
18464
18472
  // No token balance so mark as zero
18465
18473
  if (!tokenBalanceResult) tokenBalanceResult = {
18474
+ type: itemRequirement.type,
18466
18475
  balance: (BigNumber$1).from(0),
18467
18476
  formattedBalance: "0",
18468
18477
  token: {
18469
- address: itemRequirement.contractAddress
18478
+ name: name,
18479
+ symbol: symbol,
18480
+ address: itemRequirement.contractAddress,
18481
+ decimals: decimals
18470
18482
  }
18471
18483
  };
18472
18484
  return {
@@ -18508,11 +18520,11 @@ const $73d2282a108cc7e2$export$6ab9757fda54db7e = (itemRequirement, balances)=>{
18508
18520
  // Setup maps to be able to link data back to the associated promises
18509
18521
  const erc721s = new Map();
18510
18522
  const erc721OwnershipPromises = new Map();
18511
- itemRequirements.filter((itemRequirement)=>itemRequirement.type === ($4b58188d47aafe8d$export$1fc8f52ad1810e52).ERC721).forEach((itemRequirement)=>{
18512
- const erc721Requirement = itemRequirement;
18513
- const contract = new (Contract$1)(erc721Requirement.contractAddress, JSON.stringify(($d85ad1457a3f1a83$export$8b8be7a2a654f23e)), provider);
18514
- erc721s.set(erc721Requirement.contractAddress, itemRequirement);
18515
- erc721OwnershipPromises.set(erc721Requirement.contractAddress, contract.ownerOf(erc721Requirement.id));
18523
+ itemRequirements.forEach((itemRequirement)=>{
18524
+ if (itemRequirement.type !== ($4b58188d47aafe8d$export$1fc8f52ad1810e52).ERC721) return;
18525
+ const contract = new (Contract$1)(itemRequirement.contractAddress, JSON.stringify(($d85ad1457a3f1a83$export$8b8be7a2a654f23e)), provider);
18526
+ erc721s.set(itemRequirement.contractAddress, itemRequirement);
18527
+ erc721OwnershipPromises.set(itemRequirement.contractAddress, contract.ownerOf(itemRequirement.id));
18516
18528
  });
18517
18529
  try {
18518
18530
  // Convert ERC721 ownership into a balance result
@@ -18523,6 +18535,7 @@ const $73d2282a108cc7e2$export$6ab9757fda54db7e = (itemRequirement, balances)=>{
18523
18535
  let itemCount = 0;
18524
18536
  if (itemRequirement && ownerAddress === erc721OwnerAddress) itemCount = 1;
18525
18537
  erc721Balances.push({
18538
+ type: (0, $4b58188d47aafe8d$export$1fc8f52ad1810e52).ERC721,
18526
18539
  balance: (0, BigNumber$1).from(itemCount),
18527
18540
  formattedBalance: itemCount.toString(),
18528
18541
  contractAddress: itemRequirement.contractAddress,
@@ -18574,7 +18587,7 @@ const $beb896e098e41faf$export$ddfc885f43c3cb6e = async (config, provider, owner
18574
18587
  }, true);
18575
18588
  return {
18576
18589
  sufficient: sufficient,
18577
- itemRequirements: balanceRequirements
18590
+ balanceRequirements: balanceRequirements
18578
18591
  };
18579
18592
  };
18580
18593
 
@@ -18585,12 +18598,7 @@ const $beb896e098e41faf$export$ddfc885f43c3cb6e = async (config, provider, owner
18585
18598
 
18586
18599
 
18587
18600
 
18588
- const $7d1bfafb81e64d74$var$doesChainSupportEIP1559 = (feeData)=>!!feeData.maxFeePerGas && !!feeData.maxPriorityFeePerGas;
18589
- const $7d1bfafb81e64d74$var$getGasPriceInWei = (feeData)=>{
18590
- if ($7d1bfafb81e64d74$var$doesChainSupportEIP1559(feeData)) return (BigNumber$1).from(feeData.maxFeePerGas).add((BigNumber$1).from(feeData.maxPriorityFeePerGas));
18591
- if (feeData.gasPrice) return (BigNumber$1).from(feeData.gasPrice);
18592
- return undefined;
18593
- };
18601
+
18594
18602
  const $7d1bfafb81e64d74$export$e0580ae1f48db848 = async (provider, transaction)=>{
18595
18603
  try {
18596
18604
  return await provider.estimateGas(transaction);
@@ -18623,9 +18631,11 @@ const $7d1bfafb81e64d74$export$3a4140bd9e983e4e = async (provider, insufficientI
18623
18631
  if (transactionOrGas.type === ($4b58188d47aafe8d$export$65c64e46348ee3c1).TRANSACTION) estimateGasPromises.push($7d1bfafb81e64d74$export$e0580ae1f48db848(provider, transactionOrGas.transaction));
18624
18632
  else {
18625
18633
  const feeData = await provider.getFeeData();
18626
- const gasPrice = $7d1bfafb81e64d74$var$getGasPriceInWei(feeData);
18627
- const gas = gasPrice?.mul(transactionOrGas.gasToken.limit);
18628
- if (gas) totalGas = totalGas.add(gas);
18634
+ const gasPrice = ($dff2555fa96dda9a$export$aa28f3111c524ec5)(feeData);
18635
+ if (gasPrice !== null) {
18636
+ const gas = gasPrice?.mul(transactionOrGas.gasToken.limit);
18637
+ if (gas) totalGas = totalGas.add(gas);
18638
+ }
18629
18639
  }
18630
18640
  // Get the gas estimates for all the transactions and calculate the total gas
18631
18641
  const gasEstimatePromises = await Promise.all(estimateGasPromises);
@@ -18637,57 +18647,39 @@ const $7d1bfafb81e64d74$export$3a4140bd9e983e4e = async (provider, insufficientI
18637
18647
  };
18638
18648
 
18639
18649
 
18650
+
18651
+
18652
+ const $0e7419077c373b24$export$4a2a19d99fef3b1b = (balanceCheckResult)=>{
18653
+ let sufficient = true;
18654
+ const transactionRequirements = [];
18655
+ for (const balance of balanceCheckResult.balanceRequirements){
18656
+ if (!balance.sufficient) sufficient = false;
18657
+ transactionRequirements.push({
18658
+ type: balance.type,
18659
+ sufficient: balance.sufficient,
18660
+ required: balance.required,
18661
+ current: balance.current,
18662
+ delta: balance.delta
18663
+ });
18664
+ }
18665
+ return {
18666
+ sufficient: sufficient,
18667
+ transactionRequirements: transactionRequirements
18668
+ };
18669
+ };
18640
18670
  const $0e7419077c373b24$export$9e073f9ada8c81e6 = async (config, provider, itemRequirements, transactionOrGasAmount)=>{
18641
- // eslint-disable-next-line no-console
18642
- console.log(provider, itemRequirements, transactionOrGasAmount);
18643
18671
  const ownerAddress = await provider.getSigner().getAddress();
18644
18672
  let aggregatedItems = ($074f75878f618031$export$c804c9ade5c28607)(itemRequirements);
18645
18673
  const erc20Allowances = await ($fc8b338399d890f3$export$d93c00812189e36)(provider, ownerAddress, aggregatedItems);
18646
18674
  const erc721Allowances = await ($35c3fc7013888ba5$export$be546c525d418988)(provider, ownerAddress, aggregatedItems);
18647
- // eslint-disable-next-line no-console
18648
- console.log("ERC20 Allowances", erc20Allowances);
18649
- // eslint-disable-next-line no-console
18650
- console.log("ERC721 Allowances", erc721Allowances);
18651
18675
  const aggregatedAllowances = ($ddc6bcd0896481e5$export$2fbfa41a4de56a89)(erc20Allowances, erc721Allowances);
18652
18676
  const gasItem = await ($7d1bfafb81e64d74$export$3a4140bd9e983e4e)(provider, aggregatedAllowances, transactionOrGasAmount);
18653
18677
  if (gasItem !== null) {
18654
18678
  aggregatedItems.push(gasItem);
18655
18679
  aggregatedItems = ($074f75878f618031$export$c804c9ade5c28607)(aggregatedItems);
18656
18680
  }
18657
- // eslint-disable-next-line no-console
18658
- console.log("Aggregated Items", aggregatedItems);
18659
18681
  const balanceRequirements = await ($beb896e098e41faf$export$ddfc885f43c3cb6e)(config, provider, ownerAddress, aggregatedItems);
18660
- // eslint-disable-next-line no-console
18661
- console.log("Balance Requirements", balanceRequirements);
18662
- return {
18663
- sufficient: true,
18664
- transactionRequirements: [
18665
- {
18666
- type: ($4b58188d47aafe8d$export$5d3b0ad129b9b98e).GAS,
18667
- sufficient: true,
18668
- required: {
18669
- balance: (BigNumber$1).from(0),
18670
- formattedBalance: "0",
18671
- token: {
18672
- name: "IMX",
18673
- symbol: "IMX",
18674
- address: "0x0",
18675
- decimals: 18
18676
- }
18677
- },
18678
- current: {
18679
- balance: (BigNumber$1).from(1),
18680
- formattedBalance: "1",
18681
- token: {
18682
- name: "IMX",
18683
- symbol: "IMX",
18684
- address: "0x0",
18685
- decimals: 18
18686
- }
18687
- }
18688
- }
18689
- ]
18690
- };
18682
+ return $0e7419077c373b24$export$4a2a19d99fef3b1b(balanceRequirements);
18691
18683
  };
18692
18684
 
18693
18685
 
@@ -4,7 +4,7 @@ import { useEffect } from 'react';
4
4
  function $parcel$export(e, n, v, s) {
5
5
  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
6
6
  }
7
- const $d663162fd5a0853f$export$38a083d9fb5551ca = "0.15.1-alpha";
7
+ const $d663162fd5a0853f$export$38a083d9fb5551ca = "0.0.0";
8
8
  const $d663162fd5a0853f$export$83bf90b30cdfd29f = ()=>false;
9
9
  const $d663162fd5a0853f$export$1169f5475725171b = ()=>$d663162fd5a0853f$export$38a083d9fb5551ca;
10
10
 
package/dist/erc721.d.ts CHANGED
@@ -357,9 +357,9 @@ declare class ERC721 {
357
357
  */
358
358
  ownerOf(provider: Provider, tokenId: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
359
359
  /**
360
- * @returns the royalty allowlist as a string.
360
+ * @returns the operator allowlist as a string.
361
361
  */
362
- royaltyAllowlist(provider: Provider, overrides?: CallOverrides): Promise<string>;
362
+ operatorAllowlist(provider: Provider, overrides?: CallOverrides): Promise<string>;
363
363
  /**
364
364
  * @returns the royalty information for a particular tokenId.
365
365
  */
@@ -542,9 +542,9 @@ declare class ERC721 {
542
542
  from?: PromiseOrValue<string>;
543
543
  }): Promise<PopulatedTransaction>;
544
544
  /**
545
- * @returns a populated transaction for the setRoyaltyAllowlistRegistry contract function
545
+ * @returns a populated transaction for the setOperatorAllowlistRegistry contract function
546
546
  */
547
- populateSetRoyaltyAllowlistRegistry(_royaltyAllowlist: PromiseOrValue<string>, overrides?: Overrides & {
547
+ populateSetOperatorAllowlistRegistry(_operatorAllowlist: PromiseOrValue<string>, overrides?: Overrides & {
548
548
  from?: PromiseOrValue<string>;
549
549
  }): Promise<PopulatedTransaction>;
550
550
  }