thirdweb 5.105.36 → 5.105.38
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/adapters/eip1193/to-eip1193.js +12 -3
- package/dist/cjs/adapters/eip1193/to-eip1193.js.map +1 -1
- package/dist/cjs/exports/tokens.js +2 -1
- package/dist/cjs/exports/tokens.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js +2 -2
- package/dist/cjs/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/CheckoutWidget.js +6 -0
- package/dist/cjs/react/web/ui/Bridge/CheckoutWidget.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/DirectPayment.js +2 -12
- package/dist/cjs/react/web/ui/Bridge/DirectPayment.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js +2 -2
- package/dist/cjs/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js +6 -2
- package/dist/cjs/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -1
- package/dist/cjs/stories/Bridge/SuccessScreen.stories.js +14 -1
- package/dist/cjs/stories/Bridge/SuccessScreen.stories.js.map +1 -1
- package/dist/cjs/tokens/create-token.js +30 -0
- package/dist/cjs/tokens/create-token.js.map +1 -1
- package/dist/cjs/tokens/predict-address.js +1 -1
- package/dist/cjs/tokens/predict-address.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/wallets/wallet-connect/controller.js +3 -2
- package/dist/cjs/wallets/wallet-connect/controller.js.map +1 -1
- package/dist/esm/adapters/eip1193/to-eip1193.js +12 -3
- package/dist/esm/adapters/eip1193/to-eip1193.js.map +1 -1
- package/dist/esm/exports/tokens.js +1 -1
- package/dist/esm/exports/tokens.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js +2 -2
- package/dist/esm/react/web/ui/Bridge/BridgeOrchestrator.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/CheckoutWidget.js +7 -1
- package/dist/esm/react/web/ui/Bridge/CheckoutWidget.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/DirectPayment.js +2 -12
- package/dist/esm/react/web/ui/Bridge/DirectPayment.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js +2 -2
- package/dist/esm/react/web/ui/Bridge/payment-selection/WalletFiatSelection.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js +6 -2
- package/dist/esm/react/web/ui/Bridge/payment-success/SuccessScreen.js.map +1 -1
- package/dist/esm/stories/Bridge/SuccessScreen.stories.js +13 -0
- package/dist/esm/stories/Bridge/SuccessScreen.stories.js.map +1 -1
- package/dist/esm/tokens/create-token.js +29 -0
- package/dist/esm/tokens/create-token.js.map +1 -1
- package/dist/esm/tokens/predict-address.js +1 -1
- package/dist/esm/tokens/predict-address.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wallets/wallet-connect/controller.js +3 -2
- package/dist/esm/wallets/wallet-connect/controller.js.map +1 -1
- package/dist/types/adapters/eip1193/to-eip1193.d.ts.map +1 -1
- package/dist/types/exports/tokens.d.ts +1 -1
- package/dist/types/exports/tokens.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/CheckoutWidget.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/DirectPayment.d.ts +1 -6
- package/dist/types/react/web/ui/Bridge/DirectPayment.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/payment-success/SuccessScreen.d.ts +5 -1
- package/dist/types/react/web/ui/Bridge/payment-success/SuccessScreen.d.ts.map +1 -1
- package/dist/types/stories/Bridge/SuccessScreen.stories.d.ts +1 -0
- package/dist/types/stories/Bridge/SuccessScreen.stories.d.ts.map +1 -1
- package/dist/types/tokens/create-token.d.ts +1 -0
- package/dist/types/tokens/create-token.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wallets/wallet-connect/controller.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/adapters/eip1193/to-eip1193.test.ts +10 -5
- package/src/adapters/eip1193/to-eip1193.ts +16 -5
- package/src/exports/tokens.ts +1 -1
- package/src/react/web/ui/Bridge/BridgeOrchestrator.tsx +1 -1
- package/src/react/web/ui/Bridge/CheckoutWidget.tsx +16 -0
- package/src/react/web/ui/Bridge/DirectPayment.tsx +3 -29
- package/src/react/web/ui/Bridge/payment-selection/WalletFiatSelection.tsx +3 -3
- package/src/react/web/ui/Bridge/payment-success/SuccessScreen.tsx +16 -4
- package/src/stories/Bridge/SuccessScreen.stories.tsx +14 -0
- package/src/tokens/create-token.ts +36 -0
- package/src/tokens/predict-address.ts +1 -1
- package/src/version.ts +1 -1
- package/src/wallets/wallet-connect/controller.ts +3 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SuccessScreen.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/SuccessScreen.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,4DAA4D,CAAC;AAsEpE,UAAU,2BAA4B,SAAQ,kBAAkB;IAC9D,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CACjC;AAYD,QAAA,MAAM,IAAI;;;;;;;;qBA9BU,CAAC;2BAEf,CAAN;qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;uBAmBiB,2BAA2B;;;;;;;;;;;CAsCnB,CAAC;AAEhD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAQ1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAgB3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAUhC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAmB5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAajC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAWhC,CAAC"}
|
1
|
+
{"version":3,"file":"SuccessScreen.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/SuccessScreen.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAEvF,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,4DAA4D,CAAC;AAsEpE,UAAU,2BAA4B,SAAQ,kBAAkB;IAC9D,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CACjC;AAYD,QAAA,MAAM,IAAI;;;;;;;;qBA9BU,CAAC;2BAEf,CAAN;qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;uBAmBiB,2BAA2B;;;;;;;;;;;CAsCnB,CAAC;AAEhD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAQrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAQ1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAgB3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAUhC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAmB5B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAajC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAWhC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAYvB,CAAC"}
|
@@ -1,3 +1,4 @@
|
|
1
1
|
import type { CreateTokenOptions } from "./types.js";
|
2
2
|
export declare function createToken(options: CreateTokenOptions): Promise<string>;
|
3
|
+
export declare function prepareCreateToken(options: CreateTokenOptions): Promise<import("../transaction/prepare-transaction.js").PreparedTransaction<any, import("viem").AbiFunction, import("../transaction/prepare-transaction.js").PrepareTransactionOptions>>;
|
3
4
|
//# sourceMappingURL=create-token.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"create-token.d.ts","sourceRoot":"","sources":["../../../src/tokens/create-token.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,mBA+C5D"}
|
1
|
+
{"version":3,"file":"create-token.d.ts","sourceRoot":"","sources":["../../../src/tokens/create-token.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,wBAAsB,WAAW,CAAC,OAAO,EAAE,kBAAkB,mBA+C5D;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,4LAkCnE"}
|
package/dist/types/version.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "5.105.
|
1
|
+
export declare const version = "5.105.38";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/wallets/wallet-connect/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAY3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAOxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EACV,OAAO,EAEP,MAAM,EACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzE,KAAK,UAAU,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAezD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GACvB,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAEnC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC5C,QAAQ,EAAE,oBAAoB,GAAG,eAAe,EAChD,OAAO,EAAE,YAAY,EACrB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACrD,OAAO,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../../../src/wallets/wallet-connect/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAY3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAU7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAOxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,KAAK,EACV,OAAO,EAEP,MAAM,EACP,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzE,KAAK,UAAU,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAezD;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,GACvB,MAAM,IAAI,MAAM,CAAC,eAAe,CAAC,CAEnC;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC5C,QAAQ,EAAE,oBAAoB,GAAG,eAAe,EAChD,OAAO,EAAE,YAAY,EACrB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACrD,OAAO,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAqHvC;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC5C,QAAQ,EAAE,oBAAoB,GAAG,eAAe,EAChD,OAAO,EAAE,YAAY,EACrB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACrD,OAAO,CAAC,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC,CAyDvC;AAkND,iBAAS,SAAS,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC5C,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,UAAU,EACtB,qBAAqB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAC5D,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,CAAC,CA2D/C"}
|
package/package.json
CHANGED
@@ -170,7 +170,7 @@ describe("toProvider", () => {
|
|
170
170
|
expect(result).toBeGreaterThan(0n);
|
171
171
|
});
|
172
172
|
|
173
|
-
test("should
|
173
|
+
test("should return empty array when account is not connected", async () => {
|
174
174
|
const walletWithoutAccount = {
|
175
175
|
...mockWallet,
|
176
176
|
getAccount: () => undefined,
|
@@ -187,17 +187,22 @@ describe("toProvider", () => {
|
|
187
187
|
method: "eth_accounts",
|
188
188
|
params: [],
|
189
189
|
}),
|
190
|
-
).
|
190
|
+
).resolves.toEqual([]);
|
191
191
|
});
|
192
192
|
|
193
193
|
test("should use custom connect override when provided", async () => {
|
194
|
-
const
|
194
|
+
const walletWithoutAccount = {
|
195
|
+
...mockWallet,
|
196
|
+
getAccount: () => undefined,
|
197
|
+
};
|
198
|
+
|
199
|
+
const customConnect = vi.fn().mockResolvedValue(walletWithoutAccount);
|
195
200
|
|
196
201
|
const provider = toProvider({
|
197
202
|
chain: ANVIL_CHAIN,
|
198
203
|
client: TEST_CLIENT,
|
199
204
|
connectOverride: customConnect,
|
200
|
-
wallet:
|
205
|
+
wallet: walletWithoutAccount,
|
201
206
|
});
|
202
207
|
|
203
208
|
await provider.request({
|
@@ -205,6 +210,6 @@ describe("toProvider", () => {
|
|
205
210
|
params: [],
|
206
211
|
});
|
207
212
|
|
208
|
-
expect(customConnect).toHaveBeenCalledWith(
|
213
|
+
expect(customConnect).toHaveBeenCalledWith(walletWithoutAccount);
|
209
214
|
});
|
210
215
|
});
|
@@ -115,18 +115,29 @@ export function toProvider(options: ToEip1193ProviderOptions): EIP1193Provider {
|
|
115
115
|
if (request.method === "eth_accounts") {
|
116
116
|
const account = wallet.getAccount();
|
117
117
|
if (!account) {
|
118
|
-
|
118
|
+
return [];
|
119
119
|
}
|
120
120
|
return [account.address];
|
121
121
|
}
|
122
122
|
if (request.method === "eth_requestAccounts") {
|
123
|
+
const connectedAccount = wallet.getAccount();
|
124
|
+
if (connectedAccount) {
|
125
|
+
return [connectedAccount.address];
|
126
|
+
}
|
123
127
|
const account = connectOverride
|
124
128
|
? await connectOverride(wallet)
|
125
|
-
: await wallet
|
126
|
-
|
127
|
-
|
129
|
+
: await wallet
|
130
|
+
.connect({
|
131
|
+
client,
|
132
|
+
})
|
133
|
+
.catch((e) => {
|
134
|
+
console.error("Error connecting wallet", e);
|
135
|
+
return null;
|
136
|
+
});
|
128
137
|
if (!account) {
|
129
|
-
throw new Error(
|
138
|
+
throw new Error(
|
139
|
+
"Unable to connect wallet - try passing a connectOverride function",
|
140
|
+
);
|
130
141
|
}
|
131
142
|
return [account.address];
|
132
143
|
}
|
package/src/exports/tokens.ts
CHANGED
@@ -6,7 +6,7 @@ export {
|
|
6
6
|
DEFAULT_DEVELOPER_ADDRESS,
|
7
7
|
DEFAULT_DEVELOPER_REWARD_BPS,
|
8
8
|
} from "../tokens/constants.js";
|
9
|
-
export { createToken } from "../tokens/create-token.js";
|
9
|
+
export { createToken, prepareCreateToken } from "../tokens/create-token.js";
|
10
10
|
export { distributeToken } from "../tokens/distribute-token.js";
|
11
11
|
export {
|
12
12
|
getDeployedContractFactory,
|
@@ -277,7 +277,6 @@ export function BridgeOrchestrator({
|
|
277
277
|
{state.value === "init" && uiOptions.mode === "direct_payment" && (
|
278
278
|
<DirectPayment
|
279
279
|
client={client}
|
280
|
-
connectOptions={modifiedConnectOptions}
|
281
280
|
onContinue={handleRequirementsResolved}
|
282
281
|
showThirdwebBranding={showThirdwebBranding}
|
283
282
|
uiOptions={uiOptions}
|
@@ -389,6 +388,7 @@ export function BridgeOrchestrator({
|
|
389
388
|
preparedQuote={state.context.quote}
|
390
389
|
uiOptions={uiOptions}
|
391
390
|
windowAdapter={webWindowAdapter}
|
391
|
+
hasPaymentId={!!paymentLinkId}
|
392
392
|
/>
|
393
393
|
)}
|
394
394
|
|
@@ -22,8 +22,11 @@ import type { ConnectButton_connectModalOptions } from "../../../core/hooks/conn
|
|
22
22
|
import type { SupportedTokens } from "../../../core/utils/defaultTokens.js";
|
23
23
|
import { useConnectLocale } from "../ConnectWallet/locale/getConnectLocale.js";
|
24
24
|
import { EmbedContainer } from "../ConnectWallet/Modal/ConnectEmbed.js";
|
25
|
+
import { Container } from "../components/basic.js";
|
26
|
+
import { Button } from "../components/buttons.js";
|
25
27
|
import { DynamicHeight } from "../components/DynamicHeight.js";
|
26
28
|
import { Spinner } from "../components/Spinner.js";
|
29
|
+
import { Text } from "../components/text.js";
|
27
30
|
import type { LocaleId } from "../types.js";
|
28
31
|
import { BridgeOrchestrator, type UIOptions } from "./BridgeOrchestrator.js";
|
29
32
|
import { UnsupportedTokenScreen } from "./UnsupportedTokenScreen.js";
|
@@ -421,6 +424,19 @@ export function CheckoutWidget(props: CheckoutWidgetProps) {
|
|
421
424
|
);
|
422
425
|
}
|
423
426
|
|
427
|
+
if (bridgeDataQuery.isError) {
|
428
|
+
content = (
|
429
|
+
<Container flex="column" center="both" gap="md" p="md" py="xl">
|
430
|
+
<Text center size="md" weight={600}>
|
431
|
+
Something went wrong.
|
432
|
+
</Text>
|
433
|
+
<Button variant="ghost" onClick={() => bridgeDataQuery.refetch()}>
|
434
|
+
Retry
|
435
|
+
</Button>
|
436
|
+
</Container>
|
437
|
+
);
|
438
|
+
}
|
439
|
+
|
424
440
|
return (
|
425
441
|
<CustomThemeProvider theme={theme}>
|
426
442
|
<EmbedContainer
|
@@ -3,9 +3,6 @@ import type { Token } from "../../../../bridge/types/Token.js";
|
|
3
3
|
import { defineChain } from "../../../../chains/utils.js";
|
4
4
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
5
5
|
import type { Address } from "../../../../utils/address.js";
|
6
|
-
import { useCustomTheme } from "../../../core/design-system/CustomThemeProvider.js";
|
7
|
-
import { useActiveAccount } from "../../../core/hooks/wallets/useActiveAccount.js";
|
8
|
-
import { ConnectButton } from "../ConnectWallet/ConnectButton.js";
|
9
6
|
import { PoweredByThirdweb } from "../ConnectWallet/PoweredByTW.js";
|
10
7
|
import { FiatValue } from "../ConnectWallet/screens/Buy/swap/FiatValue.js";
|
11
8
|
import { Container, Line } from "../components/basic.js";
|
@@ -13,7 +10,6 @@ import { Button } from "../components/buttons.js";
|
|
13
10
|
import { ChainName } from "../components/ChainName.js";
|
14
11
|
import { Spacer } from "../components/Spacer.js";
|
15
12
|
import { Text } from "../components/text.js";
|
16
|
-
import type { PayEmbedConnectOptions } from "../PayEmbed.js";
|
17
13
|
import type { UIOptions } from "./BridgeOrchestrator.js";
|
18
14
|
import { ChainIcon } from "./common/TokenAndChain.js";
|
19
15
|
import { WithHeader } from "./common/WithHeader.js";
|
@@ -34,11 +30,6 @@ export interface DirectPaymentProps {
|
|
34
30
|
*/
|
35
31
|
onContinue: (amount: string, token: Token, receiverAddress: Address) => void;
|
36
32
|
|
37
|
-
/**
|
38
|
-
* Connect options for wallet connection
|
39
|
-
*/
|
40
|
-
connectOptions?: PayEmbedConnectOptions;
|
41
|
-
|
42
33
|
/**
|
43
34
|
* Whether to show thirdweb branding in the widget.
|
44
35
|
* @default true
|
@@ -50,12 +41,9 @@ export function DirectPayment({
|
|
50
41
|
uiOptions,
|
51
42
|
client,
|
52
43
|
onContinue,
|
53
|
-
connectOptions,
|
54
44
|
showThirdwebBranding = true,
|
55
45
|
}: DirectPaymentProps) {
|
56
|
-
const activeAccount = useActiveAccount();
|
57
46
|
const chain = defineChain(uiOptions.paymentInfo.token.chainId);
|
58
|
-
const theme = useCustomTheme();
|
59
47
|
const handleContinue = () => {
|
60
48
|
onContinue(
|
61
49
|
uiOptions.paymentInfo.amount,
|
@@ -188,23 +176,9 @@ export function DirectPayment({
|
|
188
176
|
|
189
177
|
{/* Action button */}
|
190
178
|
<Container flex="column">
|
191
|
-
{
|
192
|
-
|
193
|
-
|
194
|
-
</Button>
|
195
|
-
) : (
|
196
|
-
<ConnectButton
|
197
|
-
client={client}
|
198
|
-
connectButton={{
|
199
|
-
label: buyNow,
|
200
|
-
style: {
|
201
|
-
width: "100%",
|
202
|
-
},
|
203
|
-
}}
|
204
|
-
theme={theme}
|
205
|
-
{...connectOptions}
|
206
|
-
/>
|
207
|
-
)}
|
179
|
+
<Button fullWidth onClick={handleContinue} variant="primary">
|
180
|
+
{buyNow}
|
181
|
+
</Button>
|
208
182
|
|
209
183
|
{showThirdwebBranding ? (
|
210
184
|
<div>
|
@@ -121,10 +121,10 @@ export function WalletFiatSelection({
|
|
121
121
|
</Container>
|
122
122
|
<Container flex="column" gap="3xs" style={{ flex: 1 }}>
|
123
123
|
<Text color="primaryText" size="sm" style={{ fontWeight: 600 }}>
|
124
|
-
Connect
|
124
|
+
Connect a Wallet
|
125
125
|
</Text>
|
126
126
|
<Text color="secondaryText" size="xs">
|
127
|
-
|
127
|
+
Pay with any web3 wallet
|
128
128
|
</Text>
|
129
129
|
</Container>
|
130
130
|
</Container>
|
@@ -169,7 +169,7 @@ export function WalletFiatSelection({
|
|
169
169
|
Pay with Card
|
170
170
|
</Text>
|
171
171
|
<Text color="secondaryText" size="xs">
|
172
|
-
|
172
|
+
Onramp and pay in one step
|
173
173
|
</Text>
|
174
174
|
</Container>
|
175
175
|
</Container>
|
@@ -42,6 +42,11 @@ export interface SuccessScreenProps {
|
|
42
42
|
windowAdapter: WindowAdapter;
|
43
43
|
|
44
44
|
client: ThirdwebClient;
|
45
|
+
|
46
|
+
/**
|
47
|
+
* Whether or not this payment is associated with a payment ID. If it does, we show a different message.
|
48
|
+
*/
|
49
|
+
hasPaymentId?: boolean;
|
45
50
|
}
|
46
51
|
|
47
52
|
type ViewState = "success" | "detail";
|
@@ -53,6 +58,7 @@ export function SuccessScreen({
|
|
53
58
|
onDone,
|
54
59
|
windowAdapter,
|
55
60
|
client,
|
61
|
+
hasPaymentId = false,
|
56
62
|
}: SuccessScreenProps) {
|
57
63
|
const theme = useCustomTheme();
|
58
64
|
const [viewState, setViewState] = useState<ViewState>("success");
|
@@ -120,7 +126,11 @@ export function SuccessScreen({
|
|
120
126
|
</Text>
|
121
127
|
|
122
128
|
<Text center color="secondaryText" size="sm">
|
123
|
-
|
129
|
+
{hasPaymentId
|
130
|
+
? "You can now close this page and return to the application."
|
131
|
+
: uiOptions.mode === "transaction"
|
132
|
+
? "Click continue to execute your transaction."
|
133
|
+
: "Your payment has been completed successfully."}
|
124
134
|
</Text>
|
125
135
|
</Container>
|
126
136
|
<Spacer y="lg" />
|
@@ -135,9 +145,11 @@ export function SuccessScreen({
|
|
135
145
|
View Payment Receipt
|
136
146
|
</Button>
|
137
147
|
|
138
|
-
|
139
|
-
|
140
|
-
|
148
|
+
{!hasPaymentId && (
|
149
|
+
<Button fullWidth onClick={onDone} variant="accent">
|
150
|
+
{uiOptions.mode === "transaction" ? "Continue" : "Done"}
|
151
|
+
</Button>
|
152
|
+
)}
|
141
153
|
</Container>
|
142
154
|
|
143
155
|
{/* CSS Animations */}
|
@@ -222,3 +222,17 @@ export const TransactionPayment: Story = {
|
|
222
222
|
backgrounds: { default: "light" },
|
223
223
|
},
|
224
224
|
};
|
225
|
+
|
226
|
+
export const PaymentId: Story = {
|
227
|
+
args: {
|
228
|
+
client: storyClient,
|
229
|
+
completedStatuses: mockBuyCompletedStatuses,
|
230
|
+
hasPaymentId: true,
|
231
|
+
preparedQuote: simpleBuyQuote,
|
232
|
+
theme: "light",
|
233
|
+
uiOptions: TRANSACTION_UI_OPTIONS.contractInteraction,
|
234
|
+
},
|
235
|
+
parameters: {
|
236
|
+
backgrounds: { default: "light" },
|
237
|
+
},
|
238
|
+
};
|
@@ -62,3 +62,39 @@ export async function createToken(options: CreateTokenOptions) {
|
|
62
62
|
|
63
63
|
return decodedEvent[0]?.args.asset;
|
64
64
|
}
|
65
|
+
|
66
|
+
export async function prepareCreateToken(options: CreateTokenOptions) {
|
67
|
+
const { client, params, account, launchConfig } = options;
|
68
|
+
|
69
|
+
const creator = params.owner || account.address;
|
70
|
+
const encodedInitData = await encodeInitParams({
|
71
|
+
client,
|
72
|
+
creator,
|
73
|
+
params,
|
74
|
+
});
|
75
|
+
|
76
|
+
const salt: Hex = generateSalt(options.salt || bytesToHex(randomBytes(31)));
|
77
|
+
|
78
|
+
const entrypoint = await getDeployedEntrypointERC20(options);
|
79
|
+
|
80
|
+
let hookData: Hex = "0x";
|
81
|
+
let contractId = padHex(toHex("ERC20Asset"), { size: 32 });
|
82
|
+
if (launchConfig?.kind === "pool") {
|
83
|
+
hookData = encodePoolConfig(launchConfig.config);
|
84
|
+
contractId = padHex(toHex("ERC20Asset_Pool"), { size: 32 });
|
85
|
+
}
|
86
|
+
|
87
|
+
const transaction = createById({
|
88
|
+
contract: entrypoint,
|
89
|
+
contractId,
|
90
|
+
params: {
|
91
|
+
data: encodedInitData,
|
92
|
+
hookData,
|
93
|
+
developer: options.developerAddress || DEFAULT_DEVELOPER_ADDRESS,
|
94
|
+
salt,
|
95
|
+
},
|
96
|
+
creator,
|
97
|
+
});
|
98
|
+
|
99
|
+
return transaction;
|
100
|
+
}
|
@@ -12,7 +12,7 @@ import {
|
|
12
12
|
import type { CreateTokenOptions } from "./types.js";
|
13
13
|
|
14
14
|
export async function predictAddress(options: CreateTokenOptions) {
|
15
|
-
const { client,
|
15
|
+
const { client, params, launchConfig, account } = options;
|
16
16
|
|
17
17
|
const creator = params.owner || account.address;
|
18
18
|
const encodedInitData = await encodeInitParams({
|
package/src/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = "5.105.
|
1
|
+
export const version = "5.105.38";
|
@@ -142,6 +142,7 @@ export async function connectWC(
|
|
142
142
|
"eth_sign",
|
143
143
|
"personal_sign",
|
144
144
|
"eth_signTypedData",
|
145
|
+
"eth_signTypedData_v4",
|
145
146
|
"wallet_switchEthereumChain",
|
146
147
|
"wallet_addEthereumChain",
|
147
148
|
],
|
@@ -185,8 +186,8 @@ export async function connectWC(
|
|
185
186
|
}
|
186
187
|
}
|
187
188
|
|
188
|
-
if (
|
189
|
-
provider.events.removeListener("display_uri",
|
189
|
+
if (onDisplayUri) {
|
190
|
+
provider.events.removeListener("display_uri", onDisplayUri);
|
190
191
|
}
|
191
192
|
|
192
193
|
return onConnect(
|