thirdweb 5.72.0 → 5.73.0-nightly-ea855c66cb940d1adafefaad6dd689227701d277-20241203000359

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.
Files changed (44) hide show
  1. package/dist/cjs/exports/pay.js +5 -1
  2. package/dist/cjs/exports/pay.js.map +1 -1
  3. package/dist/cjs/pay/convert/cryptoToFiat.js +73 -0
  4. package/dist/cjs/pay/convert/cryptoToFiat.js.map +1 -0
  5. package/dist/cjs/pay/convert/fiatToCrypto.js +73 -0
  6. package/dist/cjs/pay/convert/fiatToCrypto.js.map +1 -0
  7. package/dist/cjs/pay/utils/definitions.js +5 -1
  8. package/dist/cjs/pay/utils/definitions.js.map +1 -1
  9. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js +3 -1
  10. package/dist/cjs/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  11. package/dist/cjs/version.js +1 -1
  12. package/dist/cjs/version.js.map +1 -1
  13. package/dist/esm/exports/pay.js +2 -0
  14. package/dist/esm/exports/pay.js.map +1 -1
  15. package/dist/esm/pay/convert/cryptoToFiat.js +70 -0
  16. package/dist/esm/pay/convert/cryptoToFiat.js.map +1 -0
  17. package/dist/esm/pay/convert/fiatToCrypto.js +70 -0
  18. package/dist/esm/pay/convert/fiatToCrypto.js.map +1 -0
  19. package/dist/esm/pay/utils/definitions.js +2 -0
  20. package/dist/esm/pay/utils/definitions.js.map +1 -1
  21. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js +3 -1
  22. package/dist/esm/transaction/actions/zksync/send-eip712-transaction.js.map +1 -1
  23. package/dist/esm/version.js +1 -1
  24. package/dist/esm/version.js.map +1 -1
  25. package/dist/types/exports/pay.d.ts +2 -0
  26. package/dist/types/exports/pay.d.ts.map +1 -1
  27. package/dist/types/pay/convert/cryptoToFiat.d.ts +54 -0
  28. package/dist/types/pay/convert/cryptoToFiat.d.ts.map +1 -0
  29. package/dist/types/pay/convert/fiatToCrypto.d.ts +55 -0
  30. package/dist/types/pay/convert/fiatToCrypto.d.ts.map +1 -0
  31. package/dist/types/pay/utils/definitions.d.ts +2 -0
  32. package/dist/types/pay/utils/definitions.d.ts.map +1 -1
  33. package/dist/types/transaction/actions/zksync/send-eip712-transaction.d.ts.map +1 -1
  34. package/dist/types/version.d.ts +1 -1
  35. package/dist/types/version.d.ts.map +1 -1
  36. package/package.json +19 -19
  37. package/src/exports/pay.ts +10 -0
  38. package/src/pay/convert/cryptoToFiat.test.ts +95 -0
  39. package/src/pay/convert/cryptoToFiat.ts +111 -0
  40. package/src/pay/convert/fiatToCrypto.test.ts +96 -0
  41. package/src/pay/convert/fiatToCrypto.ts +110 -0
  42. package/src/pay/utils/definitions.ts +6 -0
  43. package/src/transaction/actions/zksync/send-eip712-transaction.ts +5 -1
  44. package/src/version.ts +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isSwapRequiredPostOnramp = exports.getBuyHistory = exports.getPostOnRampQuote = exports.getBuyWithFiatHistory = exports.getBuyWithFiatStatus = exports.getBuyWithFiatQuote = exports.getBuyWithCryptoHistory = exports.getBuyWithCryptoStatus = exports.getBuyWithCryptoTransfer = exports.getBuyWithCryptoQuote = void 0;
3
+ exports.convertCryptoToFiat = exports.convertFiatToCrypto = exports.isSwapRequiredPostOnramp = exports.getBuyHistory = exports.getPostOnRampQuote = exports.getBuyWithFiatHistory = exports.getBuyWithFiatStatus = exports.getBuyWithFiatQuote = exports.getBuyWithCryptoHistory = exports.getBuyWithCryptoStatus = exports.getBuyWithCryptoTransfer = exports.getBuyWithCryptoQuote = void 0;
4
4
  var getQuote_js_1 = require("../pay/buyWithCrypto/getQuote.js");
5
5
  Object.defineProperty(exports, "getBuyWithCryptoQuote", { enumerable: true, get: function () { return getQuote_js_1.getBuyWithCryptoQuote; } });
6
6
  var getTransfer_js_1 = require("../pay/buyWithCrypto/getTransfer.js");
@@ -22,4 +22,8 @@ var getBuyHistory_js_1 = require("../pay/getBuyHistory.js");
22
22
  Object.defineProperty(exports, "getBuyHistory", { enumerable: true, get: function () { return getBuyHistory_js_1.getBuyHistory; } });
23
23
  var isSwapRequiredPostOnramp_js_1 = require("../pay/buyWithFiat/isSwapRequiredPostOnramp.js");
24
24
  Object.defineProperty(exports, "isSwapRequiredPostOnramp", { enumerable: true, get: function () { return isSwapRequiredPostOnramp_js_1.isSwapRequiredPostOnramp; } });
