@zoralabs/protocol-sdk 0.5.8-DEV.2 → 0.5.9

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/index.js CHANGED
@@ -1525,6 +1525,7 @@ function create1155CreatorClient({
1525
1525
  maxSupply,
1526
1526
  account,
1527
1527
  royaltySettings,
1528
+ createReferral,
1528
1529
  getAdditionalSetupActions
1529
1530
  }) {
1530
1531
  const { contractExists, contractAddress } = await getContractExists(
@@ -1553,7 +1554,8 @@ function create1155CreatorClient({
1553
1554
  fixedPriceMinterAddress,
1554
1555
  account,
1555
1556
  mintToCreatorCount,
1556
- royaltySettings
1557
+ royaltySettings,
1558
+ createReferral
1557
1559
  });
1558
1560
  if (getAdditionalSetupActions) {
1559
1561
  tokenSetupActions = [
@@ -1699,10 +1701,16 @@ var getMINTsBalance = async ({
1699
1701
  // src/mints/mints-contracts.ts
1700
1702
  import {
1701
1703
  zoraMints1155Config,
1702
- zoraMintsManagerImplConfig
1704
+ zoraMintsManagerImplABI,
1705
+ zoraMintsManagerImplConfig,
1706
+ mintsEthUnwrapperAndCallerConfig,
1707
+ iUnwrapAndForwardActionABI
1703
1708
  } from "@zoralabs/protocol-deployments";
1704
1709
  import {
1710
+ decodeErrorResult,
1711
+ encodeAbiParameters as encodeAbiParameters2,
1705
1712
  encodeFunctionData as encodeFunctionData2,
1713
+ parseAbiParameters as parseAbiParameters2,
1706
1714
  zeroAddress as zeroAddress5
1707
1715
  } from "viem";
1708
1716
  function mintWithEthParams({
@@ -1726,6 +1734,9 @@ var getPaidMintValue = (quantities, pricePerMint) => {
1726
1734
  return;
1727
1735
  return quantities.reduce((a, b) => a + b, 0n) * pricePerMint;
1728
1736
  };
1737
+ var fixedPriceMinterMinterArguments = ({
1738
+ mintRecipient
1739
+ }) => encodeAbiParameters2(parseAbiParameters2("address"), [mintRecipient]);
1729
1740
  var mintsBalanceOfAccountParams = ({
1730
1741
  account,
1731
1742
  chainId
@@ -1735,18 +1746,7 @@ var mintsBalanceOfAccountParams = ({
1735
1746
  functionName: "balanceOfAccount",
1736
1747
  args: [account]
1737
1748
  });
1738
- var accountNonceParams = ({
1739
- chainId,
1740
- account
1741
- }) => ({
1742
- abi: zoraMints1155Config.abi,
1743
- address: zoraMints1155Config.address[chainId],
1744
- functionName: "nonces",
1745
- args: [account]
1746
- });
1747
1749
  var encodeCollectOnManager = ({
1748
- tokenIds,
1749
- quantities,
1750
1750
  zoraCreator1155Contract,
1751
1751
  minter,
1752
1752
  zoraCreator1155TokenId,
@@ -1755,8 +1755,6 @@ var encodeCollectOnManager = ({
1755
1755
  abi: zoraMintsManagerImplConfig.abi,
1756
1756
  functionName: "collect",
1757
1757
  args: [
1758
- tokenIds,
1759
- quantities,
1760
1758
  zoraCreator1155Contract,
1761
1759
  minter,
1762
1760
  zoraCreator1155TokenId,
@@ -1780,7 +1778,7 @@ function collectWithMintsParams({
1780
1778
  abi: zoraMints1155Config.abi,
1781
1779
  address: zoraMints1155Config.address[chainId],
1782
1780
  functionName: "transferBatchToManagerAndCall",
1783
- args: [tokenIds, quantities, "0x", call],
1781
+ args: [tokenIds, quantities, call],
1784
1782
  value: getPaidMintValue(quantities, pricePerToken),
1785
1783
  account
1786
1784
  };
@@ -1794,19 +1792,22 @@ var collectWithMintsTypedDataDefinition = ({
1794
1792
  deadline,
1795
1793
  ...rest
1796
1794
  }) => {
1797
- const call = encodeCollectOnManager({
1795
+ const safeTransferData = encodeCollectOnManager({
1798
1796
  tokenIds,
1799
1797
  quantities,
1800
1798
  ...rest
1801
1799
  });
1802
- return makePermitAndTypeData({
1800
+ return makePermitTransferBatchAndTypeData({
1803
1801
  tokenIds,
1804
1802
  quantities,
1805
1803
  chainId,
1806
1804
  account,
1807
1805
  nonce,
1808
1806
  deadline,
1809
- call
1807
+ safeTransferData,
1808
+ // will safe transfer to manager contract before doing the
1809
+ // collect operation
1810
+ to: zoraMintsManagerImplConfig.address[chainId]
1810
1811
  });
1811
1812
  };
1812
1813
  var collectPremintWithMintsTypedDataDefinition = ({
@@ -1818,41 +1819,72 @@ var collectPremintWithMintsTypedDataDefinition = ({
1818
1819
  deadline,
1819
1820
  ...rest
1820
1821
  }) => {
1821
- const call = encodePremintOnManager({
1822
- tokenIds,
1823
- quantities,
1822
+ const safeTransferData = encodePremintOnManager({
1824
1823
  ...rest
1825
1824
  });
1826
- return makePermitAndTypeData({
1825
+ return makePermitTransferBatchAndTypeData({
1827
1826
  tokenIds,
1828
1827
  quantities,
1829
1828
  chainId,
1830
1829
  account,
1831
1830
  nonce,
1832
1831
  deadline,
1833
- call
1832
+ safeTransferData,
1833
+ // will safe transfer to manager contract before doing the
1834
+ // collect operation
1835
+ to: zoraMintsManagerImplConfig.address[chainId]
1834
1836
  });
1835
1837
  };
1836
- function makePermitAndTypeData({
1838
+ function makePermitTransferBatchAndTypeData({
1837
1839
  tokenIds,
1838
1840
  quantities,
1839
1841
  chainId,
1840
1842
  account,
1843
+ to,
1841
1844
  nonce,
1842
1845
  deadline,
1843
- call
1846
+ safeTransferData
1844
1847
  }) {
1845
1848
  const permit = {
1846
1849
  owner: typeof account === "string" ? account : account.address,
1850
+ to,
1847
1851
  tokenIds,
1848
1852
  quantities,
1849
- call,
1850
1853
  deadline,
1851
- safeTransferData: "0x"
1854
+ nonce,
1855
+ safeTransferData
1852
1856
  };
1853
- const typedData = permitTypedDataDefinition({
1857
+ const typedData = permitBatchTypedDataDefinition({
1854
1858
  chainId,
1859
+ permit,
1860
+ account
1861
+ });
1862
+ return {
1863
+ permit,
1864
+ typedData
1865
+ };
1866
+ }
1867
+ function makePermitTransferTypeData({
1868
+ tokenId,
1869
+ quantity,
1870
+ chainId,
1871
+ account,
1872
+ to,
1873
+ nonce,
1874
+ deadline,
1875
+ safeTransferData
1876
+ }) {
1877
+ const permit = {
1878
+ owner: typeof account === "string" ? account : account.address,
1879
+ to,
1880
+ tokenId,
1881
+ quantity,
1882
+ deadline,
1855
1883
  nonce,
1884
+ safeTransferData
1885
+ };
1886
+ const typedData = permitTransferTypedDataDefinition({
1887
+ chainId,
1856
1888
  permit,
1857
1889
  account
1858
1890
  });
@@ -1862,8 +1894,6 @@ function makePermitAndTypeData({
1862
1894
  };
1863
1895
  }
1864
1896
  var encodePremintOnManager = ({
1865
- tokenIds,
1866
- quantities,
1867
1897
  contractCreationConfig,
1868
1898
  premintConfig,
1869
1899
  premintSignature,
@@ -1873,8 +1903,6 @@ var encodePremintOnManager = ({
1873
1903
  abi: zoraMintsManagerImplConfig.abi,
1874
1904
  functionName: "collectPremintV2",
1875
1905
  args: [
1876
- tokenIds,
1877
- quantities,
1878
1906
  contractCreationConfig,
1879
1907
  premintConfig,
1880
1908
  premintSignature,
@@ -1891,15 +1919,13 @@ function collectPremintV2WithMintsParams({
1891
1919
  ...rest
1892
1920
  }) {
1893
1921
  const call = encodePremintOnManager({
1894
- tokenIds,
1895
- quantities,
1896
1922
  ...rest
1897
1923
  });
1898
1924
  return {
1899
1925
  abi: zoraMints1155Config.abi,
1900
1926
  address: zoraMints1155Config.address[chainId],
1901
1927
  functionName: "transferBatchToManagerAndCall",
1902
- args: [tokenIds, quantities, "0x", call],
1928
+ args: [tokenIds, quantities, call],
1903
1929
  value: getPaidMintValue(quantities, pricePerToken),
1904
1930
  account
1905
1931
  };
@@ -1907,10 +1933,9 @@ function collectPremintV2WithMintsParams({
1907
1933
  function makeTypeData(args) {
1908
1934
  return args;
1909
1935
  }
1910
- function permitTypedDataDefinition({
1936
+ function permitBatchTypedDataDefinition({
1911
1937
  permit,
1912
1938
  chainId,
1913
- nonce,
1914
1939
  account
1915
1940
  }) {
1916
1941
  return makeTypeData({
@@ -1921,6 +1946,10 @@ function permitTypedDataDefinition({
1921
1946
  name: "owner",
1922
1947
  type: "address"
1923
1948
  },
1949
+ {
1950
+ name: "to",
1951
+ type: "address"
1952
+ },
1924
1953
  {
1925
1954
  name: "tokenIds",
1926
1955
  type: "uint256[]"
@@ -1934,7 +1963,53 @@ function permitTypedDataDefinition({
1934
1963
  type: "bytes"
1935
1964
  },
1936
1965
  {
1937
- name: "call",
1966
+ name: "nonce",
1967
+ type: "uint256"
1968
+ },
1969
+ {
1970
+ name: "deadline",
1971
+ type: "uint256"
1972
+ }
1973
+ ]
1974
+ },
1975
+ message: permit,
1976
+ domain: {
1977
+ chainId,
1978
+ name: "Mints",
1979
+ version: "1",
1980
+ verifyingContract: zoraMints1155Config.address[chainId]
1981
+ },
1982
+ // signing account must be permit owner
1983
+ account
1984
+ });
1985
+ }
1986
+ function permitTransferTypedDataDefinition({
1987
+ permit,
1988
+ chainId,
1989
+ account
1990
+ }) {
1991
+ return makeTypeData({
1992
+ primaryType: "PermitSafeTransfer",
1993
+ types: {
1994
+ PermitSafeTransfer: [
1995
+ {
1996
+ name: "owner",
1997
+ type: "address"
1998
+ },
1999
+ {
2000
+ name: "to",
2001
+ type: "address"
2002
+ },
2003
+ {
2004
+ name: "tokenId",
2005
+ type: "uint256"
2006
+ },
2007
+ {
2008
+ name: "quantity",
2009
+ type: "uint256"
2010
+ },
2011
+ {
2012
+ name: "safeTransferData",
1938
2013
  type: "bytes"
1939
2014
  },
1940
2015
  {
@@ -1947,15 +2022,7 @@ function permitTypedDataDefinition({
1947
2022
  }
1948
2023
  ]
1949
2024
  },
1950
- message: {
1951
- owner: permit.owner,
1952
- tokenIds: permit.tokenIds,
1953
- quantities: permit.quantities,
1954
- safeTransferData: permit.safeTransferData,
1955
- call: permit.call,
1956
- nonce,
1957
- deadline: permit.deadline
1958
- },
2025
+ message: permit,
1959
2026
  domain: {
1960
2027
  chainId,
1961
2028
  name: "Mints",
@@ -1974,11 +2041,109 @@ var permitTransferBatchToManagerAndCallParams = ({
1974
2041
  const result = {
1975
2042
  abi: zoraMints1155Config.abi,
1976
2043
  address: zoraMints1155Config.address[chainId],
1977
- functionName: "permitTransferBatchToManagerAndCall",
2044
+ functionName: "permitSafeTransferBatch",
1978
2045
  args: [permit, signature]
1979
2046
  };
1980
2047
  return result;
1981
2048
  };
2049
+ var safeTransferAndUnwrapTypedDataDefinition = ({
2050
+ chainId,
2051
+ tokenId,
2052
+ quantity,
2053
+ from,
2054
+ addressToCall,
2055
+ functionToCall,
2056
+ valueToSend,
2057
+ deadline,
2058
+ nonce
2059
+ }) => {
2060
+ const callArgument = encodeFunctionData2({
2061
+ abi: iUnwrapAndForwardActionABI,
2062
+ functionName: "callWithEth",
2063
+ args: [addressToCall, functionToCall, valueToSend]
2064
+ });
2065
+ return makePermitTransferTypeData({
2066
+ account: from,
2067
+ chainId,
2068
+ deadline,
2069
+ tokenId,
2070
+ quantity,
2071
+ safeTransferData: callArgument,
2072
+ to: mintsEthUnwrapperAndCallerConfig.address[chainId],
2073
+ nonce
2074
+ });
2075
+ };
2076
+ var safeTransferBatchAndUnwrapTypedDataDefinition = ({
2077
+ chainId,
2078
+ tokenIds,
2079
+ quantities,
2080
+ from,
2081
+ addressToCall,
2082
+ functionToCall,
2083
+ valueToSend,
2084
+ deadline,
2085
+ nonce
2086
+ }) => {
2087
+ const callArgument = encodeFunctionData2({
2088
+ abi: iUnwrapAndForwardActionABI,
2089
+ functionName: "callWithEth",
2090
+ args: [addressToCall, functionToCall, valueToSend]
2091
+ });
2092
+ return makePermitTransferBatchAndTypeData({
2093
+ account: from,
2094
+ chainId,
2095
+ deadline,
2096
+ tokenIds,
2097
+ quantities,
2098
+ safeTransferData: callArgument,
2099
+ to: mintsEthUnwrapperAndCallerConfig.address[chainId],
2100
+ nonce
2101
+ });
2102
+ };
2103
+ var safeTransferAndUnwrapEthParams = ({
2104
+ chainId,
2105
+ tokenIds,
2106
+ quantities,
2107
+ from,
2108
+ addressToCall,
2109
+ functionToCall,
2110
+ valueToSend
2111
+ }) => {
2112
+ const callArgument = encodeFunctionData2({
2113
+ abi: iUnwrapAndForwardActionABI,
2114
+ functionName: "callWithEth",
2115
+ args: [addressToCall, functionToCall, valueToSend]
2116
+ });
2117
+ const result = {
2118
+ abi: zoraMints1155Config.abi,
2119
+ functionName: "safeBatchTransferFrom",
2120
+ address: zoraMints1155Config.address[chainId],
2121
+ args: [
2122
+ typeof from === "string" ? from : from.address,
2123
+ // the mints will be transferred to this address, which
2124
+ // will burn/redeem their eth value
2125
+ mintsEthUnwrapperAndCallerConfig.address[chainId],
2126
+ // token ids to transfer/burn/unwrap - must be eth based tokens
2127
+ tokenIds,
2128
+ // quantities to transfer/burn/unwrap
2129
+ quantities,
2130
+ // this is the safeTransferData - which gets forwarded to the eth transferrer
2131
+ callArgument
2132
+ ],
2133
+ // the account whos mints will be transferred from
2134
+ account: from
2135
+ };
2136
+ return result;
2137
+ };
2138
+ function decodeCallFailedError(error) {
2139
+ if (error.data?.errorName !== "CallFailed")
2140
+ throw new Error("Not a CallFailed error");
2141
+ const internalErrorData = error.data?.args?.[0];
2142
+ return decodeErrorResult({
2143
+ abi: zoraMintsManagerImplABI,
2144
+ data: internalErrorData
2145
+ });
2146
+ }
1982
2147
  export {
1983
2148
  DEFAULT_SALE_SETTINGS,
1984
2149
  Errors,
@@ -1987,7 +2152,6 @@ export {
1987
2152
  PremintConfigVersion,
1988
2153
  PreminterDomain,
1989
2154
  ZORA_API_BASE,
1990
- accountNonceParams,
1991
2155
  applyUpdateToPremint,
1992
2156
  collectPremintV2WithMintsParams,
1993
2157
  collectPremintWithMintsTypedDataDefinition,
@@ -2000,12 +2164,14 @@ export {
2000
2164
  create1155TokenSetupArgs,
2001
2165
  createMintClient,
2002
2166
  createPremintClient,
2167
+ decodeCallFailedError,
2003
2168
  defaultTokenConfigV1MintArguments,
2004
2169
  defaultTokenConfigV2MintArguments,
2005
2170
  encodeCollectOnManager,
2006
2171
  encodePostSignatureInput,
2007
2172
  encodePremintForAPI,
2008
2173
  encodePremintOnManager,
2174
+ fixedPriceMinterMinterArguments,
2009
2175
  getApiNetworkConfigForChain,
2010
2176
  getDefaultFixedPriceMinterAddress,
2011
2177
  getMINTsBalance,
@@ -2026,11 +2192,15 @@ export {
2026
2192
  migratePremintConfigToV2,
2027
2193
  mintWithEthParams,
2028
2194
  mintsBalanceOfAccountParams,
2195
+ permitBatchTypedDataDefinition,
2029
2196
  permitTransferBatchToManagerAndCallParams,
2030
- permitTypedDataDefinition,
2197
+ permitTransferTypedDataDefinition,
2031
2198
  premintTypedDataDefinition,
2032
2199
  recoverCreatorFromCreatorAttribution,
2033
2200
  recoverPremintSigner,
2201
+ safeTransferAndUnwrapEthParams,
2202
+ safeTransferAndUnwrapTypedDataDefinition,
2203
+ safeTransferBatchAndUnwrapTypedDataDefinition,
2034
2204
  selectMintsToCollectWithFromQueryResult,
2035
2205
  sumBalances,
2036
2206
  supportedPremintVersions,