thirdweb 5.64.1 → 5.64.3-nightly-ddec3dadcc260e0d4d0ed2b43c502e0915a14203-20241029000326
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/generate-login-payload.js +1 -1
- package/dist/cjs/auth/core/generate-login-payload.js.map +1 -1
- package/dist/cjs/extensions/prebuilts/deploy-vote.js +13 -13
- package/dist/cjs/extensions/prebuilts/deploy-vote.js.map +1 -1
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js +19 -1
- package/dist/cjs/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +27 -78
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +27 -13
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +50 -19
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js +0 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +21 -32
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js +138 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js.map +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +1 -0
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/formatTokenBalance.js +2 -2
- package/dist/cjs/react/web/ui/ConnectWallet/screens/formatTokenBalance.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/cjs/wallets/smart/lib/bundler.js +3 -1
- package/dist/cjs/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/esm/auth/core/generate-login-payload.js +1 -1
- package/dist/esm/auth/core/generate-login-payload.js.map +1 -1
- package/dist/esm/extensions/prebuilts/deploy-vote.js +13 -13
- package/dist/esm/extensions/prebuilts/deploy-vote.js.map +1 -1
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js +19 -1
- package/dist/esm/react/core/hooks/transaction/useSendTransaction.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js +29 -80
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js +28 -14
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js +50 -19
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js +0 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js +21 -32
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js +135 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.js.map +1 -0
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.js.map +1 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/formatTokenBalance.js +2 -2
- package/dist/esm/react/web/ui/ConnectWallet/screens/formatTokenBalance.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/version.js.map +1 -1
- package/dist/esm/wallets/smart/lib/bundler.js +3 -1
- package/dist/esm/wallets/smart/lib/bundler.js.map +1 -1
- package/dist/types/react/core/hooks/transaction/useSendTransaction.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts +12 -8
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/types.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.d.ts +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts +1 -2
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.d.ts +30 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.d.ts.map +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.d.ts +1 -0
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.d.ts.map +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/formatTokenBalance.d.ts +1 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/formatTokenBalance.d.ts.map +1 -1
- package/dist/types/react/web/ui/components/token/TokenSymbol.d.ts +1 -1
- package/dist/types/react/web/ui/components/token/TokenSymbol.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/version.d.ts.map +1 -1
- package/dist/types/wallets/smart/lib/bundler.d.ts.map +1 -1
- package/dist/types/wallets/smart/types.d.ts +1 -1
- package/dist/types/wallets/smart/types.d.ts.map +1 -1
- package/package.json +11 -11
- package/src/auth/core/generate-login-payload.test.ts +1 -1
- package/src/auth/core/generate-login-payload.ts +1 -1
- package/src/extensions/prebuilts/deploy-vote.test.ts +1 -46
- package/src/extensions/prebuilts/deploy-vote.ts +21 -20
- package/src/extensions/split/split.test.ts +76 -0
- package/src/extensions/unstoppable-domains/read/resolveName.test.ts +20 -17
- package/src/extensions/vote/{read/proposalExists.test.ts → vote.test.ts} +21 -52
- package/src/react/core/hooks/transaction/useSendTransaction.ts +34 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/BuyScreen.tsx +35 -148
- package/src/react/web/ui/ConnectWallet/screens/Buy/TransactionModeScreen.tsx +62 -31
- package/src/react/web/ui/ConnectWallet/screens/Buy/WalletSelectorButton.tsx +136 -48
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/types.ts +1 -1
- package/src/react/web/ui/ConnectWallet/screens/Buy/main/useEnabledPaymentMethods.ts +0 -4
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PayWithCrypto.tsx +57 -71
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/PaymentSelectionScreen.tsx +251 -0
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/useSwapSupportedChains.ts +1 -1
- package/src/react/web/ui/ConnectWallet/screens/formatTokenBalance.ts +2 -1
- package/src/react/web/ui/components/token/TokenSymbol.tsx +2 -2
- package/src/version.ts +1 -1
- package/src/wallets/smart/lib/bundler.ts +4 -1
- package/src/wallets/smart/smart-wallet-dev.test.ts +23 -4
- package/src/wallets/smart/smart-wallet-integration.test.ts +11 -8
- package/src/wallets/smart/types.ts +1 -1
- package/dist/cjs/react/web/ui/ConnectWallet/icons/GenericWalletIcon.js +0 -12
- package/dist/cjs/react/web/ui/ConnectWallet/icons/GenericWalletIcon.js.map +0 -1
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js +0 -34
- package/dist/cjs/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/icons/GenericWalletIcon.js +0 -8
- package/dist/esm/react/web/ui/ConnectWallet/icons/GenericWalletIcon.js.map +0 -1
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js +0 -31
- package/dist/esm/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.js.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/icons/GenericWalletIcon.d.ts +0 -6
- package/dist/types/react/web/ui/ConnectWallet/icons/GenericWalletIcon.d.ts.map +0 -1
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.d.ts +0 -14
- package/dist/types/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.d.ts.map +0 -1
- package/src/extensions/prebuilts/deploy-split.test.ts +0 -31
- package/src/extensions/split/read/getAllRecipientsAddresses.test.ts +0 -41
- package/src/extensions/split/read/getAllRecipientsPercentages.test.ts +0 -50
- package/src/extensions/split/read/getRecipientSplitPercentage.test.ts +0 -49
- package/src/react/web/ui/ConnectWallet/icons/GenericWalletIcon.tsx +0 -22
- package/src/react/web/ui/ConnectWallet/screens/Buy/swap/WalletSwitcherDrawerContent.tsx +0 -83
@@ -1,50 +0,0 @@
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
2
|
-
import { ANVIL_CHAIN } from "~test/chains.js";
|
3
|
-
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
4
|
-
import { TEST_CLIENT } from "~test/test-clients.js";
|
5
|
-
import { TEST_ACCOUNT_C } from "~test/test-wallets.js";
|
6
|
-
import { getContract } from "../../../contract/contract.js";
|
7
|
-
import { deploySplitContract } from "../../../extensions/prebuilts/deploy-split.js";
|
8
|
-
import { getAllRecipientsPercentages } from "./getAllRecipientsPercentages.js";
|
9
|
-
|
10
|
-
const chain = ANVIL_CHAIN;
|
11
|
-
const client = TEST_CLIENT;
|
12
|
-
|
13
|
-
describe.runIf(process.env.TW_SECRET_KEY)("getAllRecipientsPercentages", () => {
|
14
|
-
it("should work", async () => {
|
15
|
-
const payees = [
|
16
|
-
"0x12345674b599ce99958242b3D3741e7b01841DF3",
|
17
|
-
"0xA6f11e47dE28B3dB934e945daeb6F538E9019694",
|
18
|
-
];
|
19
|
-
const address = await deploySplitContract({
|
20
|
-
account: TEST_ACCOUNT_C,
|
21
|
-
client: TEST_CLIENT,
|
22
|
-
chain: ANVIL_CHAIN,
|
23
|
-
params: {
|
24
|
-
name: "split-contract",
|
25
|
-
contractURI: TEST_CONTRACT_URI, // just to speed up the test
|
26
|
-
payees,
|
27
|
-
shares: [
|
28
|
-
5100n, // 51%
|
29
|
-
4900n, // 49%
|
30
|
-
],
|
31
|
-
},
|
32
|
-
});
|
33
|
-
const contract = getContract({
|
34
|
-
address,
|
35
|
-
chain,
|
36
|
-
client,
|
37
|
-
});
|
38
|
-
const result = await getAllRecipientsPercentages({ contract });
|
39
|
-
expect(result).toStrictEqual([
|
40
|
-
{
|
41
|
-
address: "0x12345674b599ce99958242b3D3741e7b01841DF3",
|
42
|
-
splitPercentage: 51,
|
43
|
-
},
|
44
|
-
{
|
45
|
-
address: "0xA6f11e47dE28B3dB934e945daeb6F538E9019694",
|
46
|
-
splitPercentage: 49,
|
47
|
-
},
|
48
|
-
]);
|
49
|
-
});
|
50
|
-
});
|
@@ -1,49 +0,0 @@
|
|
1
|
-
import { describe, expect, it } from "vitest";
|
2
|
-
import { ANVIL_CHAIN } from "~test/chains.js";
|
3
|
-
import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js";
|
4
|
-
import { TEST_CLIENT } from "~test/test-clients.js";
|
5
|
-
import { TEST_ACCOUNT_C } from "~test/test-wallets.js";
|
6
|
-
import { getContract } from "../../../contract/contract.js";
|
7
|
-
import { deploySplitContract } from "../../../extensions/prebuilts/deploy-split.js";
|
8
|
-
import { getRecipientSplitPercentage } from "./getRecipientSplitPercentage.js";
|
9
|
-
|
10
|
-
const chain = ANVIL_CHAIN;
|
11
|
-
const client = TEST_CLIENT;
|
12
|
-
const account = TEST_ACCOUNT_C;
|
13
|
-
|
14
|
-
describe.runIf(process.env.TW_SECRET_KEY)("getRecipientSplitPercentage", () => {
|
15
|
-
it("should work", async () => {
|
16
|
-
const payees = [
|
17
|
-
"0x12345674b599ce99958242b3D3741e7b01841DF3",
|
18
|
-
"0xA6f11e47dE28B3dB934e945daeb6F538E9019694",
|
19
|
-
];
|
20
|
-
const address = await deploySplitContract({
|
21
|
-
account,
|
22
|
-
client: TEST_CLIENT,
|
23
|
-
chain: ANVIL_CHAIN,
|
24
|
-
params: {
|
25
|
-
name: "split-contract",
|
26
|
-
contractURI: TEST_CONTRACT_URI, // just to speed up the test
|
27
|
-
payees,
|
28
|
-
shares: [
|
29
|
-
5100n, // 51%
|
30
|
-
4900n, // 49%
|
31
|
-
],
|
32
|
-
},
|
33
|
-
});
|
34
|
-
const contract = getContract({
|
35
|
-
address,
|
36
|
-
chain,
|
37
|
-
client,
|
38
|
-
});
|
39
|
-
const result = await getRecipientSplitPercentage({
|
40
|
-
contract,
|
41
|
-
recipientAddress: "0x12345674b599ce99958242b3D3741e7b01841DF3",
|
42
|
-
});
|
43
|
-
|
44
|
-
expect(result).toStrictEqual({
|
45
|
-
address: "0x12345674b599ce99958242b3D3741e7b01841DF3",
|
46
|
-
splitPercentage: 51,
|
47
|
-
});
|
48
|
-
});
|
49
|
-
});
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import type { IconFC } from "./types.js";
|
2
|
-
|
3
|
-
/**
|
4
|
-
* @internal
|
5
|
-
*/
|
6
|
-
export const GenericWalletIcon: IconFC = (props) => {
|
7
|
-
return (
|
8
|
-
<svg
|
9
|
-
xmlns="http://www.w3.org/2000/svg"
|
10
|
-
fill="none"
|
11
|
-
viewBox="0 0 18 18"
|
12
|
-
width={props.size}
|
13
|
-
height={props.size}
|
14
|
-
role="presentation"
|
15
|
-
>
|
16
|
-
<path
|
17
|
-
fill="currentColor"
|
18
|
-
d="M15.6 4.6H1.85v-.55l12.1-.968v.968h1.65V2.4c0-1.21-.98-2.059-2.177-1.888L2.378 2.089C1.18 2.26.2 3.39.2 4.6v11a2.2 2.2 0 002.2 2.2h13.2a2.2 2.2 0 002.2-2.2V6.8a2.2 2.2 0 00-2.2-2.2zm-1.65 7.707a1.65 1.65 0 01-.63-3.176 1.65 1.65 0 11.63 3.176z"
|
19
|
-
/>
|
20
|
-
</svg>
|
21
|
-
);
|
22
|
-
};
|
@@ -1,83 +0,0 @@
|
|
1
|
-
import { PlusIcon } from "@radix-ui/react-icons";
|
2
|
-
import type { ThirdwebClient } from "../../../../../../../client/client.js";
|
3
|
-
import type { Wallet } from "../../../../../../../wallets/interfaces/wallet.js";
|
4
|
-
import type { WalletId } from "../../../../../../../wallets/wallet-types.js";
|
5
|
-
import { useCustomTheme } from "../../../../../../core/design-system/CustomThemeProvider.js";
|
6
|
-
import {
|
7
|
-
iconSize,
|
8
|
-
radius,
|
9
|
-
spacing,
|
10
|
-
} from "../../../../../../core/design-system/index.js";
|
11
|
-
import { useConnectedWallets } from "../../../../../../core/hooks/wallets/useConnectedWallets.js";
|
12
|
-
import { Spacer } from "../../../../components/Spacer.js";
|
13
|
-
import { Container } from "../../../../components/basic.js";
|
14
|
-
import { Button } from "../../../../components/buttons.js";
|
15
|
-
import { Text } from "../../../../components/text.js";
|
16
|
-
import { WalletSelectorButton } from "../WalletSelectorButton.js";
|
17
|
-
|
18
|
-
export function WalletSwitcherDrawerContent(props: {
|
19
|
-
client: ThirdwebClient;
|
20
|
-
showAllWallets: boolean;
|
21
|
-
wallets: Wallet[] | undefined;
|
22
|
-
onSelect: (wallet: Wallet) => void;
|
23
|
-
onBack: () => void;
|
24
|
-
onConnect: () => void;
|
25
|
-
selectedAddress: string;
|
26
|
-
hiddenWallets?: WalletId[];
|
27
|
-
}) {
|
28
|
-
const theme = useCustomTheme();
|
29
|
-
const connectedWallets = useConnectedWallets();
|
30
|
-
|
31
|
-
// if all wallets are connected and showAll wallets is disabled, hide the connect button
|
32
|
-
const hideConnectButton =
|
33
|
-
!props.showAllWallets &&
|
34
|
-
props.wallets?.every((w) => connectedWallets.includes(w));
|
35
|
-
|
36
|
-
return (
|
37
|
-
<Container>
|
38
|
-
<Container flex="column" gap="xs">
|
39
|
-
{connectedWallets
|
40
|
-
.filter((w) => !props.hiddenWallets?.includes(w.id))
|
41
|
-
.map((w) => {
|
42
|
-
const address = w.getAccount()?.address;
|
43
|
-
return (
|
44
|
-
<WalletSelectorButton
|
45
|
-
key={w.id}
|
46
|
-
walletId={w.id}
|
47
|
-
client={props.client}
|
48
|
-
address={address || ""}
|
49
|
-
onClick={() => {
|
50
|
-
props.onSelect(w);
|
51
|
-
props.onBack();
|
52
|
-
}}
|
53
|
-
disableChevron
|
54
|
-
checked={false}
|
55
|
-
/>
|
56
|
-
);
|
57
|
-
})}
|
58
|
-
{!hideConnectButton && (
|
59
|
-
<Button
|
60
|
-
variant="secondary"
|
61
|
-
fullWidth
|
62
|
-
onClick={props.onConnect}
|
63
|
-
gap="xs"
|
64
|
-
bg="tertiaryBg"
|
65
|
-
style={{
|
66
|
-
borderRadius: radius.lg,
|
67
|
-
border: `1px solid ${theme.colors.borderColor}`,
|
68
|
-
padding: spacing.sm,
|
69
|
-
}}
|
70
|
-
>
|
71
|
-
<Container flex="row" gap="sm" center="y" expand>
|
72
|
-
<PlusIcon width={iconSize.md} height={iconSize.md} />
|
73
|
-
<Text size="sm" color="primaryText">
|
74
|
-
Add Another Wallet
|
75
|
-
</Text>
|
76
|
-
</Container>
|
77
|
-
</Button>
|
78
|
-
)}
|
79
|
-
</Container>
|
80
|
-
<Spacer y="sm" />
|
81
|
-
</Container>
|
82
|
-
);
|
83
|
-
}
|