25
+ var fiatToCrypto_js_1 = require("../pay/convert/fiatToCrypto.js");
26
+ Object.defineProperty(exports, "convertFiatToCrypto", { enumerable: true, get: function () { return fiatToCrypto_js_1.convertFiatToCrypto; } });
27
+ var cryptoToFiat_js_1 = require("../pay/convert/cryptoToFiat.js");
28
+ Object.defineProperty(exports, "convertCryptoToFiat", { enumerable: true, get: function () { return cryptoToFiat_js_1.convertCryptoToFiat; } });
25
29
  //# sourceMappingURL=pay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/exports/pay.ts"],"names":[],"mappings":";;;AAAA,gEAI0C;AAHxC,oHAAA,qBAAqB,OAAA;AAKvB,sEAI6C;AAH3C,0HAAA,wBAAwB,OAAA;AAU1B,kEAI2C;AAHzC,sHAAA,sBAAsB,OAAA;AAKxB,oEAI4C;AAH1C,wHAAA,uBAAuB,OAAA;AAKzB,wDAAwD;AAExD,8DAIwC;AAHtC,kHAAA,mBAAmB,OAAA;AAKrB,gEAIyC;AAHvC,oHAAA,oBAAoB,OAAA;AAKtB,kEAI0C;AAHxC,sHAAA,qBAAqB,OAAA;AAKvB,kFAGkD;AAFhD,2HAAA,kBAAkB,OAAA;AAIpB,4DAIiC;AAH/B,iHAAA,aAAa,OAAA;AAKf,8FAA0F;AAAjF,uIAAA,wBAAwB,OAAA"}
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/exports/pay.ts"],"names":[],"mappings":";;;AAAA,gEAI0C;AAHxC,oHAAA,qBAAqB,OAAA;AAKvB,sEAI6C;AAH3C,0HAAA,wBAAwB,OAAA;AAU1B,kEAI2C;AAHzC,sHAAA,sBAAsB,OAAA;AAKxB,oEAI4C;AAH1C,wHAAA,uBAAuB,OAAA;AAKzB,wDAAwD;AAExD,8DAIwC;AAHtC,kHAAA,mBAAmB,OAAA;AAKrB,gEAIyC;AAHvC,oHAAA,oBAAoB,OAAA;AAKtB,kEAI0C;AAHxC,sHAAA,qBAAqB,OAAA;AAKvB,kFAGkD;AAFhD,2HAAA,kBAAkB,OAAA;AAIpB,4DAIiC;AAH/B,iHAAA,aAAa,OAAA;AAKf,8FAA0F;AAAjF,uIAAA,wBAAwB,OAAA;AASjC,kEAGwC;AAFtC,sHAAA,mBAAmB,OAAA;AAIrB,kEAGwC;AAFtC,sHAAA,mBAAmB,OAAA"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertCryptoToFiat = convertCryptoToFiat;
4
+ const addresses_js_1 = require("../../constants/addresses.js");
5
+ const get_bytecode_js_1 = require("../../contract/actions/get-bytecode.js");
6
+ const contract_js_1 = require("../../contract/contract.js");
7
+ const address_js_1 = require("../../utils/address.js");
8
+ const fetch_js_1 = require("../../utils/fetch.js");
9
+ const definitions_js_1 = require("../utils/definitions.js");
10
+ /**
11
+ * Get a price of a token (using tokenAddress + chainId) in fiat.
12
+ * Only USD is supported at the moment.
13
+ * @example
14
+ * ### Basic usage
15
+ * For native token (non-ERC20), you should use NATIVE_TOKEN_ADDRESS as the value for `tokenAddress`
16
+ * ```ts
17
+ * import { convertCryptoToFiat } from "thirdweb/pay";
18
+ *
19
+ * // Get Ethereum price
20
+ * const result = convertCryptoToFiat({
21
+ * fromTokenAddress: NATIVE_TOKEN_ADDRESS,
22
+ * to: "USD",
23
+ * chain: ethereum,
24
+ * fromAmount: 1,
25
+ * });
26
+ *
27
+ * // Result: `{ result: 3404.11 }`
28
+ * ```
29
+ * @buyCrypto
30
+ * @returns a number representing the price (in selected fiat) of "x" token, with "x" being the `fromAmount`.
31
+ */
32
+ async function convertCryptoToFiat(options) {
33
+ const { client, fromTokenAddress, to, chain, fromAmount } = options;
34
+ if (Number(fromAmount) === 0) {
35
+ return { result: 0 };
36
+ }
37
+ // Testnets just don't work with our current provider(s)
38
+ if (chain.testnet === true) {
39
+ throw new Error(`Cannot fetch price for a testnet (chainId: ${chain.id})`);
40
+ }
41
+ // Some provider that we are using will return `0` for unsupported token
42
+ // so we should do some basic input validations before sending the request
43
+ // Make sure it's a valid EVM address
44
+ if (!(0, address_js_1.isAddress)(fromTokenAddress)) {
45
+ throw new Error("Invalid fromTokenAddress. Expected a valid EVM contract address");
46
+ }
47
+ // Make sure it's either a valid contract or a native token address
48
+ if (fromTokenAddress.toLowerCase() !== addresses_js_1.NATIVE_TOKEN_ADDRESS.toLowerCase()) {
49
+ const bytecode = await (0, get_bytecode_js_1.getBytecode)((0, contract_js_1.getContract)({
50
+ address: fromTokenAddress,
51
+ chain,
52
+ client,
53
+ })).catch(() => undefined);
54
+ if (!bytecode || bytecode === "0x") {
55
+ throw new Error(`Error: ${fromTokenAddress} on chainId: ${chain.id} is not a valid contract address.`);
56
+ }
57
+ }
58
+ const params = {
59
+ fromTokenAddress,
60
+ to,
61
+ chainId: String(chain.id),
62
+ fromAmount: String(fromAmount),
63
+ };
64
+ const queryString = new URLSearchParams(params).toString();
65
+ const url = `${(0, definitions_js_1.getPayConvertCryptoToFiatEndpoint)()}?${queryString}`;
66
+ const response = await (0, fetch_js_1.getClientFetch)(client)(url);
67
+ if (!response.ok) {
68
+ throw new Error(`Failed to fetch ${to} value for token (${fromTokenAddress}) on chainId: ${chain.id}`);
69
+ }
70
+ const data = await response.json();
71
+ return data;
72
+ }
73
+ //# sourceMappingURL=cryptoToFiat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cryptoToFiat.js","sourceRoot":"","sources":["../../../../src/pay/convert/cryptoToFiat.ts"],"names":[],"mappings":";;AA0DA,kDAoDC;AA3GD,+DAAoE;AACpE,4EAAqE;AACrE,4DAAyD;AACzD,uDAAmD;AACnD,mDAAsD;AACtD,4DAA4E;AA4B5E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,mBAAmB,CACvC,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACpE,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IACD,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAE1E,qCAAqC;IACrC,IAAI,CAAC,IAAA,sBAAS,EAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,mEAAmE;IACnE,IAAI,gBAAgB,CAAC,WAAW,EAAE,KAAK,mCAAoB,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAChC,IAAA,yBAAW,EAAC;YACV,OAAO,EAAE,gBAAgB;YACzB,KAAK;YACL,MAAM;SACP,CAAC,CACH,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,UAAU,gBAAgB,gBAAgB,KAAK,CAAC,EAAE,mCAAmC,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG;QACb,gBAAgB;QAChB,EAAE;QACF,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;KAC/B,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,GAAG,IAAA,kDAAiC,GAAE,IAAI,WAAW,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,mBAAmB,EAAE,qBAAqB,gBAAgB,iBAAiB,KAAK,CAAC,EAAE,EAAE,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAuB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertFiatToCrypto = convertFiatToCrypto;
4
+ const addresses_js_1 = require("../../constants/addresses.js");
5
+ const get_bytecode_js_1 = require("../../contract/actions/get-bytecode.js");
6
+ const contract_js_1 = require("../../contract/contract.js");
7
+ const address_js_1 = require("../../utils/address.js");
8
+ const fetch_js_1 = require("../../utils/fetch.js");
9
+ const definitions_js_1 = require("../utils/definitions.js");
10
+ /**
11
+ * Convert a fiat value to a token.
12
+ * Currently only USD is supported.
13
+ * @example
14
+ * ### Basic usage
15
+ * ```ts
16
+ * import { convertFiatToCrypto } from "thirdweb/pay";
17
+ *
18
+ * // Convert 2 cents to ETH
19
+ * const result = await convertFiatToCrypto({
20
+ * from: "USD",
21
+ * // the token address. For native token, use NATIVE_TOKEN_ADDRESS
22
+ * to: "0x...",
23
+ * // the chain (of the chain where the token belong to)
24
+ * chain: ethereum,
25
+ * // 2 cents
26
+ * fromAmount: 0.02,
27
+ * });
28
+ * ```
29
+ * Result: `{ result: 0.0000057 }`
30
+ * @buyCrypto
31
+ */
32
+ async function convertFiatToCrypto(options) {
33
+ const { client, from, to, chain, fromAmount } = options;
34
+ if (Number(fromAmount) === 0) {
35
+ return { result: 0 };
36
+ }
37
+ // Testnets just don't work with our current provider(s)
38
+ if (chain.testnet === true) {
39
+ throw new Error(`Cannot fetch price for a testnet (chainId: ${chain.id})`);
40
+ }
41
+ // Some provider that we are using will return `0` for unsupported token
42
+ // so we should do some basic input validations before sending the request
43
+ // Make sure it's a valid EVM address
44
+ if (!(0, address_js_1.isAddress)(to)) {
45
+ throw new Error("Invalid `to`. Expected a valid EVM contract address");
46
+ }
47
+ // Make sure it's either a valid contract or a native token
48
+ if (to.toLowerCase() !== addresses_js_1.NATIVE_TOKEN_ADDRESS.toLowerCase()) {
49
+ const bytecode = await (0, get_bytecode_js_1.getBytecode)((0, contract_js_1.getContract)({
50
+ address: to,
51
+ chain,
52
+ client,
53
+ })).catch(() => undefined);
54
+ if (!bytecode || bytecode === "0x") {
55
+ throw new Error(`Error: ${to} on chainId: ${chain.id} is not a valid contract address.`);
56
+ }
57
+ }
58
+ const params = {
59
+ from,
60
+ to,
61
+ chainId: String(chain.id),
62
+ fromAmount: String(fromAmount),
63
+ };
64
+ const queryString = new URLSearchParams(params).toString();
65
+ const url = `${(0, definitions_js_1.getPayConvertFiatToCryptoEndpoint)()}?${queryString}`;
66
+ const response = await (0, fetch_js_1.getClientFetch)(client)(url);
67
+ if (!response.ok) {
68
+ throw new Error(`Failed to convert ${to} value to token (${to}) on chainId: ${chain.id}`);
69
+ }
70
+ const data = await response.json();
71
+ return data;
72
+ }
73
+ //# sourceMappingURL=fiatToCrypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiatToCrypto.js","sourceRoot":"","sources":["../../../../src/pay/convert/fiatToCrypto.ts"],"names":[],"mappings":";;AA2DA,kDAkDC;AA1GD,+DAAoE;AACpE,4EAAqE;AACrE,4DAAyD;AACzD,uDAAmD;AACnD,mDAAsD;AACtD,4DAA4E;AA6B5E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACI,KAAK,UAAU,mBAAmB,CACvC,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACxD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IACD,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAE1E,qCAAqC;IACrC,IAAI,CAAC,IAAA,sBAAS,EAAC,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,2DAA2D;IAC3D,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,mCAAoB,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,IAAA,6BAAW,EAChC,IAAA,yBAAW,EAAC;YACV,OAAO,EAAE,EAAE;YACX,KAAK;YACL,MAAM;SACP,CAAC,CACH,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,UAAU,EAAE,gBAAgB,KAAK,CAAC,EAAE,mCAAmC,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,EAAE;QACF,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;KAC/B,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,GAAG,IAAA,kDAAiC,GAAE,IAAI,WAAW,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,qBAAqB,EAAE,oBAAoB,EAAE,iBAAiB,KAAK,CAAC,EAAE,EAAE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAuB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPayBuyHistoryEndpoint = exports.getPaySupportedSources = exports.getPaySupportedDestinations = exports.getPayBuyWithCryptoHistoryEndpoint = exports.getPayBuyWithFiatHistoryEndpoint = exports.getPayBuyWithFiatStatusEndpoint = exports.getPayBuyWithFiatQuoteEndpoint = exports.getPayBuyWithCryptoTransferEndpoint = exports.getPayBuyWithCryptoQuoteEndpoint = exports.getPayBuyWithCryptoStatusUrl = void 0;
3
+ exports.getPayConvertCryptoToFiatEndpoint = exports.getPayConvertFiatToCryptoEndpoint = exports.getPayBuyHistoryEndpoint = exports.getPaySupportedSources = exports.getPaySupportedDestinations = exports.getPayBuyWithCryptoHistoryEndpoint = exports.getPayBuyWithFiatHistoryEndpoint = exports.getPayBuyWithFiatStatusEndpoint = exports.getPayBuyWithFiatQuoteEndpoint = exports.getPayBuyWithCryptoTransferEndpoint = exports.getPayBuyWithCryptoQuoteEndpoint = exports.getPayBuyWithCryptoStatusUrl = void 0;
4
4
  const domains_js_1 = require("../../utils/domains.js");
