thirdweb 5.34.0-nightly-f6ff5a78fc2d65f0f250b154f1405210ca57ce0a-20240708000345 → 5.34.0-nightly-95c9d3d92406de619cb1e4cccc61b0766dd2a0d4-20240708205331
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/cjs/auth/core/verify-jwt.js +1 -1
- package/dist/cjs/auth/core/verify-jwt.js.map +1 -1
- package/dist/cjs/auth/verify-hash.js +98 -0
- package/dist/cjs/auth/verify-hash.js.map +1 -0
- package/dist/cjs/auth/verify-signature.js +5 -60
- package/dist/cjs/auth/verify-signature.js.map +1 -1
- package/dist/cjs/auth/verify-typed-data.js +80 -0
- package/dist/cjs/auth/verify-typed-data.js.map +1 -0
- package/dist/cjs/chains/chain-definitions/blast.js +17 -0
- package/dist/cjs/chains/chain-definitions/blast.js.map +1 -0
- package/dist/cjs/exports/chains.js +3 -1
- package/dist/cjs/exports/chains.js.map +1 -1
- package/dist/cjs/exports/extensions/erc20.js +3 -1
- package/dist/cjs/exports/extensions/erc20.js.map +1 -1
- package/dist/cjs/exports/utils.js +10 -1
- package/dist/cjs/exports/utils.js.map +1 -1
- package/dist/cjs/exports/wallets/smart.js +10 -1
- package/dist/cjs/exports/wallets/smart.js.map +1 -1
- package/dist/cjs/extensions/erc1271/checkContractWalletSignature.js +1 -0
- package/dist/cjs/extensions/erc1271/checkContractWalletSignature.js.map +1 -1
- package/dist/cjs/extensions/erc1271/checkContractWalletSignedTypedData.js +1 -0
- package/dist/cjs/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
- package/dist/cjs/extensions/erc20/write/transferBatch.js +61 -0
- package/dist/cjs/extensions/erc20/write/transferBatch.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +21 -12
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +4 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +1 -3
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +1 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +4 -4
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/tx-history/BuyTxHistoryButton.js +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/tx-history/TokenInfoRow.js +1 -1
- package/dist/cjs/utils/hashing/hashTypedData.js +122 -0
- package/dist/cjs/utils/hashing/hashTypedData.js.map +1 -0
- package/dist/cjs/utils/jwt/decode-jwt.js +2 -2
- package/dist/cjs/utils/jwt/decode-jwt.js.map +1 -1
- package/dist/cjs/utils/jwt/refresh-jwt.js +1 -1
- package/dist/cjs/utils/jwt/refresh-jwt.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/smart/index.js +19 -9
- package/dist/cjs/wallets/smart/index.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/bundler.js +57 -9
- package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/calls.js +31 -21
- package/dist/cjs/wallets/smart/lib/calls.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/paymaster.js +5 -6
- package/dist/cjs/wallets/smart/lib/paymaster.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/userop.js +45 -21
- package/dist/cjs/wallets/smart/lib/userop.js.map +1 -1
- package/dist/esm/auth/core/verify-jwt.js +2 -2
- package/dist/esm/auth/core/verify-jwt.js.map +1 -1
- package/dist/esm/auth/verify-hash.js +95 -0
- package/dist/esm/auth/verify-hash.js.map +1 -0
- package/dist/esm/auth/verify-signature.js +6 -61
- package/dist/esm/auth/verify-signature.js.map +1 -1
- package/dist/esm/auth/verify-typed-data.js +77 -0
- package/dist/esm/auth/verify-typed-data.js.map +1 -0
- package/dist/esm/chains/chain-definitions/blast.js +14 -0
- package/dist/esm/chains/chain-definitions/blast.js.map +1 -0
- package/dist/esm/exports/chains.js +1 -0
- package/dist/esm/exports/chains.js.map +1 -1
- package/dist/esm/exports/extensions/erc20.js +1 -0
- package/dist/esm/exports/extensions/erc20.js.map +1 -1
- package/dist/esm/exports/utils.js +6 -0
- package/dist/esm/exports/utils.js.map +1 -1
- package/dist/esm/exports/wallets/smart.js +3 -1
- package/dist/esm/exports/wallets/smart.js.map +1 -1
- package/dist/esm/extensions/erc1271/checkContractWalletSignature.js +1 -0
- package/dist/esm/extensions/erc1271/checkContractWalletSignature.js.map +1 -1
- package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js +1 -0
- package/dist/esm/extensions/erc1271/checkContractWalletSignedTypedData.js.map +1 -1
- package/dist/esm/extensions/erc20/write/transferBatch.js +58 -0
- package/dist/esm/extensions/erc20/write/transferBatch.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +21 -12
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.js +4 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js +1 -3
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js +1 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.js +4 -4
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/tx-history/BuyTxHistoryButton.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/tx-history/TokenInfoRow.js +1 -1
- package/dist/esm/utils/hashing/hashTypedData.js +118 -0
- package/dist/esm/utils/hashing/hashTypedData.js.map +1 -0
- package/dist/esm/utils/jwt/decode-jwt.js +1 -1
- package/dist/esm/utils/jwt/decode-jwt.js.map +1 -1
- package/dist/esm/utils/jwt/refresh-jwt.js +2 -2
- package/dist/esm/utils/jwt/refresh-jwt.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/smart/index.js +19 -9
- package/dist/esm/wallets/smart/index.js.map +1 -1
- package/dist/esm/wallets/smart/lib/bundler.js +56 -8
- package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/esm/wallets/smart/lib/calls.js +31 -21
- package/dist/esm/wallets/smart/lib/calls.js.map +1 -1
- package/dist/esm/wallets/smart/lib/paymaster.js +5 -6
- package/dist/esm/wallets/smart/lib/paymaster.js.map +1 -1
- package/dist/esm/wallets/smart/lib/userop.js +46 -22
- package/dist/esm/wallets/smart/lib/userop.js.map +1 -1
- package/dist/types/auth/verify-hash.d.ts +45 -0
- package/dist/types/auth/verify-hash.d.ts.map +1 -0
- package/dist/types/auth/verify-signature.d.ts.map +1 -1
- package/dist/types/auth/verify-typed-data.d.ts +75 -0
- package/dist/types/auth/verify-typed-data.d.ts.map +1 -0
- package/dist/types/chains/chain-definitions/blast.d.ts +27 -0
- package/dist/types/chains/chain-definitions/blast.d.ts.map +1 -0
- package/dist/types/exports/chains.d.ts +1 -0
- package/dist/types/exports/chains.d.ts.map +1 -1
- package/dist/types/exports/extensions/erc20.d.ts +1 -0
- package/dist/types/exports/extensions/erc20.d.ts.map +1 -1
- package/dist/types/exports/utils.d.ts +4 -0
- package/dist/types/exports/utils.d.ts.map +1 -1
- package/dist/types/exports/wallets/smart.d.ts +3 -1
- package/dist/types/exports/wallets/smart.d.ts.map +1 -1
- package/dist/types/extensions/erc1271/checkContractWalletSignature.d.ts +1 -0
- package/dist/types/extensions/erc1271/checkContractWalletSignature.d.ts.map +1 -1
- package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts +1 -0
- package/dist/types/extensions/erc1271/checkContractWalletSignedTypedData.d.ts.map +1 -1
- package/dist/types/extensions/erc20/write/transferBatch.d.ts +42 -0
- package/dist/types/extensions/erc20/write/transferBatch.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.d.ts.map +1 -1
- package/dist/types/utils/hashing/hashTypedData.d.ts +17 -0
- package/dist/types/utils/hashing/hashTypedData.d.ts.map +1 -0
- package/dist/types/utils/jwt/decode-jwt.d.ts +1 -1
- package/dist/types/utils/jwt/decode-jwt.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/smart/index.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/bundler.d.ts +53 -5
- package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/calls.d.ts +25 -7
- package/dist/types/wallets/smart/lib/calls.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/paymaster.d.ts +7 -2
- package/dist/types/wallets/smart/lib/paymaster.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/userop.d.ts +15 -4
- package/dist/types/wallets/smart/lib/userop.d.ts.map +1 -1
- package/dist/types/wallets/smart/types.d.ts +4 -2
- package/dist/types/wallets/smart/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/auth/core/verify-jwt.ts +2 -2
- package/src/auth/verify-hash.test.ts +66 -0
- package/src/auth/verify-hash.ts +126 -0
- package/src/auth/verify-signature.ts +6 -77
- package/src/auth/verify-typed-data.test.ts +82 -0
- package/src/auth/verify-typed-data.ts +110 -0
- package/src/chains/chain-definitions/blast.ts +14 -0
- package/src/exports/chains.ts +1 -0
- package/src/exports/extensions/erc20.ts +4 -0
- package/src/exports/utils.ts +8 -0
- package/src/exports/wallets/smart.ts +14 -1
- package/src/extensions/erc1271/checkContractWalletSignature.ts +1 -0
- package/src/extensions/erc1271/checkContractWalletSignedTypedData.ts +1 -0
- package/src/extensions/erc20/write/transferBatch.ts +78 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +42 -12
- package/src/react/web/ui/ConnectWallet/screens/Buy/PayWIthCreditCard.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatSteps.tsx +5 -5
- package/src/react/web/ui/ConnectWallet/screens/Buy/fiat/FiatTxDetailsTable.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useBuyTxStates.ts +1 -5
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useUISelectionStates.ts +1 -6
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/ConfirmationScreen.tsx +2 -2
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/Fees.tsx +4 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/tx-history/BuyTxHistoryButton.tsx +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/tx-history/TokenInfoRow.tsx +1 -1
- package/src/utils/hashing/hashTypedData.test.ts +207 -0
- package/src/utils/hashing/hashTypedData.ts +210 -0
- package/src/utils/jwt/decode-jwt.ts +1 -1
- package/src/utils/jwt/refresh-jwt.ts +2 -2
- package/src/version.ts +1 -1
- package/src/wallets/smart/index.ts +19 -9
- package/src/wallets/smart/lib/bundler.ts +56 -9
- package/src/wallets/smart/lib/calls.ts +67 -28
- package/src/wallets/smart/lib/paymaster.ts +12 -13
- package/src/wallets/smart/lib/userop.ts +74 -30
- package/src/wallets/smart/types.ts +6 -6
@@ -12,7 +12,7 @@ const verify_signature_js_1 = require("../verify-signature.js");
|
|
12
12
|
*/
|
13
13
|
function verifyJWT(options) {
|
14
14
|
return async (params) => {
|
15
|
-
const { payload, signature } = (0, decode_jwt_js_1.
|
15
|
+
const { payload, signature } = (0, decode_jwt_js_1.decodeJWT)(params.jwt);
|
16
16
|
if (!options.adminAccount) {
|
17
17
|
throw new Error("No admin account provided. Cannot verify JWT.");
|
18
18
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verify-jwt.js","sourceRoot":"","sources":["../../../../src/auth/core/verify-jwt.ts"],"names":[],"mappings":";;AA0BA,8BAqEC;AA/FD,
|
1
|
+
{"version":3,"file":"verify-jwt.js","sourceRoot":"","sources":["../../../../src/auth/core/verify-jwt.ts"],"names":[],"mappings":";;AA0BA,8BAqEC;AA/FD,iEAA0D;AAE1D,gEAA4D;AAiB5D;;;;;;GAMG;AACH,SAAgB,SAAS,CAAC,OAAoB;IAC5C,OAAO,KAAK,EAAE,MAAuB,EAA4B,EAAE;QACjE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,yBAAS,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAErD,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,gBAAgB;iBACxB,CAAC;YACJ,CAAC;QACH,CAAC;QAED,mDAAmD;QACnD,IAAI,OAAO,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,wCAAwC,OAAO,CAAC,MAAM,mCAAmC,OAAO,CAAC,GAAG,GAAG;aAC/G,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QAC5D,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9B,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,4CAA4C,OAAO,CAAC,GAAG,6BAA6B,WAAW,GAAG;aAC1G,CAAC;QACJ,CAAC;QAED,sCAAsC;QACtC,IAAI,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC9B,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,qCAAqC,OAAO,CAAC,GAAG,6BAA6B,WAAW,GAAG;aACnG,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC;QACnD,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC;YAC9D,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,gCAAgC,aAAa,6CAA6C,OAAO,CAAC,GAAG,GAAG;aAChH,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,wCAAkB,EAAC;YACxC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;YAChC,SAAS;YACT,OAAO,EAAE,aAAa;SACvB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,gCAAgC,aAAa,4BAA4B;aACjF,CAAC;QACJ,CAAC;QAED,OAAO;YACL,KAAK,EAAE,IAAI;YACX,SAAS,EAAE,OAAO;SACnB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,98 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.verifyHash = verifyHash;
|
4
|
+
const utils_1 = require("@noble/curves/abstract/utils");
|
5
|
+
const viem_1 = require("viem");
|
6
|
+
const contract_js_1 = require("../contract/contract.js");
|
7
|
+
const eth_call_js_1 = require("../rpc/actions/eth_call.js");
|
8
|
+
const rpc_js_1 = require("../rpc/rpc.js");
|
9
|
+
const from_bytes_js_1 = require("../utils/encoding/from-bytes.js");
|
10
|
+
const hex_js_1 = require("../utils/encoding/hex.js");
|
11
|
+
const to_bytes_js_1 = require("../utils/encoding/to-bytes.js");
|
12
|
+
const constants_js_1 = require("../wallets/smart/lib/constants.js");
|
13
|
+
const constants_js_2 = require("./constants.js");
|
14
|
+
const is_erc6492_signature_js_1 = require("./is-erc6492-signature.js");
|
15
|
+
const serialize_erc6492_signature_js_1 = require("./serialize-erc6492-signature.js");
|
16
|
+
/**
|
17
|
+
* @description Verify that an address created the provided signature for a given hash using [ERC-6492](https://eips.ethereum.org/EIPS/eip-6492). This function is interoperable with all wallet types, including EOAs.
|
18
|
+
* This function should rarely be used directly, instead use @see {import("./verify-signature.js")} and @see {import("./verify-typed-data.js")}}
|
19
|
+
*
|
20
|
+
* @param {Hex} options.hash The hash that was signed
|
21
|
+
* @param {string | Uint8Array | Signature} options.signature The signature that was signed
|
22
|
+
* @param {string} options.address The address that signed the hash
|
23
|
+
* @param {ThirdwebClient} options.client The Thirdweb client
|
24
|
+
* @param {Chain} options.chain The chain that the address is on. For an EOA, this can be any chain.
|
25
|
+
* @param {string} [options.accountFactory.address] The address of the account factory that created the account if using a smart account with a custom account factory
|
26
|
+
* @param {Hex} [options.accountFactory.verificationCalldata] The calldata that was used to create the account if using a smart account with a custom account factory
|
27
|
+
*
|
28
|
+
* @returns {Promise<boolean>} A promise that resolves to `true` if the signature is valid, or `false` otherwise.
|
29
|
+
*
|
30
|
+
* @example
|
31
|
+
* ```ts
|
32
|
+
* import { verifyHash } from "thirdweb/utils";
|
33
|
+
* const isValid = await verifyHash({
|
34
|
+
* hash: "0x1234",
|
35
|
+
* signature: "0x1234",
|
36
|
+
* address: "0x1234",
|
37
|
+
* client,
|
38
|
+
* chain,
|
39
|
+
* });
|
40
|
+
* ```
|
41
|
+
*
|
42
|
+
* @auth
|
43
|
+
*/
|
44
|
+
async function verifyHash({ hash, signature, address, client, chain, accountFactory, }) {
|
45
|
+
const signatureHex = (() => {
|
46
|
+
if ((0, hex_js_1.isHex)(signature))
|
47
|
+
return signature;
|
48
|
+
if (typeof signature === "object" && "r" in signature && "s" in signature)
|
49
|
+
return (0, viem_1.serializeSignature)(signature);
|
50
|
+
if (signature instanceof Uint8Array)
|
51
|
+
return (0, from_bytes_js_1.fromBytes)(signature, "hex");
|
52
|
+
// We should never hit this but TS doesn't know that
|
53
|
+
throw new Error(`Invalid signature type for signature ${signature}: ${typeof signature}`);
|
54
|
+
})();
|
55
|
+
const accountContract = (0, contract_js_1.getContract)({
|
56
|
+
address,
|
57
|
+
chain,
|
58
|
+
client,
|
59
|
+
});
|
60
|
+
const wrappedSignature = await (async () => {
|
61
|
+
// If this sigature was already wrapped for ERC-6492, carry on
|
62
|
+
if ((0, is_erc6492_signature_js_1.isErc6492Signature)(signatureHex))
|
63
|
+
return signatureHex;
|
64
|
+
// If the contract is already deployed, return the original signature
|
65
|
+
const { isContractDeployed } = await Promise.resolve().then(() => require("../utils/bytecode/is-contract-deployed.js"));
|
66
|
+
const isDeployed = await isContractDeployed(accountContract);
|
67
|
+
if (!isDeployed)
|
68
|
+
return signatureHex;
|
69
|
+
// Otherwise, serialize the signature for ERC-6492 validation
|
70
|
+
return (0, serialize_erc6492_signature_js_1.serializeErc6492Signature)({
|
71
|
+
address: accountFactory?.address ?? constants_js_1.DEFAULT_ACCOUNT_FACTORY,
|
72
|
+
data: accountFactory?.verificationCalldata ?? "0x",
|
73
|
+
signature: signatureHex,
|
74
|
+
});
|
75
|
+
})();
|
76
|
+
const verificationData = (0, viem_1.encodeDeployData)({
|
77
|
+
abi: constants_js_2.universalSignatureValidatorAbi,
|
78
|
+
args: [address, hash, wrappedSignature],
|
79
|
+
bytecode: constants_js_2.universalSignatureValidatorByteCode,
|
80
|
+
});
|
81
|
+
const rpcRequest = (0, rpc_js_1.getRpcClient)({
|
82
|
+
chain,
|
83
|
+
client,
|
84
|
+
});
|
85
|
+
try {
|
86
|
+
const result = await (0, eth_call_js_1.eth_call)(rpcRequest, {
|
87
|
+
data: verificationData,
|
88
|
+
});
|
89
|
+
const hexResult = (0, hex_js_1.isHex)(result) ? (0, to_bytes_js_1.toBytes)(result) : result;
|
90
|
+
return (0, utils_1.equalBytes)(hexResult, (0, to_bytes_js_1.toBytes)("0x1"));
|
91
|
+
}
|
92
|
+
catch (error) {
|
93
|
+
// TODO: Improve overall RPC error handling so we can tell if this was an actual verification failure or some other error
|
94
|
+
// Verification failed somehow
|
95
|
+
return false;
|
96
|
+
}
|
97
|
+
}
|
98
|
+
//# sourceMappingURL=verify-hash.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verify-hash.js","sourceRoot":"","sources":["../../../src/auth/verify-hash.ts"],"names":[],"mappings":";;AA0DA,gCAmEC;AA7HD,wDAA0D;AAC1D,+BAA4E;AAG5E,yDAAsD;AACtD,4DAAsD;AACtD,0CAA6C;AAC7C,mEAA4D;AAC5D,qDAA2D;AAC3D,+DAAwD;AACxD,oEAA4E;AAC5E,iDAGwB;AACxB,uEAA+D;AAC/D,qFAA6E;AAc7E;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACI,KAAK,UAAU,UAAU,CAAC,EAC/B,IAAI,EACJ,SAAS,EACT,OAAO,EACP,MAAM,EACN,KAAK,EACL,cAAc,GACG;IACjB,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE;QACzB,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;QACvC,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS;YACvE,OAAO,IAAA,yBAAkB,EAAC,SAAS,CAAC,CAAC;QACvC,IAAI,SAAS,YAAY,UAAU;YAAE,OAAO,IAAA,yBAAS,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxE,oDAAoD;QACpD,MAAM,IAAI,KAAK,CACb,wCAAwC,SAAS,KAAK,OAAO,SAAS,EAAE,CACzE,CAAC;IACJ,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,eAAe,GAAG,IAAA,yBAAW,EAAC;QAClC,OAAO;QACP,KAAK;QACL,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE;QACzC,8DAA8D;QAC9D,IAAI,IAAA,4CAAkB,EAAC,YAAY,CAAC;YAAE,OAAO,YAAY,CAAC;QAE1D,qEAAqE;QACrE,MAAM,EAAE,kBAAkB,EAAE,GAAG,2CAC7B,2CAA2C,EAC5C,CAAC;QACF,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,CAAC,UAAU;YAAE,OAAO,YAAY,CAAC;QAErC,6DAA6D;QAC7D,OAAO,IAAA,0DAAyB,EAAC;YAC/B,OAAO,EAAE,cAAc,EAAE,OAAO,IAAI,sCAAuB;YAC3D,IAAI,EAAE,cAAc,EAAE,oBAAoB,IAAI,IAAI;YAClD,SAAS,EAAE,YAAY;SACxB,CAAC,CAAC;IACL,CAAC,CAAC,EAAE,CAAC;IAEL,MAAM,gBAAgB,GAAG,IAAA,uBAAgB,EAAC;QACxC,GAAG,EAAE,6CAA8B;QACnC,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,gBAAgB,CAAC;QACvC,QAAQ,EAAE,kDAAmC;KAC9C,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,IAAA,qBAAY,EAAC;QAC9B,KAAK;QACL,MAAM;KACP,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAQ,EAAC,UAAU,EAAE;YACxC,IAAI,EAAE,gBAAgB;SACvB,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,IAAA,cAAK,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,qBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3D,OAAO,IAAA,kBAAU,EAAC,SAAS,EAAE,IAAA,qBAAO,EAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,yHAAyH;QACzH,8BAA8B;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
@@ -3,19 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.verifyEOASignature = verifyEOASignature;
|
4
4
|
exports.verifyContractWalletSignature = verifyContractWalletSignature;
|
5
5
|
exports.verifySignature = verifySignature;
|
6
|
-
const utils_1 = require("@noble/curves/abstract/utils");
|
7
6
|
const viem_1 = require("viem");
|
8
|
-
const contract_js_1 = require("../contract/contract.js");
|
9
|
-
const eth_call_js_1 = require("../rpc/actions/eth_call.js");
|
10
|
-
const rpc_js_1 = require("../rpc/rpc.js");
|
11
|
-
const from_bytes_js_1 = require("../utils/encoding/from-bytes.js");
|
12
7
|
const hex_js_1 = require("../utils/encoding/hex.js");
|
13
|
-
const to_bytes_js_1 = require("../utils/encoding/to-bytes.js");
|
14
8
|
const hashMessage_js_1 = require("../utils/hashing/hashMessage.js");
|
15
|
-
const
|
16
|
-
const constants_js_2 = require("./constants.js");
|
17
|
-
const is_erc6492_signature_js_1 = require("./is-erc6492-signature.js");
|
18
|
-
const serialize_erc6492_signature_js_1 = require("./serialize-erc6492-signature.js");
|
9
|
+
const verify_hash_js_1 = require("./verify-hash.js");
|
19
10
|
/**
|
20
11
|
* Verifies the signature of a message using an Ethereum account's EOA (Externally Owned Account).
|
21
12
|
* @param options - The options for verifying the signature.
|
@@ -78,61 +69,15 @@ async function verifyEOASignature(options) {
|
|
78
69
|
* @auth
|
79
70
|
*/
|
80
71
|
async function verifyContractWalletSignature({ signature, message, address, chain, client, accountFactory, }) {
|
81
|
-
console.log("verifyContractWalletSignature");
|
82
72
|
const messageHash = (0, hashMessage_js_1.hashMessage)(message);
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
if (typeof signature === "object" && "r" in signature && "s" in signature)
|
87
|
-
return (0, viem_1.serializeSignature)(signature);
|
88
|
-
if (signature instanceof Uint8Array)
|
89
|
-
return (0, from_bytes_js_1.fromBytes)(signature, "hex");
|
90
|
-
// We should never hit this but TS doesn't know that
|
91
|
-
throw new Error(`Invalid signature type for signature ${signature}: ${typeof signature}`);
|
92
|
-
})();
|
93
|
-
const accountContract = (0, contract_js_1.getContract)({
|
73
|
+
return (0, verify_hash_js_1.verifyHash)({
|
74
|
+
hash: messageHash,
|
75
|
+
signature,
|
94
76
|
address,
|
95
|
-
chain,
|
96
77
|
client,
|
97
|
-
});
|
98
|
-
const wrappedSignature = await (async () => {
|
99
|
-
// If this sigature was already wrapped for ERC-6492, carry on
|
100
|
-
if ((0, is_erc6492_signature_js_1.isErc6492Signature)(signatureHex))
|
101
|
-
return signatureHex;
|
102
|
-
// If the contract is already deployed, return the original signature
|
103
|
-
const { isContractDeployed } = await Promise.resolve().then(() => require("../utils/bytecode/is-contract-deployed.js"));
|
104
|
-
const isDeployed = await isContractDeployed(accountContract);
|
105
|
-
if (!isDeployed)
|
106
|
-
return signatureHex;
|
107
|
-
// Otherwise, serialize the signature for ERC-6492 validation
|
108
|
-
return (0, serialize_erc6492_signature_js_1.serializeErc6492Signature)({
|
109
|
-
address: accountFactory?.address ?? constants_js_1.DEFAULT_ACCOUNT_FACTORY,
|
110
|
-
data: accountFactory?.verificationCalldata ?? "0x",
|
111
|
-
signature: signatureHex,
|
112
|
-
});
|
113
|
-
})();
|
114
|
-
const verificationData = (0, viem_1.encodeDeployData)({
|
115
|
-
abi: constants_js_2.universalSignatureValidatorAbi,
|
116
|
-
args: [address, messageHash, wrappedSignature],
|
117
|
-
bytecode: constants_js_2.universalSignatureValidatorByteCode,
|
118
|
-
});
|
119
|
-
const rpcRequest = (0, rpc_js_1.getRpcClient)({
|
120
78
|
chain,
|
121
|
-
|
79
|
+
accountFactory,
|
122
80
|
});
|
123
|
-
try {
|
124
|
-
const result = await (0, eth_call_js_1.eth_call)(rpcRequest, {
|
125
|
-
data: verificationData,
|
126
|
-
});
|
127
|
-
const hexResult = (0, hex_js_1.isHex)(result) ? (0, to_bytes_js_1.toBytes)(result) : result;
|
128
|
-
return (0, utils_1.equalBytes)(hexResult, (0, to_bytes_js_1.toBytes)("0x1"));
|
129
|
-
}
|
130
|
-
catch (error) {
|
131
|
-
console.log("error", error);
|
132
|
-
// TODO: Improve overall RPC error handling so we can tell if this was an actual verification failure or some other error
|
133
|
-
// Verification failed somehow
|
134
|
-
return false;
|
135
|
-
}
|
136
81
|
}
|
137
82
|
/**
|
138
83
|
* Verifies the signature based on the provided options.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"verify-signature.js","sourceRoot":"","sources":["../../../src/auth/verify-signature.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"verify-signature.js","sourceRoot":"","sources":["../../../src/auth/verify-signature.ts"],"names":[],"mappings":";;AA+BA,gDAgBC;AA2CD,sEAiBC;AA4BD,0CA2BC;AAlKD,+BAAsD;AAGtD,qDAA2D;AAC3D,oEAA8D;AAE9D,qDAA8C;AAQ9C;;;;;;;;;;;;;;;;GAgBG;AACI,KAAK,UAAU,kBAAkB,CAAC,OAAiC;IACxE,MAAM,WAAW,GAAG,IAAA,4BAAW,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjD,IAAI,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,gBAAgB,GAAG,MAAM,IAAA,qBAAc,EAAC;QAC5C,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAaD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACI,KAAK,UAAU,6BAA6B,CAAC,EAClD,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,MAAM,EACN,cAAc,GACsB;IACpC,MAAM,WAAW,GAAG,IAAA,4BAAW,EAAC,OAAO,CAAC,CAAC;IACzC,OAAO,IAAA,2BAAU,EAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,OAAO;QACP,MAAM;QACN,KAAK;QACL,cAAc;KACf,CAAC,CAAC;AACL,CAAC;AAMD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,IAAI,gBAAgB,GAAG,KAAK,CAAC;AACtB,KAAK,UAAU,eAAe,CAAC,OAA8B;IAClE,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACxD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;IACD,IAAI,qCAAqC,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC;YACH,OAAO,MAAM,6BAA6B,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,gCAAgC;QAClC,CAAC;IACH,CAAC;SAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC7B,oCAAoC;QACpC,gBAAgB,GAAG,IAAI,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC;;;;;KAKb,CAAC,CAAC;IACL,CAAC;IACD,2DAA2D;IAC3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qCAAqC,CAC5C,OAA8B;IAE9B,OAAO,CACL,OAAO,IAAI,OAAO;QAClB,OAAO,CAAC,KAAK,KAAK,SAAS;QAC3B,QAAQ,IAAI,OAAO;QACnB,OAAO,CAAC,MAAM,KAAK,SAAS,CAC7B,CAAC;AACJ,CAAC"}
|
@@ -0,0 +1,80 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.verifyTypedData = verifyTypedData;
|
4
|
+
const viem_1 = require("viem");
|
5
|
+
const verify_hash_js_1 = require("./verify-hash.js");
|
6
|
+
/**
|
7
|
+
* @description Verify am [EIP-712](https://eips.ethereum.org/EIPS/eip-712) typed data signature. This function is interoperable with all wallet types (smart accounts or EOAs).
|
8
|
+
*
|
9
|
+
* @param {string} options.address The address that signed the typed data
|
10
|
+
* @param {string | Uint8Array | Signature} options.signature The signature that was signed
|
11
|
+
* @param {ThirdwebClient} options.client The Thirdweb client
|
12
|
+
* @param {Chain} options.chain The chain that the address is on. For an EOA, this can be any chain.
|
13
|
+
* @param {string} [options.accountFactory.address] The address of the account factory that created the account if using a smart account with a custom account factory
|
14
|
+
* @param {Hex} [options.accountFactory.verificationCalldata] The calldata that was used to create the account if using a smart account with a custom account factory
|
15
|
+
* @param {typeof VerifyTypedDataParams.message} options.message The EIP-712 message that was signed.
|
16
|
+
* @param {typeof VerifyTypedDataParams.domain} options.domain The EIP-712 domain that was signed.
|
17
|
+
* @param {typeof VerifyTypedDataParams.primaryType} options.primaryType The EIP-712 primary type that was signed.
|
18
|
+
* @param {typeof VerifyTypedDataParams.types} options.types The EIP-712 types that were signed.
|
19
|
+
*
|
20
|
+
* @returns {Promise<boolean>} A promise that resolves to `true` if the signature is valid, or `false` otherwise.
|
21
|
+
*
|
22
|
+
* @example
|
23
|
+
* ```ts
|
24
|
+
* import { verifyTypedData } from "thirdweb/utils";
|
25
|
+
* const isValid = await verifyTypedData({
|
26
|
+
* address: "0x...",
|
27
|
+
* signature: "0x...",
|
28
|
+
* client,
|
29
|
+
* chain,
|
30
|
+
* domain: {
|
31
|
+
name: "Ether Mail",
|
32
|
+
version: "1",
|
33
|
+
chainId: 1,
|
34
|
+
verifyingContract: "0x0000000000000000000000000000000000000000",
|
35
|
+
},
|
36
|
+
* primaryType: "Mail",
|
37
|
+
* types: {
|
38
|
+
Person: [
|
39
|
+
{ name: "name", type: "string" },
|
40
|
+
{ name: "wallet", type: "address" },
|
41
|
+
],
|
42
|
+
Mail: [
|
43
|
+
{ name: "from", type: "Person" },
|
44
|
+
{ name: "to", type: "Person" },
|
45
|
+
{ name: "contents", type: "string" },
|
46
|
+
],
|
47
|
+
},
|
48
|
+
message: {
|
49
|
+
from: {
|
50
|
+
name: "Cow",
|
51
|
+
wallet: "0xCD2a3d9F938E13CD947Ec05AbC7FE734Df8DD826",
|
52
|
+
},
|
53
|
+
to: {
|
54
|
+
name: "Bob",
|
55
|
+
wallet: "0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB",
|
56
|
+
},
|
57
|
+
contents: "Hello, Bob!",
|
58
|
+
},
|
59
|
+
* });
|
60
|
+
* ```
|
61
|
+
*
|
62
|
+
* @auth
|
63
|
+
*/
|
64
|
+
async function verifyTypedData({ address, signature, client, chain, accountFactory, message, domain, primaryType, types, }) {
|
65
|
+
const messageHash = (0, viem_1.hashTypedData)({
|
66
|
+
message,
|
67
|
+
domain,
|
68
|
+
primaryType,
|
69
|
+
types,
|
70
|
+
});
|
71
|
+
return (0, verify_hash_js_1.verifyHash)({
|
72
|
+
hash: messageHash,
|
73
|
+
signature,
|
74
|
+
address,
|
75
|
+
chain,
|
76
|
+
client,
|
77
|
+
accountFactory,
|
78
|
+
});
|
79
|
+
}
|
80
|
+
//# sourceMappingURL=verify-typed-data.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"verify-typed-data.js","sourceRoot":"","sources":["../../../src/auth/verify-typed-data.ts"],"names":[],"mappings":";;AAiFA,0CA4BC;AA5GD,+BAAqC;AAKrC,qDAAqE;AAiBrE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyDG;AACI,KAAK,UAAU,eAAe,CAGnC,EACA,OAAO,EACP,SAAS,EACT,MAAM,EACN,KAAK,EACL,cAAc,EACd,OAAO,EACP,MAAM,EACN,WAAW,EACX,KAAK,GACyC;IAC9C,MAAM,WAAW,GAAG,IAAA,oBAAa,EAAC;QAChC,OAAO;QACP,MAAM;QACN,WAAW;QACX,KAAK;KACiB,CAAC,CAAC;IAC1B,OAAO,IAAA,2BAAU,EAAC;QAChB,IAAI,EAAE,WAAW;QACjB,SAAS;QACT,OAAO;QACP,KAAK;QACL,MAAM;QACN,cAAc;KACf,CAAC,CAAC;AACL,CAAC"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.blast = void 0;
|
4
|
+
const utils_js_1 = require("../utils.js");
|
5
|
+
exports.blast = (0, utils_js_1.defineChain)({
|
6
|
+
id: 81457,
|
7
|
+
name: "Blast",
|
8
|
+
nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 },
|
9
|
+
blockExplorers: [
|
10
|
+
{
|
11
|
+
name: "Blastscan",
|
12
|
+
url: "https://blastscan.io",
|
13
|
+
apiUrl: "https://api.blastscan.io/api",
|
14
|
+
},
|
15
|
+
],
|
16
|
+
});
|
17
|
+
//# sourceMappingURL=blast.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"blast.js","sourceRoot":"","sources":["../../../../src/chains/chain-definitions/blast.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAE7B,QAAA,KAAK,GAAmB,IAAA,sBAAW,EAAC;IAC/C,EAAE,EAAE,KAAK;IACT,IAAI,EAAE,OAAO;IACb,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC9D,cAAc,EAAE;QACd;YACE,IAAI,EAAE,WAAW;YACjB,GAAG,EAAE,sBAAsB;YAC3B,MAAM,EAAE,8BAA8B;SACvC;KACF;CACF,CAAC,CAAC"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.zkSyncSepolia = exports.zkSync = exports.bscTestnet = exports.bsc = exports.zora = exports.zoraSepolia = exports.sepolia = exports.polygon = exports.polygonAmoy = exports.mumbai = exports.polygonMumbai = exports.linea = exports.lineaSepolia = exports.optimism = exports.optimismSepolia = exports.mainnet = exports.ethereum = exports.base = exports.baseSepolia = exports.avalanche = exports.avalancheFuji = exports.arbitrum = exports.arbitrumSepolia = exports.arbitrumNova = exports.hardhat = exports.anvil = exports.getRpcUrlForChain = exports.getChainMetadata = exports.defineChain = void 0;
|
3
|
+
exports.zkSyncSepolia = exports.zkSync = exports.bscTestnet = exports.bsc = exports.zora = exports.zoraSepolia = exports.sepolia = exports.polygon = exports.polygonAmoy = exports.mumbai = exports.polygonMumbai = exports.linea = exports.lineaSepolia = exports.optimism = exports.optimismSepolia = exports.blast = exports.mainnet = exports.ethereum = exports.base = exports.baseSepolia = exports.avalanche = exports.avalancheFuji = exports.arbitrum = exports.arbitrumSepolia = exports.arbitrumNova = exports.hardhat = exports.anvil = exports.getRpcUrlForChain = exports.getChainMetadata = exports.defineChain = void 0;
|
4
4
|
// define chain, chainMetadata
|
5
5
|
var utils_js_1 = require("../chains/utils.js");
|
6
6
|
Object.defineProperty(exports, "defineChain", { enumerable: true, get: function () { return utils_js_1.defineChain; } });
|
@@ -31,6 +31,8 @@ Object.defineProperty(exports, "base", { enumerable: true, get: function () { re
|
|
31
31
|
var ethereum_js_1 = require("../chains/chain-definitions/ethereum.js");
|
32
32
|
Object.defineProperty(exports, "ethereum", { enumerable: true, get: function () { return ethereum_js_1.ethereum; } });
|
33
33
|
Object.defineProperty(exports, "mainnet", { enumerable: true, get: function () { return ethereum_js_1.mainnet; } });
|
34
|
+
var blast_js_1 = require("../chains/chain-definitions/blast.js");
|
35
|
+
Object.defineProperty(exports, "blast", { enumerable: true, get: function () { return blast_js_1.blast; } });
|
34
36
|
var optimism_sepolia_js_1 = require("../chains/chain-definitions/optimism-sepolia.js");
|
35
37
|
Object.defineProperty(exports, "optimismSepolia", { enumerable: true, get: function () { return optimism_sepolia_js_1.optimismSepolia; } });
|
36
38
|
var optimism_js_1 = require("../chains/chain-definitions/optimism.js");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/exports/chains.ts"],"names":[],"mappings":";;;AAEA,8BAA8B;AAC9B,+CAI4B;AAH1B,uGAAA,WAAW,OAAA;AACX,4GAAA,gBAAgB,OAAA;AAChB,6GAAA,iBAAiB,OAAA;AAGnB;;GAEG;AACH,iEAA6D;AAApD,iGAAA,KAAK,OAAA;AACd,qEAAiE;AAAxD,qGAAA,OAAO,OAAA;AAChB,iFAA4E;AAAnE,gHAAA,YAAY,OAAA;AACrB,uFAAkF;AAAzE,sHAAA,eAAe,OAAA;AACxB,uEAAmE;AAA1D,uGAAA,QAAQ,OAAA;AACjB,mFAA8E;AAArE,kHAAA,aAAa,OAAA;AACtB,yEAAqE;AAA5D,yGAAA,SAAS,OAAA;AAClB,+EAA0E;AAAjE,8GAAA,WAAW,OAAA;AACpB,+DAA2D;AAAlD,+FAAA,IAAI,OAAA;AACb,+BAA+B;AAC/B,uEAA4E;AAAnE,uGAAA,QAAQ,OAAA;AAAE,sGAAA,OAAO,OAAA;AAC1B,uFAAkF;AAAzE,sHAAA,eAAe,OAAA;AACxB,uEAAmE;AAA1D,uGAAA,QAAQ,OAAA;AACjB,iFAA4E;AAAnE,gHAAA,YAAY,OAAA;AACrB,iEAA6D;AAApD,iGAAA,KAAK,OAAA;AACd,mCAAmC;AACnC,mFAGuD;AAFrD,kHAAA,aAAa,OAAA;AACb,2GAAA,MAAM,OAAA;AAER,+EAA0E;AAAjE,8GAAA,WAAW,OAAA;AACpB,qEAAiE;AAAxD,qGAAA,OAAO,OAAA;AAChB,qEAAiE;AAAxD,qGAAA,OAAO,OAAA;AAChB,+EAA0E;AAAjE,8GAAA,WAAW,OAAA;AACpB,+DAA2D;AAAlD,+FAAA,IAAI,OAAA;AACb,6DAAyD;AAAhD,6FAAA,GAAG,OAAA;AACZ,6EAAwE;AAA/D,4GAAA,UAAU,OAAA;AACnB,mEAA+D;AAAtD,mGAAA,MAAM,OAAA;AACf,mFAA8E;AAArE,kHAAA,aAAa,OAAA"}
|
1
|
+
{"version":3,"file":"chains.js","sourceRoot":"","sources":["../../../src/exports/chains.ts"],"names":[],"mappings":";;;AAEA,8BAA8B;AAC9B,+CAI4B;AAH1B,uGAAA,WAAW,OAAA;AACX,4GAAA,gBAAgB,OAAA;AAChB,6GAAA,iBAAiB,OAAA;AAGnB;;GAEG;AACH,iEAA6D;AAApD,iGAAA,KAAK,OAAA;AACd,qEAAiE;AAAxD,qGAAA,OAAO,OAAA;AAChB,iFAA4E;AAAnE,gHAAA,YAAY,OAAA;AACrB,uFAAkF;AAAzE,sHAAA,eAAe,OAAA;AACxB,uEAAmE;AAA1D,uGAAA,QAAQ,OAAA;AACjB,mFAA8E;AAArE,kHAAA,aAAa,OAAA;AACtB,yEAAqE;AAA5D,yGAAA,SAAS,OAAA;AAClB,+EAA0E;AAAjE,8GAAA,WAAW,OAAA;AACpB,+DAA2D;AAAlD,+FAAA,IAAI,OAAA;AACb,+BAA+B;AAC/B,uEAA4E;AAAnE,uGAAA,QAAQ,OAAA;AAAE,sGAAA,OAAO,OAAA;AAC1B,iEAA6D;AAApD,iGAAA,KAAK,OAAA;AACd,uFAAkF;AAAzE,sHAAA,eAAe,OAAA;AACxB,uEAAmE;AAA1D,uGAAA,QAAQ,OAAA;AACjB,iFAA4E;AAAnE,gHAAA,YAAY,OAAA;AACrB,iEAA6D;AAApD,iGAAA,KAAK,OAAA;AACd,mCAAmC;AACnC,mFAGuD;AAFrD,kHAAA,aAAa,OAAA;AACb,2GAAA,MAAM,OAAA;AAER,+EAA0E;AAAjE,8GAAA,WAAW,OAAA;AACpB,qEAAiE;AAAxD,qGAAA,OAAO,OAAA;AAChB,qEAAiE;AAAxD,qGAAA,OAAO,OAAA;AAChB,+EAA0E;AAAjE,8GAAA,WAAW,OAAA;AACpB,+DAA2D;AAAlD,+FAAA,IAAI,OAAA;AACb,6DAAyD;AAAhD,6FAAA,GAAG,OAAA;AACZ,6EAAwE;AAA/D,4GAAA,UAAU,OAAA;AACnB,mEAA+D;AAAtD,mGAAA,MAAM,OAAA;AACf,mFAA8E;AAArE,kHAAA,aAAa,OAAA"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.tokensMintedWithSignatureEvent = exports.claimConditionsUpdatedEvent = exports.tokensClaimedEvent = exports.tokensMintedEvent = exports.approvalEvent = exports.transferEvent = exports.withdraw = exports.deposit = exports.generateMintSignature = exports.mintWithSignature = exports.setClaimConditions = exports.claimTo = exports.getActiveClaimCondition = exports.claimCondition = exports.getClaimConditionById = exports.burnFrom = exports.burn = exports.approve = exports.transferFrom = exports.transfer = exports.mintTo = exports.getCurrencyMetadata = exports.allowance = exports.totalSupply = exports.decimals = exports.balanceOf = exports.getBalance = exports.isERC20 = void 0;
|
3
|
+
exports.tokensMintedWithSignatureEvent = exports.claimConditionsUpdatedEvent = exports.tokensClaimedEvent = exports.tokensMintedEvent = exports.approvalEvent = exports.transferEvent = exports.withdraw = exports.deposit = exports.generateMintSignature = exports.mintWithSignature = exports.setClaimConditions = exports.claimTo = exports.getActiveClaimCondition = exports.claimCondition = exports.getClaimConditionById = exports.burnFrom = exports.burn = exports.approve = exports.transferBatch = exports.transferFrom = exports.transfer = exports.mintTo = exports.getCurrencyMetadata = exports.allowance = exports.totalSupply = exports.decimals = exports.balanceOf = exports.getBalance = exports.isERC20 = void 0;
|
4
4
|
// read
|
5
5
|
var isERC20_js_1 = require("../../extensions/erc20/read/isERC20.js");
|
6
6
|
Object.defineProperty(exports, "isERC20", { enumerable: true, get: function () { return isERC20_js_1.isERC20; } });
|
@@ -23,6 +23,8 @@ var transfer_js_1 = require("../../extensions/erc20/write/transfer.js");
|
|
23
23
|
Object.defineProperty(exports, "transfer", { enumerable: true, get: function () { return transfer_js_1.transfer; } });
|
24
24
|
var transferFrom_js_1 = require("../../extensions/erc20/write/transferFrom.js");
|
25
25
|
Object.defineProperty(exports, "transferFrom", { enumerable: true, get: function () { return transferFrom_js_1.transferFrom; } });
|
26
|
+
var transferBatch_js_1 = require("../../extensions/erc20/write/transferBatch.js");
|
27
|
+
Object.defineProperty(exports, "transferBatch", { enumerable: true, get: function () { return transferBatch_js_1.transferBatch; } });
|
26
28
|
var approve_js_1 = require("../../extensions/erc20/write/approve.js");
|
27
29
|
Object.defineProperty(exports, "approve", { enumerable: true, get: function () { return approve_js_1.approve; } });
|
28
30
|
var burn_js_1 = require("../../extensions/erc20/__generated__/IBurnableERC20/write/burn.js");
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../../src/exports/extensions/erc20.ts"],"names":[],"mappings":";;;AAAA,OAAO;AACP,qEAAiE;AAAxD,qGAAA,OAAO,OAAA;AAChB,2EAImD;AAHjD,2GAAA,UAAU,OAAA;AAIZ,8FAGuE;AAFrE,yGAAA,SAAS,OAAA;AAGX,uEAAmE;AAA1D,uGAAA,QAAQ,OAAA;AACjB,kGAA8F;AAArF,6GAAA,WAAW,OAAA;AACpB,8FAGuE;AAFrE,yGAAA,SAAS,OAAA;AAGX,6FAG4D;AAF1D,6HAAA,mBAAmB,OAAA;AAIrB,QAAQ;AACR,oEAGgD;AAF9C,mGAAA,MAAM,OAAA;AAGR,wEAGkD;AAFhD,uGAAA,QAAQ,OAAA;AAGV,gFAGsD;AAFpD,+GAAA,YAAY,OAAA;AAGd,sEAGiD;AAF/C,qGAAA,OAAO,OAAA;AAGT,6FAG2E;AAFzE,+FAAA,IAAI,OAAA;AAGN,qGAG+E;AAF7E,uGAAA,QAAQ,OAAA;AAIV;;GAEG;AACH,0HAAsH;AAA7G,iIAAA,qBAAqB,OAAA;AAC9B,iHAA6G;AAApG,mHAAA,cAAc,OAAA;AACvB,2GAAuG;AAA9F,qIAAA,uBAAuB,OAAA;AAChC,4EAGuD;AAFrD,qGAAA,OAAO,OAAA;AAGT,kGAGkE;AAFhE,2HAAA,kBAAkB,OAAA;AAIpB;;GAEG;AACH,sEAIiD;AAH/C,+GAAA,iBAAiB,OAAA;AAEjB,mHAAA,qBAAqB,OAAA;AAGvB,+BAA+B;AAC/B,OAAO;AACP,+BAA+B;AAC/B,sEAGiD;AAF/C,qGAAA,OAAO,OAAA;AAGT,4FAGsE;AAFpE,uGAAA,QAAQ,OAAA;AAIV,SAAS;AACT,8FAGwE;AAFtE,4GAAA,aAAa,OAAA;AAGf,8FAGwE;AAFtE,4GAAA,aAAa,OAAA;AAGf,8GAGoF;AAFlF,oHAAA,iBAAiB,OAAA;AAGnB,4GAGiF;AAF/E,sHAAA,kBAAkB,OAAA;AAGpB,8HAA+H;AAAtH,wIAAA,2BAA2B,OAAA;AACpC,6IAGsG;AAFpG,8IAAA,8BAA8B,OAAA"}
|
1
|
+
{"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../../src/exports/extensions/erc20.ts"],"names":[],"mappings":";;;AAAA,OAAO;AACP,qEAAiE;AAAxD,qGAAA,OAAO,OAAA;AAChB,2EAImD;AAHjD,2GAAA,UAAU,OAAA;AAIZ,8FAGuE;AAFrE,yGAAA,SAAS,OAAA;AAGX,uEAAmE;AAA1D,uGAAA,QAAQ,OAAA;AACjB,kGAA8F;AAArF,6GAAA,WAAW,OAAA;AACpB,8FAGuE;AAFrE,yGAAA,SAAS,OAAA;AAGX,6FAG4D;AAF1D,6HAAA,mBAAmB,OAAA;AAIrB,QAAQ;AACR,oEAGgD;AAF9C,mGAAA,MAAM,OAAA;AAGR,wEAGkD;AAFhD,uGAAA,QAAQ,OAAA;AAGV,gFAGsD;AAFpD,+GAAA,YAAY,OAAA;AAGd,kFAGuD;AAFrD,iHAAA,aAAa,OAAA;AAGf,sEAGiD;AAF/C,qGAAA,OAAO,OAAA;AAGT,6FAG2E;AAFzE,+FAAA,IAAI,OAAA;AAGN,qGAG+E;AAF7E,uGAAA,QAAQ,OAAA;AAIV;;GAEG;AACH,0HAAsH;AAA7G,iIAAA,qBAAqB,OAAA;AAC9B,iHAA6G;AAApG,mHAAA,cAAc,OAAA;AACvB,2GAAuG;AAA9F,qIAAA,uBAAuB,OAAA;AAChC,4EAGuD;AAFrD,qGAAA,OAAO,OAAA;AAGT,kGAGkE;AAFhE,2HAAA,kBAAkB,OAAA;AAIpB;;GAEG;AACH,sEAIiD;AAH/C,+GAAA,iBAAiB,OAAA;AAEjB,mHAAA,qBAAqB,OAAA;AAGvB,+BAA+B;AAC/B,OAAO;AACP,+BAA+B;AAC/B,sEAGiD;AAF/C,qGAAA,OAAO,OAAA;AAGT,4FAGsE;AAFpE,uGAAA,QAAQ,OAAA;AAIV,SAAS;AACT,8FAGwE;AAFtE,4GAAA,aAAa,OAAA;AAGf,8FAGwE;AAFtE,4GAAA,aAAa,OAAA;AAGf,8GAGoF;AAFlF,oHAAA,iBAAiB,OAAA;AAGnB,4GAGiF;AAF/E,sHAAA,kBAAkB,OAAA;AAGpB,8HAA+H;AAAtH,wIAAA,2BAA2B,OAAA;AACpC,6IAGsG;AAFpG,8IAAA,8BAA8B,OAAA"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.fromBytes = exports.bytesToString = exports.bytesToNumber = exports.bytesToBool = exports.bytesToBigInt = exports.toBytes = exports.stringToBytes = exports.numberToBytes = exports.hexToBytes = exports.boolToBytes = exports.concatHex = exports.uint8ArrayToHex = exports.toHex = exports.stringToHex = exports.padHex = exports.numberToHex = exports.isHex = exports.hexToUint8Array = exports.hexToString = exports.hexToNumber = exports.hexToBool = exports.hexToBigInt = exports.fromHex = exports.boolToHex = exports.signTypedData = exports.signMessage = exports.signatureToHex = exports.sign = exports.resolveSignatures = exports.resolveSignature = exports.getKeylessTransaction = exports.keccakId = exports.isEIP155Enforced = exports.getSaltHash = exports.getInitBytecodeWithSalt = exports.computeDeploymentAddress = exports.computeCreate2FactoryAddress = exports.getDeployedCreate2Factory = exports.deployCreate2Factory = exports.fromGwei = exports.toWei = exports.toUnits = exports.toTokens = exports.toEther = exports.resolveImplementation = exports.ensureBytecodePrefix = exports.isContractDeployed = exports.extractMinimalProxyImplementationAddress = exports.extractIPFSUri = exports.detectMethod = void 0;
|
4
|
-
exports.maxUint256 = exports.stringify = exports.resolvePromisedValue = exports.setThirdwebDomains = exports.encodePacked = exports.encodeAbiParameters = exports.shortenHex = exports.shortenAddress = exports.isAddress = exports.getAddress = exports.checksumAddress = exports.hashMessage = exports.sha256 = exports.keccak256 = void 0;
|
4
|
+
exports.refreshJWT = exports.encodeJWT = exports.decodeJWT = exports.maxUint256 = exports.stringify = exports.resolvePromisedValue = exports.setThirdwebDomains = exports.encodePacked = exports.encodeAbiParameters = exports.shortenHex = exports.shortenAddress = exports.isAddress = exports.getAddress = exports.checksumAddress = exports.hashMessage = exports.sha256 = exports.keccak256 = void 0;
|
5
5
|
// bytecode
|
6
6
|
var detectExtension_js_1 = require("../utils/bytecode/detectExtension.js");
|
7
7
|
Object.defineProperty(exports, "detectMethod", { enumerable: true, get: function () { return detectExtension_js_1.detectMethod; } });
|
@@ -132,4 +132,13 @@ Object.defineProperty(exports, "stringify", { enumerable: true, get: function ()
|
|
132
132
|
// ------------------------------------------------
|
133
133
|
var viem_2 = require("viem");
|
134
134
|
Object.defineProperty(exports, "maxUint256", { enumerable: true, get: function () { return viem_2.maxUint256; } });
|
135
|
+
// ------------------------------------------------
|
136
|
+
// jwt
|
137
|
+
// ------------------------------------------------
|
138
|
+
var decode_jwt_js_1 = require("../utils/jwt/decode-jwt.js");
|
139
|
+
Object.defineProperty(exports, "decodeJWT", { enumerable: true, get: function () { return decode_jwt_js_1.decodeJWT; } });
|
140
|
+
var encode_jwt_js_1 = require("../utils/jwt/encode-jwt.js");
|
141
|
+
Object.defineProperty(exports, "encodeJWT", { enumerable: true, get: function () { return encode_jwt_js_1.encodeJWT; } });
|
142
|
+
var refresh_jwt_js_1 = require("../utils/jwt/refresh-jwt.js");
|
143
|
+
Object.defineProperty(exports, "refreshJWT", { enumerable: true, get: function () { return refresh_jwt_js_1.refreshJWT; } });
|
135
144
|
//# sourceMappingURL=utils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/exports/utils.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/exports/utils.ts"],"names":[],"mappings":"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"}
|
@@ -1,10 +1,19 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.DEFAULT_ACCOUNT_FACTORY = exports.ENTRYPOINT_ADDRESS_v0_6 = exports.waitForUserOpReceipt = exports.smartWallet = void 0;
|
3
|
+
exports.DEFAULT_ACCOUNT_FACTORY = exports.ENTRYPOINT_ADDRESS_v0_6 = exports.predictAddress = exports.estimateUserOpGas = exports.getUserOpGasFees = exports.bundleUserOp = exports.getUserOpReceipt = exports.signUserOp = exports.createUnsignedUserOp = exports.waitForUserOpReceipt = exports.smartWallet = void 0;
|
4
4
|
var smart_wallet_js_1 = require("../../wallets/smart/smart-wallet.js");
|
5
5
|
Object.defineProperty(exports, "smartWallet", { enumerable: true, get: function () { return smart_wallet_js_1.smartWallet; } });
|
6
6
|
var userop_js_1 = require("../../wallets/smart/lib/userop.js");
|
7
7
|
Object.defineProperty(exports, "waitForUserOpReceipt", { enumerable: true, get: function () { return userop_js_1.waitForUserOpReceipt; } });
|
8
|
+
Object.defineProperty(exports, "createUnsignedUserOp", { enumerable: true, get: function () { return userop_js_1.createUnsignedUserOp; } });
|
9
|
+
Object.defineProperty(exports, "signUserOp", { enumerable: true, get: function () { return userop_js_1.signUserOp; } });
|
10
|
+
var bundler_js_1 = require("../../wallets/smart/lib/bundler.js");
|
11
|
+
Object.defineProperty(exports, "getUserOpReceipt", { enumerable: true, get: function () { return bundler_js_1.getUserOpReceipt; } });
|
12
|
+
Object.defineProperty(exports, "bundleUserOp", { enumerable: true, get: function () { return bundler_js_1.bundleUserOp; } });
|
13
|
+
Object.defineProperty(exports, "getUserOpGasFees", { enumerable: true, get: function () { return bundler_js_1.getUserOpGasFees; } });
|
14
|
+
Object.defineProperty(exports, "estimateUserOpGas", { enumerable: true, get: function () { return bundler_js_1.estimateUserOpGas; } });
|
15
|
+
var calls_js_1 = require("../../wallets/smart/lib/calls.js");
|
16
|
+
Object.defineProperty(exports, "predictAddress", { enumerable: true, get: function () { return calls_js_1.predictAddress; } });
|
8
17
|
var constants_js_1 = require("../../wallets/smart/lib/constants.js");
|
9
18
|
Object.defineProperty(exports, "ENTRYPOINT_ADDRESS_v0_6", { enumerable: true, get: function () { return constants_js_1.ENTRYPOINT_ADDRESS_v0_6; } });
|
10
19
|
Object.defineProperty(exports, "DEFAULT_ACCOUNT_FACTORY", { enumerable: true, get: function () { return constants_js_1.DEFAULT_ACCOUNT_FACTORY; } });
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"smart.js","sourceRoot":"","sources":["../../../../src/exports/wallets/smart.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAAzD,8GAAA,WAAW,OAAA;AAEpB,+
|
1
|
+
{"version":3,"file":"smart.js","sourceRoot":"","sources":["../../../../src/exports/wallets/smart.ts"],"names":[],"mappings":";;;AAAA,uEAAkE;AAAzD,8GAAA,WAAW,OAAA;AAEpB,+DAI2C;AAHzC,iHAAA,oBAAoB,OAAA;AACpB,iHAAA,oBAAoB,OAAA;AACpB,uGAAA,UAAU,OAAA;AAGZ,iEAK4C;AAJ1C,8GAAA,gBAAgB,OAAA;AAChB,0GAAA,YAAY,OAAA;AACZ,8GAAA,gBAAgB,OAAA;AAChB,+GAAA,iBAAiB,OAAA;AAGnB,6DAAkE;AAAzD,0GAAA,cAAc,OAAA;AASvB,qEAG8C;AAF5C,uHAAA,uBAAuB,OAAA;AACvB,uHAAA,uBAAuB,OAAA"}
|
@@ -7,6 +7,7 @@ const isValidSignature_js_1 = require("./__generated__/isValidSignature/read/isV
|
|
7
7
|
const MAGIC_VALUE = "0x1626ba7e";
|
8
8
|
/**
|
9
9
|
* Checks if a contract wallet signature is valid.
|
10
|
+
* @deprecated Use `verifySignature` instead
|
10
11
|
* @param options - The options for the checkContractWalletSignature function.
|
11
12
|
* @param options.contract - The contract to check the signature against.
|
12
13
|
* @param options.message - The message to check the signature against.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"checkContractWalletSignature.js","sourceRoot":"","sources":["../../../../src/extensions/erc1271/checkContractWalletSignature.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"checkContractWalletSignature.js","sourceRoot":"","sources":["../../../../src/extensions/erc1271/checkContractWalletSignature.ts"],"names":[],"mappings":";;AA+BA,oEAYC;AA3CD,+BAAyD;AAEzD,wDAAoD;AACpD,mGAA6F;AAO7F,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,4BAA4B,CAChD,OAA4C;IAE5C,IAAI,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAgB,EAAC;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,IAAA,kBAAW,EAAC,OAAO,CAAC,OAAO,CAAC;QAClC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,OAAO,MAAM,KAAK,WAAW,CAAC;AAChC,CAAC"}
|
@@ -7,6 +7,7 @@ const isValidSignature_js_1 = require("./__generated__/isValidSignature/read/isV
|
|
7
7
|
const MAGIC_VALUE = "0x1626ba7e";
|
8
8
|
/**
|
9
9
|
* Checks if a contract wallet signature is valid.
|
10
|
+
* @deprecated Use `verifyTypedData` instead
|
10
11
|
* @param options - The options for the checkContractWalletSignature function.
|
11
12
|
* @param options.contract - The contract to check the signature against.
|
12
13
|
* @param options.message - The message to check the signature against.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"checkContractWalletSignedTypedData.js","sourceRoot":"","sources":["../../../../src/extensions/erc1271/checkContractWalletSignedTypedData.ts"],"names":[],"mappings":";;
|
1
|
+
{"version":3,"file":"checkContractWalletSignedTypedData.js","sourceRoot":"","sources":["../../../../src/extensions/erc1271/checkContractWalletSignedTypedData.ts"],"names":[],"mappings":";;AAwCA,gFAaC;AArDD,+BAA+E;AAE/E,wDAAoD;AACpD,mGAA6F;AAU7F,MAAM,WAAW,GAAG,YAAY,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACI,KAAK,UAAU,kCAAkC,CAGtD,OAAwE;IACxE,IAAI,CAAC,IAAA,cAAK,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAgB,EAAC;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,IAAI,EAAE,IAAA,oBAAa,EAAC,OAAO,CAAC,IAAI,CAAC;QACjC,SAAS,EAAE,OAAO,CAAC,SAAS;KAC7B,CAAC,CAAC;IACH,OAAO,MAAM,KAAK,WAAW,CAAC;AAChC,CAAC"}
|
@@ -0,0 +1,61 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.transferBatch = transferBatch;
|
4
|
+
const units_js_1 = require("../../../utils/units.js");
|
5
|
+
const multicall_js_1 = require("../../common/__generated__/IMulticall/write/multicall.js");
|
6
|
+
const transfer_js_1 = require("../__generated__/IERC20/write/transfer.js");
|
7
|
+
/**
|
8
|
+
* Transfers a batch of ERC20 tokens from the sender's address to the specified recipient address.
|
9
|
+
* @param options - The options for the batch transfer transaction.
|
10
|
+
* @returns A promise that resolves to the prepared transaction.
|
11
|
+
* @extension ERC20
|
12
|
+
* @example
|
13
|
+
* ```ts
|
14
|
+
* import { transferBatch } from "thirdweb/extensions/erc20";
|
15
|
+
* import { sendTransaction } from "thirdweb";
|
16
|
+
*
|
17
|
+
* const transaction = transferBatch({
|
18
|
+
* contract,
|
19
|
+
* batch: [
|
20
|
+
* {
|
21
|
+
* to: "0x...",
|
22
|
+
* amount: 100,
|
23
|
+
* },
|
24
|
+
* {
|
25
|
+
* to: "0x...",
|
26
|
+
* amount: "0.1",
|
27
|
+
* },
|
28
|
+
* ]);
|
29
|
+
*
|
30
|
+
* await sendTransaction({ transaction, account });
|
31
|
+
* ```
|
32
|
+
*/
|
33
|
+
function transferBatch(options) {
|
34
|
+
return (0, multicall_js_1.multicall)({
|
35
|
+
contract: options.contract,
|
36
|
+
asyncParams: async () => {
|
37
|
+
return {
|
38
|
+
data: await Promise.all(options.batch.map(async (transfer) => {
|
39
|
+
let amount;
|
40
|
+
if ("amount" in transfer) {
|
41
|
+
// if we need to parse the amount from ether to gwei then we pull in the decimals extension
|
42
|
+
const { decimals } = await Promise.resolve().then(() => require("../read/decimals.js"));
|
43
|
+
// it's OK to call this multiple times because the call is cached
|
44
|
+
// if this fails we fall back to `18` decimals
|
45
|
+
const d = await decimals(options).catch(() => 18);
|
46
|
+
// turn ether into gwei
|
47
|
+
amount = (0, units_js_1.toUnits)(transfer.amount.toString(), d);
|
48
|
+
}
|
49
|
+
else {
|
50
|
+
amount = transfer.amountWei;
|
51
|
+
}
|
52
|
+
return (0, transfer_js_1.encodeTransfer)({
|
53
|
+
to: transfer.to,
|
54
|
+
value: amount,
|
55
|
+
});
|
56
|
+
})),
|
57
|
+
};
|
58
|
+
},
|
59
|
+
});
|
60
|
+
}
|
61
|
+
//# sourceMappingURL=transferBatch.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"transferBatch.js","sourceRoot":"","sources":["../../../../../src/extensions/erc20/write/transferBatch.ts"],"names":[],"mappings":";;AA+CA,sCA8BC;AA3ED,sDAAkD;AAClD,2FAAqF;AACrF,2EAA2E;AAiB3E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,aAAa,CAC3B,OAAoD;IAEpD,OAAO,IAAA,wBAAS,EAAC;QACf,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,WAAW,EAAE,KAAK,IAAI,EAAE;YACtB,OAAO;gBACL,IAAI,EAAE,MAAM,OAAO,CAAC,GAAG,CACrB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;oBACnC,IAAI,MAAc,CAAC;oBACnB,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;wBACzB,2FAA2F;wBAC3F,MAAM,EAAE,QAAQ,EAAE,GAAG,2CAAa,qBAAqB,EAAC,CAAC;wBACzD,iEAAiE;wBACjE,8CAA8C;wBAC9C,MAAM,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;wBAClD,uBAAuB;wBACvB,MAAM,GAAG,IAAA,kBAAO,EAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;oBAClD,CAAC;yBAAM,CAAC;wBACN,MAAM,GAAG,QAAQ,CAAC,SAAS,CAAC;oBAC9B,CAAC;oBACD,OAAO,IAAA,4BAAc,EAAC;wBACpB,EAAE,EAAE,QAAQ,CAAC,EAAE;wBACf,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC;gBACL,CAAC,CAAC,CACH;aACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
|