thirdweb 5.105.44 → 5.105.45
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/extensions/erc1155/drops/write/claimTo.js +1 -0
- package/dist/cjs/extensions/erc1155/drops/write/claimTo.js.map +1 -1
- package/dist/cjs/extensions/erc1155/drops/write/resetClaimEligibility.js +2 -0
- package/dist/cjs/extensions/erc1155/drops/write/resetClaimEligibility.js.map +1 -1
- package/dist/cjs/extensions/erc1155/drops/write/setClaimConditions.js +1 -0
- package/dist/cjs/extensions/erc1155/drops/write/setClaimConditions.js.map +1 -1
- package/dist/cjs/extensions/erc1155/drops/write/updateMetadata.js +1 -0
- package/dist/cjs/extensions/erc1155/drops/write/updateMetadata.js.map +1 -1
- package/dist/cjs/extensions/erc1155/write/lazyMint.js +1 -0
- package/dist/cjs/extensions/erc1155/write/lazyMint.js.map +1 -1
- package/dist/cjs/extensions/erc1155/write/mintAdditionalSupplyTo.js +1 -0
- package/dist/cjs/extensions/erc1155/write/mintAdditionalSupplyTo.js.map +1 -1
- package/dist/cjs/extensions/erc1155/write/updateTokenURI.js +1 -0
- package/dist/cjs/extensions/erc1155/write/updateTokenURI.js.map +1 -1
- package/dist/cjs/extensions/erc20/drops/write/claimTo.js +1 -0
- package/dist/cjs/extensions/erc20/drops/write/claimTo.js.map +1 -1
- package/dist/cjs/extensions/erc20/drops/write/resetClaimEligibility.js +1 -0
- package/dist/cjs/extensions/erc20/drops/write/resetClaimEligibility.js.map +1 -1
- package/dist/cjs/extensions/erc20/drops/write/setClaimConditions.js +1 -0
- package/dist/cjs/extensions/erc20/drops/write/setClaimConditions.js.map +1 -1
- package/dist/cjs/extensions/erc20/write/approve.js +1 -0
- package/dist/cjs/extensions/erc20/write/approve.js.map +1 -1
- package/dist/cjs/extensions/erc20/write/deposit.js +1 -0
- package/dist/cjs/extensions/erc20/write/deposit.js.map +1 -1
- package/dist/cjs/extensions/erc20/write/transferBatch.js +1 -0
- package/dist/cjs/extensions/erc20/write/transferBatch.js.map +1 -1
- package/dist/cjs/extensions/erc721/drops/write/claimTo.js +1 -0
- package/dist/cjs/extensions/erc721/drops/write/claimTo.js.map +1 -1
- package/dist/cjs/extensions/erc721/drops/write/resetClaimEligibility.js +1 -0
- package/dist/cjs/extensions/erc721/drops/write/resetClaimEligibility.js.map +1 -1
- package/dist/cjs/extensions/erc721/drops/write/setClaimConditions.js +1 -0
- package/dist/cjs/extensions/erc721/drops/write/setClaimConditions.js.map +1 -1
- package/dist/cjs/extensions/erc721/drops/write/updateMetadata.js +1 -0
- package/dist/cjs/extensions/erc721/drops/write/updateMetadata.js.map +1 -1
- package/dist/cjs/extensions/erc721/write/lazyMint.js +1 -0
- package/dist/cjs/extensions/erc721/write/lazyMint.js.map +1 -1
- package/dist/cjs/extensions/erc721/write/setSharedMetadata.js +1 -0
- package/dist/cjs/extensions/erc721/write/setSharedMetadata.js.map +1 -1
- package/dist/cjs/extensions/erc721/write/updateTokenURI.js +1 -0
- package/dist/cjs/extensions/erc721/write/updateTokenURI.js.map +1 -1
- package/dist/cjs/extensions/erc7702/account/createSessionKey.js +1 -0
- package/dist/cjs/extensions/erc7702/account/createSessionKey.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/in-app/core/eip7702/minimal-account.js +28 -20
- package/dist/cjs/wallets/in-app/core/eip7702/minimal-account.js.map +1 -1
- package/dist/cjs/wallets/injected/index.js +35 -5
- package/dist/cjs/wallets/injected/index.js.map +1 -1
- package/dist/esm/extensions/erc1155/drops/write/claimTo.js +1 -0
- package/dist/esm/extensions/erc1155/drops/write/claimTo.js.map +1 -1
- package/dist/esm/extensions/erc1155/drops/write/resetClaimEligibility.js +2 -0
- package/dist/esm/extensions/erc1155/drops/write/resetClaimEligibility.js.map +1 -1
- package/dist/esm/extensions/erc1155/drops/write/setClaimConditions.js +1 -0
- package/dist/esm/extensions/erc1155/drops/write/setClaimConditions.js.map +1 -1
- package/dist/esm/extensions/erc1155/drops/write/updateMetadata.js +1 -0
- package/dist/esm/extensions/erc1155/drops/write/updateMetadata.js.map +1 -1
- package/dist/esm/extensions/erc1155/write/lazyMint.js +1 -0
- package/dist/esm/extensions/erc1155/write/lazyMint.js.map +1 -1
- package/dist/esm/extensions/erc1155/write/mintAdditionalSupplyTo.js +1 -0
- package/dist/esm/extensions/erc1155/write/mintAdditionalSupplyTo.js.map +1 -1
- package/dist/esm/extensions/erc1155/write/updateTokenURI.js +1 -0
- package/dist/esm/extensions/erc1155/write/updateTokenURI.js.map +1 -1
- package/dist/esm/extensions/erc20/drops/write/claimTo.js +1 -0
- package/dist/esm/extensions/erc20/drops/write/claimTo.js.map +1 -1
- package/dist/esm/extensions/erc20/drops/write/resetClaimEligibility.js +1 -0
- package/dist/esm/extensions/erc20/drops/write/resetClaimEligibility.js.map +1 -1
- package/dist/esm/extensions/erc20/drops/write/setClaimConditions.js +1 -0
- package/dist/esm/extensions/erc20/drops/write/setClaimConditions.js.map +1 -1
- package/dist/esm/extensions/erc20/write/approve.js +1 -0
- package/dist/esm/extensions/erc20/write/approve.js.map +1 -1
- package/dist/esm/extensions/erc20/write/deposit.js +1 -0
- package/dist/esm/extensions/erc20/write/deposit.js.map +1 -1
- package/dist/esm/extensions/erc20/write/transferBatch.js +1 -0
- package/dist/esm/extensions/erc20/write/transferBatch.js.map +1 -1
- package/dist/esm/extensions/erc721/drops/write/claimTo.js +1 -0
- package/dist/esm/extensions/erc721/drops/write/claimTo.js.map +1 -1
- package/dist/esm/extensions/erc721/drops/write/resetClaimEligibility.js +1 -0
- package/dist/esm/extensions/erc721/drops/write/resetClaimEligibility.js.map +1 -1
- package/dist/esm/extensions/erc721/drops/write/setClaimConditions.js +1 -0
- package/dist/esm/extensions/erc721/drops/write/setClaimConditions.js.map +1 -1
- package/dist/esm/extensions/erc721/drops/write/updateMetadata.js +1 -0
- package/dist/esm/extensions/erc721/drops/write/updateMetadata.js.map +1 -1
- package/dist/esm/extensions/erc721/write/lazyMint.js +1 -0
- package/dist/esm/extensions/erc721/write/lazyMint.js.map +1 -1
- package/dist/esm/extensions/erc721/write/setSharedMetadata.js +1 -0
- package/dist/esm/extensions/erc721/write/setSharedMetadata.js.map +1 -1
- package/dist/esm/extensions/erc721/write/updateTokenURI.js +1 -0
- package/dist/esm/extensions/erc721/write/updateTokenURI.js.map +1 -1
- package/dist/esm/extensions/erc7702/account/createSessionKey.js +1 -0
- package/dist/esm/extensions/erc7702/account/createSessionKey.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/in-app/core/eip7702/minimal-account.js +28 -20
- package/dist/esm/wallets/in-app/core/eip7702/minimal-account.js.map +1 -1
- package/dist/esm/wallets/injected/index.js +36 -6
- package/dist/esm/wallets/injected/index.js.map +1 -1
- package/dist/types/extensions/erc1155/drops/write/claimTo.d.ts +2 -2
- package/dist/types/extensions/erc1155/drops/write/claimTo.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/drops/write/resetClaimEligibility.d.ts +2 -2
- package/dist/types/extensions/erc1155/drops/write/resetClaimEligibility.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/drops/write/setClaimConditions.d.ts +2 -2
- package/dist/types/extensions/erc1155/drops/write/setClaimConditions.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/drops/write/updateMetadata.d.ts +2 -2
- package/dist/types/extensions/erc1155/drops/write/updateMetadata.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/write/lazyMint.d.ts +3 -3
- package/dist/types/extensions/erc1155/write/lazyMint.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/write/mintAdditionalSupplyTo.d.ts +3 -3
- package/dist/types/extensions/erc1155/write/mintAdditionalSupplyTo.d.ts.map +1 -1
- package/dist/types/extensions/erc1155/write/updateTokenURI.d.ts +3 -3
- package/dist/types/extensions/erc1155/write/updateTokenURI.d.ts.map +1 -1
- package/dist/types/extensions/erc20/drops/write/claimTo.d.ts +2 -2
- package/dist/types/extensions/erc20/drops/write/claimTo.d.ts.map +1 -1
- package/dist/types/extensions/erc20/drops/write/resetClaimEligibility.d.ts +2 -2
- package/dist/types/extensions/erc20/drops/write/resetClaimEligibility.d.ts.map +1 -1
- package/dist/types/extensions/erc20/drops/write/setClaimConditions.d.ts +2 -2
- package/dist/types/extensions/erc20/drops/write/setClaimConditions.d.ts.map +1 -1
- package/dist/types/extensions/erc20/write/approve.d.ts +3 -3
- package/dist/types/extensions/erc20/write/approve.d.ts.map +1 -1
- package/dist/types/extensions/erc20/write/deposit.d.ts +3 -3
- package/dist/types/extensions/erc20/write/deposit.d.ts.map +1 -1
- package/dist/types/extensions/erc20/write/transferBatch.d.ts +3 -3
- package/dist/types/extensions/erc20/write/transferBatch.d.ts.map +1 -1
- package/dist/types/extensions/erc721/drops/write/claimTo.d.ts +2 -2
- package/dist/types/extensions/erc721/drops/write/claimTo.d.ts.map +1 -1
- package/dist/types/extensions/erc721/drops/write/resetClaimEligibility.d.ts +2 -2
- package/dist/types/extensions/erc721/drops/write/resetClaimEligibility.d.ts.map +1 -1
- package/dist/types/extensions/erc721/drops/write/setClaimConditions.d.ts +2 -2
- package/dist/types/extensions/erc721/drops/write/setClaimConditions.d.ts.map +1 -1
- package/dist/types/extensions/erc721/drops/write/updateMetadata.d.ts +2 -2
- package/dist/types/extensions/erc721/drops/write/updateMetadata.d.ts.map +1 -1
- package/dist/types/extensions/erc721/write/lazyMint.d.ts +3 -3
- package/dist/types/extensions/erc721/write/lazyMint.d.ts.map +1 -1
- package/dist/types/extensions/erc721/write/setSharedMetadata.d.ts +3 -3
- package/dist/types/extensions/erc721/write/setSharedMetadata.d.ts.map +1 -1
- package/dist/types/extensions/erc721/write/updateTokenURI.d.ts +3 -3
- package/dist/types/extensions/erc721/write/updateTokenURI.d.ts.map +1 -1
- package/dist/types/extensions/erc7702/account/createSessionKey.d.ts +2 -2
- package/dist/types/extensions/erc7702/account/createSessionKey.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/in-app/core/eip7702/minimal-account.d.ts.map +1 -1
- package/dist/types/wallets/injected/index.d.ts +1 -1
- package/dist/types/wallets/injected/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/extensions/erc1155/drops/write/claimTo.ts +8 -2
- package/src/extensions/erc1155/drops/write/resetClaimEligibility.ts +9 -2
- package/src/extensions/erc1155/drops/write/setClaimConditions.ts +6 -2
- package/src/extensions/erc1155/drops/write/updateMetadata.ts +6 -2
- package/src/extensions/erc1155/write/lazyMint.ts +7 -3
- package/src/extensions/erc1155/write/mintAdditionalSupplyTo.ts +7 -3
- package/src/extensions/erc1155/write/updateTokenURI.ts +7 -3
- package/src/extensions/erc20/drops/write/claimTo.ts +8 -2
- package/src/extensions/erc20/drops/write/resetClaimEligibility.ts +8 -2
- package/src/extensions/erc20/drops/write/setClaimConditions.ts +6 -2
- package/src/extensions/erc20/write/approve.ts +15 -9
- package/src/extensions/erc20/write/deposit.ts +8 -3
- package/src/extensions/erc20/write/transferBatch.ts +19 -13
- package/src/extensions/erc721/drops/write/claimTo.ts +8 -2
- package/src/extensions/erc721/drops/write/resetClaimEligibility.ts +8 -2
- package/src/extensions/erc721/drops/write/setClaimConditions.ts +6 -2
- package/src/extensions/erc721/drops/write/updateMetadata.ts +6 -2
- package/src/extensions/erc721/read/getNFT.test.ts +2 -1
- package/src/extensions/erc721/write/lazyMint.ts +7 -3
- package/src/extensions/erc721/write/setSharedMetadata.ts +7 -3
- package/src/extensions/erc721/write/updateTokenURI.ts +7 -3
- package/src/extensions/erc7702/account/createSessionKey.ts +6 -2
- package/src/version.ts +1 -1
- package/src/wallets/in-app/core/eip7702/minimal-account.ts +38 -25
- package/src/wallets/injected/index.ts +40 -6
@@ -1,5 +1,8 @@
|
|
1
1
|
import type { Hex } from "viem";
|
2
|
-
import type {
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../../transaction/types.js";
|
3
6
|
import type { ClaimCondition } from "../../../../utils/extensions/drops/types.js";
|
4
7
|
import {
|
5
8
|
isSetClaimConditionsSupported,
|
@@ -28,7 +31,9 @@ import {
|
|
28
31
|
* await sendTransaction({ transaction, account });
|
29
32
|
* ```
|
30
33
|
*/
|
31
|
-
export function resetClaimEligibility(
|
34
|
+
export function resetClaimEligibility(
|
35
|
+
options: BaseTransactionOptions<WithOverrides<{}>>,
|
36
|
+
) {
|
32
37
|
// download existing conditions
|
33
38
|
return setClaimConditions({
|
34
39
|
asyncParams: async () => {
|
@@ -48,6 +53,7 @@ export function resetClaimEligibility(options: BaseTransactionOptions) {
|
|
48
53
|
};
|
49
54
|
},
|
50
55
|
contract: options.contract,
|
56
|
+
overrides: options.overrides,
|
51
57
|
});
|
52
58
|
}
|
53
59
|
|
@@ -1,4 +1,7 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
BaseTransactionOptions,
|
3
|
+
WithOverrides,
|
4
|
+
} from "../../../../transaction/types.js";
|
2
5
|
import { getMulticallSetClaimConditionTransactions } from "../../../../utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js";
|
3
6
|
import type { ClaimConditionsInput } from "../../../../utils/extensions/drops/types.js";
|
4
7
|
import { isSetContractURISupported } from "../../../common/__generated__/IContractMetadata/write/setContractURI.js";
|
@@ -47,7 +50,7 @@ export type SetClaimConditionsParams = {
|
|
47
50
|
* ```
|
48
51
|
*/
|
49
52
|
export function setClaimConditions(
|
50
|
-
options: BaseTransactionOptions<SetClaimConditionsParams
|
53
|
+
options: BaseTransactionOptions<WithOverrides<SetClaimConditionsParams>>,
|
51
54
|
) {
|
52
55
|
return multicall({
|
53
56
|
asyncParams: async () => {
|
@@ -62,6 +65,7 @@ export function setClaimConditions(
|
|
62
65
|
};
|
63
66
|
},
|
64
67
|
contract: options.contract,
|
68
|
+
overrides: options.overrides,
|
65
69
|
});
|
66
70
|
}
|
67
71
|
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import type { Address } from "abitype";
|
2
|
-
import type {
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../transaction/types.js";
|
3
6
|
import type { Prettify } from "../../../utils/type-utils.js";
|
4
7
|
import { toUnits } from "../../../utils/units.js";
|
5
8
|
import { approve as generatedApprove } from "../__generated__/IERC20/write/approve.js";
|
@@ -9,14 +12,16 @@ import { approve as generatedApprove } from "../__generated__/IERC20/write/appro
|
|
9
12
|
* @extension ERC20
|
10
13
|
*/
|
11
14
|
export type ApproveParams = Prettify<
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
15
|
+
WithOverrides<
|
16
|
+
{ spender: Address } & (
|
17
|
+
| {
|
18
|
+
amount: number | string;
|
19
|
+
}
|
20
|
+
| {
|
21
|
+
amountWei: bigint;
|
22
|
+
}
|
23
|
+
)
|
24
|
+
>
|
20
25
|
>;
|
21
26
|
|
22
27
|
/**
|
@@ -58,6 +63,7 @@ export function approve(options: BaseTransactionOptions<ApproveParams>) {
|
|
58
63
|
amountWei: amount,
|
59
64
|
tokenAddress: options.contract.address,
|
60
65
|
},
|
66
|
+
...options.overrides,
|
61
67
|
},
|
62
68
|
spender: options.spender,
|
63
69
|
value: amount,
|
@@ -1,16 +1,20 @@
|
|
1
1
|
import { prepareContractCall } from "../../../transaction/prepare-contract-call.js";
|
2
|
-
import type {
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../transaction/types.js";
|
3
6
|
import { toWei } from "../../../utils/units.js";
|
4
7
|
import { FN_SELECTOR } from "../__generated__/IWETH/write/deposit.js";
|
5
8
|
|
6
9
|
/**
|
7
10
|
* @extension ERC20
|
8
11
|
*/
|
9
|
-
export type DepositParams =
|
12
|
+
export type DepositParams = WithOverrides<
|
10
13
|
| {
|
11
14
|
amount: string;
|
12
15
|
}
|
13
|
-
| { amountWei: bigint }
|
16
|
+
| { amountWei: bigint }
|
17
|
+
>;
|
14
18
|
|
15
19
|
/**
|
16
20
|
* Calls the "deposit" function on the contract (useful to wrap ETH).
|
@@ -38,5 +42,6 @@ export function deposit(options: BaseTransactionOptions<DepositParams>) {
|
|
38
42
|
},
|
39
43
|
method: [FN_SELECTOR, [], []] as const,
|
40
44
|
value,
|
45
|
+
...options.overrides,
|
41
46
|
});
|
42
47
|
}
|
@@ -1,4 +1,7 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
BaseTransactionOptions,
|
3
|
+
WithOverrides,
|
4
|
+
} from "../../../transaction/types.js";
|
2
5
|
import type { Prettify } from "../../../utils/type-utils.js";
|
3
6
|
import { toUnits } from "../../../utils/units.js";
|
4
7
|
import { multicall } from "../../common/__generated__/IMulticall/write/multicall.js";
|
@@ -8,18 +11,20 @@ import { encodeTransfer } from "../__generated__/IERC20/write/transfer.js";
|
|
8
11
|
* Represents the parameters for a batch transfer operation.
|
9
12
|
* @extension ERC20
|
10
13
|
*/
|
11
|
-
export type TransferBatchParams = Prettify<
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
14
|
+
export type TransferBatchParams = Prettify<
|
15
|
+
WithOverrides<{
|
16
|
+
batch: Array<
|
17
|
+
{ to: string } & (
|
18
|
+
| {
|
19
|
+
amount: number | string;
|
20
|
+
}
|
21
|
+
| {
|
22
|
+
amountWei: bigint;
|
23
|
+
}
|
24
|
+
)
|
25
|
+
>;
|
26
|
+
}>
|
27
|
+
>;
|
23
28
|
|
24
29
|
/**
|
25
30
|
* Transfers a batch of ERC20 tokens from the sender's address to the specified recipient address.
|
@@ -69,6 +74,7 @@ export function transferBatch(
|
|
69
74
|
};
|
70
75
|
},
|
71
76
|
contract: options.contract,
|
77
|
+
overrides: options.overrides,
|
72
78
|
});
|
73
79
|
}
|
74
80
|
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import type { Address } from "abitype";
|
2
|
-
import type {
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../../transaction/types.js";
|
3
6
|
import { getClaimParams } from "../../../../utils/extensions/drops/get-claim-params.js";
|
4
7
|
import { isGetContractMetadataSupported } from "../../../common/read/getContractMetadata.js";
|
5
8
|
import {
|
@@ -54,7 +57,9 @@ export type ClaimToParams = {
|
|
54
57
|
* @throws If no claim condition is set
|
55
58
|
* @returns A promise that resolves with the submitted transaction hash.
|
56
59
|
*/
|
57
|
-
export function claimTo(
|
60
|
+
export function claimTo(
|
61
|
+
options: BaseTransactionOptions<WithOverrides<ClaimToParams>>,
|
62
|
+
) {
|
58
63
|
return claim({
|
59
64
|
asyncParams: () =>
|
60
65
|
getClaimParams({
|
@@ -66,6 +71,7 @@ export function claimTo(options: BaseTransactionOptions<ClaimToParams>) {
|
|
66
71
|
type: "erc721",
|
67
72
|
}),
|
68
73
|
contract: options.contract,
|
74
|
+
overrides: options.overrides,
|
69
75
|
});
|
70
76
|
}
|
71
77
|
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import type { Hex } from "viem";
|
2
|
-
import type {
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../../transaction/types.js";
|
3
6
|
import type { ClaimCondition } from "../../../../utils/extensions/drops/types.js";
|
4
7
|
import {
|
5
8
|
isSetClaimConditionsSupported,
|
@@ -28,7 +31,9 @@ import {
|
|
28
31
|
* await sendTransaction({ transaction, account });
|
29
32
|
* ```
|
30
33
|
*/
|
31
|
-
export function resetClaimEligibility(
|
34
|
+
export function resetClaimEligibility(
|
35
|
+
options: BaseTransactionOptions<WithOverrides<{}>>,
|
36
|
+
) {
|
32
37
|
// download existing conditions
|
33
38
|
return setClaimConditions({
|
34
39
|
asyncParams: async () => {
|
@@ -48,6 +53,7 @@ export function resetClaimEligibility(options: BaseTransactionOptions) {
|
|
48
53
|
};
|
49
54
|
},
|
50
55
|
contract: options.contract,
|
56
|
+
overrides: options.overrides,
|
51
57
|
});
|
52
58
|
}
|
53
59
|
|
@@ -1,4 +1,7 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
BaseTransactionOptions,
|
3
|
+
WithOverrides,
|
4
|
+
} from "../../../../transaction/types.js";
|
2
5
|
import { getMulticallSetClaimConditionTransactions } from "../../../../utils/extensions/drops/get-multicall-set-claim-claim-conditon-transactions.js";
|
3
6
|
import type { ClaimConditionsInput } from "../../../../utils/extensions/drops/types.js";
|
4
7
|
import { isSetContractURISupported } from "../../../common/__generated__/IContractMetadata/write/setContractURI.js";
|
@@ -47,7 +50,7 @@ export type SetClaimConditionsParams = {
|
|
47
50
|
* ```
|
48
51
|
*/
|
49
52
|
export function setClaimConditions(
|
50
|
-
options: BaseTransactionOptions<SetClaimConditionsParams
|
53
|
+
options: BaseTransactionOptions<WithOverrides<SetClaimConditionsParams>>,
|
51
54
|
) {
|
52
55
|
return multicall({
|
53
56
|
asyncParams: async () => {
|
@@ -62,6 +65,7 @@ export function setClaimConditions(
|
|
62
65
|
};
|
63
66
|
},
|
64
67
|
contract: options.contract,
|
68
|
+
overrides: options.overrides,
|
65
69
|
});
|
66
70
|
}
|
67
71
|
|
@@ -1,4 +1,7 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
BaseTransactionOptions,
|
3
|
+
WithOverrides,
|
4
|
+
} from "../../../../transaction/types.js";
|
2
5
|
import type { NFT, NFTInput } from "../../../../utils/nft/parseNft.js";
|
3
6
|
import * as BatchBaseURI from "../../__generated__/DropERC721/write/updateBatchBaseURI.js";
|
4
7
|
import * as BaseURICount from "../../__generated__/IBatchMintMetadata/read/getBaseURICount.js";
|
@@ -128,12 +131,13 @@ async function getUpdateMetadataParams(
|
|
128
131
|
* ```
|
129
132
|
*/
|
130
133
|
export function updateMetadata(
|
131
|
-
options: BaseTransactionOptions<UpdateMetadataParams
|
134
|
+
options: BaseTransactionOptions<WithOverrides<UpdateMetadataParams>>,
|
132
135
|
) {
|
133
136
|
const { contract } = options;
|
134
137
|
return BatchBaseURI.updateBatchBaseURI({
|
135
138
|
asyncParams: async () => getUpdateMetadataParams(options),
|
136
139
|
contract,
|
140
|
+
overrides: options.overrides,
|
137
141
|
});
|
138
142
|
}
|
139
143
|
|
@@ -51,7 +51,8 @@ describe.runIf(process.env.TW_SECRET_KEY)("erc721.getNFT", () => {
|
|
51
51
|
`);
|
52
52
|
});
|
53
53
|
|
54
|
-
|
54
|
+
// skip until indexer restores owner functionality
|
55
|
+
it.skip("with owner using indexer", async () => {
|
55
56
|
const nft = await getNFT({
|
56
57
|
contract: { ...DOODLES_CONTRACT },
|
57
58
|
includeOwner: true,
|
@@ -1,4 +1,7 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
BaseTransactionOptions,
|
3
|
+
WithOverrides,
|
4
|
+
} from "../../../transaction/types.js";
|
2
5
|
import {
|
3
6
|
getBaseUriFromBatch,
|
4
7
|
uploadOrExtractURIs,
|
@@ -13,9 +16,9 @@ import * as LazyMint from "../__generated__/ILazyMint/write/lazyMint.js";
|
|
13
16
|
/**
|
14
17
|
* @extension ERC721
|
15
18
|
*/
|
16
|
-
export type LazyMintParams = {
|
19
|
+
export type LazyMintParams = WithOverrides<{
|
17
20
|
nfts: (NFTInput | string)[];
|
18
|
-
}
|
21
|
+
}>;
|
19
22
|
|
20
23
|
/**
|
21
24
|
* Lazily mints ERC721 tokens.
|
@@ -66,6 +69,7 @@ export function lazyMint(options: BaseTransactionOptions<LazyMintParams>) {
|
|
66
69
|
} as const;
|
67
70
|
},
|
68
71
|
contract: options.contract,
|
72
|
+
overrides: options.overrides,
|
69
73
|
});
|
70
74
|
}
|
71
75
|
|
@@ -1,4 +1,7 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
BaseTransactionOptions,
|
3
|
+
WithOverrides,
|
4
|
+
} from "../../../transaction/types.js";
|
2
5
|
import type { NFTInput } from "../../../utils/nft/parseNft.js";
|
3
6
|
import { setSharedMetadata as generatedSharedMetadata } from "../__generated__/ISharedMetadata/write/setSharedMetadata.js";
|
4
7
|
|
@@ -7,9 +10,9 @@ export { isSetSharedMetadataSupported } from "../__generated__/ISharedMetadata/w
|
|
7
10
|
/**
|
8
11
|
* @extension ERC721
|
9
12
|
*/
|
10
|
-
export type SetSharedMetadataParams = {
|
13
|
+
export type SetSharedMetadataParams = WithOverrides<{
|
11
14
|
nft: NFTInput;
|
12
|
-
}
|
15
|
+
}>;
|
13
16
|
|
14
17
|
/**
|
15
18
|
* Sets the shared metadata for a OpenEdition contract.
|
@@ -69,6 +72,7 @@ export function setSharedMetadata(
|
|
69
72
|
};
|
70
73
|
},
|
71
74
|
contract: options.contract,
|
75
|
+
overrides: options.overrides,
|
72
76
|
});
|
73
77
|
}
|
74
78
|
|
@@ -1,5 +1,8 @@
|
|
1
1
|
import { upload } from "../../../storage/upload.js";
|
2
|
-
import type {
|
2
|
+
import type {
|
3
|
+
BaseTransactionOptions,
|
4
|
+
WithOverrides,
|
5
|
+
} from "../../../transaction/types.js";
|
3
6
|
import type { NFTInput } from "../../../utils/nft/parseNft.js";
|
4
7
|
import {
|
5
8
|
type SetTokenURIParams,
|
@@ -11,10 +14,10 @@ export { isSetTokenURISupported as isUpdateTokenURISupported } from "../../erc72
|
|
11
14
|
/**
|
12
15
|
* @extension ERC721
|
13
16
|
*/
|
14
|
-
export type UpdateTokenURIParams = {
|
17
|
+
export type UpdateTokenURIParams = WithOverrides<{
|
15
18
|
tokenId: bigint;
|
16
19
|
newMetadata: NFTInput;
|
17
|
-
}
|
20
|
+
}>;
|
18
21
|
|
19
22
|
/**
|
20
23
|
* This function is an abstracted layer of the [`setTokenURI` extension](https://portal.thirdweb.com/references/typescript/v5/erc721/setTokenURI),
|
@@ -48,6 +51,7 @@ export function updateTokenURI(
|
|
48
51
|
return setTokenURI({
|
49
52
|
asyncParams: async () => getUpdateTokenParams(options),
|
50
53
|
contract,
|
54
|
+
overrides: options.overrides,
|
51
55
|
});
|
52
56
|
}
|
53
57
|
|
@@ -1,4 +1,7 @@
|
|
1
|
-
import type {
|
1
|
+
import type {
|
2
|
+
BaseTransactionOptions,
|
3
|
+
WithOverrides,
|
4
|
+
} from "../../../transaction/types.js";
|
2
5
|
import { randomBytesHex } from "../../../utils/random.js";
|
3
6
|
import type { Account } from "../../../wallets/interfaces/wallet.js";
|
4
7
|
import {
|
@@ -68,7 +71,7 @@ export type CreateSessionKeyOptions = {
|
|
68
71
|
* @extension ERC7702
|
69
72
|
*/
|
70
73
|
export function createSessionKey(
|
71
|
-
options: BaseTransactionOptions<CreateSessionKeyOptions
|
74
|
+
options: BaseTransactionOptions<WithOverrides<CreateSessionKeyOptions>>,
|
72
75
|
) {
|
73
76
|
const {
|
74
77
|
contract,
|
@@ -161,6 +164,7 @@ export function createSessionKey(
|
|
161
164
|
return { sessionSpec: req, signature };
|
162
165
|
},
|
163
166
|
contract,
|
167
|
+
overrides: options.overrides,
|
164
168
|
});
|
165
169
|
}
|
166
170
|
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.105.
|
1
|
+
export const version = "5.105.45";
|
@@ -180,36 +180,49 @@ export const create7702MinimalAccount = (args: {
|
|
180
180
|
abi: MinimalAccountAbi,
|
181
181
|
});
|
182
182
|
// check if account has been delegated already
|
183
|
-
let authorization: SignedAuthorization | undefined
|
183
|
+
let authorization: SignedAuthorization | undefined =
|
184
|
+
firstTx.authorizationList?.[0];
|
184
185
|
const delegationContractAddress = await getDelegationContractAddress({
|
185
186
|
client,
|
186
187
|
chain,
|
187
188
|
});
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
189
|
+
if (
|
190
|
+
authorization &&
|
191
|
+
authorization.address?.toLowerCase() !==
|
192
|
+
delegationContractAddress.toLowerCase()
|
193
|
+
) {
|
194
|
+
throw new Error(
|
195
|
+
`Authorization address does not match expected delegation contract address. Expected ${delegationContractAddress} but got ${authorization.address}`,
|
196
|
+
);
|
197
|
+
}
|
198
|
+
// if the tx already has an authorization, use it, otherwise sign one
|
199
|
+
if (!authorization) {
|
200
|
+
const isMinimalAccount = await is7702MinimalAccount(
|
201
|
+
eoaContract,
|
202
|
+
delegationContractAddress,
|
203
|
+
);
|
204
|
+
if (!isMinimalAccount) {
|
205
|
+
// if not, sign authorization
|
206
|
+
let nonce = firstTx.nonce
|
207
|
+
? BigInt(firstTx.nonce)
|
208
|
+
: BigInt(
|
209
|
+
await getNonce({
|
210
|
+
client,
|
211
|
+
address: adminAccount.address,
|
212
|
+
chain,
|
213
|
+
}),
|
214
|
+
);
|
215
|
+
nonce += sponsorGas ? 0n : 1n;
|
216
|
+
const auth = await adminAccount.signAuthorization?.({
|
217
|
+
address: getAddress(delegationContractAddress),
|
218
|
+
chainId: firstTx.chainId,
|
219
|
+
nonce,
|
220
|
+
});
|
221
|
+
if (!auth) {
|
222
|
+
throw new Error("Failed to sign authorization");
|
223
|
+
}
|
224
|
+
authorization = auth;
|
211
225
|
}
|
212
|
-
authorization = auth;
|
213
226
|
}
|
214
227
|
if (sponsorGas) {
|
215
228
|
// send transaction from executor, needs signature
|
@@ -1,11 +1,13 @@
|
|
1
1
|
import * as ox__Authorization from "ox/Authorization";
|
2
|
-
import
|
2
|
+
import * as ox__Signature from "ox/Signature";
|
3
3
|
import {
|
4
|
+
type EIP1193Provider,
|
4
5
|
getTypesForEIP712Domain,
|
5
6
|
type SignTypedDataParameters,
|
6
7
|
serializeTypedData,
|
7
8
|
stringify,
|
8
9
|
validateTypedData,
|
10
|
+
withTimeout,
|
9
11
|
} from "viem";
|
10
12
|
import { isInsufficientFundsError } from "../../analytics/track/helpers.js";
|
11
13
|
import {
|
@@ -187,7 +189,7 @@ function createAccount({
|
|
187
189
|
async sendTransaction(tx: SendTransactionOption) {
|
188
190
|
const gasFees = tx.gasPrice
|
189
191
|
? {
|
190
|
-
gasPrice:
|
192
|
+
gasPrice: numberToHex(tx.gasPrice),
|
191
193
|
}
|
192
194
|
: {
|
193
195
|
maxFeePerGas: tx.maxFeePerGas
|
@@ -200,6 +202,9 @@ function createAccount({
|
|
200
202
|
const params = [
|
201
203
|
{
|
202
204
|
...tx,
|
205
|
+
authorizationList: tx.authorizationList
|
206
|
+
? ox__Authorization.toRpcList(tx.authorizationList)
|
207
|
+
: undefined,
|
203
208
|
...gasFees,
|
204
209
|
from: this.address,
|
205
210
|
gas: tx.gas ? numberToHex(tx.gas) : undefined,
|
@@ -268,10 +273,25 @@ function createAccount({
|
|
268
273
|
},
|
269
274
|
async signAuthorization(authorization: AuthorizationRequest) {
|
270
275
|
const payload = ox__Authorization.getSignPayload(authorization);
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
276
|
+
let signature: Hex | undefined;
|
277
|
+
try {
|
278
|
+
signature = await provider.request({
|
279
|
+
method: "eth_sign",
|
280
|
+
params: [getAddress(account.address), payload],
|
281
|
+
});
|
282
|
+
} catch {
|
283
|
+
// fallback to secp256k1_sign, some providers don't support eth_sign
|
284
|
+
signature = await provider.request({
|
285
|
+
// @ts-expect-error - overriding types here
|
286
|
+
method: "secp256k1_sign",
|
287
|
+
params: [payload],
|
288
|
+
});
|
289
|
+
}
|
290
|
+
if (!signature) {
|
291
|
+
throw new Error("Failed to sign authorization");
|
292
|
+
}
|
293
|
+
const parsedSignature = ox__Signature.fromHex(signature as Hex);
|
294
|
+
return { ...authorization, ...parsedSignature };
|
275
295
|
},
|
276
296
|
async signTypedData(typedData) {
|
277
297
|
if (!provider || !account.address) {
|
@@ -400,6 +420,20 @@ async function onConnect({
|
|
400
420
|
provider.removeListener("accountsChanged", onAccountsChanged);
|
401
421
|
provider.removeListener("chainChanged", onChainChanged);
|
402
422
|
provider.removeListener("disconnect", onDisconnect);
|
423
|
+
|
424
|
+
// Experimental support for MetaMask disconnect
|
425
|
+
// https://github.com/MetaMask/metamask-improvement-proposals/blob/main/MIPs/mip-2.md
|
426
|
+
try {
|
427
|
+
// Adding timeout as not all wallets support this method and can hang
|
428
|
+
await withTimeout(
|
429
|
+
() =>
|
430
|
+
provider.request({
|
431
|
+
method: "wallet_revokePermissions",
|
432
|
+
params: [{ eth_accounts: {} }],
|
433
|
+
}),
|
434
|
+
{ timeout: 100 },
|
435
|
+
);
|
436
|
+
} catch {}
|
403
437
|
}
|
404
438
|
|
405
439
|
async function onDisconnect() {
|