5
5
  const getPayBaseUrl = () => {
6
6
  const payDomain = (0, domains_js_1.getThirdwebDomains)().pay;
@@ -69,4 +69,8 @@ exports.getPaySupportedSources = getPaySupportedSources;
69
69
  */
70
70
  const getPayBuyHistoryEndpoint = () => `${getPayBaseUrl()}/wallet/history/v1`;
71
71
  exports.getPayBuyHistoryEndpoint = getPayBuyHistoryEndpoint;
72
+ const getPayConvertFiatToCryptoEndpoint = () => `${getPayBaseUrl()}/convert/fiat-to-crypto/v1`;
73
+ exports.getPayConvertFiatToCryptoEndpoint = getPayConvertFiatToCryptoEndpoint;
74
+ const getPayConvertCryptoToFiatEndpoint = () => `${getPayBaseUrl()}/convert/crypto-to-fiat/v1`;
75
+ exports.getPayConvertCryptoToFiatEndpoint = getPayConvertCryptoToFiatEndpoint;
72
76
  //# sourceMappingURL=definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../src/pay/utils/definitions.ts"],"names":[],"mappings":";;;AAAA,uDAA4D;AAE5D,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,SAAS,GAAW,IAAA,+BAAkB,GAAE,CAAC,GAAG,CAAC;IACnD,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;QACtC,CAAC,CAAC,UAAU,SAAS,EAAE;QACvB,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,4BAA4B,GAAG,GAAG,EAAE,CAC/C,GAAG,aAAa,EAAE,4BAA4B,CAAC;AADpC,QAAA,4BAA4B,gCACQ;AACjD;;;GAGG;AACI,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,GAAG,aAAa,EAAE,2BAA2B,CAAC;AADnC,QAAA,gCAAgC,oCACG;AAEhD;;;GAGG;AACI,MAAM,mCAAmC,GAAG,GAAG,EAAE,CACtD,GAAG,aAAa,EAAE,8BAA8B,CAAC;AADtC,QAAA,mCAAmC,uCACG;AAEnD;;;GAGG;AACI,MAAM,8BAA8B,GAAG,GAAG,EAAE,CACjD,GAAG,aAAa,EAAE,yBAAyB,CAAC;AADjC,QAAA,8BAA8B,kCACG;AAE9C;;;GAGG;AACI,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAClD,GAAG,aAAa,EAAE,0BAA0B,CAAC;AADlC,QAAA,+BAA+B,mCACG;AAE/C;;;GAGG;AACI,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,GAAG,aAAa,EAAE,2BAA2B,CAAC;AADnC,QAAA,gCAAgC,oCACG;AAEhD;;;GAGG;AACI,MAAM,kCAAkC,GAAG,GAAG,EAAE,CACrD,GAAG,aAAa,EAAE,6BAA6B,CAAC;AADrC,QAAA,kCAAkC,sCACG;AAElD;;;GAGG;AACI,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAC9C,GAAG,aAAa,EAAE,wBAAwB,CAAC;AADhC,QAAA,2BAA2B,+BACK;AAE7C;;;GAGG;AACI,MAAM,sBAAsB,GAAG,GAAG,EAAE,CACzC,GAAG,aAAa,EAAE,mCAAmC,CAAC;AAD3C,QAAA,sBAAsB,0BACqB;AAExD;;;;GAIG;AACI,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAC3C,GAAG,aAAa,EAAE,oBAAoB,CAAC;AAD5B,QAAA,wBAAwB,4BACI"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../src/pay/utils/definitions.ts"],"names":[],"mappings":";;;AAAA,uDAA4D;AAE5D,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,SAAS,GAAW,IAAA,+BAAkB,GAAE,CAAC,GAAG,CAAC;IACnD,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;QACtC,CAAC,CAAC,UAAU,SAAS,EAAE;QACvB,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF;;;GAGG;AACI,MAAM,4BAA4B,GAAG,GAAG,EAAE,CAC/C,GAAG,aAAa,EAAE,4BAA4B,CAAC;AADpC,QAAA,4BAA4B,gCACQ;AACjD;;;GAGG;AACI,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,GAAG,aAAa,EAAE,2BAA2B,CAAC;AADnC,QAAA,gCAAgC,oCACG;AAEhD;;;GAGG;AACI,MAAM,mCAAmC,GAAG,GAAG,EAAE,CACtD,GAAG,aAAa,EAAE,8BAA8B,CAAC;AADtC,QAAA,mCAAmC,uCACG;AAEnD;;;GAGG;AACI,MAAM,8BAA8B,GAAG,GAAG,EAAE,CACjD,GAAG,aAAa,EAAE,yBAAyB,CAAC;AADjC,QAAA,8BAA8B,kCACG;AAE9C;;;GAGG;AACI,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAClD,GAAG,aAAa,EAAE,0BAA0B,CAAC;AADlC,QAAA,+BAA+B,mCACG;AAE/C;;;GAGG;AACI,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,GAAG,aAAa,EAAE,2BAA2B,CAAC;AADnC,QAAA,gCAAgC,oCACG;AAEhD;;;GAGG;AACI,MAAM,kCAAkC,GAAG,GAAG,EAAE,CACrD,GAAG,aAAa,EAAE,6BAA6B,CAAC;AADrC,QAAA,kCAAkC,sCACG;AAElD;;;GAGG;AACI,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAC9C,GAAG,aAAa,EAAE,wBAAwB,CAAC;AADhC,QAAA,2BAA2B,+BACK;AAE7C;;;GAGG;AACI,MAAM,sBAAsB,GAAG,GAAG,EAAE,CACzC,GAAG,aAAa,EAAE,mCAAmC,CAAC;AAD3C,QAAA,sBAAsB,0BACqB;AAExD;;;;GAIG;AACI,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAC3C,GAAG,aAAa,EAAE,oBAAoB,CAAC;AAD5B,QAAA,wBAAwB,4BACI;AAElC,MAAM,iCAAiC,GAAG,GAAG,EAAE,CACpD,GAAG,aAAa,EAAE,4BAA4B,CAAC;AADpC,QAAA,iCAAiC,qCACG;AAE1C,MAAM,iCAAiC,GAAG,GAAG,EAAE,CACpD,GAAG,aAAa,EAAE,4BAA4B,CAAC;AADpC,QAAA,iCAAiC,qCACG"}
@@ -118,7 +118,9 @@ async function getZkGasFees(args) {
118
118
  (0, resolve_promised_value_js_1.resolvePromisedValue)(transaction.eip712),
119
119
  ]);
120
120
  let gasPerPubdata = eip712?.gasPerPubdata;
