thirdweb 5.105.37 → 5.105.39
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/bridge/Token.js +4 -1
- package/dist/cjs/bridge/Token.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/FundWallet.js.map +1 -1
- package/dist/cjs/react/web/ui/Bridge/TransactionPayment.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/stories/Bridge/fixtures.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/bridge/Token.js +4 -1
- package/dist/esm/bridge/Token.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/FundWallet.js.map +1 -1
- package/dist/esm/react/web/ui/Bridge/TransactionPayment.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/stories/Bridge/fixtures.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/bridge/Onramp.d.ts +2 -2
- package/dist/types/bridge/Onramp.d.ts.map +1 -1
- package/dist/types/bridge/Token.d.ts +7 -5
- package/dist/types/bridge/Token.d.ts.map +1 -1
- package/dist/types/bridge/index.d.ts +1 -1
- package/dist/types/bridge/index.d.ts.map +1 -1
- package/dist/types/bridge/types/Route.d.ts +7 -7
- package/dist/types/bridge/types/Route.d.ts.map +1 -1
- package/dist/types/bridge/types/Token.d.ts +2 -0
- package/dist/types/bridge/types/Token.d.ts.map +1 -1
- package/dist/types/pay/convert/get-token.d.ts +2 -2
- package/dist/types/pay/convert/get-token.d.ts.map +1 -1
- package/dist/types/react/core/hooks/usePaymentMethods.d.ts.map +1 -1
- package/dist/types/react/core/hooks/useTransactionDetails.d.ts +2 -2
- package/dist/types/react/core/hooks/useTransactionDetails.d.ts.map +1 -1
- package/dist/types/react/core/machines/paymentMachine.d.ts +4 -4
- package/dist/types/react/core/machines/paymentMachine.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.d.ts +3 -3
- package/dist/types/react/web/ui/Bridge/BridgeOrchestrator.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 +3 -8
- package/dist/types/react/web/ui/Bridge/DirectPayment.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/FundWallet.d.ts +2 -2
- package/dist/types/react/web/ui/Bridge/FundWallet.d.ts.map +1 -1
- package/dist/types/react/web/ui/Bridge/TransactionPayment.d.ts +2 -2
- package/dist/types/react/web/ui/Bridge/TransactionPayment.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/BridgeOrchestrator.stories.d.ts +1 -1
- package/dist/types/stories/Bridge/BridgeOrchestrator.stories.d.ts.map +1 -1
- package/dist/types/stories/Bridge/DirectPayment.stories.d.ts +2 -2
- package/dist/types/stories/Bridge/DirectPayment.stories.d.ts.map +1 -1
- package/dist/types/stories/Bridge/FundWallet.stories.d.ts +2 -2
- package/dist/types/stories/Bridge/FundWallet.stories.d.ts.map +1 -1
- package/dist/types/stories/Bridge/PaymentDetails.stories.d.ts +1 -1
- package/dist/types/stories/Bridge/PaymentSelection.stories.d.ts +1 -1
- package/dist/types/stories/Bridge/SuccessScreen.stories.d.ts +2 -1
- package/dist/types/stories/Bridge/SuccessScreen.stories.d.ts.map +1 -1
- package/dist/types/stories/Bridge/TransactionPayment.stories.d.ts +1 -1
- package/dist/types/stories/Bridge/TransactionPayment.stories.d.ts.map +1 -1
- package/dist/types/stories/Bridge/fixtures.d.ts +4 -4
- package/dist/types/stories/Bridge/fixtures.d.ts.map +1 -1
- package/dist/types/stories/TokenBalanceRow.stories.d.ts +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/bridge/Onramp.ts +2 -2
- package/src/bridge/Token.test.ts +20 -2
- package/src/bridge/Token.ts +25 -9
- package/src/bridge/index.ts +1 -1
- package/src/bridge/types/Route.ts +7 -7
- package/src/bridge/types/Token.ts +3 -0
- package/src/pay/convert/get-token.ts +2 -2
- package/src/react/core/hooks/usePaymentMethods.ts +2 -2
- package/src/react/core/hooks/useTransactionDetails.ts +2 -2
- package/src/react/core/machines/paymentMachine.ts +4 -4
- package/src/react/web/ui/Bridge/BridgeOrchestrator.tsx +5 -5
- package/src/react/web/ui/Bridge/CheckoutWidget.tsx +16 -0
- package/src/react/web/ui/Bridge/DirectPayment.tsx +9 -31
- package/src/react/web/ui/Bridge/FundWallet.tsx +6 -2
- package/src/react/web/ui/Bridge/TransactionPayment.tsx +6 -2
- 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/stories/Bridge/fixtures.ts +4 -4
- package/src/version.ts +1 -1
- package/src/wallets/wallet-connect/controller.ts +3 -2
@@ -25,7 +25,7 @@ declare const meta: {
|
|
25
25
|
currency?: import("../../pay/convert/type.js").SupportedFiatCurrency | undefined;
|
26
26
|
buttonLabel?: string | undefined;
|
27
27
|
mode: "fund_wallet";
|
28
|
-
destinationToken: import("../../bridge/index.js").
|
28
|
+
destinationToken: import("../../bridge/index.js").TokenWithPrices;
|
29
29
|
initialAmount?: string | undefined;
|
30
30
|
presetOptions?: [number, number, number] | undefined;
|
31
31
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BridgeOrchestrator.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/BridgeOrchestrator.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iDAAiD,CAAC;AAQzD;;;;GAIG;AAGH,UAAU,gCAAiC,SAAQ,uBAAuB;IACxE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CACjC;AAcD,QAAA,MAAM,IAAI;;;;;;;;;
|
1
|
+
{"version":3,"file":"BridgeOrchestrator.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/BridgeOrchestrator.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iDAAiD,CAAC;AAQzD;;;;GAIG;AAGH,UAAU,gCAAiC,SAAQ,uBAAuB;IACxE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CACjC;AAcD,QAAA,MAAM,IAAI;;;;;;;;;qBA4BoG,CAAA;2BAA4B,CAAA;qBACvH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAvCX,gCAAgC;;;;;;;;;;;CAuDW,CAAC;AAErD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,KAAK,EAAE,KAiBnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,KAiBlB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,KAuB3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,KAuBhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,KAuBzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,KAuB9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAuBjC,CAAC"}
|
@@ -7,7 +7,7 @@ interface DirectPaymentWithThemeProps extends DirectPaymentProps {
|
|
7
7
|
declare const meta: {
|
8
8
|
args: {
|
9
9
|
client: import("../../client/client.js").ThirdwebClient;
|
10
|
-
onContinue: (_amount: string, _token: import("../../bridge/index.js").
|
10
|
+
onContinue: (_amount: string, _token: import("../../bridge/index.js").TokenWithPrices, _receiverAddress: `0x${string}`) => void;
|
11
11
|
theme: "dark";
|
12
12
|
uiOptions: {
|
13
13
|
metadata?: {
|
@@ -20,7 +20,7 @@ declare const meta: {
|
|
20
20
|
mode: "direct_payment";
|
21
21
|
paymentInfo: {
|
22
22
|
sellerAddress: import("../../utils/address.js").Address;
|
23
|
-
token: import("../../bridge/index.js").
|
23
|
+
token: import("../../bridge/index.js").TokenWithPrices;
|
24
24
|
amount: string;
|
25
25
|
feePayer?: "sender" | "receiver";
|
26
26
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"DirectPayment.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/DirectPayment.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,4CAA4C,CAAC;AAKpD,UAAU,2BAA4B,SAAQ,kBAAkB;IAC9D,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CACjC;AAYD,QAAA,MAAM,IAAI;;;;;;;
|
1
|
+
{"version":3,"file":"DirectPayment.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/DirectPayment.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,4CAA4C,CAAC;AAKpD,UAAU,2BAA4B,SAAQ,kBAAkB;IAC9D,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CACjC;AAYD,QAAA,MAAM,IAAI;;;;;;;qBAiCA,CAAP;2BAA2B,CAAC;qBAAqB,CAAC;;;;;;;;;wBAW3B,CAAC;;;;;;;;;;;;;;;;;;uBArDY,2BAA2B;;;;;;;;;;;CAkDnB,CAAC;AAEhD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,UAAU,EAAE,KAcxB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAa7B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAc3B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAahC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAcjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KActC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAc7B,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAalC,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAa1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAc/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAapC,CAAC"}
|
@@ -7,7 +7,7 @@ interface FundWalletWithThemeProps extends FundWalletProps {
|
|
7
7
|
declare const meta: {
|
8
8
|
args: {
|
9
9
|
client: import("../../client/client.js").ThirdwebClient;
|
10
|
-
onContinue: (amount: string, token: import("../../bridge/index.js").
|
10
|
+
onContinue: (amount: string, token: import("../../bridge/index.js").TokenWithPrices, receiverAddress: `0x${string}`) => void;
|
11
11
|
receiverAddress: "0x2247d5d238d0f9d37184d8332aE0289d1aD9991b";
|
12
12
|
theme: "dark";
|
13
13
|
uiOptions: {
|
@@ -19,7 +19,7 @@ declare const meta: {
|
|
19
19
|
currency?: import("../../pay/convert/type.js").SupportedFiatCurrency | undefined;
|
20
20
|
buttonLabel?: string | undefined;
|
21
21
|
mode: "fund_wallet";
|
22
|
-
destinationToken: import("../../bridge/index.js").
|
22
|
+
destinationToken: import("../../bridge/index.js").TokenWithPrices;
|
23
23
|
initialAmount?: string | undefined;
|
24
24
|
presetOptions?: [number, number, number] | undefined;
|
25
25
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"FundWallet.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/FundWallet.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAM/E,UAAU,wBAAyB,SAAQ,eAAe;IACxD,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CACjC;AAYD,QAAA,MAAM,IAAI;;;;;;;;
|
1
|
+
{"version":3,"file":"FundWallet.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/FundWallet.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAM/E,UAAU,wBAAyB,SAAQ,eAAe;IACxD,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;CACjC;AAYD,QAAA,MAAM,IAAI;;;;;;;;qBAgCyB,CAAC;2BAA4B,CAAA;qBACtD,CAAD;;;;;;;;;;;;;;;;;;;;;;;;;;uBA1C2B,wBAAwB;;;;;;;;;;;CAoDhB,CAAC;AAE7C,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,KAAK,EAAE,KAcnB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,KAclB,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAe/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAepC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAavB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAa5B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,KAczB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAa9B,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAc/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAapC,CAAC"}
|
@@ -12,7 +12,7 @@ declare const meta: {
|
|
12
12
|
preparedQuote: import("../../react/core/hooks/useBridgePrepare.js").BridgePrepareResult;
|
13
13
|
theme: "dark";
|
14
14
|
uiOptions: {
|
15
|
-
destinationToken: import("../../bridge/index.js").
|
15
|
+
destinationToken: import("../../bridge/index.js").TokenWithPrices;
|
16
16
|
mode: "fund_wallet";
|
17
17
|
};
|
18
18
|
};
|
@@ -9,7 +9,7 @@ declare const meta: {
|
|
9
9
|
client: import("../../client/client.js").ThirdwebClient;
|
10
10
|
connectLocale: import("../../react/web/ui/ConnectWallet/locale/types.js").ConnectLocale;
|
11
11
|
destinationAmount: string;
|
12
|
-
destinationToken: import("../../bridge/index.js").
|
12
|
+
destinationToken: import("../../bridge/index.js").TokenWithPrices;
|
13
13
|
onError: (error: Error) => void;
|
14
14
|
onPaymentMethodSelected: (_paymentMethod: import("../../react/core/machines/paymentMachine.js").PaymentMethod) => void;
|
15
15
|
theme: "dark";
|
@@ -20,7 +20,7 @@ declare const meta: {
|
|
20
20
|
currency?: import("../../pay/convert/type.js").SupportedFiatCurrency | undefined;
|
21
21
|
buttonLabel?: string | undefined;
|
22
22
|
mode: "fund_wallet";
|
23
|
-
destinationToken: import("../../bridge/index.js").
|
23
|
+
destinationToken: import("../../bridge/index.js").TokenWithPrices;
|
24
24
|
initialAmount?: string | undefined;
|
25
25
|
presetOptions?: [number, number, number] | undefined;
|
26
26
|
};
|
@@ -57,4 +57,5 @@ export declare const OnrampPaymentLight: Story;
|
|
57
57
|
export declare const ComplexPayment: Story;
|
58
58
|
export declare const ComplexPaymentLight: Story;
|
59
59
|
export declare const TransactionPayment: Story;
|
60
|
+
export declare const PaymentId: Story;
|
60
61
|
//# sourceMappingURL=SuccessScreen.stories.d.ts.map
|
@@ -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;;;;;;;;
|
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;;;;;;;;qBA9BoB,CAAC;2BAEtB,CAAC;qBACJ,CAAD;;;;;;;;;;;;;;;;;;;;;uBAkBkC,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"}
|
@@ -7,7 +7,7 @@ declare const meta: {
|
|
7
7
|
args: {
|
8
8
|
client: import("../../client/client.js").ThirdwebClient;
|
9
9
|
onExecuteTransaction: () => void;
|
10
|
-
onContinue: (_amount: string, _token: import("../../bridge/index.js").
|
10
|
+
onContinue: (_amount: string, _token: import("../../bridge/index.js").TokenWithPrices, _receiverAddress: `0x${string}`) => void;
|
11
11
|
theme: "dark";
|
12
12
|
uiOptions: {
|
13
13
|
metadata?: {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TransactionPayment.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/TransactionPayment.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iDAAiD,CAAC;AAKzD,UAAU,gCAAiC,SAAQ,uBAAuB;IACxE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAiBD,QAAA,MAAM,IAAI;;;;;;;;
|
1
|
+
{"version":3,"file":"TransactionPayment.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/TransactionPayment.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,iDAAiD,CAAC;AAKzD,UAAU,gCAAiC,SAAQ,uBAAuB;IACxE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;CACzB;AAiBD,QAAA,MAAM,IAAI;;;;;;;;qBAgCgC,CAAC;2BAA2B,CAAC;qBAC7D,CAAH;;;;;;;;;;;;;;;;;;;;;;uBA9CE,gCAAgC;;;;;;;;;;;CAwDW,CAAC;AAErD,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,gBAAgB,EAAE,KAc9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,KAcnC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAchC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,KAcrC,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,KAcjC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KActC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAc/B,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,KAapC,CAAC"}
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import type {
|
1
|
+
import type { TokenWithPrices } from "../../bridge/types/Token.js";
|
2
2
|
import type { BridgePrepareRequest, BridgePrepareResult } from "../../react/core/hooks/useBridgePrepare.js";
|
3
3
|
import type { UIOptions } from "../../react/web/ui/Bridge/BridgeOrchestrator.js";
|
4
4
|
import type { Wallet } from "../../wallets/interfaces/wallet.js";
|
5
|
-
export declare const ETH:
|
6
|
-
export declare const USDC:
|
7
|
-
export declare const UNI:
|
5
|
+
export declare const ETH: TokenWithPrices;
|
6
|
+
export declare const USDC: TokenWithPrices;
|
7
|
+
export declare const UNI: TokenWithPrices;
|
8
8
|
export declare const STORY_MOCK_WALLET: Wallet;
|
9
9
|
export declare const simpleOnrampQuote: BridgePrepareResult;
|
10
10
|
export declare const onrampWithSwapsQuote: BridgePrepareResult;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/fixtures.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
1
|
+
{"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../src/stories/Bridge/fixtures.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AASnE,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAC;AAGjF,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAG1E,eAAO,MAAM,GAAG,EAAE,eAWjB,CAAC;AAEF,eAAO,MAAM,IAAI,EAAE,eAWlB,CAAC;AAEF,eAAO,MAAM,GAAG,EAAE,eAWjB,CAAC;AA4BF,eAAO,MAAM,iBAAiB,QAA0B,CAAC;AAGzD,eAAO,MAAM,iBAAiB,EAAE,mBA8B/B,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,mBA0HlC,CAAC;AAGF,eAAO,MAAM,cAAc,EAAE,mBA4D5B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,mBA0D9B,CAAC;AAGF,eAAO,MAAM,oBAAoB,EAAE,mBAgElC,CAAC;AAGF,eAAO,MAAM,eAAe,EAAE,mBAyJ7B,CAAC;AACF,eAAO,MAAM,gBAAgB,EAAE,oBAU9B,CAAC;AAqCF,eAAO,MAAM,kBAAkB;;;;;;CAM9B,CAAC;AAoCF,KAAK,mBAAmB,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AACvE,KAAK,sBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAAC;AAC7E,KAAK,oBAAoB,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAGxE,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,YAAY,GAAG,eAAe,GAAG,aAAa,GAAG,UAAU,GAAG,cAAc,EAC5E,mBAAmB,CA2CpB,CAAC;AAGF,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC1C,YAAY,GACZ,eAAe,GACf,cAAc,GACd,UAAU,GACV,SAAS,GACT,cAAc,EAChB,sBAAsB,CAsFvB,CAAC;AAGF,eAAO,MAAM,sBAAsB,EAAE,MAAM,CACzC,aAAa,GAAG,eAAe,GAAG,qBAAqB,GAAG,cAAc,EACxE,oBAAoB,CAmCrB,CAAC"}
|
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.39";
|
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/bridge/Onramp.ts
CHANGED
@@ -7,7 +7,7 @@ import { getClientFetch } from "../utils/fetch.js";
|
|
7
7
|
import { stringify } from "../utils/json.js";
|
8
8
|
import { ApiError } from "./types/Errors.js";
|
9
9
|
import type { RouteStep } from "./types/Route.js";
|
10
|
-
import type {
|
10
|
+
import type { TokenWithPrices } from "./types/Token.js";
|
11
11
|
|
12
12
|
// export status within the Onramp module
|
13
13
|
export { status } from "./OnrampStatus.js";
|
@@ -33,7 +33,7 @@ type OnrampPrepareQuoteResponseData = {
|
|
33
33
|
currency: string;
|
34
34
|
currencyAmount: number;
|
35
35
|
destinationAmount: bigint;
|
36
|
-
destinationToken:
|
36
|
+
destinationToken: TokenWithPrices;
|
37
37
|
timestamp?: number;
|
38
38
|
expiration?: number;
|
39
39
|
steps: RouteStep[];
|
package/src/bridge/Token.test.ts
CHANGED
@@ -22,7 +22,7 @@ describe.runIf(process.env.TW_SECRET_KEY)("tokens", () => {
|
|
22
22
|
expect(token).toHaveProperty("decimals");
|
23
23
|
expect(token).toHaveProperty("symbol");
|
24
24
|
expect(token).toHaveProperty("name");
|
25
|
-
expect(token).toHaveProperty("
|
25
|
+
expect(token).toHaveProperty("prices");
|
26
26
|
|
27
27
|
if (token) {
|
28
28
|
expect(typeof token.chainId).toBe("number");
|
@@ -30,11 +30,29 @@ describe.runIf(process.env.TW_SECRET_KEY)("tokens", () => {
|
|
30
30
|
expect(typeof token.decimals).toBe("number");
|
31
31
|
expect(typeof token.symbol).toBe("string");
|
32
32
|
expect(typeof token.name).toBe("string");
|
33
|
-
expect(typeof token.priceUsd).toBe("number");
|
34
33
|
}
|
35
34
|
}
|
36
35
|
});
|
37
36
|
|
37
|
+
it("should exclude prices if includePrices is false", async () => {
|
38
|
+
// Setup
|
39
|
+
const client = TEST_CLIENT;
|
40
|
+
|
41
|
+
// Test
|
42
|
+
const result = await tokens({
|
43
|
+
client,
|
44
|
+
includePrices: false,
|
45
|
+
});
|
46
|
+
|
47
|
+
// Verify
|
48
|
+
expect(result).toBeInstanceOf(Array);
|
49
|
+
|
50
|
+
// All tokens should not have prices
|
51
|
+
for (const token of result) {
|
52
|
+
expect(token.prices).toBeUndefined();
|
53
|
+
}
|
54
|
+
});
|
55
|
+
|
38
56
|
it("should filter tokens by chainId", async () => {
|
39
57
|
// Setup
|
40
58
|
const client = TEST_CLIENT;
|
package/src/bridge/Token.ts
CHANGED
@@ -2,7 +2,7 @@ import type { ThirdwebClient } from "../client/client.js";
|
|
2
2
|
import { getThirdwebBaseUrl } from "../utils/domains.js";
|
3
3
|
import { getClientFetch } from "../utils/fetch.js";
|
4
4
|
import { ApiError } from "./types/Errors.js";
|
5
|
-
import type { Token } from "./types/Token.js";
|
5
|
+
import type { Token, TokenWithPrices } from "./types/Token.js";
|
6
6
|
|
7
7
|
/**
|
8
8
|
* Retrieves supported Universal Bridge tokens based on the provided filters.
|
@@ -128,9 +128,20 @@ import type { Token } from "./types/Token.js";
|
|
128
128
|
* @bridge
|
129
129
|
* @beta
|
130
130
|
*/
|
131
|
-
export async function tokens
|
132
|
-
|
133
|
-
|
131
|
+
export async function tokens<
|
132
|
+
IncludePrices extends boolean = true,
|
133
|
+
R extends Token | TokenWithPrices = TokenWithPrices,
|
134
|
+
>(options: tokens.Options<IncludePrices>): Promise<R[]> {
|
135
|
+
const {
|
136
|
+
client,
|
137
|
+
chainId,
|
138
|
+
tokenAddress,
|
139
|
+
symbol,
|
140
|
+
name,
|
141
|
+
limit,
|
142
|
+
offset,
|
143
|
+
includePrices,
|
144
|
+
} = options;
|
134
145
|
|
135
146
|
const clientFetch = getClientFetch(client);
|
136
147
|
const url = new URL(`${getThirdwebBaseUrl("bridge")}/v1/tokens`);
|
@@ -153,6 +164,9 @@ export async function tokens(options: tokens.Options): Promise<tokens.Result> {
|
|
153
164
|
if (offset !== null && offset !== undefined) {
|
154
165
|
url.searchParams.set("offset", offset.toString());
|
155
166
|
}
|
167
|
+
if (includePrices !== undefined) {
|
168
|
+
url.searchParams.set("includePrices", includePrices.toString());
|
169
|
+
}
|
156
170
|
|
157
171
|
const response = await clientFetch(url.toString());
|
158
172
|
if (!response.ok) {
|
@@ -165,7 +179,7 @@ export async function tokens(options: tokens.Options): Promise<tokens.Result> {
|
|
165
179
|
});
|
166
180
|
}
|
167
181
|
|
168
|
-
const { data }: { data:
|
182
|
+
const { data }: { data: R[] } = await response.json();
|
169
183
|
return data;
|
170
184
|
}
|
171
185
|
|
@@ -173,7 +187,7 @@ export declare namespace tokens {
|
|
173
187
|
/**
|
174
188
|
* Input parameters for {@link tokens}.
|
175
189
|
*/
|
176
|
-
type Options = {
|
190
|
+
type Options<IncludePrices extends boolean> = {
|
177
191
|
/** Your {@link ThirdwebClient} instance. */
|
178
192
|
client: ThirdwebClient;
|
179
193
|
/** Filter by a specific chain ID. */
|
@@ -188,12 +202,14 @@ export declare namespace tokens {
|
|
188
202
|
limit?: number;
|
189
203
|
/** Number of tokens to skip (min: 0, default: 0). */
|
190
204
|
offset?: number | null;
|
205
|
+
/** Whether or not to include prices for the tokens. Setting this to false will speed up the request. */
|
206
|
+
includePrices?: IncludePrices;
|
191
207
|
};
|
192
208
|
|
193
209
|
/**
|
194
210
|
* The result returned from {@link Bridge.tokens}.
|
195
211
|
*/
|
196
|
-
type Result =
|
212
|
+
type Result<T extends Token | TokenWithPrices> = T[];
|
197
213
|
}
|
198
214
|
|
199
215
|
/**
|
@@ -254,7 +270,7 @@ export async function add(options: add.Options): Promise<add.Result> {
|
|
254
270
|
});
|
255
271
|
}
|
256
272
|
|
257
|
-
const { data }: { data:
|
273
|
+
const { data }: { data: TokenWithPrices } = await response.json();
|
258
274
|
return data;
|
259
275
|
}
|
260
276
|
|
@@ -274,5 +290,5 @@ export declare namespace add {
|
|
274
290
|
/**
|
275
291
|
* The result returned from {@link Bridge.add}.
|
276
292
|
*/
|
277
|
-
type Result =
|
293
|
+
type Result = TokenWithPrices;
|
278
294
|
}
|
package/src/bridge/index.ts
CHANGED
@@ -17,7 +17,7 @@ export type {
|
|
17
17
|
RouteTransaction,
|
18
18
|
} from "./types/Route.js";
|
19
19
|
export type { Status } from "./types/Status.js";
|
20
|
-
export type { Token } from "./types/Token.js";
|
20
|
+
export type { Token, TokenWithPrices } from "./types/Token.js";
|
21
21
|
export type { WebhookPayload } from "./Webhook.js";
|
22
22
|
export * as Webhook from "./Webhook.js";
|
23
23
|
export { parse } from "./Webhook.js";
|
@@ -2,24 +2,24 @@ import type { Hex as ox__Hex } from "ox";
|
|
2
2
|
import type { Chain } from "../../chains/types.js";
|
3
3
|
import type { ThirdwebClient } from "../../client/client.js";
|
4
4
|
import type { Action } from "./BridgeAction.js";
|
5
|
-
import type {
|
5
|
+
import type { TokenWithPrices } from "./Token.js";
|
6
6
|
|
7
7
|
export type Route = {
|
8
|
-
originToken:
|
9
|
-
destinationToken:
|
8
|
+
originToken: TokenWithPrices;
|
9
|
+
destinationToken: TokenWithPrices;
|
10
10
|
};
|
11
11
|
|
12
12
|
export type RouteQuoteStep = {
|
13
|
-
originToken:
|
14
|
-
destinationToken:
|
13
|
+
originToken: TokenWithPrices;
|
14
|
+
destinationToken: TokenWithPrices;
|
15
15
|
originAmount: bigint;
|
16
16
|
destinationAmount: bigint;
|
17
17
|
estimatedExecutionTimeMs: number;
|
18
18
|
};
|
19
19
|
|
20
20
|
export type RouteStep = {
|
21
|
-
originToken:
|
22
|
-
destinationToken:
|
21
|
+
originToken: TokenWithPrices;
|
22
|
+
destinationToken: TokenWithPrices;
|
23
23
|
originAmount: bigint;
|
24
24
|
destinationAmount: bigint;
|
25
25
|
estimatedExecutionTimeMs: number;
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { add, tokens } from "../../bridge/Token.js";
|
2
|
-
import type {
|
2
|
+
import type { TokenWithPrices } from "../../bridge/types/Token.js";
|
3
3
|
import type { ThirdwebClient } from "../../client/client.js";
|
4
4
|
import { withCache } from "../../utils/promise/withCache.js";
|
5
5
|
|
@@ -7,7 +7,7 @@ export async function getToken(
|
|
7
7
|
client: ThirdwebClient,
|
8
8
|
tokenAddress: string,
|
9
9
|
chainId: number,
|
10
|
-
): Promise<
|
10
|
+
): Promise<TokenWithPrices> {
|
11
11
|
return withCache(
|
12
12
|
async () => {
|
13
13
|
const result = await tokens({
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { useQuery } from "@tanstack/react-query";
|
2
2
|
import type { Quote } from "../../../bridge/index.js";
|
3
3
|
import { ApiError } from "../../../bridge/types/Errors.js";
|
4
|
-
import type { Token } from "../../../bridge/types/Token.js";
|
4
|
+
import type { Token, TokenWithPrices } from "../../../bridge/types/Token.js";
|
5
5
|
import type { ThirdwebClient } from "../../../client/client.js";
|
6
6
|
import { getThirdwebBaseUrl } from "../../../utils/domains.js";
|
7
7
|
import { getClientFetch } from "../../../utils/fetch.js";
|
@@ -82,7 +82,7 @@ export function usePaymentMethods(options: {
|
|
82
82
|
|
83
83
|
const {
|
84
84
|
data: allValidOriginTokens,
|
85
|
-
}: { data: { quote: Quote; balance: string; token:
|
85
|
+
}: { data: { quote: Quote; balance: string; token: TokenWithPrices }[] } =
|
86
86
|
await response.json();
|
87
87
|
|
88
88
|
// Sort by enough balance to pay THEN gross balance
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { useQuery } from "@tanstack/react-query";
|
2
2
|
import type { AbiFunction } from "abitype";
|
3
3
|
import { toFunctionSelector } from "viem";
|
4
|
-
import type {
|
4
|
+
import type { TokenWithPrices } from "../../../bridge/index.js";
|
5
5
|
import type { ThirdwebClient } from "../../../client/client.js";
|
6
6
|
import { NATIVE_TOKEN_ADDRESS } from "../../../constants/addresses.js";
|
7
7
|
import type { CompilerMetadata } from "../../../contract/actions/compiler-metadata.js";
|
@@ -34,7 +34,7 @@ interface TransactionDetails {
|
|
34
34
|
usdValueDisplay: string | null;
|
35
35
|
txCostDisplay: string;
|
36
36
|
gasCostDisplay: string | null;
|
37
|
-
tokenInfo:
|
37
|
+
tokenInfo: TokenWithPrices | null;
|
38
38
|
costWei: bigint;
|
39
39
|
gasCostWei: bigint | null;
|
40
40
|
totalCost: string;
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useCallback, useState } from "react";
|
2
2
|
import type { Quote } from "../../../bridge/index.js";
|
3
|
-
import type {
|
3
|
+
import type { TokenWithPrices } from "../../../bridge/types/Token.js";
|
4
4
|
import type { Address } from "../../../utils/address.js";
|
5
5
|
import type { AsyncStorage } from "../../../utils/storage/AsyncStorage.js";
|
6
6
|
import type { Wallet } from "../../../wallets/interfaces/wallet.js";
|
@@ -23,7 +23,7 @@ export type PaymentMethod =
|
|
23
23
|
| {
|
24
24
|
type: "wallet";
|
25
25
|
payerWallet: Wallet;
|
26
|
-
originToken:
|
26
|
+
originToken: TokenWithPrices;
|
27
27
|
balance: bigint;
|
28
28
|
quote: Quote;
|
29
29
|
}
|
@@ -43,7 +43,7 @@ export interface PaymentMachineContext {
|
|
43
43
|
|
44
44
|
// Target requirements (resolved in init state)
|
45
45
|
destinationAmount?: string;
|
46
|
-
destinationToken?:
|
46
|
+
destinationToken?: TokenWithPrices;
|
47
47
|
receiverAddress?: Address;
|
48
48
|
|
49
49
|
// User selections (set in methodSelection state)
|
@@ -73,7 +73,7 @@ export interface PaymentMachineContext {
|
|
73
73
|
type PaymentMachineEvent =
|
74
74
|
| {
|
75
75
|
type: "DESTINATION_CONFIRMED";
|
76
|
-
destinationToken:
|
76
|
+
destinationToken: TokenWithPrices;
|
77
77
|
destinationAmount: string;
|
78
78
|
receiverAddress: Address;
|
79
79
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use client";
|
2
2
|
import { useCallback, useMemo } from "react";
|
3
|
-
import type {
|
3
|
+
import type { TokenWithPrices } from "../../../../bridge/types/Token.js";
|
4
4
|
import type { ThirdwebClient } from "../../../../client/client.js";
|
5
5
|
import type { SupportedFiatCurrency } from "../../../../pay/convert/type.js";
|
6
6
|
import type { PurchaseData } from "../../../../pay/types.js";
|
@@ -46,7 +46,7 @@ export type UIOptions = Prettify<
|
|
46
46
|
} & (
|
47
47
|
| {
|
48
48
|
mode: "fund_wallet";
|
49
|
-
destinationToken:
|
49
|
+
destinationToken: TokenWithPrices;
|
50
50
|
initialAmount?: string;
|
51
51
|
presetOptions?: [number, number, number];
|
52
52
|
}
|
@@ -54,7 +54,7 @@ export type UIOptions = Prettify<
|
|
54
54
|
mode: "direct_payment";
|
55
55
|
paymentInfo: {
|
56
56
|
sellerAddress: Address;
|
57
|
-
token:
|
57
|
+
token: TokenWithPrices;
|
58
58
|
amount: string;
|
59
59
|
feePayer?: "sender" | "receiver";
|
60
60
|
};
|
@@ -235,7 +235,7 @@ export function BridgeOrchestrator({
|
|
235
235
|
|
236
236
|
// Handle requirements resolved from FundWallet and DirectPayment
|
237
237
|
const handleRequirementsResolved = useCallback(
|
238
|
-
(amount: string, token:
|
238
|
+
(amount: string, token: TokenWithPrices, receiverAddress: Address) => {
|
239
239
|
send({
|
240
240
|
destinationAmount: amount,
|
241
241
|
destinationToken: token,
|
@@ -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
|
|