121
- if (!gas || !maxFeePerGas || !maxPriorityFeePerGas) {
121
+ if (gas === undefined ||
122
+ maxFeePerGas === undefined ||
123
+ maxPriorityFeePerGas === undefined) {
122
124
  const rpc = (0, rpc_js_1.getRpcClient)(transaction);
123
125
  const params = await formatTransaction({ transaction, from });
124
126
  const result = (await rpc({
@@ -1 +1 @@
1
- {"version":3,"file":"send-eip712-transaction.js","sourceRoot":"","sources":["../../../../../src/transaction/actions/zksync/send-eip712-transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-eip712-transaction.js","sourceRoot":"","sources":["../../../../../src/transaction/actions/zksync/send-eip712-transaction.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "5.72.0";
4
+ exports.version = "5.73.0-nightly-ea855c66cb940d1adafefaad6dd689227701d277-20241203000359";
5
5
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":";;;AAAa,QAAA,OAAO,GAAG,wEAAwE,CAAC"}
@@ -9,4 +9,6 @@ export { getBuyWithFiatHistory, } from "../pay/buyWithFiat/getHistory.js";
9
9
  export { getPostOnRampQuote, } from "../pay/buyWithFiat/getPostOnRampQuote.js";
10
10
  export { getBuyHistory, } from "../pay/getBuyHistory.js";
11
11
  export { isSwapRequiredPostOnramp } from "../pay/buyWithFiat/isSwapRequiredPostOnramp.js";
12
+ export { convertFiatToCrypto, } from "../pay/convert/fiatToCrypto.js";
13
+ export { convertCryptoToFiat, } from "../pay/convert/cryptoToFiat.js";
12
14
  //# sourceMappingURL=pay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/exports/pay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,wBAAwB,GAGzB,MAAM,qCAAqC,CAAC;AAO7C,OAAO,EACL,sBAAsB,GAGvB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,uBAAuB,GAGxB,MAAM,oCAAoC,CAAC;AAE5C,wDAAwD;AAExD,OAAO,EACL,mBAAmB,GAGpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,oBAAoB,GAGrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,qBAAqB,GAGtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,kBAAkB,GAEnB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,aAAa,GAGd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC"}
1
+ {"version":3,"file":"pay.js","sourceRoot":"","sources":["../../../src/exports/pay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,GAGtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,wBAAwB,GAGzB,MAAM,qCAAqC,CAAC;AAO7C,OAAO,EACL,sBAAsB,GAGvB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,uBAAuB,GAGxB,MAAM,oCAAoC,CAAC;AAE5C,wDAAwD;AAExD,OAAO,EACL,mBAAmB,GAGpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,oBAAoB,GAGrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,qBAAqB,GAGtB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,kBAAkB,GAEnB,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,aAAa,GAGd,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAS1F,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,mBAAmB,GAEpB,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
2
+ import { getBytecode } from "../../contract/actions/get-bytecode.js";
3
+ import { getContract } from "../../contract/contract.js";
4
+ import { isAddress } from "../../utils/address.js";
5
+ import { getClientFetch } from "../../utils/fetch.js";
6
+ import { getPayConvertCryptoToFiatEndpoint } from "../utils/definitions.js";
7
+ /**
8
+ * Get a price of a token (using tokenAddress + chainId) in fiat.
9
+ * Only USD is supported at the moment.
10
+ * @example
11
+ * ### Basic usage
12
+ * For native token (non-ERC20), you should use NATIVE_TOKEN_ADDRESS as the value for `tokenAddress`
13
+ * ```ts
14
+ * import { convertCryptoToFiat } from "thirdweb/pay";
15
+ *
16
+ * // Get Ethereum price
17
+ * const result = convertCryptoToFiat({
18
+ * fromTokenAddress: NATIVE_TOKEN_ADDRESS,
19
+ * to: "USD",
20
+ * chain: ethereum,
21
+ * fromAmount: 1,
22
+ * });
23
+ *
24
+ * // Result: `{ result: 3404.11 }`
25
+ * ```
26
+ * @buyCrypto
27
+ * @returns a number representing the price (in selected fiat) of "x" token, with "x" being the `fromAmount`.
28
+ */
29
+ export async function convertCryptoToFiat(options) {
30
+ const { client, fromTokenAddress, to, chain, fromAmount } = options;
31
+ if (Number(fromAmount) === 0) {
32
+ return { result: 0 };
33
+ }
34
+ // Testnets just don't work with our current provider(s)
35
+ if (chain.testnet === true) {
36
+ throw new Error(`Cannot fetch price for a testnet (chainId: ${chain.id})`);
37
+ }
38
+ // Some provider that we are using will return `0` for unsupported token
39
+ // so we should do some basic input validations before sending the request
40
+ // Make sure it's a valid EVM address
41
+ if (!isAddress(fromTokenAddress)) {
42
+ throw new Error("Invalid fromTokenAddress. Expected a valid EVM contract address");
43
+ }
44
+ // Make sure it's either a valid contract or a native token address
45
+ if (fromTokenAddress.toLowerCase() !== NATIVE_TOKEN_ADDRESS.toLowerCase()) {
46
+ const bytecode = await getBytecode(getContract({
47
+ address: fromTokenAddress,
48
+ chain,
49
+ client,
50
+ })).catch(() => undefined);
51
+ if (!bytecode || bytecode === "0x") {
52
+ throw new Error(`Error: ${fromTokenAddress} on chainId: ${chain.id} is not a valid contract address.`);
53
+ }
54
+ }
55
+ const params = {
56
+ fromTokenAddress,
57
+ to,
58
+ chainId: String(chain.id),
59
+ fromAmount: String(fromAmount),
60
+ };
61
+ const queryString = new URLSearchParams(params).toString();
62
+ const url = `${getPayConvertCryptoToFiatEndpoint()}?${queryString}`;
63
+ const response = await getClientFetch(client)(url);
64
+ if (!response.ok) {
65
+ throw new Error(`Failed to fetch ${to} value for token (${fromTokenAddress}) on chainId: ${chain.id}`);
66
+ }
67
+ const data = await response.json();
68
+ return data;
69
+ }
70
+ //# sourceMappingURL=cryptoToFiat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cryptoToFiat.js","sourceRoot":"","sources":["../../../../src/pay/convert/cryptoToFiat.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AA4B5E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACpE,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IACD,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAE1E,qCAAqC;IACrC,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;IACD,mEAAmE;IACnE,IAAI,gBAAgB,CAAC,WAAW,EAAE,KAAK,oBAAoB,CAAC,WAAW,EAAE,EAAE,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,WAAW,CAAC;YACV,OAAO,EAAE,gBAAgB;YACzB,KAAK;YACL,MAAM;SACP,CAAC,CACH,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,UAAU,gBAAgB,gBAAgB,KAAK,CAAC,EAAE,mCAAmC,CACtF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG;QACb,gBAAgB;QAChB,EAAE;QACF,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;KAC/B,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,GAAG,iCAAiC,EAAE,IAAI,WAAW,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,mBAAmB,EAAE,qBAAqB,gBAAgB,iBAAiB,KAAK,CAAC,EAAE,EAAE,CACtF,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAuB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
2
+ import { getBytecode } from "../../contract/actions/get-bytecode.js";
3
+ import { getContract } from "../../contract/contract.js";
4
+ import { isAddress } from "../../utils/address.js";
5
+ import { getClientFetch } from "../../utils/fetch.js";
6
+ import { getPayConvertFiatToCryptoEndpoint } from "../utils/definitions.js";
7
+ /**
8
+ * Convert a fiat value to a token.
9
+ * Currently only USD is supported.
10
+ * @example
11
+ * ### Basic usage
12
+ * ```ts
13
+ * import { convertFiatToCrypto } from "thirdweb/pay";
14
+ *
15
+ * // Convert 2 cents to ETH
16
+ * const result = await convertFiatToCrypto({
17
+ * from: "USD",
18
+ * // the token address. For native token, use NATIVE_TOKEN_ADDRESS
19
+ * to: "0x...",
20
+ * // the chain (of the chain where the token belong to)
21
+ * chain: ethereum,
22
+ * // 2 cents
23
+ * fromAmount: 0.02,
24
+ * });
25
+ * ```
26
+ * Result: `{ result: 0.0000057 }`
27
+ * @buyCrypto
28
+ */
29
+ export async function convertFiatToCrypto(options) {
30
+ const { client, from, to, chain, fromAmount } = options;
31
+ if (Number(fromAmount) === 0) {
32
+ return { result: 0 };
33
+ }
34
+ // Testnets just don't work with our current provider(s)
35
+ if (chain.testnet === true) {
36
+ throw new Error(`Cannot fetch price for a testnet (chainId: ${chain.id})`);
37
+ }
38
+ // Some provider that we are using will return `0` for unsupported token
39
+ // so we should do some basic input validations before sending the request
40
+ // Make sure it's a valid EVM address
41
+ if (!isAddress(to)) {
42
+ throw new Error("Invalid `to`. Expected a valid EVM contract address");
43
+ }
44
+ // Make sure it's either a valid contract or a native token
45
+ if (to.toLowerCase() !== NATIVE_TOKEN_ADDRESS.toLowerCase()) {
46
+ const bytecode = await getBytecode(getContract({
47
+ address: to,
48
+ chain,
49
+ client,
50
+ })).catch(() => undefined);
51
+ if (!bytecode || bytecode === "0x") {
52
+ throw new Error(`Error: ${to} on chainId: ${chain.id} is not a valid contract address.`);
53
+ }
54
+ }
55
+ const params = {
56
+ from,
57
+ to,
58
+ chainId: String(chain.id),
59
+ fromAmount: String(fromAmount),
60
+ };
61
+ const queryString = new URLSearchParams(params).toString();
62
+ const url = `${getPayConvertFiatToCryptoEndpoint()}?${queryString}`;
63
+ const response = await getClientFetch(client)(url);
64
+ if (!response.ok) {
65
+ throw new Error(`Failed to convert ${to} value to token (${to}) on chainId: ${chain.id}`);
66
+ }
67
+ const data = await response.json();
68
+ return data;
69
+ }
70
+ //# sourceMappingURL=fiatToCrypto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiatToCrypto.js","sourceRoot":"","sources":["../../../../src/pay/convert/fiatToCrypto.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AA6B5E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAkC;IAElC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACxD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACvB,CAAC;IACD,wDAAwD;IACxD,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,8CAA8C,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,wEAAwE;IACxE,0EAA0E;IAE1E,qCAAqC;IACrC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,2DAA2D;IAC3D,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,oBAAoB,CAAC,WAAW,EAAE,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,WAAW,CAAC;YACV,OAAO,EAAE,EAAE;YACX,KAAK;YACL,MAAM;SACP,CAAC,CACH,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CACb,UAAU,EAAE,gBAAgB,KAAK,CAAC,EAAE,mCAAmC,CACxE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,EAAE;QACF,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC;KAC/B,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC3D,MAAM,GAAG,GAAG,GAAG,iCAAiC,EAAE,IAAI,WAAW,EAAE,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,qBAAqB,EAAE,oBAAoB,EAAE,iBAAiB,KAAK,CAAC,EAAE,EAAE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAuB,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -56,4 +56,6 @@ export const getPaySupportedSources = () => `${getPayBaseUrl()}/buy-with-crypto/
56
56
  * @internal
57
57
  */
58
58
  export const getPayBuyHistoryEndpoint = () => `${getPayBaseUrl()}/wallet/history/v1`;
59
+ export const getPayConvertFiatToCryptoEndpoint = () => `${getPayBaseUrl()}/convert/fiat-to-crypto/v1`;
60
+ export const getPayConvertCryptoToFiatEndpoint = () => `${getPayBaseUrl()}/convert/crypto-to-fiat/v1`;
59
61
  //# sourceMappingURL=definitions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../src/pay/utils/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,SAAS,GAAW,kBAAkB,EAAE,CAAC,GAAG,CAAC;IACnD,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;QACtC,CAAC,CAAC,UAAU,SAAS,EAAE;QACvB,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,EAAE,CAC/C,GAAG,aAAa,EAAE,4BAA4B,CAAC;AACjD;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,GAAG,aAAa,EAAE,2BAA2B,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,EAAE,CACtD,GAAG,aAAa,EAAE,8BAA8B,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,EAAE,CACjD,GAAG,aAAa,EAAE,yBAAyB,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAClD,GAAG,aAAa,EAAE,0BAA0B,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,GAAG,aAAa,EAAE,2BAA2B,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,EAAE,CACrD,GAAG,aAAa,EAAE,6BAA6B,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAC9C,GAAG,aAAa,EAAE,wBAAwB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CACzC,GAAG,aAAa,EAAE,mCAAmC,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAC3C,GAAG,aAAa,EAAE,oBAAoB,CAAC"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../../../src/pay/utils/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,SAAS,GAAW,kBAAkB,EAAE,CAAC,GAAG,CAAC;IACnD,OAAO,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;QACtC,CAAC,CAAC,UAAU,SAAS,EAAE;QACvB,CAAC,CAAC,WAAW,SAAS,EAAE,CAAC;AAC7B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,GAAG,EAAE,CAC/C,GAAG,aAAa,EAAE,4BAA4B,CAAC;AACjD;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,GAAG,aAAa,EAAE,2BAA2B,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAG,EAAE,CACtD,GAAG,aAAa,EAAE,8BAA8B,CAAC;AAEnD;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAG,EAAE,CACjD,GAAG,aAAa,EAAE,yBAAyB,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,EAAE,CAClD,GAAG,aAAa,EAAE,0BAA0B,CAAC;AAE/C;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,EAAE,CACnD,GAAG,aAAa,EAAE,2BAA2B,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,GAAG,EAAE,CACrD,GAAG,aAAa,EAAE,6BAA6B,CAAC;AAElD;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE,CAC9C,GAAG,aAAa,EAAE,wBAAwB,CAAC;AAE7C;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,EAAE,CACzC,GAAG,aAAa,EAAE,mCAAmC,CAAC;AAExD;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAC3C,GAAG,aAAa,EAAE,oBAAoB,CAAC;AAEzC,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,EAAE,CACpD,GAAG,aAAa,EAAE,4BAA4B,CAAC;AAEjD,MAAM,CAAC,MAAM,iCAAiC,GAAG,GAAG,EAAE,CACpD,GAAG,aAAa,EAAE,4BAA4B,CAAC"}
@@ -112,7 +112,9 @@ export async function getZkGasFees(args) {
112
112
  resolvePromisedValue(transaction.eip712),
113
113
  ]);
114
114
  let gasPerPubdata = eip712?.gasPerPubdata;
115
- if (!gas || !maxFeePerGas || !maxPriorityFeePerGas) {
115
+ if (gas === undefined ||
116
+ maxFeePerGas === undefined ||
117
+ maxPriorityFeePerGas === undefined) {
116
118
  const rpc = getRpcClient(transaction);
117
119
  const params = await formatTransaction({ transaction, from });
118
120
  const result = (await rpc({
@@ -1 +1 @@
1
- {"version":3,"file":"send-eip712-transaction.js","sourceRoot":"","sources":["../../../../../src/transaction/actions/zksync/send-eip712-transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"send-eip712-transaction.js","sourceRoot":"","sources":["../../../../../src/transaction/actions/zksync/send-eip712-transaction.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const version = "5.72.0";
1
+ export const version = "5.73.0-nightly-ea855c66cb940d1adafefaad6dd689227701d277-20241203000359";
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,wEAAwE,CAAC"}
@@ -10,4 +10,6 @@ export { getPostOnRampQuote, type GetPostOnRampQuoteParams, } from "../pay/buyWi
10
10
  export { getBuyHistory, type BuyHistoryData, type BuyHistoryParams, } from "../pay/getBuyHistory.js";
11
11
  export { isSwapRequiredPostOnramp } from "../pay/buyWithFiat/isSwapRequiredPostOnramp.js";
12
12
  export type { PayTokenInfo, PayOnChainTransactionDetails, } from "../pay/utils/commonTypes.js";
13
+ export { convertFiatToCrypto, type ConvertFiatToCryptoParams, } from "../pay/convert/fiatToCrypto.js";
14
+ export { convertCryptoToFiat, type ConvertCryptoToFiatParams, } from "../pay/convert/cryptoToFiat.js";
13
15
  //# sourceMappingURL=pay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/exports/pay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,GACjC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,GACpC,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EACV,mBAAmB,EACnB,cAAc,GACf,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,GAC9B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,GAChC,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAI1F,YAAY,EACV,YAAY,EACZ,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"pay.d.ts","sourceRoot":"","sources":["../../../src/exports/pay.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,KAAK,kBAAkB,EACvB,KAAK,2BAA2B,GACjC,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,wBAAwB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,8BAA8B,GACpC,MAAM,qCAAqC,CAAC;AAE7C,YAAY,EACV,mBAAmB,EACnB,cAAc,GACf,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EACL,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,GAC9B,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EACL,uBAAuB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,GAChC,MAAM,oCAAoC,CAAC;AAI5C,OAAO,EACL,mBAAmB,EACnB,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,GAChC,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,GAC9B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,kBAAkB,EAClB,KAAK,wBAAwB,GAC9B,MAAM,0CAA0C,CAAC;AAElD,OAAO,EACL,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,gBAAgB,GACtB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gDAAgD,CAAC;AAI1F,YAAY,EACV,YAAY,EACZ,4BAA4B,GAC7B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,GAC/B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EACL,mBAAmB,EACnB,KAAK,yBAAyB,GAC/B,MAAM,gCAAgC,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type { Address } from "abitype";
2
+ import type { Chain } from "../../chains/types.js";
3
+ import type { ThirdwebClient } from "../../client/client.js";
4
+ /**
5
+ * Props for the `convertCryptoToFiat` function
6
+ * @buyCrypto
7
+ */
8
+ export type ConvertCryptoToFiatParams = {
9
+ client: ThirdwebClient;
10
+ /**
11
+ * The contract address of the token
12
+ * For native token, use NATIVE_TOKEN_ADDRESS
13
+ */
14
+ fromTokenAddress: Address;
15
+ /**
16
+ * The amount of token to convert to fiat value
17
+ */
18
+ fromAmount: number;
19
+ /**
20
+ * The chain that the token is deployed to
21
+ */
22
+ chain: Chain;
23
+ /**
24
+ * The fiat symbol. e.g "USD"
25
+ * Only USD is supported at the moment.
26
+ */
27
+ to: "USD";
28
+ };
29
+ /**
30
+ * Get a price of a token (using tokenAddress + chainId) in fiat.
31
+ * Only USD is supported at the moment.
32
+ * @example
33
+ * ### Basic usage
34
+ * For native token (non-ERC20), you should use NATIVE_TOKEN_ADDRESS as the value for `tokenAddress`
35
+ * ```ts
36
+ * import { convertCryptoToFiat } from "thirdweb/pay";
37
+ *
38
+ * // Get Ethereum price
39
+ * const result = convertCryptoToFiat({
40
+ * fromTokenAddress: NATIVE_TOKEN_ADDRESS,
41
+ * to: "USD",
42
+ * chain: ethereum,
43
+ * fromAmount: 1,
44
+ * });
45
+ *
46
+ * // Result: `{ result: 3404.11 }`
47
+ * ```
48
+ * @buyCrypto
49
+ * @returns a number representing the price (in selected fiat) of "x" token, with "x" being the `fromAmount`.
50
+ */
51
+ export declare function convertCryptoToFiat(options: ConvertCryptoToFiatParams): Promise<{
52
+ result: number;
53
+ }>;
54
+ //# sourceMappingURL=cryptoToFiat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cryptoToFiat.d.ts","sourceRoot":"","sources":["../../../../src/pay/convert/cryptoToFiat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQ7D;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;IACb;;;OAGG;IACH,EAAE,EAAE,KAAK,CAAC;CACX,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAkD7B"}
@@ -0,0 +1,55 @@
1
+ import type { Address } from "abitype";
2
+ import type { Chain } from "../../chains/types.js";
3
+ import type { ThirdwebClient } from "../../client/client.js";
4
+ /**
5
+ * Props for the `convertFiatToCrypto` function
6
+ * @buyCrypto
7
+ */
8
+ export type ConvertFiatToCryptoParams = {
9
+ client: ThirdwebClient;
10
+ /**
11
+ * The fiat symbol. e.g: "USD"
12
+ * Currently only USD is supported.
13
+ */
14
+ from: "USD";
15
+ /**
16
+ * The total amount of fiat to convert
17
+ * e.g: If you want to convert 2 cents to USD, enter `0.02`
18
+ */
19
+ fromAmount: number;
20
+ /**
21
+ * The token address
22
+ * For native token, use NATIVE_TOKEN_ADDRESS
23
+ */
24
+ to: Address;
25
+ /**
26
+ * The chain that the token is deployed to
27
+ */
28
+ chain: Chain;
29
+ };
30
+ /**
31
+ * Convert a fiat value to a token.
32
+ * Currently only USD is supported.
33
+ * @example
34
+ * ### Basic usage
35
+ * ```ts
36
+ * import { convertFiatToCrypto } from "thirdweb/pay";
37
+ *
38
+ * // Convert 2 cents to ETH
39
+ * const result = await convertFiatToCrypto({
40
+ * from: "USD",
41
+ * // the token address. For native token, use NATIVE_TOKEN_ADDRESS
42
+ * to: "0x...",
43
+ * // the chain (of the chain where the token belong to)
44
+ * chain: ethereum,
45
+ * // 2 cents
46
+ * fromAmount: 0.02,
47
+ * });
48
+ * ```
49
+ * Result: `{ result: 0.0000057 }`
50
+ * @buyCrypto
51
+ */
52
+ export declare function convertFiatToCrypto(options: ConvertFiatToCryptoParams): Promise<{
53
+ result: number;
54
+ }>;
55
+ //# sourceMappingURL=fiatToCrypto.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fiatToCrypto.d.ts","sourceRoot":"","sources":["../../../../src/pay/convert/fiatToCrypto.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAQ7D;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,cAAc,CAAC;IACvB;;;OAGG;IACH,IAAI,EAAE,KAAK,CAAC;IACZ;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,EAAE,EAAE,OAAO,CAAC;IACZ;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAgD7B"}
@@ -49,4 +49,6 @@ export declare const getPaySupportedSources: () => string;
49
49
  * @internal
50
50
  */
51
51
  export declare const getPayBuyHistoryEndpoint: () => string;
52
+ export declare const getPayConvertFiatToCryptoEndpoint: () => string;
53
+ export declare const getPayConvertCryptoToFiatEndpoint: () => string;
52
54
  //# sourceMappingURL=definitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../src/pay/utils/definitions.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,cACO,CAAC;AACjD;;;GAGG;AACH,eAAO,MAAM,gCAAgC,cACE,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,mCAAmC,cACE,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,8BAA8B,cACE,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,+BAA+B,cACE,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,gCAAgC,cACE,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,kCAAkC,cACE,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,cACI,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,cACoB,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,cACG,CAAC"}
1
+ {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../../../src/pay/utils/definitions.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,eAAO,MAAM,4BAA4B,cACO,CAAC;AACjD;;;GAGG;AACH,eAAO,MAAM,gCAAgC,cACE,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,mCAAmC,cACE,CAAC;AAEnD;;;GAGG;AACH,eAAO,MAAM,8BAA8B,cACE,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,+BAA+B,cACE,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,gCAAgC,cACE,CAAC;AAEhD;;;GAGG;AACH,eAAO,MAAM,kCAAkC,cACE,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,2BAA2B,cACI,CAAC;AAE7C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,cACoB,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,cACG,CAAC;AAEzC,eAAO,MAAM,iCAAiC,cACE,CAAC;AAEjD,eAAO,MAAM,iCAAiC,cACE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"send-eip712-transaction.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/actions/zksync/send-eip712-transaction.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,2BAA2B,CAAC;AAGrE,OAAO,EAAE,KAAK,GAAG,EAAS,MAAM,gCAAgC,CAAC;AAEjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EACL,KAAK,6BAA6B,EAGnC,MAAM,sBAAsB,CAAC;AAE9B,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAmBhC;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,6BAA6B,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,GAAG,CAAC,CAef;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,6BAA6B,CAAC,CAsBxC;AAgDD,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;;;;;GAuCA"}
1
+ {"version":3,"file":"send-eip712-transaction.d.ts","sourceRoot":"","sources":["../../../../../src/transaction/actions/zksync/send-eip712-transaction.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,OAAO,EAAc,MAAM,2BAA2B,CAAC;AAGrE,OAAO,EAAE,KAAK,GAAG,EAAS,MAAM,gCAAgC,CAAC;AAEjE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAGxE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACvE,OAAO,EACL,KAAK,6BAA6B,EAGnC,MAAM,sBAAsB,CAAC;AAE9B,KAAK,4BAA4B,GAAG;IAClC,OAAO,EAAE,OAAO,CAAC;IAGjB,WAAW,EAAE,mBAAmB,CAAC,GAAG,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,qBAAqB,CAAC,CAmBhC;AAED,wBAAsB,qBAAqB,CAAC,OAAO,EAAE;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,iBAAiB,EAAE,6BAA6B,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,OAAO,CAAC,GAAG,CAAC,CAef;AAED;;;;GAIG;AACH,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,4BAA4B,GACpC,OAAO,CAAC,6BAA6B,CAAC,CAsBxC;AAgDD,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,WAAW,EAAE,mBAAmB,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;;;;;GA2CA"}
@@ -1,2 +1,2 @@
1
- export declare const version = "5.72.0";
1
+ export declare const version = "5.73.0-nightly-ea855c66cb940d1adafefaad6dd689227701d277-20241203000359";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,WAAW,CAAC"}
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,2EAA2E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thirdweb",
3
- "version": "5.72.0",
3
+ "version": "5.73.0-nightly-ea855c66cb940d1adafefaad6dd689227701d277-20241203000359",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/thirdweb-dev/js.git#main"
@@ -210,16 +210,16 @@
210
210
  "@radix-ui/react-focus-scope": "1.1.0",
211
211
  "@radix-ui/react-icons": "1.3.2",
212
212
  "@radix-ui/react-tooltip": "1.1.4",
213
- "@tanstack/react-query": "5.61.4",
213
+ "@tanstack/react-query": "5.62.1",
214
214
  "@walletconnect/ethereum-provider": "2.17.2",
215
215
  "@walletconnect/sign-client": "2.17.2",
216
216
  "abitype": "1.0.6",
217
217
  "fuse.js": "7.0.0",
218
218
  "input-otp": "^1.4.1",
219
219
  "mipd": "0.0.7",
220
- "ox": "0.3.0",
220
+ "ox": "0.4.0",
221
221
  "uqr": "0.1.2",
222
- "viem": "2.21.51"
222
+ "viem": "2.21.53"
223
223
  },
224
224
  "peerDependencies": {
225
225
  "@aws-sdk/client-lambda": "^3",
@@ -301,13 +301,13 @@
301
301
  "@mobile-wallet-protocol/client": "0.1.2",
302
302
  "@react-native-async-storage/async-storage": "2.1.0",
303
303
  "@size-limit/preset-big-lib": "11.1.6",
304
- "@storybook/addon-essentials": "8.4.5",
305
- "@storybook/addon-interactions": "8.4.5",
306
- "@storybook/addon-links": "8.4.5",
307
- "@storybook/addon-onboarding": "8.4.5",
308
- "@storybook/react": "8.4.5",
309
- "@storybook/react-vite": "8.4.5",
310
- "@storybook/test": "8.4.5",
304
+ "@storybook/addon-essentials": "8.4.6",
305
+ "@storybook/addon-interactions": "8.4.6",
306
+ "@storybook/addon-links": "8.4.6",
307
+ "@storybook/addon-onboarding": "8.4.6",
308
+ "@storybook/react": "8.4.6",
309
+ "@storybook/react-vite": "8.4.6",
310
+ "@storybook/test": "8.4.6",
311
311
  "@testing-library/jest-dom": "^6.6.3",
312
312
  "@testing-library/react": "^16.0.0",
313
313
  "@testing-library/user-event": "^14.5.2",
@@ -315,16 +315,16 @@
315
315
  "@types/react": "npm:types-react@19.0.0-rc.1",
316
316
  "@viem/anvil": "0.0.10",
317
317
  "@vitejs/plugin-react": "^4.3.4",
318
- "@vitest/coverage-v8": "2.1.6",
319
- "@vitest/ui": "2.1.6",
318
+ "@vitest/coverage-v8": "2.1.8",
319
+ "@vitest/ui": "2.1.8",
320
320
  "cross-spawn": "7.0.6",
321
321
  "dotenv-mono": "^1.3.14",
322
322
  "ethers5": "npm:ethers@5",
323
323
  "ethers6": "npm:ethers@6",
324
324
  "expo-linking": "7.0.3",
325
325
  "expo-web-browser": "13.0.3",
326
- "happy-dom": "15.11.6",
327
- "knip": "5.38.0",
326
+ "happy-dom": "15.11.7",
327
+ "knip": "5.39.0",
328
328
  "msw": "2.6.6",
329
329
  "prettier": "3.3.3",
330
330
  "react": "19.0.0-rc-69d4b800-20241021",
@@ -337,11 +337,11 @@
337
337
  "rimraf": "6.0.1",
338
338
  "sharp": "^0.33.5",
339
339
  "size-limit": "11.1.6",
340
- "storybook": "8.4.5",
341
- "typedoc": "0.26.11",
340
+ "storybook": "8.4.6",
341
+ "typedoc": "0.27.2",
342
342
  "typescript": "5.7.2",
343
- "vite": "6.0.0",
344
- "vitest": "2.1.6"
343
+ "vite": "6.0.2",
344
+ "vitest": "2.1.8"
345
345
  },
346
346
  "scripts": {
347
347
  "bench:compare": "bun run ./benchmarks/run.ts",
@@ -66,3 +66,13 @@ export type {
66
66
  PayTokenInfo,
67
67
  PayOnChainTransactionDetails,
68
68
  } from "../pay/utils/commonTypes.js";
69
+
70
+ export {
71
+ convertFiatToCrypto,
72
+ type ConvertFiatToCryptoParams,
73
+ } from "../pay/convert/fiatToCrypto.js";
74
+
75
+ export {
76
+ convertCryptoToFiat,
77
+ type ConvertCryptoToFiatParams,
78
+ } from "../pay/convert/cryptoToFiat.js";
@@ -0,0 +1,95 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { TEST_CLIENT } from "~test/test-clients.js";
3
+ import { TEST_ACCOUNT_A } from "~test/test-wallets.js";
4
+ import { base } from "../../chains/chain-definitions/base.js";
5
+ import { ethereum } from "../../chains/chain-definitions/ethereum.js";
6
+ import { sepolia } from "../../chains/chain-definitions/sepolia.js";
7
+ import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
8
+ import { convertCryptoToFiat } from "./cryptoToFiat.js";
9
+
10
+ describe.runIf(process.env.TW_SECRET_KEY)("Pay: crypto-to-fiat", () => {
11
+ it("should convert ETH price to USD on Ethereum mainnet", async () => {
12
+ const data = await convertCryptoToFiat({
13
+ chain: ethereum,
14
+ fromTokenAddress: NATIVE_TOKEN_ADDRESS,
15
+ fromAmount: 1,
16
+ to: "USD",
17
+ client: TEST_CLIENT,
18
+ });
19
+ expect(data.result).toBeDefined();
20
+ // Should be a number
21
+ expect(!Number.isNaN(data.result)).toBe(true);
22
+ // Since eth is around US$3000, we can add a test to check if the price is greater than $1500 (as a safe margin)
23
+ // let's hope that scenario does not happen :(
24
+ expect(Number(data.result) > 1500).toBe(true);
25
+ });
26
+
27
+ it("should convert ETH price to USD on Base mainnet", async () => {
28
+ const data = await convertCryptoToFiat({
29
+ chain: base,
30
+ fromTokenAddress: NATIVE_TOKEN_ADDRESS,
31
+ fromAmount: 1,
32
+ to: "USD",
33
+ client: TEST_CLIENT,
34
+ });
35
+ expect(data.result).toBeDefined();
36
+ // Should be a number
37
+ expect(!Number.isNaN(data.result)).toBe(true);
38
+ // Since eth is around US$3000, we can add a test to check if the price is greater than $1500 (as a safe margin)
39
+ // let's hope that scenario does not happen :(
40
+ expect(data.result > 1500).toBe(true);
41
+ });
42
+
43
+ it("should return zero if fromAmount is zero", async () => {
44
+ const data = await convertCryptoToFiat({
45
+ chain: base,
46
+ fromTokenAddress: NATIVE_TOKEN_ADDRESS,
47
+ fromAmount: 0,
48
+ to: "USD",
49
+ client: TEST_CLIENT,
50
+ });
51
+ expect(data.result).toBe(0);
52
+ });
53
+
54
+ it("should throw error for testnet chain (because testnets are not supported", async () => {
55
+ await expect(() =>
56
+ convertCryptoToFiat({
57
+ chain: sepolia,
58
+ fromTokenAddress: NATIVE_TOKEN_ADDRESS,
59
+ fromAmount: 1,
60
+ to: "USD",
61
+ client: TEST_CLIENT,
62
+ }),
63
+ ).rejects.toThrowError(
64
+ `Cannot fetch price for a testnet (chainId: ${sepolia.id})`,
65
+ );
66
+ });
67
+
68
+ it("should throw error if fromTokenAddress is set to an invalid EVM address", async () => {
69
+ await expect(() =>
70
+ convertCryptoToFiat({
71
+ chain: ethereum,
72
+ fromTokenAddress: "haha",
73
+ fromAmount: 1,
74
+ to: "USD",
75
+ client: TEST_CLIENT,
76
+ }),
77
+ ).rejects.toThrowError(
78
+ "Invalid fromTokenAddress. Expected a valid EVM contract address",
79
+ );
80
+ });
81
+
82
+ it("should throw error if fromTokenAddress is set to a wallet address", async () => {
83
+ await expect(() =>
84
+ convertCryptoToFiat({
85
+ chain: base,
86
+ fromTokenAddress: TEST_ACCOUNT_A.address,
87
+ fromAmount: 1,
88
+ to: "USD",
89
+ client: TEST_CLIENT,
90
+ }),
91
+ ).rejects.toThrowError(
92
+ `Error: ${TEST_ACCOUNT_A.address} on chainId: ${base.id} is not a valid contract address.`,
93
+ );
94
+ });
95
+ });
@@ -0,0 +1,111 @@
1
+ import type { Address } from "abitype";
2
+ import type { Chain } from "../../chains/types.js";
3
+ import type { ThirdwebClient } from "../../client/client.js";
4
+ import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
5
+ import { getBytecode } from "../../contract/actions/get-bytecode.js";
6
+ import { getContract } from "../../contract/contract.js";
7
+ import { isAddress } from "../../utils/address.js";
8
+ import { getClientFetch } from "../../utils/fetch.js";
9
+ import { getPayConvertCryptoToFiatEndpoint } from "../utils/definitions.js";
10
+
11
+ /**
12
+ * Props for the `convertCryptoToFiat` function
13
+ * @buyCrypto
14
+ */
15
+ export type ConvertCryptoToFiatParams = {
16
+ client: ThirdwebClient;
17
+ /**
18
+ * The contract address of the token
19
+ * For native token, use NATIVE_TOKEN_ADDRESS
20
+ */
21
+ fromTokenAddress: Address;
22
+ /**
23
+ * The amount of token to convert to fiat value
24
+ */
25
+ fromAmount: number;
26
+ /**
27
+ * The chain that the token is deployed to
28
+ */
29
+ chain: Chain;
30
+ /**
31
+ * The fiat symbol. e.g "USD"
32
+ * Only USD is supported at the moment.
33
+ */
34
+ to: "USD";
35
+ };
36
+
37
+ /**
38
+ * Get a price of a token (using tokenAddress + chainId) in fiat.
39
+ * Only USD is supported at the moment.
40
+ * @example
41
+ * ### Basic usage
42
+ * For native token (non-ERC20), you should use NATIVE_TOKEN_ADDRESS as the value for `tokenAddress`
43
+ * ```ts
44
+ * import { convertCryptoToFiat } from "thirdweb/pay";
45
+ *
46
+ * // Get Ethereum price
47
+ * const result = convertCryptoToFiat({
48
+ * fromTokenAddress: NATIVE_TOKEN_ADDRESS,
49
+ * to: "USD",
50
+ * chain: ethereum,
51
+ * fromAmount: 1,
52
+ * });
53
+ *
54
+ * // Result: `{ result: 3404.11 }`
55
+ * ```
56
+ * @buyCrypto
57
+ * @returns a number representing the price (in selected fiat) of "x" token, with "x" being the `fromAmount`.
58
+ */
59
+ export async function convertCryptoToFiat(
60
+ options: ConvertCryptoToFiatParams,
61
+ ): Promise<{ result: number }> {
62
+ const { client, fromTokenAddress, to, chain, fromAmount } = options;
63
+ if (Number(fromAmount) === 0) {
64
+ return { result: 0 };
65
+ }
66
+ // Testnets just don't work with our current provider(s)
67
+ if (chain.testnet === true) {
68
+ throw new Error(`Cannot fetch price for a testnet (chainId: ${chain.id})`);
69
+ }
70
+ // Some provider that we are using will return `0` for unsupported token
71
+ // so we should do some basic input validations before sending the request
72
+
73
+ // Make sure it's a valid EVM address
74
+ if (!isAddress(fromTokenAddress)) {
75
+ throw new Error(
76
+ "Invalid fromTokenAddress. Expected a valid EVM contract address",
77
+ );
78
+ }
79
+ // Make sure it's either a valid contract or a native token address
80
+ if (fromTokenAddress.toLowerCase() !== NATIVE_TOKEN_ADDRESS.toLowerCase()) {
81
+ const bytecode = await getBytecode(
82
+ getContract({
83
+ address: fromTokenAddress,
84
+ chain,
85
+ client,
86
+ }),
87
+ ).catch(() => undefined);
88
+ if (!bytecode || bytecode === "0x") {
89
+ throw new Error(
90
+ `Error: ${fromTokenAddress} on chainId: ${chain.id} is not a valid contract address.`,
91
+ );
92
+ }
93
+ }
94
+ const params = {
95
+ fromTokenAddress,
96
+ to,
97
+ chainId: String(chain.id),
98
+ fromAmount: String(fromAmount),
99
+ };
100
+ const queryString = new URLSearchParams(params).toString();
101
+ const url = `${getPayConvertCryptoToFiatEndpoint()}?${queryString}`;
102
+ const response = await getClientFetch(client)(url);
103
+ if (!response.ok) {
104
+ throw new Error(
105
+ `Failed to fetch ${to} value for token (${fromTokenAddress}) on chainId: ${chain.id}`,
106
+ );
107
+ }
108
+
109
+ const data: { result: number } = await response.json();
110
+ return data;
111
+ }
@@ -0,0 +1,96 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { TEST_CLIENT } from "~test/test-clients.js";
3
+ import { TEST_ACCOUNT_A } from "~test/test-wallets.js";
4
+ import { base } from "../../chains/chain-definitions/base.js";
5
+ import { ethereum } from "../../chains/chain-definitions/ethereum.js";
6
+ import { sepolia } from "../../chains/chain-definitions/sepolia.js";
7
+ import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
8
+ import { convertFiatToCrypto } from "./fiatToCrypto.js";
9
+
10
+ describe.runIf(process.env.TW_SECRET_KEY)("Pay: fiatToCrypto", () => {
11
+ it("should convert fiat price to token on Ethereum mainnet", async () => {
12
+ const data = await convertFiatToCrypto({
13
+ chain: ethereum,
14
+ from: "USD",
15
+ fromAmount: 1,
16
+ to: NATIVE_TOKEN_ADDRESS,
17
+ client: TEST_CLIENT,
18
+ });
19
+ expect(data.result).toBeDefined();
20
+ // Should be a number
21
+ expect(!Number.isNaN(data.result)).toBe(true);
22
+ // Since eth is around US$3000, 1 USD should be around 0.0003
23
+ // we give it some safe margin so the test won't be flaky
24
+ expect(data.result < 0.001).toBe(true);
25
+ });
26
+
27
+ it("should convert fiat price to token on Base mainnet", async () => {
28
+ const data = await convertFiatToCrypto({
29
+ chain: base,
30
+ from: "USD",
31
+ fromAmount: 1,
32
+ to: NATIVE_TOKEN_ADDRESS,
33
+ client: TEST_CLIENT,
34
+ });
35
+
36
+ expect(data.result).toBeDefined();
37
+ // Should be a number
38
+ expect(!Number.isNaN(data.result)).toBe(true);
39
+ // Since eth is around US$3000, 1 USD should be around 0.0003
40
+ // we give it some safe margin so the test won't be flaky
41
+ expect(data.result < 0.001).toBe(true);
42
+ });
43
+
44
+ it("should return zero if the fromAmount is zero", async () => {
45
+ const data = await convertFiatToCrypto({
46
+ chain: base,
47
+ from: "USD",
48
+ fromAmount: 0,
49
+ to: NATIVE_TOKEN_ADDRESS,
50
+ client: TEST_CLIENT,
51
+ });
52
+ expect(data.result).toBe(0);
53
+ });
54
+
55
+ it("should throw error for testnet chain (because testnets are not supported", async () => {
56
+ await expect(() =>
57
+ convertFiatToCrypto({
58
+ chain: sepolia,
59
+ to: NATIVE_TOKEN_ADDRESS,
60
+ fromAmount: 1,
61
+ from: "USD",
62
+ client: TEST_CLIENT,
63
+ }),
64
+ ).rejects.toThrowError(
65
+ `Cannot fetch price for a testnet (chainId: ${sepolia.id})`,
66
+ );
67
+ });
68
+
69
+ it("should throw error if `to` is set to an invalid EVM address", async () => {
70
+ await expect(() =>
71
+ convertFiatToCrypto({
72
+ chain: ethereum,
73
+ to: "haha",
74
+ fromAmount: 1,
75
+ from: "USD",
76
+ client: TEST_CLIENT,
77
+ }),
78
+ ).rejects.toThrowError(
79
+ "Invalid `to`. Expected a valid EVM contract address",
80
+ );
81
+ });
82
+
83
+ it("should throw error if `to` is set to a wallet address", async () => {
84
+ await expect(() =>
85
+ convertFiatToCrypto({
86
+ chain: base,
87
+ to: TEST_ACCOUNT_A.address,
88
+ fromAmount: 1,
89
+ from: "USD",
90
+ client: TEST_CLIENT,
91
+ }),
92
+ ).rejects.toThrowError(
93
+ `Error: ${TEST_ACCOUNT_A.address} on chainId: ${base.id} is not a valid contract address.`,
94
+ );
95
+ });
96
+ });
@@ -0,0 +1,110 @@
1
+ import type { Address } from "abitype";
2
+ import type { Chain } from "../../chains/types.js";
3
+ import type { ThirdwebClient } from "../../client/client.js";
4
+ import { NATIVE_TOKEN_ADDRESS } from "../../constants/addresses.js";
5
+ import { getBytecode } from "../../contract/actions/get-bytecode.js";
6
+ import { getContract } from "../../contract/contract.js";
7
+ import { isAddress } from "../../utils/address.js";
8
+ import { getClientFetch } from "../../utils/fetch.js";
9
+ import { getPayConvertFiatToCryptoEndpoint } from "../utils/definitions.js";
10
+
11
+ /**
12
+ * Props for the `convertFiatToCrypto` function
13
+ * @buyCrypto
14
+ */
15
+ export type ConvertFiatToCryptoParams = {
16
+ client: ThirdwebClient;
17
+ /**
18
+ * The fiat symbol. e.g: "USD"
19
+ * Currently only USD is supported.
20
+ */
21
+ from: "USD";
22
+ /**
23
+ * The total amount of fiat to convert
24
+ * e.g: If you want to convert 2 cents to USD, enter `0.02`
25
+ */
26
+ fromAmount: number;
27
+ /**
28
+ * The token address
29
+ * For native token, use NATIVE_TOKEN_ADDRESS
30
+ */
31
+ to: Address;
32
+ /**
33
+ * The chain that the token is deployed to
34
+ */
35
+ chain: Chain;
36
+ };
37
+
38
+ /**
39
+ * Convert a fiat value to a token.
40
+ * Currently only USD is supported.
41
+ * @example
42
+ * ### Basic usage
43
+ * ```ts
44
+ * import { convertFiatToCrypto } from "thirdweb/pay";
45
+ *
46
+ * // Convert 2 cents to ETH
47
+ * const result = await convertFiatToCrypto({
48
+ * from: "USD",
49
+ * // the token address. For native token, use NATIVE_TOKEN_ADDRESS
50
+ * to: "0x...",
51
+ * // the chain (of the chain where the token belong to)
52
+ * chain: ethereum,
53
+ * // 2 cents
54
+ * fromAmount: 0.02,
55
+ * });
56
+ * ```
57
+ * Result: `{ result: 0.0000057 }`
58
+ * @buyCrypto
59
+ */
60
+ export async function convertFiatToCrypto(
61
+ options: ConvertFiatToCryptoParams,
62
+ ): Promise<{ result: number }> {
63
+ const { client, from, to, chain, fromAmount } = options;
64
+ if (Number(fromAmount) === 0) {
65
+ return { result: 0 };
66
+ }
67
+ // Testnets just don't work with our current provider(s)
68
+ if (chain.testnet === true) {
69
+ throw new Error(`Cannot fetch price for a testnet (chainId: ${chain.id})`);
70
+ }
71
+ // Some provider that we are using will return `0` for unsupported token
72
+ // so we should do some basic input validations before sending the request
73
+
74
+ // Make sure it's a valid EVM address
75
+ if (!isAddress(to)) {
76
+ throw new Error("Invalid `to`. Expected a valid EVM contract address");
77
+ }
78
+ // Make sure it's either a valid contract or a native token
79
+ if (to.toLowerCase() !== NATIVE_TOKEN_ADDRESS.toLowerCase()) {
80
+ const bytecode = await getBytecode(
81
+ getContract({
82
+ address: to,
83
+ chain,
84
+ client,
85
+ }),
86
+ ).catch(() => undefined);
87
+ if (!bytecode || bytecode === "0x") {
88
+ throw new Error(
89
+ `Error: ${to} on chainId: ${chain.id} is not a valid contract address.`,
90
+ );
91
+ }
92
+ }
93
+ const params = {
94
+ from,
95
+ to,
96
+ chainId: String(chain.id),
97
+ fromAmount: String(fromAmount),
98
+ };
99
+ const queryString = new URLSearchParams(params).toString();
100
+ const url = `${getPayConvertFiatToCryptoEndpoint()}?${queryString}`;
101
+ const response = await getClientFetch(client)(url);
102
+ if (!response.ok) {
103
+ throw new Error(
104
+ `Failed to convert ${to} value to token (${to}) on chainId: ${chain.id}`,
105
+ );
106
+ }
107
+
108
+ const data: { result: number } = await response.json();
109
+ return data;
110
+ }
@@ -76,3 +76,9 @@ export const getPaySupportedSources = () =>
76
76
  */
77
77
  export const getPayBuyHistoryEndpoint = () =>
78
78
  `${getPayBaseUrl()}/wallet/history/v1`;
79
+
80
+ export const getPayConvertFiatToCryptoEndpoint = () =>
81
+ `${getPayBaseUrl()}/convert/fiat-to-crypto/v1`;
82
+
83
+ export const getPayConvertCryptoToFiatEndpoint = () =>
84
+ `${getPayBaseUrl()}/convert/crypto-to-fiat/v1`;
@@ -173,7 +173,11 @@ export async function getZkGasFees(args: {
173
173
  resolvePromisedValue(transaction.eip712),
174
174
  ]);
175
175
  let gasPerPubdata = eip712?.gasPerPubdata;
176
- if (!gas || !maxFeePerGas || !maxPriorityFeePerGas) {
176
+ if (
177
+ gas === undefined ||
178
+ maxFeePerGas === undefined ||
179
+ maxPriorityFeePerGas === undefined
180
+ ) {
177
181
  const rpc = getRpcClient(transaction);
178
182
  const params = await formatTransaction({ transaction, from });
179
183
  const result = (await rpc({
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = "5.72.0";
1
+ export const version = "5.73.0-nightly-ea855c66cb940d1adafefaad6dd689227701d277-20241203000359";