@embarkai/ui-kit 0.4.73 → 0.4.74
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/iframe/index.html +1 -1
- package/dist/iframe/main.js +1 -1
- package/dist/index.cjs +1077 -615
- package/dist/index.d.cts +224 -8
- package/dist/index.d.ts +224 -8
- package/dist/index.js +1050 -591
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -5562,6 +5562,12 @@ var init_en = __esm({
|
|
|
5562
5562
|
selectNone: "Select None",
|
|
5563
5563
|
errors: {
|
|
5564
5564
|
oops: "Oops, something went wrong. Please try again."
|
|
5565
|
+
},
|
|
5566
|
+
onboarding: {
|
|
5567
|
+
tourButton: {
|
|
5568
|
+
title: "Tour Button",
|
|
5569
|
+
description: 'Tours are available under the "?" buttons of embarkAI menus. Click to have menu tour'
|
|
5570
|
+
}
|
|
5565
5571
|
}
|
|
5566
5572
|
},
|
|
5567
5573
|
auth: {
|
|
@@ -5614,22 +5620,31 @@ var init_en = __esm({
|
|
|
5614
5620
|
actions: {
|
|
5615
5621
|
send: "SEND",
|
|
5616
5622
|
confirm: "CONFIRM SEND"
|
|
5623
|
+
},
|
|
5624
|
+
onboarding: {
|
|
5625
|
+
sendMenu: {
|
|
5626
|
+
title: "Send Menu",
|
|
5627
|
+
description: "Select a crypto asset to send and enter the recipient address and amount."
|
|
5628
|
+
},
|
|
5629
|
+
sendCryptoSummary: {
|
|
5630
|
+
title: "Send Summary",
|
|
5631
|
+
description: "Review the details of your crypto transfer before confirming, then confirm the transaction."
|
|
5632
|
+
}
|
|
5617
5633
|
}
|
|
5618
5634
|
},
|
|
5619
5635
|
bridgeMenu: {
|
|
5620
|
-
title: "Bridge
|
|
5636
|
+
title: "Bridge asset",
|
|
5621
5637
|
labels: {
|
|
5622
|
-
sender: "Sender",
|
|
5623
5638
|
bridgeAsset: "Bridge {{asset}}",
|
|
5624
|
-
|
|
5625
|
-
selectToken: "Select
|
|
5639
|
+
selectSender: "Select sender wallet",
|
|
5640
|
+
selectToken: "Select asset for bridging",
|
|
5626
5641
|
estimations: "Estimations",
|
|
5627
5642
|
estimatedFee: "Estimated Fee",
|
|
5628
|
-
availableChainPairs: "Select
|
|
5629
|
-
toChain: "To
|
|
5630
|
-
fromChain: "From
|
|
5643
|
+
availableChainPairs: "Select chain pair",
|
|
5644
|
+
toChain: "To chain",
|
|
5645
|
+
fromChain: "From chain",
|
|
5631
5646
|
optionalRecipient: "Recipient (optional, if empty - destination chain address = sender address on origin chain)",
|
|
5632
|
-
confirm: "Confirm
|
|
5647
|
+
confirm: "Confirm bridge",
|
|
5633
5648
|
bridgeTransactions: "Bridge TXs"
|
|
5634
5649
|
},
|
|
5635
5650
|
quote: {
|
|
@@ -5646,6 +5661,7 @@ var init_en = __esm({
|
|
|
5646
5661
|
},
|
|
5647
5662
|
actions: {
|
|
5648
5663
|
connectWallet: "CONNECT WALLET",
|
|
5664
|
+
addExternalWalletProfile: "ADD WALLET PROFILE",
|
|
5649
5665
|
bridge: "BRIDGE",
|
|
5650
5666
|
estimateQuote: "ESTIMATE QUOTE",
|
|
5651
5667
|
bridgeAsset: "BRIDGE {{asset}}",
|
|
@@ -5670,7 +5686,37 @@ var init_en = __esm({
|
|
|
5670
5686
|
noConnections: "No connections found between {{originChain}} & {{destinationChain}}",
|
|
5671
5687
|
wrongNetwork: " Please switch embarkAi to origin chain to proceed with bridging",
|
|
5672
5688
|
noHistory: "No bridge history yet. Bridge your assets to see the history here.",
|
|
5673
|
-
unsupportedNetwork:
|
|
5689
|
+
unsupportedNetwork: 'Bridging from {{originChain}} not yet possible by {{sender}}. Try swapping network pair, or select different token route, or change sender wallet, or if sender is embarkAI make sure it is switched to the corresponding "From Chain" network.'
|
|
5690
|
+
},
|
|
5691
|
+
onboarding: {
|
|
5692
|
+
bridgeMenu: {
|
|
5693
|
+
title: "Bridge Menu",
|
|
5694
|
+
description: "Sending via Bridging provides a way to send crypto assets across different blockchain networks."
|
|
5695
|
+
},
|
|
5696
|
+
bridgeSenderWalletSelector: {
|
|
5697
|
+
title: "Select sender wallet",
|
|
5698
|
+
description: "EmbarkAI can be authenticated by external wallet as auth-profile provider (Settings -> Profiles).\n External wallet profile can be used as sender (tx signer) for bridging crypto into embarkAI.\n Add external wallet profile if not done yet (Settings -> Profiles) and proceed with provided instructions"
|
|
5699
|
+
},
|
|
5700
|
+
bridgeCryptoAssetSelector: {
|
|
5701
|
+
title: "Select asset to bridge",
|
|
5702
|
+
description: "Bridging happens from one blockchain network to another.\n With this selector pick the asset you want to bridge, then pick the chain pair from available for the asset."
|
|
5703
|
+
},
|
|
5704
|
+
bridgeChainPairSwapper: {
|
|
5705
|
+
title: "Set origin & destination chains for bridging",
|
|
5706
|
+
description: 'Bridge route (chain pair) is used to be bidirectional, meaning that the origin and destination chains can be swapped.\n Use the "\u21C4" button to set the origin and destination chains for bridging.'
|
|
5707
|
+
},
|
|
5708
|
+
bridgeAmountRecipientInputs: {
|
|
5709
|
+
title: "Set amount & optional recipient for bridging",
|
|
5710
|
+
description: "Enter the amount you want to bridge and optionally specify a recipient address. If recipient is empty: destination chain address = sender address on origin chain"
|
|
5711
|
+
},
|
|
5712
|
+
bridgeEstimateQuoteButton: {
|
|
5713
|
+
title: "Estimate quote for bridging",
|
|
5714
|
+
description: "'Get an estimation of the bridging transaction before actual bridging. This helps you make an informed decision before proceeding with the bridge.'"
|
|
5715
|
+
},
|
|
5716
|
+
bridgeEstimatedQuoteMenu: {
|
|
5717
|
+
title: "Estimated bridging quote",
|
|
5718
|
+
description: "Make sure to check bridge setup & the estimated quote for bridging, then confirm the transaction."
|
|
5719
|
+
}
|
|
5674
5720
|
}
|
|
5675
5721
|
},
|
|
5676
5722
|
receiveMenu: {
|
|
@@ -5719,6 +5765,24 @@ var init_en = __esm({
|
|
|
5719
5765
|
inputPlaceholder: {
|
|
5720
5766
|
selectCurrencies: "Select crypto and fiat",
|
|
5721
5767
|
providerMin: "{{provider}}: Minimum {{minimum}} {{currency}} required"
|
|
5768
|
+
},
|
|
5769
|
+
onboarding: {
|
|
5770
|
+
buyMenu: {
|
|
5771
|
+
title: "Buy Menu",
|
|
5772
|
+
description: "Here you can make crypto purchases."
|
|
5773
|
+
},
|
|
5774
|
+
providerSelector: {
|
|
5775
|
+
title: "Select a Provider",
|
|
5776
|
+
description: "Cick here to choose a provider for your crypto purchase."
|
|
5777
|
+
},
|
|
5778
|
+
binanceMenu: {
|
|
5779
|
+
title: "Set Purchase Details",
|
|
5780
|
+
description: "Click here to set the details of your crypto purchase."
|
|
5781
|
+
},
|
|
5782
|
+
binanceEstimate: {
|
|
5783
|
+
title: "Confirm your purchase",
|
|
5784
|
+
description: "Review the details of your purchase before confirming."
|
|
5785
|
+
}
|
|
5722
5786
|
}
|
|
5723
5787
|
},
|
|
5724
5788
|
portfolioMenu: {
|
|
@@ -5907,6 +5971,12 @@ var init_ru = __esm({
|
|
|
5907
5971
|
selectNone: "\u0421\u043D\u044F\u0442\u044C \u0432\u044B\u0431\u043E\u0440",
|
|
5908
5972
|
errors: {
|
|
5909
5973
|
oops: "\u0423\u043F\u0441, \u0447\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A. \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0441\u043D\u043E\u0432\u0430."
|
|
5974
|
+
},
|
|
5975
|
+
onboarding: {
|
|
5976
|
+
tourButton: {
|
|
5977
|
+
title: "\u041A\u043D\u043E\u043F\u043A\u0430 \u0442\u0443\u0440\u0430",
|
|
5978
|
+
description: "\u0422\u0443\u0440\u044B \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B \u043F\u043E\u0434 \u043A\u043D\u043E\u043F\u043A\u0430\u043C\u0438 \xAB?\xBB \u043C\u0435\u043D\u044E embarkAI. \u041D\u0430\u0436\u043C\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u043E\u0439\u0442\u0438 \u0442\u0443\u0440 \u043F\u043E \u043C\u0435\u043D\u044E"
|
|
5979
|
+
}
|
|
5910
5980
|
}
|
|
5911
5981
|
},
|
|
5912
5982
|
auth: {
|
|
@@ -5959,14 +6029,23 @@ var init_ru = __esm({
|
|
|
5959
6029
|
actions: {
|
|
5960
6030
|
send: "\u041E\u0422\u041F\u0420\u0410\u0412\u0418\u0422\u042C",
|
|
5961
6031
|
confirm: "\u041F\u041E\u0414\u0422\u0412\u0415\u0420\u0414\u0418\u0422\u042C \u041E\u0422\u041F\u0420\u0410\u0412\u041A\u0423"
|
|
6032
|
+
},
|
|
6033
|
+
onboarding: {
|
|
6034
|
+
sendMenu: {
|
|
6035
|
+
title: "\u041C\u0435\u043D\u044E \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438",
|
|
6036
|
+
description: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0440\u0438\u043F\u0442\u043E\u0430\u043A\u0442\u0438\u0432 \u0434\u043B\u044F \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u0438 \u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F \u0438 \u0441\u0443\u043C\u043C\u0443."
|
|
6037
|
+
},
|
|
6038
|
+
sendCryptoSummary: {
|
|
6039
|
+
title: "\u0421\u0432\u043E\u0434\u043A\u0430 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438",
|
|
6040
|
+
description: "\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0434\u0435\u0442\u0430\u043B\u0438 \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u0430 \u043F\u0435\u0440\u0435\u0434 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435\u043C, \u0437\u0430\u0442\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044E."
|
|
6041
|
+
}
|
|
5962
6042
|
}
|
|
5963
6043
|
},
|
|
5964
6044
|
bridgeMenu: {
|
|
5965
6045
|
title: "\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0410\u043A\u0442\u0438\u0432",
|
|
5966
6046
|
labels: {
|
|
5967
|
-
sender: "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C",
|
|
5968
6047
|
bridgeAsset: "\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C {{asset}}",
|
|
5969
|
-
|
|
6048
|
+
selectSender: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u043E\u0448\u0435\u043B\u0451\u043A-\u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C",
|
|
5970
6049
|
selectToken: "\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0442\u043E\u043A\u0435\u043D\u0430",
|
|
5971
6050
|
estimations: "\u041E\u0446\u0435\u043D\u043A\u0438",
|
|
5972
6051
|
estimatedFee: "\u041E\u0436\u0438\u0434\u0430\u0435\u043C\u0430\u044F \u043A\u043E\u043C\u0438\u0441\u0441\u0438\u044F",
|
|
@@ -5991,11 +6070,12 @@ var init_ru = __esm({
|
|
|
5991
6070
|
},
|
|
5992
6071
|
actions: {
|
|
5993
6072
|
connectWallet: "\u041F\u041E\u0414\u041A\u041B\u042E\u0427\u0418\u0422\u042C \u041A\u041E\u0428\u0415\u041B\u0401\u041A",
|
|
6073
|
+
addExternalWalletProfile: "\u0414\u041E\u0411\u0410\u0412\u0418\u0422\u042C \u041F\u0420\u041E\u0424\u0418\u041B\u042C \u041A\u041E\u0428\u0415\u041B\u042C\u041A\u0410",
|
|
5994
6074
|
bridge: "\u041F\u0415\u0420\u0415\u041C\u0415\u0421\u0422\u0418\u0422\u042C",
|
|
5995
6075
|
estimateQuote: "\u0420\u0410\u0421\u0421\u0427\u0418\u0422\u0410\u0422\u042C \u0421\u0422\u041E\u0418\u041C\u041E\u0421\u0422\u042C",
|
|
5996
6076
|
bridgeAsset: "\u041F\u0415\u0420\u0415\u041C\u0415\u0421\u0422\u0418\u0422\u042C {{asset}}",
|
|
5997
6077
|
selectAsset: "\u0412\u042B\u0411\u0420\u0410\u0422\u042C \u0410\u041A\u0422\u0418\u0412",
|
|
5998
|
-
confirmBridge: "\
|
|
6078
|
+
confirmBridge: "\u042F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u044E \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 {{amount}} {{asset}} \u0432 {{destinationChain}}"
|
|
5999
6079
|
},
|
|
6000
6080
|
statuses: {
|
|
6001
6081
|
balanceInsufficient: "\u041D\u0435\u0434\u043E\u0441\u0442\u0430\u0442\u043E\u0447\u043D\u043E \u0441\u0440\u0435\u0434\u0441\u0442\u0432",
|
|
@@ -6015,7 +6095,37 @@ var init_ru = __esm({
|
|
|
6015
6095
|
noConnections: "\u0421\u043E\u0435\u0434\u0438\u043D\u0435\u043D\u0438\u0439 \u043C\u0435\u0436\u0434\u0443 {{originChain}} \u0438 {{destinationChain}} \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E",
|
|
6016
6096
|
wrongNetwork: " \u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u0435 EmbarkAI \u043D\u0430 \u0438\u0441\u0445\u043E\u0434\u043D\u0443\u044E \u0441\u0435\u0442\u044C \u0434\u043B\u044F \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
6017
6097
|
noHistory: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0439 \u043F\u0443\u0441\u0442\u0430. \u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u0435 \u0432\u0430\u0448\u0438 \u0430\u043A\u0442\u0438\u0432\u044B, \u0447\u0442\u043E\u0431\u044B \u0443\u0432\u0438\u0434\u0435\u0442\u044C \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0437\u0434\u0435\u0441\u044C.",
|
|
6018
|
-
unsupportedNetwork: "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u0437
|
|
6098
|
+
unsupportedNetwork: "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u0438\u0437 {{originChain}} \u043D\u0435 \u0432\u043E\u0437\u043C\u043E\u0436\u043D\u043E \u0434\u043B\u044F {{sender}}. \u041F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0430\u0440\u0443 \u0441\u0435\u0442\u0435\u0439, \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u0434\u0440\u0443\u0433\u043E\u0439 \u043C\u0430\u0440\u0448\u0440\u0443\u0442 \u0442\u043E\u043A\u0435\u043D\u0430, \u0441\u043C\u0435\u043D\u0438\u0442\u044C \u043A\u043E\u0448\u0435\u043B\u0451\u043A \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044F \u0438\u043B\u0438, \u0435\u0441\u043B\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C \u2014 EmbarkAI, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u043E\u043D \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D \u043D\u0430 \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0443\u044E \u0441\u0435\u0442\u044C \xAB\u0418\u0437 \u0441\u0435\u0442\u0438\xBB."
|
|
6099
|
+
},
|
|
6100
|
+
onboarding: {
|
|
6101
|
+
bridgeMenu: {
|
|
6102
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
6103
|
+
description: "\u041E\u0442\u043F\u0440\u0430\u0432\u043A\u0430 \u0447\u0435\u0440\u0435\u0437 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043E\u0431\u0435\u0441\u043F\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u0441\u043F\u043E\u0441\u043E\u0431 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0430\u043A\u0442\u0438\u0432\u043E\u0432 \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u043D\u044B\u0435 \u0431\u043B\u043E\u043A\u0447\u0435\u0439\u043D-\u0441\u0435\u0442\u0438."
|
|
6104
|
+
},
|
|
6105
|
+
bridgeSenderWalletSelector: {
|
|
6106
|
+
title: "\u0412\u044B\u0431\u043E\u0440 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430-\u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044F",
|
|
6107
|
+
description: "EmbarkAI \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043E\u0432\u0430\u043D \u0432\u043D\u0435\u0448\u043D\u0438\u043C \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u043E\u043C \u043A\u0430\u043A \u043F\u043E\u0441\u0442\u0430\u0432\u0449\u0438\u043A \u043F\u0440\u043E\u0444\u0438\u043B\u044F \u0430\u0443\u0442\u0435\u043D\u0442\u0438\u0444\u0438\u043A\u0430\u0446\u0438\u0438 (\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 -> \u041F\u0440\u043E\u0444\u0438\u043B\u0438).\n \u041F\u0440\u043E\u0444\u0438\u043B\u044C \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430 \u043C\u043E\u0436\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C\u0441\u044F \u043A\u0430\u043A \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044C (\u043F\u043E\u0434\u043F\u0438\u0441\u0430\u043D\u0442 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439) \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u044B \u0432 embarkAI.\n \u0414\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u043F\u0440\u043E\u0444\u0438\u043B\u044C \u0432\u043D\u0435\u0448\u043D\u0435\u0433\u043E \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430, \u0435\u0441\u043B\u0438 \u044D\u0442\u043E \u0435\u0449\u0451 \u043D\u0435 \u0441\u0434\u0435\u043B\u0430\u043D\u043E (\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 -> \u041F\u0440\u043E\u0444\u0438\u043B\u0438), \u0438 \u0441\u043B\u0435\u0434\u0443\u0439\u0442\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u044F\u043C."
|
|
6108
|
+
},
|
|
6109
|
+
bridgeCryptoAssetSelector: {
|
|
6110
|
+
title: "\u0412\u044B\u0431\u043E\u0440 \u0430\u043A\u0442\u0438\u0432\u0430 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
6111
|
+
description: "\u041F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435 \u043F\u0440\u043E\u0438\u0441\u0445\u043E\u0434\u0438\u0442 \u0438\u0437 \u043E\u0434\u043D\u043E\u0439 \u0431\u043B\u043E\u043A\u0447\u0435\u0439\u043D-\u0441\u0435\u0442\u0438 \u0432 \u0434\u0440\u0443\u0433\u0443\u044E.\n \u0421 \u043F\u043E\u043C\u043E\u0449\u044C\u044E \u044D\u0442\u043E\u0433\u043E \u0441\u0435\u043B\u0435\u043A\u0442\u043E\u0440\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0430\u043A\u0442\u0438\u0432, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0445\u043E\u0442\u0438\u0442\u0435 \u043F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C, \u0437\u0430\u0442\u0435\u043C \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0443\u044E \u0434\u043B\u044F \u043D\u0435\u0433\u043E \u043F\u0430\u0440\u0443 \u0441\u0435\u0442\u0435\u0439."
|
|
6112
|
+
},
|
|
6113
|
+
bridgeChainPairSwapper: {
|
|
6114
|
+
title: "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0438 \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u0441\u0435\u0442\u0438",
|
|
6115
|
+
description: "\u041C\u0430\u0440\u0448\u0440\u0443\u0442 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F (\u043F\u0430\u0440\u0430 \u0441\u0435\u0442\u0435\u0439) \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0434\u0432\u0443\u043D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043D\u044B\u043C, \u0442\u043E \u0435\u0441\u0442\u044C \u0438\u0441\u0445\u043E\u0434\u043D\u0443\u044E \u0438 \u0446\u0435\u043B\u0435\u0432\u0443\u044E \u0441\u0435\u0442\u0438 \u043C\u043E\u0436\u043D\u043E \u043F\u043E\u043C\u0435\u043D\u044F\u0442\u044C \u043C\u0435\u0441\u0442\u0430\u043C\u0438.\n \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435 \u043A\u043D\u043E\u043F\u043A\u0443 \xAB\u21C4\xBB \u0434\u043B\u044F \u0443\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0438 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0438 \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u0441\u0435\u0442\u0435\u0439."
|
|
6116
|
+
},
|
|
6117
|
+
bridgeAmountRecipientInputs: {
|
|
6118
|
+
title: "\u0423\u0441\u0442\u0430\u043D\u043E\u0432\u043A\u0430 \u0441\u0443\u043C\u043C\u044B \u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F",
|
|
6119
|
+
description: "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0443\u043C\u043C\u0443 \u0434\u043B\u044F \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0438 \u043F\u0440\u0438 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E\u0441\u0442\u0438 \u0443\u043A\u0430\u0436\u0438\u0442\u0435 \u0430\u0434\u0440\u0435\u0441 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F. \u0415\u0441\u043B\u0438 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044C \u043D\u0435 \u0443\u043A\u0430\u0437\u0430\u043D: \u0430\u0434\u0440\u0435\u0441 \u0432 \u0446\u0435\u043B\u0435\u0432\u043E\u0439 \u0441\u0435\u0442\u0438 \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u0435\u0442 \u0441 \u0430\u0434\u0440\u0435\u0441\u043E\u043C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u0435\u043B\u044F \u0432 \u0438\u0441\u0445\u043E\u0434\u043D\u043E\u0439 \u0441\u0435\u0442\u0438."
|
|
6120
|
+
},
|
|
6121
|
+
bridgeEstimateQuoteButton: {
|
|
6122
|
+
title: "\u041E\u0446\u0435\u043D\u043A\u0430 \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
6123
|
+
description: "\u041F\u043E\u043B\u0443\u0447\u0438\u0442\u0435 \u043F\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043B\u044C\u043D\u0443\u044E \u043E\u0446\u0435\u043D\u043A\u0443 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0434\u043E \u0444\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F. \u042D\u0442\u043E \u043F\u043E\u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0438\u043D\u044F\u0442\u044C \u043E\u0431\u043E\u0441\u043D\u043E\u0432\u0430\u043D\u043D\u043E\u0435 \u0440\u0435\u0448\u0435\u043D\u0438\u0435 \u043F\u0435\u0440\u0435\u0434 \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0435\u043D\u0438\u0435\u043C."
|
|
6124
|
+
},
|
|
6125
|
+
bridgeEstimatedQuoteMenu: {
|
|
6126
|
+
title: "\u0420\u0430\u0441\u0447\u0451\u0442\u043D\u0430\u044F \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F",
|
|
6127
|
+
description: "\u041E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u043F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u044F \u0438 \u0440\u0430\u0441\u0447\u0451\u0442\u043D\u0443\u044E \u0441\u0442\u043E\u0438\u043C\u043E\u0441\u0442\u044C, \u0437\u0430\u0442\u0435\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u0435 \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u044E."
|
|
6128
|
+
}
|
|
6019
6129
|
}
|
|
6020
6130
|
},
|
|
6021
6131
|
receiveMenu: {
|
|
@@ -6025,7 +6135,7 @@ var init_ru = __esm({
|
|
|
6025
6135
|
share: "\u041F\u043E\u0434\u0435\u043B\u0438\u0442\u0435\u0441\u044C \u044D\u0442\u0438\u043C \u0430\u0434\u0440\u0435\u0441\u043E\u043C, \u0447\u0442\u043E\u0431\u044B \u043F\u043E\u043B\u0443\u0447\u0438\u0442\u044C \u0442\u043E\u043A\u0435\u043D\u044B"
|
|
6026
6136
|
},
|
|
6027
6137
|
buyMenu: {
|
|
6028
|
-
title: "\u041A\u0443\u043F\u0438\u0442\u044C \u043A\u0440\u0438\u043F\u0442\u043E
|
|
6138
|
+
title: "\u041A\u0443\u043F\u0438\u0442\u044C \u043A\u0440\u0438\u043F\u0442\u043E",
|
|
6029
6139
|
provider: "Onramp-\u0441\u0435\u0440\u0432\u0438\u0441",
|
|
6030
6140
|
selectProvider: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 Onramp-\u0441\u0435\u0440\u0432\u0438\u0441",
|
|
6031
6141
|
selectCrypto: "\u041A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0430",
|
|
@@ -6045,7 +6155,12 @@ var init_ru = __esm({
|
|
|
6045
6155
|
exchangeRate: "\u041A\u0443\u0440\u0441 \u043E\u0431\u043C\u0435\u043D\u0430",
|
|
6046
6156
|
networkFee: "\u0421\u0435\u0442\u0435\u0432\u043E\u0439 \u0441\u0431\u043E\u0440",
|
|
6047
6157
|
serviceFee: "\u0421\u0435\u0440\u0432\u0438\u0441\u043D\u044B\u0439 \u0441\u0431\u043E\u0440",
|
|
6048
|
-
paymentMethod: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u043F\u043B\u0430\u0442\u044B"
|
|
6158
|
+
paymentMethod: "\u0421\u043F\u043E\u0441\u043E\u0431 \u043E\u043F\u043B\u0430\u0442\u044B",
|
|
6159
|
+
toAddress: {
|
|
6160
|
+
receiver: "\u0412\u041D\u0418\u041C\u0410\u041D\u0418\u0415! \u0410\u0434\u0440\u0435\u0441 \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F",
|
|
6161
|
+
message: "\u0412\u044B \u0441\u043E\u0431\u0438\u0440\u0430\u0435\u0442\u0435\u0441\u044C \u043A\u0443\u043F\u0438\u0442\u044C \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0443 \u043D\u0430 \u0432\u043D\u0435\u0448\u043D\u0438\u0439 \u0430\u0434\u0440\u0435\u0441, \u0430 \u043D\u0435 \u043D\u0430 \u0432\u0430\u0448 \u0430\u0434\u0440\u0435\u0441 embarkAI.",
|
|
6162
|
+
suggestion: "\u041F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430, \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044C, \u0447\u0442\u043E \u044D\u0442\u043E \u0432\u0430\u0448 \u043F\u0440\u0430\u0432\u0438\u043B\u044C\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441 \u043A\u043E\u0448\u0435\u043B\u044C\u043A\u0430, \u0438\u043D\u0430\u0447\u0435 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043F\u043E\u0442\u0435\u0440\u044F\u0442\u044C \u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0430."
|
|
6163
|
+
}
|
|
6049
6164
|
},
|
|
6050
6165
|
transactionHistory: {
|
|
6051
6166
|
details: "\u0414\u0435\u0442\u0430\u043B\u0438"
|
|
@@ -6059,11 +6174,30 @@ var init_ru = __esm({
|
|
|
6059
6174
|
inputPlaceholder: {
|
|
6060
6175
|
selectCurrencies: "\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u0443 \u0438 \u0444\u0438\u0430\u0442",
|
|
6061
6176
|
providerMin: "{{provider}}: \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043C\u0438\u043D\u0438\u043C\u0443\u043C {{minimum}} {{currency}}"
|
|
6177
|
+
},
|
|
6178
|
+
onboarding: {
|
|
6179
|
+
buyMenu: {
|
|
6180
|
+
title: "\u041C\u0435\u043D\u044E \u043F\u043E\u043A\u0443\u043F\u043A\u0438",
|
|
6181
|
+
description: "\u0417\u0434\u0435\u0441\u044C \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u0441\u043E\u0432\u0435\u0440\u0448\u0430\u0442\u044C \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u044B."
|
|
6182
|
+
},
|
|
6183
|
+
providerSelector: {
|
|
6184
|
+
title: "\u0412\u044B\u0431\u043E\u0440 \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u0430",
|
|
6185
|
+
description: "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u0432\u044B\u0431\u0440\u0430\u0442\u044C \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u0430 \u0434\u043B\u044F \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u044B."
|
|
6186
|
+
},
|
|
6187
|
+
binanceMenu: {
|
|
6188
|
+
title: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430 \u0434\u0435\u0442\u0430\u043B\u0435\u0439 \u043F\u043E\u043A\u0443\u043F\u043A\u0438",
|
|
6189
|
+
description: "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0437\u0434\u0435\u0441\u044C, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u0434\u0430\u0442\u044C \u0434\u0435\u0442\u0430\u043B\u0438 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u043A\u0440\u0438\u043F\u0442\u043E\u0432\u0430\u043B\u044E\u0442\u044B."
|
|
6190
|
+
},
|
|
6191
|
+
binanceEstimate: {
|
|
6192
|
+
title: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435 \u043F\u043E\u043A\u0443\u043F\u043A\u0438",
|
|
6193
|
+
description: "\u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u0434\u0435\u0442\u0430\u043B\u0438 \u043F\u043E\u043A\u0443\u043F\u043A\u0438 \u043F\u0435\u0440\u0435\u0434 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435\u043C."
|
|
6194
|
+
}
|
|
6062
6195
|
}
|
|
6063
6196
|
},
|
|
6064
6197
|
portfolioMenu: {
|
|
6065
6198
|
title: "\u0412\u0430\u0448\u0438 \u0430\u043A\u0442\u0438\u0432\u044B",
|
|
6066
|
-
noAssets: "\u0410\u043A\u0442\u0438\u0432\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B"
|
|
6199
|
+
noAssets: "\u0410\u043A\u0442\u0438\u0432\u044B \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",
|
|
6200
|
+
noBlockscout: "Blockscout API \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D \u0434\u043B\u044F \u0441\u0435\u0442\u0438: {{chain}}"
|
|
6067
6201
|
},
|
|
6068
6202
|
transactionsMenu: {
|
|
6069
6203
|
title: "\u0418\u0441\u0442\u043E\u0440\u0438\u044F \u0442\u0440\u0430\u043D\u0437\u0430\u043A\u0446\u0438\u0439",
|
|
@@ -6246,6 +6380,12 @@ var init_zh = __esm({
|
|
|
6246
6380
|
selectNone: "\u5168\u4E0D\u9009",
|
|
6247
6381
|
errors: {
|
|
6248
6382
|
oops: "\u54CE\u5440\uFF0C\u51FA\u4E86\u70B9\u95EE\u9898\u3002\u8BF7\u518D\u8BD5\u4E00\u6B21\u3002"
|
|
6383
|
+
},
|
|
6384
|
+
onboarding: {
|
|
6385
|
+
tourButton: {
|
|
6386
|
+
title: "\u5BFC\u89C8\u6309\u9215",
|
|
6387
|
+
description: "\u5BFC\u89C8\u529F\u80FD\u53EF\u5728 embarkAI \u83DC\u5355\u7684\u201C\uFF1F\u201D\u6309\u9215\u4E0B\u627E\u5230\u3002\u70B9\u51FB\u5373\u53EF\u5F00\u59CB\u83DC\u5355\u5BFC\u89C8"
|
|
6388
|
+
}
|
|
6249
6389
|
}
|
|
6250
6390
|
},
|
|
6251
6391
|
auth: {
|
|
@@ -6298,14 +6438,23 @@ var init_zh = __esm({
|
|
|
6298
6438
|
actions: {
|
|
6299
6439
|
send: "\u53D1\u9001",
|
|
6300
6440
|
confirm: "\u786E\u8BA4\u53D1\u9001"
|
|
6441
|
+
},
|
|
6442
|
+
onboarding: {
|
|
6443
|
+
sendMenu: {
|
|
6444
|
+
title: "\u53D1\u9001\u83DC\u5355",
|
|
6445
|
+
description: "\u9009\u62E9\u8981\u53D1\u9001\u7684\u52A0\u5BC6\u8D44\u4EA7\uFF0C\u7136\u540E\u8F93\u5165\u6536\u6B3E\u5730\u5740\u548C\u91D1\u989D\u3002"
|
|
6446
|
+
},
|
|
6447
|
+
sendCryptoSummary: {
|
|
6448
|
+
title: "\u53D1\u9001\u6458\u8981",
|
|
6449
|
+
description: "\u5728\u786E\u8BA4\u524D\u67E5\u770B\u52A0\u5BC6\u8F6C\u8D26\u8BE6\u60C5\uFF0C\u7136\u540E\u786E\u8BA4\u4EA4\u6613\u3002"
|
|
6450
|
+
}
|
|
6301
6451
|
}
|
|
6302
6452
|
},
|
|
6303
6453
|
bridgeMenu: {
|
|
6304
6454
|
title: "\u8DE8\u94FE\u8D44\u4EA7",
|
|
6305
6455
|
labels: {
|
|
6306
|
-
sender: "\u53D1\u9001\u65B9",
|
|
6307
6456
|
bridgeAsset: "\u8DE8\u94FE {{asset}}",
|
|
6308
|
-
|
|
6457
|
+
selectSender: "\u9009\u62E9\u53D1\u9001\u65B9\u94B1\u5305",
|
|
6309
6458
|
selectToken: "\u9009\u62E9\u4EE3\u5E01\u8DEF\u7531",
|
|
6310
6459
|
estimations: "\u9884\u4F30",
|
|
6311
6460
|
estimatedFee: "\u9884\u4F30\u624B\u7EED\u8D39",
|
|
@@ -6330,11 +6479,12 @@ var init_zh = __esm({
|
|
|
6330
6479
|
},
|
|
6331
6480
|
actions: {
|
|
6332
6481
|
connectWallet: "\u8FDE\u63A5\u9489\u5305",
|
|
6482
|
+
addExternalWalletProfile: "\u6DFB\u52A0\u5916\u90E8\u94B1\u5305\u914D\u7F6E\u6587\u4EF6",
|
|
6333
6483
|
bridge: "\u8DE8\u94FE",
|
|
6334
6484
|
estimateQuote: "\u4F30\u7B97\u62A5\u4EF7",
|
|
6335
6485
|
bridgeAsset: "\u8DE8\u94FE {{asset}}",
|
|
6336
6486
|
selectAsset: "\u9009\u62E9\u8D44\u4EA7",
|
|
6337
|
-
confirmBridge: "\u786E\u8BA4\u8DE8\u94FE"
|
|
6487
|
+
confirmBridge: "\u6211\u786E\u8BA4\u5C06 {{amount}} {{asset}} \u8DE8\u94FE\u5230 {{destinationChain}}"
|
|
6338
6488
|
},
|
|
6339
6489
|
statuses: {
|
|
6340
6490
|
balanceInsufficient: "\u4F59\u989D\u4E0D\u8DB3",
|
|
@@ -6355,6 +6505,36 @@ var init_zh = __esm({
|
|
|
6355
6505
|
wrongNetwork: " \u8BF7\u5C06 EmbarkAI \u5207\u6362\u81F3\u6E90\u94FE\u4EE5\u7EE7\u7EED\u8DE8\u94FE\u64CD\u4F5C",
|
|
6356
6506
|
noHistory: "\u6682\u65E0\u8DE8\u94FE\u8BB0\u5F55\u3002\u8DE8\u94FE\u60A8\u7684\u8D44\u4EA7\u540E\uFF0C\u5386\u53F2\u8BB0\u5F55\u5C06\u663E\u793A\u5728\u6B64\u5904\u3002",
|
|
6357
6507
|
unsupportedNetwork: "{{sender}} \u5C1A\u4E0D\u652F\u6301\u4ECE {{originChain}} \u8DE8\u94FE\u3002\u8BF7\u5207\u6362\u7F51\u7EDC\u5BF9\u3001\u9009\u62E9\u4E0D\u540C\u7684\u4EE3\u5E01\u8DEF\u7531\u6216\u66F4\u6362\u53D1\u9001\u9489\u5305"
|
|
6508
|
+
},
|
|
6509
|
+
onboarding: {
|
|
6510
|
+
bridgeMenu: {
|
|
6511
|
+
title: "\u8DE8\u94FE\u83DC\u5355",
|
|
6512
|
+
description: "\u901A\u8FC7\u8DE8\u94FE\u53D1\u9001\u53EF\u4EE5\u5728\u4E0D\u540C\u533A\u5757\u94FE\u7F51\u7EDC\u4E4B\u95F4\u8F6C\u79FB\u52A0\u5BC6\u8D44\u4EA7\u3002"
|
|
6513
|
+
},
|
|
6514
|
+
bridgeSenderWalletSelector: {
|
|
6515
|
+
title: "\u9009\u62E9\u53D1\u9001\u65B9\u9489\u5305",
|
|
6516
|
+
description: "EmbarkAI \u53EF\u4EE5\u901A\u8FC7\u5916\u90E8\u9489\u5305\u8FDB\u884C\u8EAB\u4EFD\u9A8C\u8BC1\uFF0C\u4F5C\u4E3A\u8EAB\u4EFD\u9A8C\u8BC1\u914D\u7F6E\u6587\u4EF6\u63D0\u4F9B\u5546\uFF08\u8BBE\u7F6E -> \u914D\u7F6E\u6587\u4EF6\uFF09\u3002\n \u5916\u90E8\u9489\u5305\u914D\u7F6E\u6587\u4EF6\u53EF\u7528\u4F5C\u8DE8\u94FE\u52A0\u5BC6\u8D44\u4EA7\u5230 embarkAI \u7684\u53D1\u9001\u65B9\uFF08\u4EA4\u6613\u7B7E\u540D\u8005\uFF09\u3002\n \u5982\u5C1A\u672A\u6DFB\u52A0\u5916\u90E8\u9489\u5305\u914D\u7F6E\u6587\u4EF6\uFF0C\u8BF7\u524D\u5F80\uFF08\u8BBE\u7F6E -> \u914D\u7F6E\u6587\u4EF6\uFF09\u6DFB\u52A0\u5E76\u6309\u7167\u63D0\u793A\u64CD\u4F5C\u3002"
|
|
6517
|
+
},
|
|
6518
|
+
bridgeCryptoAssetSelector: {
|
|
6519
|
+
title: "\u9009\u62E9\u8DE8\u94FE\u8D44\u4EA7",
|
|
6520
|
+
description: "\u8DE8\u94FE\u64CD\u4F5C\u53D1\u751F\u5728\u4E00\u4E2A\u533A\u5757\u94FE\u7F51\u7EDC\u5230\u53E6\u4E00\u4E2A\u4E4B\u95F4\u3002\n \u4F7F\u7528\u6B64\u9009\u62E9\u5668\u9009\u62E9\u8981\u8DE8\u94FE\u7684\u8D44\u4EA7\uFF0C\u7136\u540E\u4ECE\u8BE5\u8D44\u4EA7\u53EF\u7528\u7684\u94FE\u5BF9\u4E2D\u8FDB\u884C\u9009\u62E9\u3002"
|
|
6521
|
+
},
|
|
6522
|
+
bridgeChainPairSwapper: {
|
|
6523
|
+
title: "\u8BBE\u7F6E\u6E90\u94FE\u548C\u76EE\u6807\u94FE",
|
|
6524
|
+
description: "\u8DE8\u94FE\u8DEF\u7531\uFF08\u94FE\u5BF9\uFF09\u662F\u53CC\u5411\u7684\uFF0C\u5373\u6E90\u94FE\u548C\u76EE\u6807\u94FE\u53EF\u4EE5\u4E92\u6362\u3002\n \u4F7F\u7528\u201C\u21C4\u201D\u6309\u9215\u8BBE\u7F6E\u6E90\u94FE\u548C\u76EE\u6807\u94FE\u3002"
|
|
6525
|
+
},
|
|
6526
|
+
bridgeAmountRecipientInputs: {
|
|
6527
|
+
title: "\u8BBE\u7F6E\u91D1\u989D\u548C\u53EF\u9009\u6536\u6B3E\u4EBA",
|
|
6528
|
+
description: "\u8F93\u5165\u8981\u8DE8\u94FE\u7684\u91D1\u989D\uFF0C\u5E76\u53EF\u9009\u62E9\u6027\u5730\u6307\u5B9A\u6536\u6B3E\u4EBA\u5730\u5740\u3002\u82E5\u6536\u6B3E\u4EBA\u4E3A\u7A7A\uFF1A\u76EE\u6807\u94FE\u5730\u5740\u7B49\u4E8E\u6E90\u94FE\u4E0A\u7684\u53D1\u9001\u65B9\u5730\u5740\u3002"
|
|
6529
|
+
},
|
|
6530
|
+
bridgeEstimateQuoteButton: {
|
|
6531
|
+
title: "\u4F30\u7B97\u8DE8\u94FE\u8D39\u7528",
|
|
6532
|
+
description: "\u5728\u5B9E\u9645\u6267\u884C\u8DE8\u94FE\u524D\u83B7\u53D6\u9884\u4F30\u62A5\u4EF7\uFF0C\u5E2E\u52A9\u60A8\u5728\u7EE7\u7EED\u524D\u505A\u51FA\u660E\u667A\u51B3\u7B56\u3002"
|
|
6533
|
+
},
|
|
6534
|
+
bridgeEstimatedQuoteMenu: {
|
|
6535
|
+
title: "\u4F30\u7B97\u8DE8\u94FE\u62A5\u4EF7",
|
|
6536
|
+
description: "\u8BF7\u52A1\u5FC5\u68C0\u67E5\u8DE8\u94FE\u8BBE\u7F6E\u548C\u9884\u4F30\u62A5\u4EF7\uFF0C\u7136\u540E\u786E\u8BA4\u4EA4\u6613\u3002"
|
|
6537
|
+
}
|
|
6358
6538
|
}
|
|
6359
6539
|
},
|
|
6360
6540
|
receiveMenu: {
|
|
@@ -6384,7 +6564,12 @@ var init_zh = __esm({
|
|
|
6384
6564
|
exchangeRate: "\u6C47\u7387",
|
|
6385
6565
|
networkFee: "\u7F51\u7EDC\u8D39\u7528",
|
|
6386
6566
|
serviceFee: "\u670D\u52A1\u8D39",
|
|
6387
|
-
paymentMethod: "\u4ED8\u6B3E\u65B9\u5F0F"
|
|
6567
|
+
paymentMethod: "\u4ED8\u6B3E\u65B9\u5F0F",
|
|
6568
|
+
toAddress: {
|
|
6569
|
+
receiver: "\u6CE8\u610F\uFF01\u6536\u6B3E\u5730\u5740",
|
|
6570
|
+
message: "\u60A8\u5373\u5C06\u5411\u5916\u90E8\u5730\u5740\u8D2D\u4E70\u52A0\u5BC6\u8D27\u5E01\uFF0C\u800C\u975E\u60A8\u7684 embarkAI \u5730\u5740\u3002",
|
|
6571
|
+
suggestion: "\u8BF7\u786E\u8BA4\u8FD9\u662F\u60A8\u6B63\u786E\u7684\u9489\u5305\u5730\u5740\uFF0C\u5426\u5219\u60A8\u7684\u8D44\u91D1\u53EF\u80FD\u4E22\u5931\u3002"
|
|
6572
|
+
}
|
|
6388
6573
|
},
|
|
6389
6574
|
transactionHistory: {
|
|
6390
6575
|
details: "\u8BE6\u60C5"
|
|
@@ -6398,11 +6583,30 @@ var init_zh = __esm({
|
|
|
6398
6583
|
inputPlaceholder: {
|
|
6399
6584
|
selectCurrencies: "\u9009\u62E9\u52A0\u5BC6\u8D27\u5E01\u548C\u6CD5\u5E01",
|
|
6400
6585
|
providerMin: "{{provider}}\uFF1A\u6700\u4F4E\u9700\u8981 {{minimum}} {{currency}}"
|
|
6586
|
+
},
|
|
6587
|
+
onboarding: {
|
|
6588
|
+
buyMenu: {
|
|
6589
|
+
title: "\u8D2D\u4E70\u83DC\u5355",
|
|
6590
|
+
description: "\u5728\u8FD9\u91CC\u60A8\u53EF\u4EE5\u8D2D\u4E70\u52A0\u5BC6\u8D27\u5E01\u3002"
|
|
6591
|
+
},
|
|
6592
|
+
providerSelector: {
|
|
6593
|
+
title: "\u9009\u62E9\u670D\u52A1\u5546",
|
|
6594
|
+
description: "\u70B9\u51FB\u6B64\u5904\u9009\u62E9\u60A8\u8D2D\u4E70\u52A0\u5BC6\u8D27\u5E01\u7684\u670D\u52A1\u5546\u3002"
|
|
6595
|
+
},
|
|
6596
|
+
binanceMenu: {
|
|
6597
|
+
title: "\u8BBE\u7F6E\u8D2D\u4E70\u8BE6\u60C5",
|
|
6598
|
+
description: "\u70B9\u51FB\u6B64\u5904\u8BBE\u7F6E\u52A0\u5BC6\u8D27\u5E01\u8D2D\u4E70\u7684\u8BE6\u60C5\u3002"
|
|
6599
|
+
},
|
|
6600
|
+
binanceEstimate: {
|
|
6601
|
+
title: "\u786E\u8BA4\u8D2D\u4E70",
|
|
6602
|
+
description: "\u5728\u786E\u8BA4\u524D\u67E5\u770B\u8D2D\u4E70\u8BE6\u60C5\u3002"
|
|
6603
|
+
}
|
|
6401
6604
|
}
|
|
6402
6605
|
},
|
|
6403
6606
|
portfolioMenu: {
|
|
6404
6607
|
title: "\u60A8\u7684\u8D44\u4EA7",
|
|
6405
|
-
noAssets: "\u672A\u627E\u5230\u8D44\u4EA7"
|
|
6608
|
+
noAssets: "\u672A\u627E\u5230\u8D44\u4EA7",
|
|
6609
|
+
noBlockscout: "\u672A\u627E\u5230\u94FE {{chain}} \u7684 Blockscout API"
|
|
6406
6610
|
},
|
|
6407
6611
|
transactionsMenu: {
|
|
6408
6612
|
title: "\u4EA4\u6613\u8BB0\u5F55",
|
|
@@ -8490,7 +8694,9 @@ var init_onboarder = __esm({
|
|
|
8490
8694
|
tooltip: { title: "", description: "" },
|
|
8491
8695
|
setFrame: (tooltipStore) => set(tooltipStore),
|
|
8492
8696
|
mountIntoNode: document.body,
|
|
8493
|
-
setMountIntoNode: (mountIntoNode) => set({ mountIntoNode })
|
|
8697
|
+
setMountIntoNode: (mountIntoNode) => set({ mountIntoNode }),
|
|
8698
|
+
waitSecs: null,
|
|
8699
|
+
setWaitSecs: (waitSecs) => set({ waitSecs })
|
|
8494
8700
|
}));
|
|
8495
8701
|
Onboarder = class {
|
|
8496
8702
|
tour = null;
|
|
@@ -8538,9 +8744,12 @@ var init_onboarder = __esm({
|
|
|
8538
8744
|
useLayoutDataStore.getInitialState().setIsOnboarding(true);
|
|
8539
8745
|
useLayoutStore.getInitialState().setIsDialogForced(true);
|
|
8540
8746
|
const startElRef = this.elements.get(tour[0].elId)?.deref();
|
|
8541
|
-
|
|
8542
|
-
|
|
8543
|
-
|
|
8747
|
+
if (!!startElRef) {
|
|
8748
|
+
this.domObserver.observe(startElRef, { childList: true, subtree: true });
|
|
8749
|
+
this.resizeObserver.observe(startElRef);
|
|
8750
|
+
this.resizeObserver.observe(document.body);
|
|
8751
|
+
}
|
|
8752
|
+
useOnboardingStore.getState().setWaitSecs(tour[0].waitSecs || null);
|
|
8544
8753
|
}
|
|
8545
8754
|
endTour() {
|
|
8546
8755
|
this.tour = null;
|
|
@@ -8573,6 +8782,7 @@ var init_onboarder = __esm({
|
|
|
8573
8782
|
this.resizeObserver.observe(nextElRef);
|
|
8574
8783
|
this.resizeObserver.observe(document.body);
|
|
8575
8784
|
}
|
|
8785
|
+
useOnboardingStore.getState().setWaitSecs(nextStep.waitSecs || null);
|
|
8576
8786
|
}, 200);
|
|
8577
8787
|
}
|
|
8578
8788
|
/**
|
|
@@ -8584,6 +8794,10 @@ var init_onboarder = __esm({
|
|
|
8584
8794
|
if (!onboardingElementId || !elementRef) return;
|
|
8585
8795
|
this.elements.set(onboardingElementId, new WeakRef(elementRef));
|
|
8586
8796
|
}
|
|
8797
|
+
getCurrentStep() {
|
|
8798
|
+
if (!this.tour) return null;
|
|
8799
|
+
return this.tour[this.tourPointer];
|
|
8800
|
+
}
|
|
8587
8801
|
};
|
|
8588
8802
|
onboarder = new Onboarder();
|
|
8589
8803
|
}
|
|
@@ -8639,16 +8853,16 @@ function OnboardingOverlay() {
|
|
|
8639
8853
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
8640
8854
|
const toolipElementRef = (0, import_react20.useRef)(null);
|
|
8641
8855
|
const {
|
|
8856
|
+
waitSecs,
|
|
8642
8857
|
elRect,
|
|
8643
8858
|
tooltip,
|
|
8644
8859
|
/** if embark is opened, onboard overlay has to be portaled into embark's dialog node to keep layers & pointer-events normal structure */
|
|
8645
|
-
mountIntoNode
|
|
8646
|
-
setMountIntoNode
|
|
8860
|
+
mountIntoNode
|
|
8647
8861
|
} = useOnboardingStore();
|
|
8648
8862
|
(0, import_react20.useEffect)(() => {
|
|
8649
8863
|
setTimeout(() => {
|
|
8650
8864
|
if (!page) {
|
|
8651
|
-
setMountIntoNode(document.body);
|
|
8865
|
+
useOnboardingStore.getState().setMountIntoNode(document.body);
|
|
8652
8866
|
return;
|
|
8653
8867
|
}
|
|
8654
8868
|
const lastMountIntoNode = useOnboardingStore.getState().mountIntoNode;
|
|
@@ -8656,7 +8870,7 @@ function OnboardingOverlay() {
|
|
|
8656
8870
|
return;
|
|
8657
8871
|
}
|
|
8658
8872
|
const embarkUIContainer = document.querySelector('[data-purpose="embarkai-ui-container"]');
|
|
8659
|
-
setMountIntoNode(embarkUIContainer);
|
|
8873
|
+
useOnboardingStore.getState().setMountIntoNode(embarkUIContainer);
|
|
8660
8874
|
}, 0);
|
|
8661
8875
|
}, [page]);
|
|
8662
8876
|
const [continueCountdown, setContinueCountdown] = (0, import_react20.useState)(null);
|
|
@@ -8670,16 +8884,13 @@ function OnboardingOverlay() {
|
|
|
8670
8884
|
const tt = {
|
|
8671
8885
|
...getTooltipXPos({ ...elRect, isMobileView, expandValue }),
|
|
8672
8886
|
...getTooltipYPos({ ...elRect, isMobileView, expandValue, ttCurrentHeight: toolipElementRef.current?.clientHeight })
|
|
8673
|
-
// y: isMobileView
|
|
8674
|
-
// ? elRect.y - expandValue * 2 - toolipElementRef.current?.clientHeight
|
|
8675
|
-
// : elRect.y + elRect.height + expandValue
|
|
8676
8887
|
};
|
|
8677
8888
|
(0, import_react20.useEffect)(() => {
|
|
8678
|
-
|
|
8889
|
+
if (!waitSecs) return;
|
|
8890
|
+
setContinueCountdown(waitSecs);
|
|
8679
8891
|
const countdownInterval = setInterval(() => {
|
|
8680
8892
|
setContinueCountdown((prev) => {
|
|
8681
|
-
if (prev === null)
|
|
8682
|
-
if (prev <= 1) {
|
|
8893
|
+
if (prev <= 1 || prev === null) {
|
|
8683
8894
|
clearInterval(countdownInterval);
|
|
8684
8895
|
return null;
|
|
8685
8896
|
}
|
|
@@ -8687,8 +8898,9 @@ function OnboardingOverlay() {
|
|
|
8687
8898
|
});
|
|
8688
8899
|
}, 1e3);
|
|
8689
8900
|
return () => clearInterval(countdownInterval);
|
|
8690
|
-
}, [
|
|
8901
|
+
}, [waitSecs]);
|
|
8691
8902
|
if (!mountIntoNode) return null;
|
|
8903
|
+
const tourStepActions = onboarder.getCurrentStep()?.actions;
|
|
8692
8904
|
return (0, import_react_dom.createPortal)(
|
|
8693
8905
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
8694
8906
|
"div",
|
|
@@ -8756,9 +8968,32 @@ function OnboardingOverlay() {
|
|
|
8756
8968
|
borderRadius: isMobileView || tt.isOverflowX ? "var(--ui-kit-bdrs)" : "0 0 var(--ui-kit-bdrs) var(--ui-kit-bdrs)"
|
|
8757
8969
|
},
|
|
8758
8970
|
children: [
|
|
8759
|
-
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", {
|
|
8760
|
-
|
|
8761
|
-
|
|
8971
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", {
|
|
8972
|
+
className: "font-bold",
|
|
8973
|
+
//@ts-expect-error i18n dynamic key typing
|
|
8974
|
+
children: t(tooltip.title)
|
|
8975
|
+
}),
|
|
8976
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", {
|
|
8977
|
+
className: "whitespace-pre-line",
|
|
8978
|
+
//@ts-expect-error i18n dynamic key typing
|
|
8979
|
+
children: t(tooltip.description)
|
|
8980
|
+
}),
|
|
8981
|
+
!!tourStepActions?.length ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "flex grid grid-cols-2 gap-[var(--ui-kit-gap)]", children: tourStepActions.map(({ caption, onClick }, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
8982
|
+
Button,
|
|
8983
|
+
{
|
|
8984
|
+
variant: "default",
|
|
8985
|
+
size: "medium",
|
|
8986
|
+
className: "w-full",
|
|
8987
|
+
onClick,
|
|
8988
|
+
disabled: continueCountdown !== null,
|
|
8989
|
+
children: [
|
|
8990
|
+
continueCountdown !== null ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react9.LoaderIcon, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react9.ChevronRightIcon, { className: "h-4 w-4" }),
|
|
8991
|
+
// @ts-expect-error i18n dynamic key typing
|
|
8992
|
+
t(caption)
|
|
8993
|
+
]
|
|
8994
|
+
},
|
|
8995
|
+
index
|
|
8996
|
+
)) }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
8762
8997
|
Button,
|
|
8763
8998
|
{
|
|
8764
8999
|
variant: "default-glow",
|
|
@@ -8768,7 +9003,7 @@ function OnboardingOverlay() {
|
|
|
8768
9003
|
disabled: continueCountdown !== null,
|
|
8769
9004
|
children: [
|
|
8770
9005
|
continueCountdown !== null ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react9.LoaderIcon, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_lucide_react9.ChevronRightIcon, { className: "h-4 w-4" }),
|
|
8771
|
-
String(t("passport:common.
|
|
9006
|
+
String(t("passport:common.continue")).toUpperCase(),
|
|
8772
9007
|
" ",
|
|
8773
9008
|
continueCountdown !== null && continueCountdown
|
|
8774
9009
|
]
|
|
@@ -8784,7 +9019,7 @@ function OnboardingOverlay() {
|
|
|
8784
9019
|
mountIntoNode
|
|
8785
9020
|
);
|
|
8786
9021
|
}
|
|
8787
|
-
var import_lucide_react9, import_react20, import_react_dom, import_jsx_runtime21, EXPAND,
|
|
9022
|
+
var import_lucide_react9, import_react20, import_react_dom, import_jsx_runtime21, EXPAND, TOOLTIP_MIN_WIDTH;
|
|
8788
9023
|
var init_OnboardingOverlay = __esm({
|
|
8789
9024
|
"src/internal/components/Onboarding/OnboardingOverlay.tsx"() {
|
|
8790
9025
|
init_i18n();
|
|
@@ -8798,7 +9033,6 @@ var init_OnboardingOverlay = __esm({
|
|
|
8798
9033
|
init_onboarder();
|
|
8799
9034
|
import_jsx_runtime21 = require("react/jsx-runtime");
|
|
8800
9035
|
EXPAND = 16;
|
|
8801
|
-
NEXT_COUNTDOWN = 4;
|
|
8802
9036
|
TOOLTIP_MIN_WIDTH = 256;
|
|
8803
9037
|
}
|
|
8804
9038
|
});
|
|
@@ -9863,8 +10097,9 @@ var init_onboarding_setup = __esm({
|
|
|
9863
10097
|
BUY_MENU_BINANCE_TOUR = [
|
|
9864
10098
|
{
|
|
9865
10099
|
elId: "buymenu-page" /* buymenu */,
|
|
9866
|
-
title: "
|
|
9867
|
-
description: "
|
|
10100
|
+
title: "passport:buyMenu.onboarding.buyMenu.title",
|
|
10101
|
+
description: "passport:buyMenu.onboarding.buyMenu.description",
|
|
10102
|
+
waitSecs: 6,
|
|
9868
10103
|
onNext: () => {
|
|
9869
10104
|
const { setRampProvider, rampProvider } = useBuyMenuStore.getState();
|
|
9870
10105
|
if (rampProvider !== "binance") setRampProvider("binance");
|
|
@@ -9872,15 +10107,13 @@ var init_onboarding_setup = __esm({
|
|
|
9872
10107
|
},
|
|
9873
10108
|
{
|
|
9874
10109
|
elId: "buymenu-provider-selector" /* providerSelector */,
|
|
9875
|
-
title: "
|
|
9876
|
-
description: "
|
|
9877
|
-
onNext: () => {
|
|
9878
|
-
}
|
|
10110
|
+
title: "passport:buyMenu.onboarding.providerSelector.title",
|
|
10111
|
+
description: "passport:buyMenu.onboarding.providerSelector.description"
|
|
9879
10112
|
},
|
|
9880
10113
|
{
|
|
9881
10114
|
elId: "buymenu-binance-menu" /* binanceMenu */,
|
|
9882
|
-
title: "
|
|
9883
|
-
description: "
|
|
10115
|
+
title: "passport:buyMenu.onboarding.binanceMenu.title",
|
|
10116
|
+
description: "passport:buyMenu.onboarding.binanceMenu.description",
|
|
9884
10117
|
onNext: () => {
|
|
9885
10118
|
useBinanceStore.getState().setQuoteData({
|
|
9886
10119
|
totalAmount: "0.12345678",
|
|
@@ -9896,8 +10129,8 @@ var init_onboarding_setup = __esm({
|
|
|
9896
10129
|
},
|
|
9897
10130
|
{
|
|
9898
10131
|
elId: "buymenu-binance-estimate" /* binanceEstimate */,
|
|
9899
|
-
title: "
|
|
9900
|
-
description: "
|
|
10132
|
+
title: "passport:buyMenu.onboarding.binanceEstimate.title",
|
|
10133
|
+
description: "passport:buyMenu.onboarding.binanceEstimate.description",
|
|
9901
10134
|
onNext: () => {
|
|
9902
10135
|
useBuyMenuStore.getState().setIsProviderSummary(false);
|
|
9903
10136
|
useBinanceStore.getState().setQuoteData(null);
|
|
@@ -9905,10 +10138,8 @@ var init_onboarding_setup = __esm({
|
|
|
9905
10138
|
},
|
|
9906
10139
|
{
|
|
9907
10140
|
elId: "buymenu-tour-button" /* tourButton */,
|
|
9908
|
-
title: "
|
|
9909
|
-
description:
|
|
9910
|
-
onNext: () => {
|
|
9911
|
-
}
|
|
10141
|
+
title: "passport:common.onboarding.tourButton.title",
|
|
10142
|
+
description: "passport:common.onboarding.tourButton.description"
|
|
9912
10143
|
}
|
|
9913
10144
|
];
|
|
9914
10145
|
}
|
|
@@ -11790,7 +12021,7 @@ function BuyMenu() {
|
|
|
11790
12021
|
size: "icon",
|
|
11791
12022
|
className: "flex-none",
|
|
11792
12023
|
onClick: () => onboarder.startTour(BUY_MENU_BINANCE_TOUR),
|
|
11793
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react19.
|
|
12024
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_lucide_react19.CircleQuestionMarkIcon, { className: "h-4 w-4" })
|
|
11794
12025
|
}
|
|
11795
12026
|
),
|
|
11796
12027
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
@@ -20116,6 +20347,7 @@ function SenderSelector(props) {
|
|
|
20116
20347
|
pendingWalletRef.current = null;
|
|
20117
20348
|
loginDirectWallet(pendingProfile);
|
|
20118
20349
|
}, [directWalletIsConnected, directWalletAddress]);
|
|
20350
|
+
const isWalletProfileAvailable = !!directWalletProfile?.meta?.walletName && !!directWalletProfile?.externalId;
|
|
20119
20351
|
return /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
20120
20352
|
bridgeSenders.map((sender) => /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
|
|
20121
20353
|
Button,
|
|
@@ -20159,6 +20391,21 @@ function SenderSelector(props) {
|
|
|
20159
20391
|
},
|
|
20160
20392
|
`sender-${sender.address}`
|
|
20161
20393
|
)),
|
|
20394
|
+
!isWalletProfileAvailable && /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(Highlight, { type: "info", className: "flex flex-col w-full gap-[var(--ui-kit-gap)]", children: [
|
|
20395
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)("span", { className: "whitespace-pre-line", children: t("passport:bridgeMenu.onboarding.bridgeSenderWalletSelector.description") }),
|
|
20396
|
+
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
20397
|
+
Button,
|
|
20398
|
+
{
|
|
20399
|
+
variant: "default",
|
|
20400
|
+
size: "large",
|
|
20401
|
+
className: "w-full",
|
|
20402
|
+
onClick: () => {
|
|
20403
|
+
useLayoutDataStore.getState().setPage("manage-wallet" /* MANAGE_WALLET */);
|
|
20404
|
+
},
|
|
20405
|
+
children: t("passport:bridgeMenu.actions.addExternalWalletProfile")
|
|
20406
|
+
}
|
|
20407
|
+
)
|
|
20408
|
+
] }),
|
|
20162
20409
|
walletMessage && /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(Highlight, { type: "info", className: "flex flex-col w-full gap-[var(--ui-kit-gap)]", children: [
|
|
20163
20410
|
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)("span", { children: walletMessage }),
|
|
20164
20411
|
/* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
|
|
@@ -20647,12 +20894,14 @@ function getAssetBalance(asset) {
|
|
|
20647
20894
|
return Number((0, import_viem13.formatUnits)(BigInt(asset.balance || "0"), asset.decimals || 18));
|
|
20648
20895
|
}
|
|
20649
20896
|
function isOririnChainEmbarkSupported(originChain) {
|
|
20897
|
+
const activeChainId = useSession.getState().activeChainId;
|
|
20650
20898
|
const supportedChain = [...import_read20.SUPPORTED_CHAINS].map(([chainId]) => chainId);
|
|
20651
|
-
return supportedChain.includes(CHAINS_UI_META[originChain].chainID);
|
|
20899
|
+
return supportedChain.includes(CHAINS_UI_META[originChain].chainID) && activeChainId === CHAINS_UI_META[originChain].chainID;
|
|
20652
20900
|
}
|
|
20653
20901
|
var import_read20, import_viem13;
|
|
20654
20902
|
var init_utils9 = __esm({
|
|
20655
20903
|
"src/internal/components/SendMenu/hyperbridge/utils.ts"() {
|
|
20904
|
+
init_SessionContext();
|
|
20656
20905
|
import_read20 = require("@embarkai/core/read");
|
|
20657
20906
|
import_viem13 = require("viem");
|
|
20658
20907
|
init_chains();
|
|
@@ -21000,7 +21249,7 @@ function useMenuTitle(warpRoutes) {
|
|
|
21000
21249
|
const updateMenuTitle = useFlowSelectorStore.getState().setMenuTitle;
|
|
21001
21250
|
switch (true) {
|
|
21002
21251
|
case bridgeStep === "sender-selector":
|
|
21003
|
-
updateMenuTitle(t("passport:bridgeMenu.labels.
|
|
21252
|
+
updateMenuTitle(t("passport:bridgeMenu.labels.selectSender"));
|
|
21004
21253
|
break;
|
|
21005
21254
|
case bridgeStep === "select-token":
|
|
21006
21255
|
updateMenuTitle(t("passport:bridgeMenu.labels.selectToken"));
|
|
@@ -21034,6 +21283,161 @@ var init_useMenuTitle = __esm({
|
|
|
21034
21283
|
}
|
|
21035
21284
|
});
|
|
21036
21285
|
|
|
21286
|
+
// src/internal/components/SendMenu/send/useSendStore.ts
|
|
21287
|
+
var import_zustand15, useSendStore;
|
|
21288
|
+
var init_useSendStore = __esm({
|
|
21289
|
+
"src/internal/components/SendMenu/send/useSendStore.ts"() {
|
|
21290
|
+
import_zustand15 = require("zustand");
|
|
21291
|
+
init_useFlowSelector();
|
|
21292
|
+
useSendStore = (0, import_zustand15.create)((set) => ({
|
|
21293
|
+
recipient: "",
|
|
21294
|
+
//
|
|
21295
|
+
amount: "",
|
|
21296
|
+
selectedAsset: null,
|
|
21297
|
+
//
|
|
21298
|
+
txStep: "input",
|
|
21299
|
+
//
|
|
21300
|
+
// sendError: null,
|
|
21301
|
+
//
|
|
21302
|
+
setRecipient: (recipient) => {
|
|
21303
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21304
|
+
set({ recipient });
|
|
21305
|
+
},
|
|
21306
|
+
//
|
|
21307
|
+
setAmount: (amount) => {
|
|
21308
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21309
|
+
set({ amount });
|
|
21310
|
+
},
|
|
21311
|
+
setSelectedAsset: (selectedAsset) => {
|
|
21312
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21313
|
+
set({ selectedAsset });
|
|
21314
|
+
},
|
|
21315
|
+
//
|
|
21316
|
+
setTxStep: (txStep) => {
|
|
21317
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21318
|
+
useFlowSelectorStore.getState().setRenderKey(`send-${txStep}-${Date.now()}`);
|
|
21319
|
+
set({ txStep });
|
|
21320
|
+
}
|
|
21321
|
+
}));
|
|
21322
|
+
}
|
|
21323
|
+
});
|
|
21324
|
+
|
|
21325
|
+
// src/internal/components/SendMenu/onboarding.setup.ts
|
|
21326
|
+
var TOUR_SEND_ASSET, TOUR_BRIDGE_QUOTE, SEND_MENU_TOUR, BRIDGE_MENU_TOUR;
|
|
21327
|
+
var init_onboarding_setup2 = __esm({
|
|
21328
|
+
"src/internal/components/SendMenu/onboarding.setup.ts"() {
|
|
21329
|
+
init_useBridgeStore();
|
|
21330
|
+
init_useSendStore();
|
|
21331
|
+
TOUR_SEND_ASSET = {
|
|
21332
|
+
name: "USDT",
|
|
21333
|
+
symbol: "USDT",
|
|
21334
|
+
address: "0xee7Fc418f5659a366b548b4E205d374C1F0B46e7",
|
|
21335
|
+
balance: "1000",
|
|
21336
|
+
formattedBalance: "1000",
|
|
21337
|
+
type: "erc20"
|
|
21338
|
+
};
|
|
21339
|
+
TOUR_BRIDGE_QUOTE = {
|
|
21340
|
+
amount: "123",
|
|
21341
|
+
igpFee: "0.123",
|
|
21342
|
+
localFee: "0.456",
|
|
21343
|
+
igpSymbol: "USDT",
|
|
21344
|
+
localSymbol: "USDT"
|
|
21345
|
+
};
|
|
21346
|
+
SEND_MENU_TOUR = [
|
|
21347
|
+
{
|
|
21348
|
+
elId: "sendmenu-page" /* sendMenu */,
|
|
21349
|
+
title: "passport:sendMenu.onboarding.sendMenu.title",
|
|
21350
|
+
description: "passport:sendMenu.onboarding.sendMenu.description",
|
|
21351
|
+
waitSecs: 4,
|
|
21352
|
+
onNext: () => {
|
|
21353
|
+
const { setAmount, setRecipient, setSelectedAsset, setTxStep } = useSendStore.getState();
|
|
21354
|
+
setSelectedAsset(TOUR_SEND_ASSET);
|
|
21355
|
+
setAmount("123");
|
|
21356
|
+
setRecipient("0x1234567890123456789012345678901234567890");
|
|
21357
|
+
setTxStep("confirm");
|
|
21358
|
+
}
|
|
21359
|
+
},
|
|
21360
|
+
{
|
|
21361
|
+
elId: "sendmenu-crypto-summary" /* sendCryptoSummary */,
|
|
21362
|
+
title: "passport:sendMenu.onboarding.sendCryptoSummary.title",
|
|
21363
|
+
description: "passport:sendMenu.onboarding.sendCryptoSummary.description",
|
|
21364
|
+
onNext: () => {
|
|
21365
|
+
const { setAmount, setRecipient, setSelectedAsset, setTxStep } = useSendStore.getState();
|
|
21366
|
+
setTxStep("input");
|
|
21367
|
+
setRecipient("");
|
|
21368
|
+
setAmount("");
|
|
21369
|
+
setSelectedAsset(null);
|
|
21370
|
+
}
|
|
21371
|
+
},
|
|
21372
|
+
{
|
|
21373
|
+
elId: "sendmenu-tour-button" /* tourButton */,
|
|
21374
|
+
title: "passport:common.onboarding.tourButton.title",
|
|
21375
|
+
description: "passport:common.onboarding.tourButton.description"
|
|
21376
|
+
}
|
|
21377
|
+
];
|
|
21378
|
+
BRIDGE_MENU_TOUR = [
|
|
21379
|
+
{
|
|
21380
|
+
elId: "sendmenu-page" /* sendMenu */,
|
|
21381
|
+
title: "passport:bridgeMenu.onboarding.bridgeMenu.title",
|
|
21382
|
+
description: "passport:bridgeMenu.onboarding.bridgeMenu.description",
|
|
21383
|
+
waitSecs: 5,
|
|
21384
|
+
onNext: () => {
|
|
21385
|
+
const { setHyperRoute, setBridgeAssetSymbol, setOriginChain, setDestinationChain } = useBridgeStore.getState();
|
|
21386
|
+
setHyperRoute("USDT/ethereum-lumiaprism");
|
|
21387
|
+
setBridgeAssetSymbol("USDT");
|
|
21388
|
+
setOriginChain("lumiaprism");
|
|
21389
|
+
setDestinationChain("ethereum");
|
|
21390
|
+
}
|
|
21391
|
+
},
|
|
21392
|
+
{
|
|
21393
|
+
elId: "bridgemenu-sender-wallet-selector" /* bridgeSenderWalletSelector */,
|
|
21394
|
+
title: "passport:bridgeMenu.onboarding.bridgeSenderWalletSelector.title",
|
|
21395
|
+
description: "passport:bridgeMenu.onboarding.bridgeSenderWalletSelector.description"
|
|
21396
|
+
},
|
|
21397
|
+
{
|
|
21398
|
+
elId: "bridgemenu-crypto-menu-asset-selector" /* bridgeCryptoAssetSelector */,
|
|
21399
|
+
title: "passport:bridgeMenu.onboarding.bridgeCryptoAssetSelector.title",
|
|
21400
|
+
description: "passport:bridgeMenu.onboarding.bridgeCryptoAssetSelector.description"
|
|
21401
|
+
},
|
|
21402
|
+
{
|
|
21403
|
+
elId: "bridgemenu-crypto-menu-chain-pair-swapper" /* bridgeChainPairSwapper */,
|
|
21404
|
+
title: "passport:bridgeMenu.onboarding.bridgeChainPairSwapper.title",
|
|
21405
|
+
description: "passport:bridgeMenu.onboarding.bridgeChainPairSwapper.description"
|
|
21406
|
+
},
|
|
21407
|
+
{
|
|
21408
|
+
elId: "bridgemenu-crypto-menu-amount-recipient-inputs" /* bridgeAmountRecipientInputs */,
|
|
21409
|
+
title: "passport:bridgeMenu.onboarding.bridgeAmountRecipientInputs.title",
|
|
21410
|
+
description: "passport:bridgeMenu.onboarding.bridgeAmountRecipientInputs.description"
|
|
21411
|
+
},
|
|
21412
|
+
{
|
|
21413
|
+
elId: "bridgemenu-crypto-menu-estimate-quote-button" /* bridgeEstimateQuoteButton */,
|
|
21414
|
+
title: "passport:bridgeMenu.onboarding.bridgeEstimateQuoteButton.title",
|
|
21415
|
+
description: "passport:bridgeMenu.onboarding.bridgeEstimateQuoteButton.description",
|
|
21416
|
+
onNext: () => {
|
|
21417
|
+
const { setQuote, setBridgeStep } = useBridgeStore.getState();
|
|
21418
|
+
setQuote(TOUR_BRIDGE_QUOTE);
|
|
21419
|
+
setBridgeStep("confirm");
|
|
21420
|
+
}
|
|
21421
|
+
},
|
|
21422
|
+
{
|
|
21423
|
+
elId: "bridgemenu-crypto-menu-estimate-details-menu" /* bridgeEstimatedQuoteMenu */,
|
|
21424
|
+
title: "passport:bridgeMenu.onboarding.bridgeEstimatedQuoteMenu.title",
|
|
21425
|
+
description: "passport:bridgeMenu.onboarding.bridgeEstimatedQuoteMenu.description",
|
|
21426
|
+
onNext: () => {
|
|
21427
|
+
const { setQuote, setBridgeStep } = useBridgeStore.getState();
|
|
21428
|
+
setQuote(null);
|
|
21429
|
+
setBridgeStep("select");
|
|
21430
|
+
}
|
|
21431
|
+
},
|
|
21432
|
+
{
|
|
21433
|
+
elId: "sendmenu-tour-button" /* tourButton */,
|
|
21434
|
+
title: "passport:common.onboarding.tourButton.title",
|
|
21435
|
+
description: "passport:common.onboarding.tourButton.description"
|
|
21436
|
+
}
|
|
21437
|
+
];
|
|
21438
|
+
}
|
|
21439
|
+
});
|
|
21440
|
+
|
|
21037
21441
|
// src/internal/components/SendMenu/hyperbridge/components/ResolveChainIcon.tsx
|
|
21038
21442
|
function ResolveChainIcon(props) {
|
|
21039
21443
|
const Icon2 = CHAINS_UI_META[props.chainName]?.Icon || TOKENS_ICONS.EMBARKAI;
|
|
@@ -21053,6 +21457,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
21053
21457
|
const qc = (0, import_react_query49.useQueryClient)();
|
|
21054
21458
|
const { t } = useT();
|
|
21055
21459
|
const address = useSession((st) => st.address);
|
|
21460
|
+
const activeChainId = useSession((st) => st.activeChainId);
|
|
21056
21461
|
const directWalletAddress = useExternalWalletStore((st) => st.externalAddress);
|
|
21057
21462
|
const directWalletChainId = useExternalWalletStore((st) => st.externalChainId);
|
|
21058
21463
|
const { switchChainAsync } = (0, import_wagmi5.useSwitchChain)();
|
|
@@ -21175,7 +21580,7 @@ function useBridgeBalance(hyperlaneWarpRoutes) {
|
|
|
21175
21580
|
break;
|
|
21176
21581
|
}
|
|
21177
21582
|
}, [bridgeSender, originChain, directWalletChainId, switchChainAsync]);
|
|
21178
|
-
const embarkBalance = embarkTokenBalanace ? getAssetBalance(embarkTokenBalanace) : 0;
|
|
21583
|
+
const embarkBalance = CHAINS_UI_META[originChain].chainID === activeChainId && embarkTokenBalanace ? getAssetBalance(embarkTokenBalanace) : 0;
|
|
21179
21584
|
const externalWalletBalance = isSelectedTokenNative ? (0, import_viem14.formatUnits)(externalNativeBalanceData?.value || BigInt(0), externalNativeBalanceData?.decimals || 18) : (0, import_viem14.formatUnits)(externalBalanceData?.value || BigInt(0), externalBalanceData?.decimals || 18);
|
|
21180
21585
|
return {
|
|
21181
21586
|
routeTokenBalance: isEmbarkSender ? embarkBalance : externalWalletBalance,
|
|
@@ -21235,83 +21640,91 @@ function SelectStep(props) {
|
|
|
21235
21640
|
const isQuoteEstimationDisabled = isQuoteEstimating || !hyperlaneWarpRoutes.length || !selectedSender || !originChain || !destinationChain || !hyperRoute || isFalsyAmount || isBalanceInsufficient;
|
|
21236
21641
|
return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)] items-center", children: [
|
|
21237
21642
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
21238
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21239
|
-
"div",
|
|
21240
|
-
{
|
|
21241
|
-
className: cn(
|
|
21242
|
-
"flex items-center justify-between gap-[var(--ui-kit-gap)]",
|
|
21243
|
-
"text-[10px] text-[var(--ui-kit-fg-muted)] leading-4"
|
|
21244
|
-
),
|
|
21245
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.sender") })
|
|
21246
|
-
}
|
|
21247
|
-
),
|
|
21248
21643
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21249
|
-
|
|
21644
|
+
"div",
|
|
21250
21645
|
{
|
|
21251
|
-
|
|
21252
|
-
|
|
21253
|
-
className: "w-full justify-between",
|
|
21254
|
-
onClick: () => {
|
|
21255
|
-
useFlowSelectorStore.getState().setError(null);
|
|
21256
|
-
useBridgeStore.getState().setBridgeStep("sender-selector");
|
|
21257
|
-
},
|
|
21646
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-sender-wallet-selector" /* bridgeSenderWalletSelector */, inst),
|
|
21647
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
21258
21648
|
children: [
|
|
21259
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.
|
|
21260
|
-
|
|
21261
|
-
|
|
21262
|
-
|
|
21263
|
-
|
|
21264
|
-
|
|
21265
|
-
|
|
21266
|
-
|
|
21267
|
-
|
|
21649
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:bridgeMenu.labels.selectSender") }),
|
|
21650
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21651
|
+
Button,
|
|
21652
|
+
{
|
|
21653
|
+
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21654
|
+
variant: "secondary",
|
|
21655
|
+
className: "w-full justify-between",
|
|
21656
|
+
onClick: () => {
|
|
21657
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21658
|
+
useBridgeStore.getState().setBridgeStep("sender-selector");
|
|
21659
|
+
},
|
|
21660
|
+
children: [
|
|
21661
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21662
|
+
selectedSender?.Icon && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(selectedSender.Icon, { className: "w-6 h-6" }),
|
|
21663
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { children: selectedSender?.name || "N / A" })
|
|
21664
|
+
] }),
|
|
21665
|
+
selectedSender?.address && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "block text-[10px] font-mono!", children: [
|
|
21666
|
+
selectedSender.address.slice(0, 6),
|
|
21667
|
+
"...",
|
|
21668
|
+
selectedSender.address.slice(-4)
|
|
21669
|
+
] })
|
|
21670
|
+
]
|
|
21671
|
+
}
|
|
21672
|
+
)
|
|
21268
21673
|
]
|
|
21269
21674
|
}
|
|
21270
21675
|
),
|
|
21271
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] text-[10px]", children: [
|
|
21272
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.selectToken") }),
|
|
21273
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "w-4 h-4" }),
|
|
21274
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "flex items-center gap-[var(--ui-kit-gap)] leading-4", children: [
|
|
21275
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: [
|
|
21276
|
-
t("passport:common.balance"),
|
|
21277
|
-
": "
|
|
21278
|
-
] }),
|
|
21279
|
-
isRouteTokenBalanceLoading && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.LoaderIcon, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" }),
|
|
21280
|
-
!isRouteTokenBalanceLoading && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: cn("font-semibold", { "text-[var(--ui-kit-bg-error)]": isBalanceInsufficient }), children: [
|
|
21281
|
-
formatPrice(Number(routeTokenBalance || 0)),
|
|
21282
|
-
" ",
|
|
21283
|
-
selectedWarpRoute?.symbol
|
|
21284
|
-
] })
|
|
21285
|
-
] })
|
|
21286
|
-
] }),
|
|
21287
21676
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21288
|
-
|
|
21677
|
+
"div",
|
|
21289
21678
|
{
|
|
21290
|
-
|
|
21291
|
-
|
|
21292
|
-
className: "w-full justify-between",
|
|
21293
|
-
onClick: () => {
|
|
21294
|
-
useFlowSelectorStore.getState().setError(null);
|
|
21295
|
-
useBridgeStore.getState().setBridgeStep("select-token");
|
|
21296
|
-
},
|
|
21679
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-asset-selector" /* bridgeCryptoAssetSelector */, inst),
|
|
21680
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
21297
21681
|
children: [
|
|
21298
|
-
|
|
21299
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21300
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.
|
|
21301
|
-
|
|
21302
|
-
|
|
21303
|
-
|
|
21682
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center justify-between gap-[var(--ui-kit-gap)] text-[10px] leading-4", children: [
|
|
21683
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.selectToken") }),
|
|
21684
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21685
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: [
|
|
21686
|
+
t("passport:common.balance"),
|
|
21687
|
+
": "
|
|
21688
|
+
] }),
|
|
21689
|
+
isRouteTokenBalanceLoading && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.LoaderIcon, { className: "w-4 h-4 animate-spin text-[var(--ui-kit-fg-muted)]" }),
|
|
21690
|
+
!isRouteTokenBalanceLoading && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("span", { className: cn("font-semibold", { "text-[var(--ui-kit-bg-error)]": isBalanceInsufficient }), children: [
|
|
21691
|
+
formatPrice(Number(routeTokenBalance || 0)),
|
|
21692
|
+
" ",
|
|
21693
|
+
selectedWarpRoute?.symbol
|
|
21694
|
+
] })
|
|
21695
|
+
] })
|
|
21304
21696
|
] }),
|
|
21305
|
-
|
|
21306
|
-
|
|
21697
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21698
|
+
Button,
|
|
21307
21699
|
{
|
|
21308
|
-
|
|
21309
|
-
|
|
21310
|
-
className: "
|
|
21311
|
-
|
|
21312
|
-
|
|
21313
|
-
|
|
21314
|
-
|
|
21700
|
+
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21701
|
+
variant: "secondary",
|
|
21702
|
+
className: "w-full justify-between",
|
|
21703
|
+
onClick: () => {
|
|
21704
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21705
|
+
useBridgeStore.getState().setBridgeStep("select-token");
|
|
21706
|
+
},
|
|
21707
|
+
children: [
|
|
21708
|
+
selectedWarpRoute ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21709
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(SelectedWarpRoteIcon, { className: "w-6 h-6" }),
|
|
21710
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { children: selectedWarpRoute.symbol })
|
|
21711
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
21712
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.ArrowLeftRightIcon, { className: "w-6 h-6" }),
|
|
21713
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { children: hyperlaneWarpRoutes.length ? t("passport:bridgeMenu.labels.selectToken") : t("passport:bridgeMenu.errors.noWarpRoutes") })
|
|
21714
|
+
] }),
|
|
21715
|
+
!!selectedWarpRoute?.chainPair && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21716
|
+
Badge,
|
|
21717
|
+
{
|
|
21718
|
+
variant: "outline",
|
|
21719
|
+
size: "medium",
|
|
21720
|
+
className: "bg-[var(--ui-kit-bg)] flex items-center gap-[var(--ui-kit-gap)]",
|
|
21721
|
+
children: selectedWarpRoute.chainPair.map((chain, chIdx) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_react71.Fragment, { children: [
|
|
21722
|
+
chIdx > 0 && /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.ArrowLeftRightIcon, { className: "w-4 h-4 " }),
|
|
21723
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ResolveChainIcon, { chainName: chain.chainName, className: "w-4 h-4" })
|
|
21724
|
+
] }, `${selectedWarpRoute.id}-icon-${chain.chainID}-${chIdx}`))
|
|
21725
|
+
}
|
|
21726
|
+
)
|
|
21727
|
+
]
|
|
21315
21728
|
}
|
|
21316
21729
|
)
|
|
21317
21730
|
]
|
|
@@ -21320,82 +21733,87 @@ function SelectStep(props) {
|
|
|
21320
21733
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21321
21734
|
"div",
|
|
21322
21735
|
{
|
|
21323
|
-
|
|
21324
|
-
|
|
21325
|
-
"text-[10px] text-[var(--ui-kit-fg-muted)] leading-4"
|
|
21326
|
-
),
|
|
21736
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-chain-pair-swapper" /* bridgeChainPairSwapper */, inst),
|
|
21737
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
21327
21738
|
children: [
|
|
21328
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.
|
|
21329
|
-
|
|
21739
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21740
|
+
"div",
|
|
21741
|
+
{
|
|
21742
|
+
className: cn(
|
|
21743
|
+
"flex items-center justify-between gap-[var(--ui-kit-gap)]",
|
|
21744
|
+
"text-[10px] text-[var(--ui-kit-fg-muted)] leading-4"
|
|
21745
|
+
),
|
|
21746
|
+
children: [
|
|
21747
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.fromChain") }),
|
|
21748
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.toChain") })
|
|
21749
|
+
]
|
|
21750
|
+
}
|
|
21751
|
+
),
|
|
21752
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)("div", { className: "w-full flex items-center justify-center", children: [
|
|
21753
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: originChain ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
|
|
21754
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ResolveChainIcon, { chainName: originChain, className: "w-6 h-6" }),
|
|
21755
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[originChain]?.chainLabel })
|
|
21756
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) }),
|
|
21757
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21758
|
+
Button,
|
|
21759
|
+
{
|
|
21760
|
+
size: "icon",
|
|
21761
|
+
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21762
|
+
variant: "ghost",
|
|
21763
|
+
onClick: swapChains,
|
|
21764
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.ArrowRightLeftIcon, { className: "w-4 h-4 " })
|
|
21765
|
+
}
|
|
21766
|
+
),
|
|
21767
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: destinationChain ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
|
|
21768
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ResolveChainIcon, { chainName: destinationChain, className: "w-6 h-6" }),
|
|
21769
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[destinationChain]?.chainLabel })
|
|
21770
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) })
|
|
21771
|
+
] })
|
|
21330
21772
|
]
|
|
21331
21773
|
}
|
|
21332
21774
|
),
|
|
21333
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21334
|
-
|
|
21335
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ResolveChainIcon, { chainName: originChain, className: "w-6 h-6" }),
|
|
21336
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[originChain]?.chainLabel })
|
|
21337
|
-
] }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) }),
|
|
21338
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21339
|
-
Button,
|
|
21340
|
-
{
|
|
21341
|
-
size: "icon",
|
|
21342
|
-
disabled: !hyperlaneWarpRoutes.length || isQuoteEstimating,
|
|
21343
|
-
variant: "ghost",
|
|
21344
|
-
onClick: swapChains,
|
|
21345
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(import_lucide_react59.ArrowRightLeftIcon, { className: "w-4 h-4 " })
|
|
21346
|
-
}
|
|
21347
|
-
),
|
|
21348
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Badge, { variant: "outline", size: "large", className: "block flex-1 flex gap-[var(--ui-kit-gap)] justify-center", children: destinationChain ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_jsx_runtime97.Fragment, { children: [
|
|
21349
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(ResolveChainIcon, { chainName: destinationChain, className: "w-6 h-6" }),
|
|
21350
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "block max-w-[100px] truncate", children: CHAINS_UI_META[destinationChain]?.chainLabel })
|
|
21351
|
-
] }) : /* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "N/A" }) })
|
|
21352
|
-
] }),
|
|
21353
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:common.amount") }),
|
|
21354
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21355
|
-
Input,
|
|
21775
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21776
|
+
"div",
|
|
21356
21777
|
{
|
|
21357
|
-
|
|
21358
|
-
|
|
21359
|
-
placeholder: t("passport:common.amount"),
|
|
21360
|
-
onChange: (e) => {
|
|
21361
|
-
useFlowSelectorStore.getState().setError(null);
|
|
21362
|
-
let { value } = e.target;
|
|
21363
|
-
const regex = /^(0|[1-9]\d*)(\.\d{0,5})?$/;
|
|
21364
|
-
if (value.length > 1 && value.startsWith("0") && !value.startsWith("0.")) {
|
|
21365
|
-
value = value.slice(1);
|
|
21366
|
-
}
|
|
21367
|
-
if (regex.test(value) || value === "") {
|
|
21368
|
-
if (value === "") {
|
|
21369
|
-
useBridgeStore.getState().setAmount("0");
|
|
21370
|
-
} else {
|
|
21371
|
-
useBridgeStore.getState().setAmount(value);
|
|
21372
|
-
}
|
|
21373
|
-
}
|
|
21374
|
-
},
|
|
21375
|
-
value: amount,
|
|
21376
|
-
element: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21377
|
-
Button,
|
|
21378
|
-
{
|
|
21379
|
-
size: "small",
|
|
21380
|
-
variant: "ghost",
|
|
21381
|
-
disabled: isBalanceInsufficient,
|
|
21382
|
-
onClick: () => useBridgeStore.getState().setAmount(Number(routeTokenBalance || 0).toString()),
|
|
21383
|
-
children: String(t("passport:common.max")).toUpperCase()
|
|
21384
|
-
}
|
|
21385
|
-
)
|
|
21386
|
-
}
|
|
21387
|
-
),
|
|
21388
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21389
|
-
"div",
|
|
21390
|
-
{
|
|
21391
|
-
className: cn(
|
|
21392
|
-
//
|
|
21393
|
-
"w-full flex flex-col",
|
|
21394
|
-
"text-[10px]",
|
|
21395
|
-
"gap-[var(--ui-kit-gap)] pb-[var(--ui-kit-pd)]"
|
|
21396
|
-
),
|
|
21778
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-amount-recipient-inputs" /* bridgeAmountRecipientInputs */, inst),
|
|
21779
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
21397
21780
|
children: [
|
|
21398
|
-
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)] leading-4", children: t("passport:
|
|
21781
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)] text-[10px] leading-4", children: t("passport:common.amount") }),
|
|
21782
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21783
|
+
Input,
|
|
21784
|
+
{
|
|
21785
|
+
type: "text",
|
|
21786
|
+
disabled: isQuoteEstimating || !originChain || !destinationChain || !hyperRoute,
|
|
21787
|
+
placeholder: t("passport:common.amount"),
|
|
21788
|
+
onChange: (e) => {
|
|
21789
|
+
useFlowSelectorStore.getState().setError(null);
|
|
21790
|
+
let { value } = e.target;
|
|
21791
|
+
const regex = /^(0|[1-9]\d*)(\.\d{0,5})?$/;
|
|
21792
|
+
if (value.length > 1 && value.startsWith("0") && !value.startsWith("0.")) {
|
|
21793
|
+
value = value.slice(1);
|
|
21794
|
+
}
|
|
21795
|
+
if (regex.test(value) || value === "") {
|
|
21796
|
+
if (value === "") {
|
|
21797
|
+
useBridgeStore.getState().setAmount("0");
|
|
21798
|
+
} else {
|
|
21799
|
+
useBridgeStore.getState().setAmount(value);
|
|
21800
|
+
}
|
|
21801
|
+
}
|
|
21802
|
+
},
|
|
21803
|
+
value: amount,
|
|
21804
|
+
element: /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21805
|
+
Button,
|
|
21806
|
+
{
|
|
21807
|
+
size: "small",
|
|
21808
|
+
variant: "ghost",
|
|
21809
|
+
disabled: isBalanceInsufficient,
|
|
21810
|
+
onClick: () => useBridgeStore.getState().setAmount(Number(routeTokenBalance || 0).toString()),
|
|
21811
|
+
children: String(t("passport:common.max")).toUpperCase()
|
|
21812
|
+
}
|
|
21813
|
+
)
|
|
21814
|
+
}
|
|
21815
|
+
),
|
|
21816
|
+
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)] text-[10px] leading-4", children: t("passport:bridgeMenu.labels.optionalRecipient") }),
|
|
21399
21817
|
/* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
|
|
21400
21818
|
Input,
|
|
21401
21819
|
{
|
|
@@ -21430,6 +21848,7 @@ function SelectStep(props) {
|
|
|
21430
21848
|
!isError && /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
|
|
21431
21849
|
Button,
|
|
21432
21850
|
{
|
|
21851
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-estimate-quote-button" /* bridgeEstimateQuoteButton */, inst),
|
|
21433
21852
|
size: "large",
|
|
21434
21853
|
variant: "default",
|
|
21435
21854
|
className: "w-full",
|
|
@@ -21452,6 +21871,7 @@ var init_SelectStep = __esm({
|
|
|
21452
21871
|
import_react71 = require("react");
|
|
21453
21872
|
init_priceFormatter();
|
|
21454
21873
|
init_utils2();
|
|
21874
|
+
init_Onboarding();
|
|
21455
21875
|
init_badge();
|
|
21456
21876
|
init_button();
|
|
21457
21877
|
init_input();
|
|
@@ -21515,97 +21935,104 @@ function ConfirmStep(props) {
|
|
|
21515
21935
|
return routeId === hyperRoute && chainPairNames.includes(originChain) && chainPairNames.includes(destinationChain);
|
|
21516
21936
|
});
|
|
21517
21937
|
const isConfirmationDisabled = !quote || isAssetBridging || !userConsent;
|
|
21518
|
-
return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
|
|
21519
|
-
|
|
21520
|
-
|
|
21521
|
-
|
|
21522
|
-
|
|
21523
|
-
|
|
21524
|
-
|
|
21525
|
-
|
|
21526
|
-
|
|
21527
|
-
|
|
21528
|
-
|
|
21529
|
-
|
|
21530
|
-
|
|
21531
|
-
|
|
21532
|
-
|
|
21533
|
-
|
|
21534
|
-
|
|
21535
|
-
|
|
21536
|
-
|
|
21537
|
-
|
|
21538
|
-
|
|
21539
|
-
|
|
21540
|
-
|
|
21541
|
-
|
|
21542
|
-
|
|
21543
|
-
|
|
21544
|
-
|
|
21545
|
-
|
|
21546
|
-
quote.
|
|
21547
|
-
|
|
21548
|
-
|
|
21549
|
-
|
|
21550
|
-
|
|
21551
|
-
|
|
21552
|
-
|
|
21553
|
-
|
|
21554
|
-
|
|
21555
|
-
|
|
21556
|
-
quote.
|
|
21938
|
+
return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
|
|
21939
|
+
"div",
|
|
21940
|
+
{
|
|
21941
|
+
ref: (inst) => onboarder.registerElement("bridgemenu-crypto-menu-estimate-details-menu" /* bridgeEstimatedQuoteMenu */, inst),
|
|
21942
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)] w-full",
|
|
21943
|
+
children: [
|
|
21944
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
|
|
21945
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("p", { className: P_CN, children: [
|
|
21946
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: t("passport:common.asset") }),
|
|
21947
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { children: selectedWarpRoute.symbol })
|
|
21948
|
+
] }),
|
|
21949
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("p", { className: P_CN, children: [
|
|
21950
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: t("passport:bridgeMenu.quote.sender") }),
|
|
21951
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { children: bridgeSender.name + " (" + (bridgeSender?.address || "").slice(0, 6) + "..." + (bridgeSender?.address || "").slice(-4) + ")" })
|
|
21952
|
+
] }),
|
|
21953
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("p", { className: P_CN, children: [
|
|
21954
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: t("passport:bridgeMenu.labels.fromChain") }),
|
|
21955
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { children: CHAINS_UI_META[originChain].chainLabel })
|
|
21956
|
+
] }),
|
|
21957
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("p", { className: P_CN, children: [
|
|
21958
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: t("passport:bridgeMenu.labels.toChain") }),
|
|
21959
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { children: CHAINS_UI_META[destinationChain].chainLabel })
|
|
21960
|
+
] }),
|
|
21961
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("p", { className: P_CN, children: [
|
|
21962
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: t("passport:bridgeMenu.quote.amount") }),
|
|
21963
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { children: formatPrice(Number(quote.amount)) })
|
|
21964
|
+
] }),
|
|
21965
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
21966
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: t("passport:bridgeMenu.quote.igpFee") }),
|
|
21967
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("strong", { children: [
|
|
21968
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: formatPrice(Number(quote.igpFee)) }),
|
|
21969
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("span", { children: [
|
|
21970
|
+
" ",
|
|
21971
|
+
quote.igpSymbol
|
|
21972
|
+
] })
|
|
21973
|
+
] })
|
|
21974
|
+
] }),
|
|
21975
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("p", { className: "flex-1 flex items-center justify-between gap-[var(--ui-kit-gap)]", children: [
|
|
21976
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: t("passport:bridgeMenu.quote.localFee") }),
|
|
21977
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("strong", { children: [
|
|
21978
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: formatPrice(Number(quote.localFee)) }),
|
|
21979
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("span", { children: [
|
|
21980
|
+
" ",
|
|
21981
|
+
quote.localSymbol
|
|
21982
|
+
] })
|
|
21983
|
+
] })
|
|
21984
|
+
] }),
|
|
21985
|
+
quote.tokenFee && /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("p", { className: P_CN, children: [
|
|
21986
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: t("passport:bridgeMenu.quote.tokenFee") }),
|
|
21987
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { children: formatPrice(Number(quote.tokenFee)) })
|
|
21557
21988
|
] })
|
|
21558
|
-
] })
|
|
21559
|
-
|
|
21560
|
-
|
|
21561
|
-
|
|
21562
|
-
|
|
21563
|
-
|
|
21564
|
-
|
|
21565
|
-
|
|
21566
|
-
|
|
21567
|
-
|
|
21568
|
-
|
|
21569
|
-
|
|
21570
|
-
|
|
21571
|
-
|
|
21572
|
-
"px-[var(--ui-kit-pd)]",
|
|
21573
|
-
"bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)]",
|
|
21574
|
-
"rounded-[var(--ui-kit-el-bdrs)]"
|
|
21989
|
+
] }),
|
|
21990
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(Highlight, { type: "warning", className: "flex flex-col gap-[var(--ui-kit-gap)] w-full", children: [
|
|
21991
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { className: "text-xs", children: t("passport:bridgeMenu.quote.recipient") }),
|
|
21992
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
|
|
21993
|
+
"span",
|
|
21994
|
+
{
|
|
21995
|
+
className: cn(
|
|
21996
|
+
"w-full flex items-center justify-center h-8",
|
|
21997
|
+
"px-[var(--ui-kit-pd)]",
|
|
21998
|
+
"bg-[var(--ui-kit-bg)] text-[var(--ui-kit-fg)]",
|
|
21999
|
+
"rounded-[var(--ui-kit-el-bdrs)]"
|
|
22000
|
+
),
|
|
22001
|
+
children: (recipient || address).slice(0, 10) + "..." + (recipient || address).slice(-8)
|
|
22002
|
+
}
|
|
21575
22003
|
),
|
|
21576
|
-
|
|
21577
|
-
|
|
21578
|
-
|
|
21579
|
-
|
|
21580
|
-
|
|
21581
|
-
|
|
21582
|
-
|
|
21583
|
-
|
|
21584
|
-
|
|
21585
|
-
|
|
21586
|
-
|
|
21587
|
-
|
|
21588
|
-
|
|
21589
|
-
|
|
21590
|
-
|
|
21591
|
-
|
|
21592
|
-
|
|
21593
|
-
|
|
21594
|
-
|
|
21595
|
-
|
|
21596
|
-
|
|
21597
|
-
|
|
21598
|
-
|
|
21599
|
-
|
|
21600
|
-
|
|
21601
|
-
|
|
21602
|
-
|
|
21603
|
-
|
|
21604
|
-
|
|
21605
|
-
|
|
21606
|
-
|
|
21607
|
-
|
|
21608
|
-
] });
|
|
22004
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { className: "text-xs", children: t("passport:bridgeMenu.consent.recipient", {
|
|
22005
|
+
address: (recipient || address).slice(0, 6) + "..." + (recipient || address).slice(-4),
|
|
22006
|
+
destinationChain: CHAINS_UI_META[destinationChain].chainLabel,
|
|
22007
|
+
asset: selectedWarpRoute.symbol
|
|
22008
|
+
}) }),
|
|
22009
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { className: "text-xs text-[var(--ui-kit-bg-error)]", children: t("passport:bridgeMenu.consent.lostFunds") }),
|
|
22010
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsxs)("label", { className: "flex items-center gap-[var(--ui-kit-gap)] text-xs cursor-pointer", children: [
|
|
22011
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Checkbox, { checked: userConsent, onCheckedChange: () => setUserConsent((prev) => !prev) }),
|
|
22012
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("strong", { children: t("passport:bridgeMenu.actions.confirmBridge", {
|
|
22013
|
+
amount: quote.amount,
|
|
22014
|
+
asset: selectedWarpRoute.symbol,
|
|
22015
|
+
destinationChain: CHAINS_UI_META[destinationChain].chainLabel
|
|
22016
|
+
}) })
|
|
22017
|
+
] })
|
|
22018
|
+
] }),
|
|
22019
|
+
!isError && /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
|
|
22020
|
+
Button,
|
|
22021
|
+
{
|
|
22022
|
+
size: "large",
|
|
22023
|
+
variant: "default",
|
|
22024
|
+
disabled: isConfirmationDisabled,
|
|
22025
|
+
onClick: () => bridgeAsset(),
|
|
22026
|
+
className: "w-full",
|
|
22027
|
+
children: [
|
|
22028
|
+
isAssetBridging && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_lucide_react61.LoaderIcon, { className: "h-4 w-4 animate-spin" }),
|
|
22029
|
+
/* @__PURE__ */ (0, import_jsx_runtime99.jsx)("span", { children: (bridgeTxStatus || t("passport:common.continue")).toUpperCase() })
|
|
22030
|
+
]
|
|
22031
|
+
}
|
|
22032
|
+
)
|
|
22033
|
+
]
|
|
22034
|
+
}
|
|
22035
|
+
);
|
|
21609
22036
|
}
|
|
21610
22037
|
var import_lucide_react61, import_react72, import_jsx_runtime99, P_CN;
|
|
21611
22038
|
var init_ConfirmStep = __esm({
|
|
@@ -21616,6 +22043,7 @@ var init_ConfirmStep = __esm({
|
|
|
21616
22043
|
import_react72 = require("react");
|
|
21617
22044
|
init_priceFormatter();
|
|
21618
22045
|
init_utils2();
|
|
22046
|
+
init_Onboarding();
|
|
21619
22047
|
init_button();
|
|
21620
22048
|
init_checkbox();
|
|
21621
22049
|
init_highlight();
|
|
@@ -21988,7 +22416,6 @@ var init_HistoryStep = __esm({
|
|
|
21988
22416
|
function SelectAssetRoute(props) {
|
|
21989
22417
|
const { hyperlaneWarpRoutes } = props;
|
|
21990
22418
|
const { t } = useT();
|
|
21991
|
-
const [isTokenSymbolSelector, setIsTokenSymbolSelector] = (0, import_react73.useState)(false);
|
|
21992
22419
|
const selectedAssetSymbol = useBridgeStore((st) => st.bridgeAssetSymbol);
|
|
21993
22420
|
const tokenList = (0, import_react73.useMemo)(() => {
|
|
21994
22421
|
const tokens = hyperlaneWarpRoutes.map((route) => route.symbol);
|
|
@@ -21998,47 +22425,30 @@ function SelectAssetRoute(props) {
|
|
|
21998
22425
|
Icon: TOKENS_ICONS[symbol.toUpperCase()] || TOKENS_ICONS.EMBARKAI
|
|
21999
22426
|
}));
|
|
22000
22427
|
}, [hyperlaneWarpRoutes]);
|
|
22001
|
-
if (isTokenSymbolSelector) {
|
|
22002
|
-
return /* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { className: "w-full grid grid-cols-1 gap-[var(--ui-kit-gap)]", children: tokenList.map((asset, assetIdx) => /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
22003
|
-
Button,
|
|
22004
|
-
{
|
|
22005
|
-
variant: selectedAssetSymbol === asset.symbol ? "default" : "outline",
|
|
22006
|
-
className: "w-full justify-start",
|
|
22007
|
-
onClick: () => {
|
|
22008
|
-
useBridgeStore.getState().setBridgeAssetSymbol(asset.symbol);
|
|
22009
|
-
setIsTokenSymbolSelector(false);
|
|
22010
|
-
useFlowSelectorStore.getState().setRenderKey(`hyperlane-route-token-${asset.symbol}-${Date.now()}`);
|
|
22011
|
-
},
|
|
22012
|
-
children: [
|
|
22013
|
-
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(asset.Icon, { className: "w-6 h-6" }),
|
|
22014
|
-
asset.symbol
|
|
22015
|
-
]
|
|
22016
|
-
},
|
|
22017
|
-
`hyperlane-route-token-${asset.symbol}-${assetIdx}`
|
|
22018
|
-
)) });
|
|
22019
|
-
}
|
|
22020
|
-
const selectedAsset = tokenList.find((t2) => t2.symbol === selectedAssetSymbol);
|
|
22021
22428
|
const availableChainPairs = hyperlaneWarpRoutes.filter((route) => route.symbol.toUpperCase() === selectedAssetSymbol).map((route) => route.chainPair);
|
|
22022
22429
|
return /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22023
|
-
/* @__PURE__ */ (0, import_jsx_runtime102.
|
|
22024
|
-
|
|
22025
|
-
|
|
22026
|
-
|
|
22027
|
-
|
|
22028
|
-
|
|
22029
|
-
|
|
22030
|
-
|
|
22031
|
-
|
|
22430
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22431
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.selectToken") }),
|
|
22432
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)("div", { className: "w-full grid grid-cols-2 gap-[var(--ui-kit-gap)]", children: tokenList.map((asset, assetIdx) => /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
22433
|
+
Button,
|
|
22434
|
+
{
|
|
22435
|
+
variant: selectedAssetSymbol === asset.symbol ? "default" : "outline",
|
|
22436
|
+
className: "w-full justify-start",
|
|
22437
|
+
onClick: () => {
|
|
22438
|
+
useBridgeStore.getState().setBridgeAssetSymbol(asset.symbol);
|
|
22439
|
+
useFlowSelectorStore.getState().setRenderKey(`hyperlane-route-token-${asset.symbol}-${Date.now()}`);
|
|
22440
|
+
},
|
|
22441
|
+
children: [
|
|
22442
|
+
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)(asset.Icon, { className: "w-6 h-6" }),
|
|
22443
|
+
asset.symbol
|
|
22444
|
+
]
|
|
22032
22445
|
},
|
|
22033
|
-
|
|
22034
|
-
|
|
22035
|
-
|
|
22036
|
-
|
|
22037
|
-
}
|
|
22038
|
-
),
|
|
22039
|
-
availableChainPairs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(import_jsx_runtime102.Fragment, { children: [
|
|
22446
|
+
`hyperlane-route-token-${asset.symbol}-${assetIdx}`
|
|
22447
|
+
)) })
|
|
22448
|
+
] }),
|
|
22449
|
+
availableChainPairs.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22040
22450
|
/* @__PURE__ */ (0, import_jsx_runtime102.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:bridgeMenu.labels.availableChainPairs") }),
|
|
22041
|
-
|
|
22451
|
+
availableChainPairs.map(([fromChain, toChain]) => /* @__PURE__ */ (0, import_jsx_runtime102.jsxs)(
|
|
22042
22452
|
Button,
|
|
22043
22453
|
{
|
|
22044
22454
|
variant: "secondary",
|
|
@@ -22083,7 +22493,7 @@ function SelectAssetRoute(props) {
|
|
|
22083
22493
|
]
|
|
22084
22494
|
},
|
|
22085
22495
|
`hyperlane-route-chain-pair-${fromChain.chainName}-${toChain.chainName}`
|
|
22086
|
-
))
|
|
22496
|
+
))
|
|
22087
22497
|
] })
|
|
22088
22498
|
] });
|
|
22089
22499
|
}
|
|
@@ -22126,7 +22536,7 @@ function HyperlaneBridge() {
|
|
|
22126
22536
|
useBridgeStore.getState().resetSelections();
|
|
22127
22537
|
};
|
|
22128
22538
|
}, []);
|
|
22129
|
-
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)(
|
|
22539
|
+
return /* @__PURE__ */ (0, import_jsx_runtime103.jsxs)("div", { className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
22130
22540
|
bridgeStep === "sender-selector" && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(SenderSelector, { directWalletProfile }),
|
|
22131
22541
|
bridgeStep === "select" && /* @__PURE__ */ (0, import_jsx_runtime103.jsx)(
|
|
22132
22542
|
SelectStep,
|
|
@@ -22653,45 +23063,6 @@ var init_NftDisplayCard = __esm({
|
|
|
22653
23063
|
}
|
|
22654
23064
|
});
|
|
22655
23065
|
|
|
22656
|
-
// src/internal/components/SendMenu/send/useSendStore.ts
|
|
22657
|
-
var import_zustand15, useSendStore;
|
|
22658
|
-
var init_useSendStore = __esm({
|
|
22659
|
-
"src/internal/components/SendMenu/send/useSendStore.ts"() {
|
|
22660
|
-
import_zustand15 = require("zustand");
|
|
22661
|
-
init_useFlowSelector();
|
|
22662
|
-
useSendStore = (0, import_zustand15.create)((set) => ({
|
|
22663
|
-
recipient: "",
|
|
22664
|
-
//
|
|
22665
|
-
amount: "",
|
|
22666
|
-
selectedAsset: null,
|
|
22667
|
-
//
|
|
22668
|
-
txStep: "input",
|
|
22669
|
-
//
|
|
22670
|
-
// sendError: null,
|
|
22671
|
-
//
|
|
22672
|
-
setRecipient: (recipient) => {
|
|
22673
|
-
useFlowSelectorStore.getState().setError(null);
|
|
22674
|
-
set({ recipient });
|
|
22675
|
-
},
|
|
22676
|
-
//
|
|
22677
|
-
setAmount: (amount) => {
|
|
22678
|
-
useFlowSelectorStore.getState().setError(null);
|
|
22679
|
-
set({ amount });
|
|
22680
|
-
},
|
|
22681
|
-
setSelectedAsset: (selectedAsset) => {
|
|
22682
|
-
useFlowSelectorStore.getState().setError(null);
|
|
22683
|
-
set({ selectedAsset });
|
|
22684
|
-
},
|
|
22685
|
-
//
|
|
22686
|
-
setTxStep: (txStep) => {
|
|
22687
|
-
useFlowSelectorStore.getState().setError(null);
|
|
22688
|
-
useFlowSelectorStore.getState().setRenderKey(`send-${txStep}-${Date.now()}`);
|
|
22689
|
-
set({ txStep });
|
|
22690
|
-
}
|
|
22691
|
-
}));
|
|
22692
|
-
}
|
|
22693
|
-
});
|
|
22694
|
-
|
|
22695
23066
|
// src/internal/components/SendMenu/send/components/AssetList.tsx
|
|
22696
23067
|
function getAssetBalance3(asset) {
|
|
22697
23068
|
if (isNftAsset3(asset)) return "1";
|
|
@@ -23069,7 +23440,7 @@ function InputSendStep(props) {
|
|
|
23069
23440
|
setError(null);
|
|
23070
23441
|
return true;
|
|
23071
23442
|
};
|
|
23072
|
-
return /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(
|
|
23443
|
+
return /* @__PURE__ */ (0, import_jsx_runtime109.jsxs)("div", { className: "flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
23073
23444
|
/* @__PURE__ */ (0, import_jsx_runtime109.jsx)("span", { className: "block text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:sendMenu.selectAsset") }),
|
|
23074
23445
|
/* @__PURE__ */ (0, import_jsx_runtime109.jsxs)(
|
|
23075
23446
|
Button,
|
|
@@ -23217,134 +23588,141 @@ function ConfirmSendStep(props) {
|
|
|
23217
23588
|
useFlowSelectorStore.getState().setError(error?.message || "Transaction failed");
|
|
23218
23589
|
}
|
|
23219
23590
|
});
|
|
23220
|
-
return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
|
|
23221
|
-
|
|
23222
|
-
|
|
23223
|
-
|
|
23224
|
-
|
|
23225
|
-
|
|
23226
|
-
|
|
23227
|
-
|
|
23228
|
-
|
|
23229
|
-
|
|
23230
|
-
|
|
23231
|
-
|
|
23232
|
-
|
|
23233
|
-
|
|
23234
|
-
|
|
23235
|
-
|
|
23236
|
-
|
|
23237
|
-
|
|
23238
|
-
|
|
23239
|
-
|
|
23240
|
-
|
|
23241
|
-
|
|
23242
|
-
|
|
23243
|
-
|
|
23244
|
-
|
|
23245
|
-
|
|
23246
|
-
|
|
23247
|
-
|
|
23248
|
-
|
|
23249
|
-
|
|
23250
|
-
|
|
23251
|
-
|
|
23252
|
-
|
|
23253
|
-
|
|
23254
|
-
{
|
|
23255
|
-
|
|
23256
|
-
|
|
23257
|
-
|
|
23591
|
+
return /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
|
|
23592
|
+
"div",
|
|
23593
|
+
{
|
|
23594
|
+
ref: (inst) => onboarder.registerElement("sendmenu-crypto-summary" /* sendCryptoSummary */, inst),
|
|
23595
|
+
className: "flex flex-col gap-[var(--ui-kit-gap)]",
|
|
23596
|
+
children: [
|
|
23597
|
+
isNicknameInput && isFrozen && /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(Highlight, { type: "warning", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
23598
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react68.AlertTriangle, { className: "h-4 w-4" }),
|
|
23599
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: "This handle is frozen. Proceed with caution." })
|
|
23600
|
+
] }),
|
|
23601
|
+
isSecurity && erc3643CanTransfer && /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(Highlight, { type: "success", className: "flex gap-[var(--ui-kit-gap)]", children: [
|
|
23602
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react68.Shield, { className: "h-4 w-4 flex-shrink-0" }),
|
|
23603
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: "Security token compliance verified" })
|
|
23604
|
+
] }),
|
|
23605
|
+
!isNft && /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between leading-5", children: [
|
|
23606
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
|
|
23607
|
+
selectedAsset.symbol,
|
|
23608
|
+
" Balance"
|
|
23609
|
+
] }),
|
|
23610
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { className: "text-sm font-bold", children: [
|
|
23611
|
+
formatPrice(balance),
|
|
23612
|
+
" ",
|
|
23613
|
+
selectedAsset.symbol
|
|
23614
|
+
] })
|
|
23615
|
+
] }),
|
|
23616
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(Highlight, { type: "info", className: "flex flex-col gap-[var(--ui-kit-gap)]", children: isNicknameInput && nicknameData ? /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(import_jsx_runtime110.Fragment, { children: [
|
|
23617
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex items-start gap-[var(--ui-kit-gap)]", children: [
|
|
23618
|
+
nicknameData.avatarSvg ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(
|
|
23619
|
+
"img",
|
|
23620
|
+
{
|
|
23621
|
+
src: nicknameData.avatarSvg,
|
|
23622
|
+
alt: nicknameData.handle,
|
|
23623
|
+
className: "w-12 h-12 rounded-full object-cover flex-shrink-0"
|
|
23624
|
+
}
|
|
23625
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime110.jsx)("div", { className: "w-12 h-12 rounded-full bg-[var(--ui-kit-secondary)] flex items-center justify-center flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react68.AtSign, { className: "w-6 h-6" }) }),
|
|
23626
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex flex-1 flex-col gap-1", children: [
|
|
23627
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "font-medium text-[14px] leading-4 truncate", children: nicknameData.handle }),
|
|
23628
|
+
nicknameData.fingerprint && /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
|
|
23629
|
+
"span",
|
|
23630
|
+
{
|
|
23631
|
+
className: cn(
|
|
23632
|
+
"flex items-center gap-[var(--ui-kit-gap)] text-[10px]",
|
|
23633
|
+
isFingerprintVerified ? "text-[var(--ui-kit-bg-success)]" : "text-[var(--ui-kit-bg-error)]"
|
|
23634
|
+
),
|
|
23635
|
+
children: [
|
|
23636
|
+
isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react68.ShieldCheck, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react68.ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
|
|
23637
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { children: [
|
|
23638
|
+
"Fingerprint: ",
|
|
23639
|
+
nicknameData.fingerprint
|
|
23640
|
+
] }),
|
|
23641
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
|
|
23642
|
+
]
|
|
23643
|
+
}
|
|
23258
23644
|
),
|
|
23259
|
-
children:
|
|
23260
|
-
isFingerprintVerified ? /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react68.ShieldCheck, { className: "w-4 h-4 flex-shrink-0" }) : /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react68.ShieldAlert, { className: "w-4 h-4 flex-shrink-0" }),
|
|
23261
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { children: [
|
|
23262
|
-
"Fingerprint: ",
|
|
23263
|
-
nicknameData.fingerprint
|
|
23264
|
-
] }),
|
|
23265
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: isFingerprintVerified ? "Verified" : "FAILED" })
|
|
23266
|
-
]
|
|
23267
|
-
}
|
|
23268
|
-
),
|
|
23269
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)} : ` })
|
|
23270
|
-
] })
|
|
23271
|
-
] }),
|
|
23272
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "border-t border-[var(--ui-kit-bd)] py-[var(--ui-kit-pd)] text-[10px]", children: [
|
|
23273
|
-
isNft ? /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between items-start", children: [
|
|
23274
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
|
|
23275
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "text-right", children: [
|
|
23276
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
|
|
23277
|
-
selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
|
|
23278
|
-
"#",
|
|
23279
|
-
selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
|
|
23645
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: `${resolvedAddress.slice(0, 6)}...${resolvedAddress.slice(-4)} : ` })
|
|
23280
23646
|
] })
|
|
23281
|
-
] })
|
|
23282
|
-
|
|
23283
|
-
|
|
23284
|
-
|
|
23285
|
-
|
|
23286
|
-
|
|
23287
|
-
|
|
23288
|
-
|
|
23289
|
-
|
|
23647
|
+
] }),
|
|
23648
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "border-t border-[var(--ui-kit-bd)] py-[var(--ui-kit-pd)] text-[10px]", children: [
|
|
23649
|
+
isNft ? /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between items-start", children: [
|
|
23650
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
|
|
23651
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "text-right", children: [
|
|
23652
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
|
|
23653
|
+
selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: [
|
|
23654
|
+
"#",
|
|
23655
|
+
selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
|
|
23656
|
+
] })
|
|
23657
|
+
] })
|
|
23658
|
+
] }) : (
|
|
23659
|
+
// Fungible token details
|
|
23660
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23661
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:common.amount") }),
|
|
23662
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { className: "text-sm font-bold", children: [
|
|
23663
|
+
amount,
|
|
23664
|
+
" ",
|
|
23665
|
+
selectedAsset.symbol
|
|
23666
|
+
] })
|
|
23667
|
+
] })
|
|
23668
|
+
),
|
|
23669
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23670
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[10px] text-[var(--ui-kit-fg-muted)]", children: t("passport:common.network") }),
|
|
23671
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-sm font-bold", children: chainConfig.name })
|
|
23290
23672
|
] })
|
|
23291
23673
|
] })
|
|
23292
|
-
),
|
|
23293
|
-
|
|
23294
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.
|
|
23295
|
-
|
|
23296
|
-
|
|
23297
|
-
|
|
23298
|
-
|
|
23299
|
-
|
|
23300
|
-
|
|
23301
|
-
|
|
23302
|
-
|
|
23303
|
-
|
|
23304
|
-
|
|
23305
|
-
|
|
23306
|
-
|
|
23307
|
-
|
|
23308
|
-
|
|
23309
|
-
|
|
23310
|
-
|
|
23311
|
-
|
|
23312
|
-
|
|
23313
|
-
|
|
23674
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(import_jsx_runtime110.Fragment, { children: [
|
|
23675
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("h3", { className: "font-medium mb-3 text-[var(--ui-kit-fg)]", children: "Transaction Details" }),
|
|
23676
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "space-y-2 text-sm text-[var(--ui-kit-fg)]", children: [
|
|
23677
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between", children: [
|
|
23678
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "To:" }),
|
|
23679
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "font-mono text-xs", children: `${effectiveAddress.slice(0, 6)}...${effectiveAddress.slice(-4)}` })
|
|
23680
|
+
] }),
|
|
23681
|
+
isNft ? (
|
|
23682
|
+
// NFT details
|
|
23683
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_jsx_runtime110.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between items-start", children: [
|
|
23684
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: "NFT:" }),
|
|
23685
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "text-right", children: [
|
|
23686
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "font-semibold block", children: selectedAsset.nftMetadata?.name || selectedAsset.name }),
|
|
23687
|
+
selectedAsset.tokenId && /* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { className: "text-xs text-[var(--ui-kit-fg-muted)]", children: [
|
|
23688
|
+
"#",
|
|
23689
|
+
selectedAsset.tokenId.length > 10 ? `${selectedAsset.tokenId.slice(0, 8)}...` : selectedAsset.tokenId
|
|
23690
|
+
] })
|
|
23691
|
+
] })
|
|
23692
|
+
] }) })
|
|
23693
|
+
) : (
|
|
23694
|
+
// Fungible token details
|
|
23695
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23696
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:common.amount") }),
|
|
23697
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { className: "font-semibold", children: [
|
|
23698
|
+
amount,
|
|
23699
|
+
" ",
|
|
23700
|
+
selectedAsset.symbol
|
|
23701
|
+
] })
|
|
23314
23702
|
] })
|
|
23315
|
-
|
|
23316
|
-
|
|
23317
|
-
|
|
23318
|
-
|
|
23319
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23320
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:common.amount") }),
|
|
23321
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("span", { className: "font-semibold", children: [
|
|
23322
|
-
amount,
|
|
23323
|
-
" ",
|
|
23324
|
-
selectedAsset.symbol
|
|
23703
|
+
),
|
|
23704
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)("div", { className: "flex justify-between leading-5 gap-[var(--ui-kit-gap)]", children: [
|
|
23705
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { className: "text-[var(--ui-kit-fg-muted)]", children: t("passport:common.network") }),
|
|
23706
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsx)("span", { children: chainConfig.name })
|
|
23325
23707
|
] })
|
|
23326
23708
|
] })
|
|
23327
|
-
),
|
|
23328
|
-
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
|
|
23329
|
-
|
|
23330
|
-
|
|
23331
|
-
|
|
23332
|
-
|
|
23333
|
-
|
|
23334
|
-
|
|
23335
|
-
|
|
23336
|
-
|
|
23337
|
-
|
|
23338
|
-
|
|
23339
|
-
|
|
23340
|
-
|
|
23341
|
-
|
|
23342
|
-
|
|
23343
|
-
|
|
23344
|
-
]
|
|
23345
|
-
}
|
|
23346
|
-
)
|
|
23347
|
-
] });
|
|
23709
|
+
] }) }),
|
|
23710
|
+
/* @__PURE__ */ (0, import_jsx_runtime110.jsxs)(
|
|
23711
|
+
Button,
|
|
23712
|
+
{
|
|
23713
|
+
onClick: () => handleConfirm(),
|
|
23714
|
+
disabled: isTransactionPending,
|
|
23715
|
+
className: "w-full",
|
|
23716
|
+
size: "large",
|
|
23717
|
+
children: [
|
|
23718
|
+
isTransactionPending && /* @__PURE__ */ (0, import_jsx_runtime110.jsx)(import_lucide_react68.Loader, { className: "h-4 w-4 animate-spin" }),
|
|
23719
|
+
t("passport:common.confirm")
|
|
23720
|
+
]
|
|
23721
|
+
}
|
|
23722
|
+
)
|
|
23723
|
+
]
|
|
23724
|
+
}
|
|
23725
|
+
);
|
|
23348
23726
|
}
|
|
23349
23727
|
var import_react_query53, import_lucide_react68, import_jsx_runtime110;
|
|
23350
23728
|
var init_ConfirmSendStep = __esm({
|
|
@@ -23355,6 +23733,7 @@ var init_ConfirmSendStep = __esm({
|
|
|
23355
23733
|
import_lucide_react68 = require("lucide-react");
|
|
23356
23734
|
init_priceFormatter();
|
|
23357
23735
|
init_utils2();
|
|
23736
|
+
init_Onboarding();
|
|
23358
23737
|
init_button();
|
|
23359
23738
|
init_highlight();
|
|
23360
23739
|
init_useFlowSelector();
|
|
@@ -23549,14 +23928,61 @@ var init_send = __esm({
|
|
|
23549
23928
|
}
|
|
23550
23929
|
});
|
|
23551
23930
|
|
|
23931
|
+
// src/internal/components/SendMenu/useSendMenuParams.ts
|
|
23932
|
+
function useSendMenuParams() {
|
|
23933
|
+
(0, import_react81.useEffect)(() => {
|
|
23934
|
+
const { pageParams, setPageParams } = useLayoutDataStore.getState();
|
|
23935
|
+
if (!pageParams || !(0, import_lodash_es13.keys)(pageParams).length) return;
|
|
23936
|
+
console.log("[SEND PARAMS]", pageParams);
|
|
23937
|
+
const { sendFlow, asset, to, amount } = pageParams || {};
|
|
23938
|
+
const {
|
|
23939
|
+
setAmount: setSendAmount,
|
|
23940
|
+
setRecipient: setSendRecipient,
|
|
23941
|
+
setSelectedAsset: setSendSelectedAsset
|
|
23942
|
+
} = useSendStore.getState();
|
|
23943
|
+
const { setAmount: setBridgeAmount } = useBridgeStore.getState();
|
|
23944
|
+
useFlowSelectorStore.getState().setFlow(sendFlow);
|
|
23945
|
+
switch (sendFlow) {
|
|
23946
|
+
//
|
|
23947
|
+
case "send":
|
|
23948
|
+
switch (true) {
|
|
23949
|
+
case !!asset:
|
|
23950
|
+
setSendAmount(String(amount));
|
|
23951
|
+
case !!to:
|
|
23952
|
+
setSendRecipient(to);
|
|
23953
|
+
case !!amount:
|
|
23954
|
+
setSendSelectedAsset(asset);
|
|
23955
|
+
}
|
|
23956
|
+
break;
|
|
23957
|
+
//
|
|
23958
|
+
case "bridge":
|
|
23959
|
+
switch (true) {
|
|
23960
|
+
case !!amount:
|
|
23961
|
+
setBridgeAmount(String(amount));
|
|
23962
|
+
}
|
|
23963
|
+
break;
|
|
23964
|
+
default:
|
|
23965
|
+
return setPageParams(null);
|
|
23966
|
+
}
|
|
23967
|
+
setPageParams(null);
|
|
23968
|
+
}, []);
|
|
23969
|
+
}
|
|
23970
|
+
var import_lodash_es13, import_react81;
|
|
23971
|
+
var init_useSendMenuParams = __esm({
|
|
23972
|
+
"src/internal/components/SendMenu/useSendMenuParams.ts"() {
|
|
23973
|
+
import_lodash_es13 = require("lodash-es");
|
|
23974
|
+
import_react81 = require("react");
|
|
23975
|
+
init_useLayoutDataStore();
|
|
23976
|
+
init_useBridgeStore();
|
|
23977
|
+
init_useSendStore();
|
|
23978
|
+
init_useFlowSelector();
|
|
23979
|
+
}
|
|
23980
|
+
});
|
|
23981
|
+
|
|
23552
23982
|
// src/internal/components/SendMenu/SendFlowSelector.tsx
|
|
23553
23983
|
function SelectorFlowButtons() {
|
|
23554
23984
|
const { t } = useT();
|
|
23555
23985
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
23556
|
-
const sendStep = useSendStore((st) => st.txStep);
|
|
23557
|
-
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
23558
|
-
const isButtonsShown = selectorFlow === "send" && sendStep === "input" || selectorFlow === "bridge" && bridgeStep === "select";
|
|
23559
|
-
if (!isButtonsShown) return null;
|
|
23560
23986
|
return /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(
|
|
23561
23987
|
"div",
|
|
23562
23988
|
{
|
|
@@ -23604,6 +24030,7 @@ function SelectorFlowButtons() {
|
|
|
23604
24030
|
}
|
|
23605
24031
|
function SendFlowSelector() {
|
|
23606
24032
|
const { t } = useT();
|
|
24033
|
+
useSendMenuParams();
|
|
23607
24034
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
23608
24035
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
23609
24036
|
const isUiLocked = useFlowSelectorStore((st) => st.isUiLocked);
|
|
@@ -23611,15 +24038,19 @@ function SendFlowSelector() {
|
|
|
23611
24038
|
const error = useFlowSelectorStore((st) => st.error);
|
|
23612
24039
|
const menuTitle = useFlowSelectorStore((st) => st.menuTitle);
|
|
23613
24040
|
const selectorFlow = useFlowSelectorStore((st) => st.flow);
|
|
23614
|
-
(
|
|
24041
|
+
const sendStep = useSendStore((st) => st.txStep);
|
|
24042
|
+
const bridgeStep = useBridgeStore((st) => st.bridgeStep);
|
|
24043
|
+
(0, import_react82.useEffect)(
|
|
23615
24044
|
() => () => {
|
|
23616
24045
|
useFlowSelectorStore.getState().setError(null);
|
|
23617
24046
|
},
|
|
23618
24047
|
[]
|
|
23619
24048
|
);
|
|
24049
|
+
const isSendFlowInitialState = selectorFlow === "send" && sendStep === "input" || selectorFlow === "bridge" && bridgeStep === "select";
|
|
23620
24050
|
return /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
|
|
23621
24051
|
"div",
|
|
23622
24052
|
{
|
|
24053
|
+
ref: (inst) => onboarder.registerElement("sendmenu-page" /* sendMenu */, inst),
|
|
23623
24054
|
style: {
|
|
23624
24055
|
"--ui-kit-scrollbar-mah": `${maxScrollHeight}px`,
|
|
23625
24056
|
"--ui-kit-list-scrollbar-pd-r": "var(--ui-kit-pd)"
|
|
@@ -23637,8 +24068,8 @@ function SendFlowSelector() {
|
|
|
23637
24068
|
onClick: () => {
|
|
23638
24069
|
useFlowSelectorStore.getState().setError(null);
|
|
23639
24070
|
if (selectorFlow === "bridge") {
|
|
23640
|
-
const { bridgeStep, setBridgeStep } = useBridgeStore.getState();
|
|
23641
|
-
switch (
|
|
24071
|
+
const { bridgeStep: bridgeStep2, setBridgeStep } = useBridgeStore.getState();
|
|
24072
|
+
switch (bridgeStep2) {
|
|
23642
24073
|
case "select":
|
|
23643
24074
|
return setPage("main-menu" /* MAIN_MENU */);
|
|
23644
24075
|
// case ''
|
|
@@ -23663,9 +24094,31 @@ function SendFlowSelector() {
|
|
|
23663
24094
|
),
|
|
23664
24095
|
/* @__PURE__ */ (0, import_jsx_runtime112.jsx)("span", { className: "text-xl font-semibold", children: menuTitle })
|
|
23665
24096
|
] }),
|
|
23666
|
-
/* @__PURE__ */ (0, import_jsx_runtime112.
|
|
24097
|
+
/* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("div", { className: "flex items-center gap-[var(--ui-kit-gap)]", children: [
|
|
24098
|
+
isSendFlowInitialState && /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(
|
|
24099
|
+
Button,
|
|
24100
|
+
{
|
|
24101
|
+
ref: (inst) => onboarder.registerElement("sendmenu-tour-button" /* tourButton */, inst),
|
|
24102
|
+
variant: "ghost",
|
|
24103
|
+
size: "icon",
|
|
24104
|
+
className: "flex-none",
|
|
24105
|
+
onClick: () => {
|
|
24106
|
+
switch (selectorFlow) {
|
|
24107
|
+
case "send":
|
|
24108
|
+
onboarder.startTour(SEND_MENU_TOUR);
|
|
24109
|
+
break;
|
|
24110
|
+
case "bridge":
|
|
24111
|
+
onboarder.startTour(BRIDGE_MENU_TOUR);
|
|
24112
|
+
break;
|
|
24113
|
+
}
|
|
24114
|
+
},
|
|
24115
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(import_lucide_react70.CircleQuestionMarkIcon, { className: "h-4 w-4" })
|
|
24116
|
+
}
|
|
24117
|
+
),
|
|
24118
|
+
/* @__PURE__ */ (0, import_jsx_runtime112.jsx)(BridgeHistorySwitch, {})
|
|
24119
|
+
] })
|
|
23667
24120
|
] }),
|
|
23668
|
-
/* @__PURE__ */ (0, import_jsx_runtime112.jsx)(SelectorFlowButtons, {}),
|
|
24121
|
+
isSendFlowInitialState && /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(SelectorFlowButtons, {}),
|
|
23669
24122
|
SELECTOR_FLOW[selectorFlow],
|
|
23670
24123
|
error && /* @__PURE__ */ (0, import_jsx_runtime112.jsxs)(Highlight, { type: "error", className: "w-full flex flex-col gap-[var(--ui-kit-gap)]", children: [
|
|
23671
24124
|
/* @__PURE__ */ (0, import_jsx_runtime112.jsxs)("div", { className: "w-full flex gap-[var(--ui-kit-gap)]", children: [
|
|
@@ -23688,21 +24141,24 @@ function SendFlowSelector() {
|
|
|
23688
24141
|
}
|
|
23689
24142
|
);
|
|
23690
24143
|
}
|
|
23691
|
-
var import_lucide_react70,
|
|
24144
|
+
var import_lucide_react70, import_react82, import_jsx_runtime112, SELECTOR_FLOW;
|
|
23692
24145
|
var init_SendFlowSelector = __esm({
|
|
23693
24146
|
"src/internal/components/SendMenu/SendFlowSelector.tsx"() {
|
|
23694
24147
|
init_i18n();
|
|
23695
24148
|
import_lucide_react70 = require("lucide-react");
|
|
23696
|
-
|
|
24149
|
+
import_react82 = require("react");
|
|
23697
24150
|
init_useLayoutDataStore();
|
|
23698
24151
|
init_useLayoutStore();
|
|
23699
24152
|
init_utils2();
|
|
23700
24153
|
init_Expandable2();
|
|
24154
|
+
init_Onboarding();
|
|
23701
24155
|
init_button();
|
|
23702
24156
|
init_highlight();
|
|
23703
24157
|
init_hyperbridge();
|
|
24158
|
+
init_onboarding_setup2();
|
|
23704
24159
|
init_send();
|
|
23705
24160
|
init_useFlowSelector();
|
|
24161
|
+
init_useSendMenuParams();
|
|
23706
24162
|
import_jsx_runtime112 = require("react/jsx-runtime");
|
|
23707
24163
|
SELECTOR_FLOW = {
|
|
23708
24164
|
send: /* @__PURE__ */ (0, import_jsx_runtime112.jsx)(SendMenu, {}),
|
|
@@ -23715,6 +24171,7 @@ var init_SendFlowSelector = __esm({
|
|
|
23715
24171
|
var init_SendMenu2 = __esm({
|
|
23716
24172
|
"src/internal/components/SendMenu/index.ts"() {
|
|
23717
24173
|
init_SendFlowSelector();
|
|
24174
|
+
init_onboarding_setup2();
|
|
23718
24175
|
}
|
|
23719
24176
|
});
|
|
23720
24177
|
|
|
@@ -23748,12 +24205,12 @@ function getServerSnapshot() {
|
|
|
23748
24205
|
return false;
|
|
23749
24206
|
}
|
|
23750
24207
|
function useProMode() {
|
|
23751
|
-
return (0,
|
|
24208
|
+
return (0, import_react83.useSyncExternalStore)(subscribe, getSnapshot, getServerSnapshot);
|
|
23752
24209
|
}
|
|
23753
|
-
var
|
|
24210
|
+
var import_react83, STORAGE_KEY, EVENT_NAME;
|
|
23754
24211
|
var init_pro_mode = __esm({
|
|
23755
24212
|
"src/internal/lib/pro-mode.ts"() {
|
|
23756
|
-
|
|
24213
|
+
import_react83 = require("react");
|
|
23757
24214
|
STORAGE_KEY = "embarkai_pro_mode";
|
|
23758
24215
|
EVENT_NAME = "embarkai-pro-mode-changed";
|
|
23759
24216
|
}
|
|
@@ -23795,7 +24252,7 @@ function useSettingsButtons() {
|
|
|
23795
24252
|
if (proMode) {
|
|
23796
24253
|
settingsButtons.push({ id: "devices" /* DEVICES */, name: "Guardians", Icon: import_lucide_react72.HardDrive });
|
|
23797
24254
|
}
|
|
23798
|
-
(0,
|
|
24255
|
+
(0, import_react84.useEffect)(() => {
|
|
23799
24256
|
const cssvEl = document.querySelector(".embarkai-ui-scope");
|
|
23800
24257
|
if (!cssvEl || !window?.getComputedStyle) {
|
|
23801
24258
|
return;
|
|
@@ -23859,7 +24316,7 @@ function SettingsMenu() {
|
|
|
23859
24316
|
}
|
|
23860
24317
|
);
|
|
23861
24318
|
}
|
|
23862
|
-
var import_react_query54, import_lucide_react72,
|
|
24319
|
+
var import_react_query54, import_lucide_react72, import_react84, import_jsx_runtime113;
|
|
23863
24320
|
var init_SettingsMenu = __esm({
|
|
23864
24321
|
"src/internal/components/SettingsMenu/SettingsMenu.tsx"() {
|
|
23865
24322
|
init_ProviderContext();
|
|
@@ -23867,7 +24324,7 @@ var init_SettingsMenu = __esm({
|
|
|
23867
24324
|
init_i18n();
|
|
23868
24325
|
import_react_query54 = require("@tanstack/react-query");
|
|
23869
24326
|
import_lucide_react72 = require("lucide-react");
|
|
23870
|
-
|
|
24327
|
+
import_react84 = require("react");
|
|
23871
24328
|
init_nickname();
|
|
23872
24329
|
init_profile();
|
|
23873
24330
|
init_useLayoutDataStore();
|
|
@@ -24739,7 +25196,7 @@ function TransactionsMenu() {
|
|
|
24739
25196
|
const { t } = useT();
|
|
24740
25197
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
24741
25198
|
const maxScrollHeight = useLayoutStore((st) => st.maxScrollHeight);
|
|
24742
|
-
const [expandedGroups, setExpandedGroups] = (0,
|
|
25199
|
+
const [expandedGroups, setExpandedGroups] = (0, import_react85.useState)({});
|
|
24743
25200
|
const historySupported = isTransactionHistorySupported(chainConfig?.id);
|
|
24744
25201
|
const {
|
|
24745
25202
|
data: txHistoryGroups = [],
|
|
@@ -24752,7 +25209,7 @@ function TransactionsMenu() {
|
|
|
24752
25209
|
queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address],
|
|
24753
25210
|
queryFn: () => getTransactionsListQuery({ address, chainConfig })
|
|
24754
25211
|
});
|
|
24755
|
-
const refreshTxHistory = (0,
|
|
25212
|
+
const refreshTxHistory = (0, import_react85.useCallback)(
|
|
24756
25213
|
() => qc.invalidateQueries({ queryKey: [TRANSACTIONS_HISTORY_QUERY_KEY, chainConfig.id, address] }),
|
|
24757
25214
|
[qc, chainConfig.id, address]
|
|
24758
25215
|
);
|
|
@@ -24801,14 +25258,14 @@ function TransactionsMenu() {
|
|
|
24801
25258
|
}
|
|
24802
25259
|
);
|
|
24803
25260
|
}
|
|
24804
|
-
var import_react_query55, import_lucide_react75,
|
|
25261
|
+
var import_react_query55, import_lucide_react75, import_react85, import_jsx_runtime116;
|
|
24805
25262
|
var init_TransactionsMenu = __esm({
|
|
24806
25263
|
"src/internal/components/TransactionsMenu/TransactionsMenu.tsx"() {
|
|
24807
25264
|
init_SessionContext();
|
|
24808
25265
|
init_i18n();
|
|
24809
25266
|
import_react_query55 = require("@tanstack/react-query");
|
|
24810
25267
|
import_lucide_react75 = require("lucide-react");
|
|
24811
|
-
|
|
25268
|
+
import_react85 = require("react");
|
|
24812
25269
|
init_useLayoutDataStore();
|
|
24813
25270
|
init_useLayoutStore();
|
|
24814
25271
|
init_Expandable2();
|
|
@@ -25006,7 +25463,7 @@ function usePageMapper() {
|
|
|
25006
25463
|
setIsDialogOpen,
|
|
25007
25464
|
setIsDialogClosing
|
|
25008
25465
|
} = useLayoutStore();
|
|
25009
|
-
const closeDialog = (0,
|
|
25466
|
+
const closeDialog = (0, import_react86.useCallback)(() => {
|
|
25010
25467
|
setIsDialogClosing(true);
|
|
25011
25468
|
setTimeout(() => {
|
|
25012
25469
|
setDialogContent(null);
|
|
@@ -25017,7 +25474,7 @@ function usePageMapper() {
|
|
|
25017
25474
|
setIsDialogOpen(false);
|
|
25018
25475
|
}, CLEAR_DIALOG_TIMEOUT);
|
|
25019
25476
|
}, [setDialogContent, setDialogDescription, setDialogTitle, setIsDialogForced, setIsDialogOpen, setIsDialogClosing]);
|
|
25020
|
-
const openDialog = (0,
|
|
25477
|
+
const openDialog = (0, import_react86.useCallback)(
|
|
25021
25478
|
(pageItem) => {
|
|
25022
25479
|
const PageContentComponent = pageItem.component;
|
|
25023
25480
|
setDialogTitle(pageItem.title);
|
|
@@ -25027,7 +25484,7 @@ function usePageMapper() {
|
|
|
25027
25484
|
},
|
|
25028
25485
|
[setDialogContent, setDialogDescription, setDialogTitle, setIsDialogOpen]
|
|
25029
25486
|
);
|
|
25030
|
-
(0,
|
|
25487
|
+
(0, import_react86.useEffect)(() => {
|
|
25031
25488
|
if (page === null) return closeDialog();
|
|
25032
25489
|
const pageItem = PAGE_MAP[page];
|
|
25033
25490
|
if (!pageItem) {
|
|
@@ -25038,10 +25495,10 @@ function usePageMapper() {
|
|
|
25038
25495
|
openDialog(pageItem);
|
|
25039
25496
|
}, [page, closeDialog, openDialog]);
|
|
25040
25497
|
}
|
|
25041
|
-
var
|
|
25498
|
+
var import_react86, import_jsx_runtime117, CLEAR_DIALOG_TIMEOUT;
|
|
25042
25499
|
var init_usePageMapper = __esm({
|
|
25043
25500
|
"src/internal/hooks/usePageMapper.tsx"() {
|
|
25044
|
-
|
|
25501
|
+
import_react86 = require("react");
|
|
25045
25502
|
init_PageMap();
|
|
25046
25503
|
init_constants();
|
|
25047
25504
|
init_useLayoutDataStore();
|
|
@@ -25057,24 +25514,24 @@ function useSettingsNotifications() {
|
|
|
25057
25514
|
const providers = import_auth23.jwtTokenManager.getProviders();
|
|
25058
25515
|
const hasEmail = providers.includes("email");
|
|
25059
25516
|
const { data: userProfile = null } = useUserProfile();
|
|
25060
|
-
(0,
|
|
25517
|
+
(0, import_react87.useEffect)(() => {
|
|
25061
25518
|
const isKYCVerified = userProfile?.kycDetails?.kycStatus === "verified";
|
|
25062
25519
|
setSettingsNotifications({
|
|
25063
25520
|
...COMPLETE_KYC_PROGRESS,
|
|
25064
25521
|
status: isKYCVerified ? "resolved" : "active"
|
|
25065
25522
|
});
|
|
25066
25523
|
}, [userProfile, setSettingsNotifications]);
|
|
25067
|
-
(0,
|
|
25524
|
+
(0, import_react87.useEffect)(() => {
|
|
25068
25525
|
setSettingsNotifications({
|
|
25069
25526
|
...EMAIL_NOT_CONNECTED_NOTIFICATION,
|
|
25070
25527
|
status: hasEmail ? "resolved" : "active"
|
|
25071
25528
|
});
|
|
25072
25529
|
}, [hasEmail, setSettingsNotifications]);
|
|
25073
25530
|
}
|
|
25074
|
-
var
|
|
25531
|
+
var import_react87, EMAIL_NOT_CONNECTED_NOTIFICATION, COMPLETE_KYC_PROGRESS;
|
|
25075
25532
|
var init_useSettingsNotifications = __esm({
|
|
25076
25533
|
"src/internal/hooks/useSettingsNotifications.ts"() {
|
|
25077
|
-
|
|
25534
|
+
import_react87 = require("react");
|
|
25078
25535
|
init_auth();
|
|
25079
25536
|
init_useLayoutDataStore();
|
|
25080
25537
|
init_useUserProfile();
|
|
@@ -25097,7 +25554,7 @@ var init_package = __esm({
|
|
|
25097
25554
|
"package.json"() {
|
|
25098
25555
|
package_default = {
|
|
25099
25556
|
name: "@embarkai/ui-kit",
|
|
25100
|
-
version: "0.4.
|
|
25557
|
+
version: "0.4.74",
|
|
25101
25558
|
description: "React UI components and hooks for EmbarkAI authentication and Account Abstraction",
|
|
25102
25559
|
type: "module",
|
|
25103
25560
|
main: "./dist/index.cjs",
|
|
@@ -25350,11 +25807,11 @@ function Header() {
|
|
|
25350
25807
|
const chainConfig = useSession((st) => st.chainConfig);
|
|
25351
25808
|
const { t } = useT();
|
|
25352
25809
|
const proMode = useProMode();
|
|
25353
|
-
const [proToast, setProToast] = (0,
|
|
25354
|
-
const [copied, setCopied] = (0,
|
|
25355
|
-
const clickCountRef = (0,
|
|
25356
|
-
const clickTimerRef = (0,
|
|
25357
|
-
const handleAvatarClick = (0,
|
|
25810
|
+
const [proToast, setProToast] = (0, import_react88.useState)(false);
|
|
25811
|
+
const [copied, setCopied] = (0, import_react88.useState)(false);
|
|
25812
|
+
const clickCountRef = (0, import_react88.useRef)(0);
|
|
25813
|
+
const clickTimerRef = (0, import_react88.useRef)(null);
|
|
25814
|
+
const handleAvatarClick = (0, import_react88.useCallback)(() => {
|
|
25358
25815
|
clickCountRef.current += 1;
|
|
25359
25816
|
if (clickTimerRef.current) {
|
|
25360
25817
|
clearTimeout(clickTimerRef.current);
|
|
@@ -25449,7 +25906,7 @@ function Header() {
|
|
|
25449
25906
|
}
|
|
25450
25907
|
);
|
|
25451
25908
|
}
|
|
25452
|
-
var import_lucide_react77,
|
|
25909
|
+
var import_lucide_react77, import_react88, import_jsx_runtime119;
|
|
25453
25910
|
var init_Header = __esm({
|
|
25454
25911
|
"src/internal/components/Header/Header.tsx"() {
|
|
25455
25912
|
init_lumia2();
|
|
@@ -25458,7 +25915,7 @@ var init_Header = __esm({
|
|
|
25458
25915
|
init_SessionContext();
|
|
25459
25916
|
init_useT();
|
|
25460
25917
|
import_lucide_react77 = require("lucide-react");
|
|
25461
|
-
|
|
25918
|
+
import_react88 = require("react");
|
|
25462
25919
|
init_icons();
|
|
25463
25920
|
init_auth();
|
|
25464
25921
|
init_useUserProfile();
|
|
@@ -25486,26 +25943,26 @@ function useDecideContentStyles() {
|
|
|
25486
25943
|
return {
|
|
25487
25944
|
isClosing,
|
|
25488
25945
|
isMobileView,
|
|
25489
|
-
style: (0,
|
|
25946
|
+
style: (0, import_lodash_es14.merge)({}, mobileStyles)
|
|
25490
25947
|
};
|
|
25491
25948
|
}
|
|
25492
|
-
var DialogPrimitive,
|
|
25949
|
+
var DialogPrimitive, import_lodash_es14, import_lucide_react78, import_react89, import_jsx_runtime120, Dialog, DialogPortal, DialogOverlay, CONTENT_BG_SETUP, DialogContent, DialogHeader, DialogFooter, DialogTitle, DialogDescription;
|
|
25493
25950
|
var init_dialog = __esm({
|
|
25494
25951
|
"src/internal/components/ui/dialog.tsx"() {
|
|
25495
25952
|
init_utils2();
|
|
25496
25953
|
init_SessionContext();
|
|
25497
25954
|
init_i18n();
|
|
25498
25955
|
DialogPrimitive = __toESM(require("@radix-ui/react-dialog"), 1);
|
|
25499
|
-
|
|
25956
|
+
import_lodash_es14 = require("lodash-es");
|
|
25500
25957
|
import_lucide_react78 = require("lucide-react");
|
|
25501
|
-
|
|
25958
|
+
import_react89 = require("react");
|
|
25502
25959
|
init_useLayoutDataStore();
|
|
25503
25960
|
init_useLayoutStore();
|
|
25504
25961
|
init_button();
|
|
25505
25962
|
import_jsx_runtime120 = require("react/jsx-runtime");
|
|
25506
25963
|
Dialog = DialogPrimitive.Root;
|
|
25507
25964
|
DialogPortal = DialogPrimitive.Portal;
|
|
25508
|
-
DialogOverlay = (0,
|
|
25965
|
+
DialogOverlay = (0, import_react89.forwardRef)(
|
|
25509
25966
|
({ className, closing, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
25510
25967
|
DialogPrimitive.Overlay,
|
|
25511
25968
|
{
|
|
@@ -25527,7 +25984,7 @@ var init_dialog = __esm({
|
|
|
25527
25984
|
border: "1px solid var(--ui-kit-bd)",
|
|
25528
25985
|
boxShadow: "var(--ui-kit-shadow, 0px 4px 10px var(--ui-kit-shadow-c, rgba(0, 0, 0, 0.1)))"
|
|
25529
25986
|
};
|
|
25530
|
-
DialogContent = (0,
|
|
25987
|
+
DialogContent = (0, import_react89.forwardRef)(
|
|
25531
25988
|
({ className, children, colorMode, ...props }, ref) => {
|
|
25532
25989
|
const { t, i18n } = useT();
|
|
25533
25990
|
const isSessionLoading = useSession((st) => st.isLoading);
|
|
@@ -25639,7 +26096,7 @@ var init_dialog = __esm({
|
|
|
25639
26096
|
DialogHeader.displayName = "DialogHeader";
|
|
25640
26097
|
DialogFooter = ({ className, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)("div", { className: cn("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2", className), ...props });
|
|
25641
26098
|
DialogFooter.displayName = "DialogFooter";
|
|
25642
|
-
DialogTitle = (0,
|
|
26099
|
+
DialogTitle = (0, import_react89.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(
|
|
25643
26100
|
DialogPrimitive.Title,
|
|
25644
26101
|
{
|
|
25645
26102
|
ref,
|
|
@@ -25648,7 +26105,7 @@ var init_dialog = __esm({
|
|
|
25648
26105
|
}
|
|
25649
26106
|
));
|
|
25650
26107
|
DialogTitle.displayName = DialogPrimitive.Title.displayName;
|
|
25651
|
-
DialogDescription = (0,
|
|
26108
|
+
DialogDescription = (0, import_react89.forwardRef)(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime120.jsx)(DialogPrimitive.Description, { ref, className: cn("text-sm text-muted-foreground", className), ...props }));
|
|
25652
26109
|
DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
25653
26110
|
}
|
|
25654
26111
|
});
|
|
@@ -25673,7 +26130,7 @@ function Dialog2() {
|
|
|
25673
26130
|
const isWalletLinking = useLayoutDataStore((st) => st.isWalletLinking);
|
|
25674
26131
|
const setPage = useLayoutDataStore((st) => st.setPage);
|
|
25675
26132
|
const { colorMode, isDialogOpen, dialogTitle, dialogDescription, dialogContent, isDialogForced, setIsSettings } = useLayoutStore();
|
|
25676
|
-
(0,
|
|
26133
|
+
(0, import_react90.useEffect)(() => setIsSettings(!!session), [session, setIsSettings]);
|
|
25677
26134
|
usePageMapper();
|
|
25678
26135
|
useAutoConnect();
|
|
25679
26136
|
useBackupStatusChanges();
|
|
@@ -25711,13 +26168,13 @@ function Dialog2() {
|
|
|
25711
26168
|
}
|
|
25712
26169
|
);
|
|
25713
26170
|
}
|
|
25714
|
-
var import_framer_motion,
|
|
26171
|
+
var import_framer_motion, import_react90, import_jsx_runtime122;
|
|
25715
26172
|
var init_Dialog = __esm({
|
|
25716
26173
|
"src/internal/components/Dialog/Dialog.tsx"() {
|
|
25717
26174
|
init_ProviderContext();
|
|
25718
26175
|
init_SessionContext();
|
|
25719
26176
|
import_framer_motion = require("framer-motion");
|
|
25720
|
-
|
|
26177
|
+
import_react90 = require("react");
|
|
25721
26178
|
init_constants();
|
|
25722
26179
|
init_useAutoConnect();
|
|
25723
26180
|
init_useBackupStatusChanges();
|
|
@@ -25753,13 +26210,13 @@ function DirectWalletHandler() {
|
|
|
25753
26210
|
const setExternalChainId = useExternalWalletStore((st) => st.setExternalChainId);
|
|
25754
26211
|
const setConfigMode = useExternalWalletStore((st) => st.setConfigMode);
|
|
25755
26212
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
25756
|
-
(0,
|
|
26213
|
+
(0, import_react91.useEffect)(() => {
|
|
25757
26214
|
setConfigMode(walletMode);
|
|
25758
26215
|
if (walletMode !== "both") {
|
|
25759
26216
|
setActiveMode(walletMode);
|
|
25760
26217
|
}
|
|
25761
26218
|
}, [walletMode, setConfigMode, setActiveMode]);
|
|
25762
|
-
(0,
|
|
26219
|
+
(0, import_react91.useEffect)(() => {
|
|
25763
26220
|
if (isConnected && address && !isExternalConnected && connector && chain?.id) {
|
|
25764
26221
|
setExternalWallet({
|
|
25765
26222
|
address,
|
|
@@ -25768,17 +26225,17 @@ function DirectWalletHandler() {
|
|
|
25768
26225
|
});
|
|
25769
26226
|
}
|
|
25770
26227
|
}, [isConnected, address, isExternalConnected, connector, chain?.id, setExternalWallet]);
|
|
25771
|
-
(0,
|
|
26228
|
+
(0, import_react91.useEffect)(() => {
|
|
25772
26229
|
if (isExternalConnected && !isConnected) {
|
|
25773
26230
|
clearExternalWallet();
|
|
25774
26231
|
}
|
|
25775
26232
|
}, [isConnected, isExternalConnected, clearExternalWallet]);
|
|
25776
|
-
(0,
|
|
26233
|
+
(0, import_react91.useEffect)(() => {
|
|
25777
26234
|
if (isExternalConnected && isConnected && chain?.id) {
|
|
25778
26235
|
setExternalChainId(chain.id);
|
|
25779
26236
|
}
|
|
25780
26237
|
}, [chain?.id, isConnected, isExternalConnected, setExternalChainId]);
|
|
25781
|
-
(0,
|
|
26238
|
+
(0, import_react91.useEffect)(() => {
|
|
25782
26239
|
if (isExternalConnected && isConnected && address && address !== externalAddress && connector && chain?.id) {
|
|
25783
26240
|
setExternalWallet({
|
|
25784
26241
|
address,
|
|
@@ -25789,10 +26246,10 @@ function DirectWalletHandler() {
|
|
|
25789
26246
|
}, [address, isConnected, isExternalConnected, externalAddress, chain?.id, connector, setExternalWallet]);
|
|
25790
26247
|
return null;
|
|
25791
26248
|
}
|
|
25792
|
-
var
|
|
26249
|
+
var import_react91, import_wagmi8;
|
|
25793
26250
|
var init_DirectWalletHandler = __esm({
|
|
25794
26251
|
"src/internal/components/DirectWalletHandler.tsx"() {
|
|
25795
|
-
|
|
26252
|
+
import_react91 = require("react");
|
|
25796
26253
|
import_wagmi8 = require("wagmi");
|
|
25797
26254
|
init_ProviderContext();
|
|
25798
26255
|
init_useExternalWalletStore();
|
|
@@ -25800,14 +26257,14 @@ var init_DirectWalletHandler = __esm({
|
|
|
25800
26257
|
});
|
|
25801
26258
|
|
|
25802
26259
|
// src/internal/components/TssManager.tsx
|
|
25803
|
-
var
|
|
26260
|
+
var import_react92, TssManagerWithRef;
|
|
25804
26261
|
var init_TssManager = __esm({
|
|
25805
26262
|
"src/internal/components/TssManager.tsx"() {
|
|
25806
26263
|
init_SessionContext();
|
|
25807
|
-
|
|
26264
|
+
import_react92 = __toESM(require("react"), 1);
|
|
25808
26265
|
init_auth();
|
|
25809
26266
|
init_clients();
|
|
25810
|
-
TssManagerWithRef =
|
|
26267
|
+
TssManagerWithRef = import_react92.default.forwardRef((props, ref) => {
|
|
25811
26268
|
const { mpcPin } = props;
|
|
25812
26269
|
const usePaymaster = useSession((st) => st.usePaymaster);
|
|
25813
26270
|
const publicClient = useSession((st) => st.publicClient);
|
|
@@ -25815,14 +26272,14 @@ var init_TssManager = __esm({
|
|
|
25815
26272
|
const setStatus = useSession((st) => st.setStatus);
|
|
25816
26273
|
const setSession = useSession((st) => st.setSession);
|
|
25817
26274
|
const setAddress = useSession((st) => st.setAddress);
|
|
25818
|
-
const onSessionCreated = (0,
|
|
26275
|
+
const onSessionCreated = (0, import_react92.useCallback)(
|
|
25819
26276
|
(session, address) => {
|
|
25820
26277
|
setSession(session);
|
|
25821
26278
|
setAddress(address);
|
|
25822
26279
|
},
|
|
25823
26280
|
[setSession, setAddress]
|
|
25824
26281
|
);
|
|
25825
|
-
const createSessionWithKeyshare =
|
|
26282
|
+
const createSessionWithKeyshare = import_react92.default.useCallback(
|
|
25826
26283
|
async (userId, hasServerKeyshare, isNewUser) => {
|
|
25827
26284
|
setStatus("checking key management setup...");
|
|
25828
26285
|
await ensureKeyshare(userId, hasServerKeyshare, setStatus, isNewUser);
|
|
@@ -25847,7 +26304,7 @@ var init_TssManager = __esm({
|
|
|
25847
26304
|
},
|
|
25848
26305
|
[setStatus, usePaymaster, activeChainId, publicClient, mpcPin]
|
|
25849
26306
|
);
|
|
25850
|
-
|
|
26307
|
+
import_react92.default.useImperativeHandle(ref, () => ({ createSessionWithKeyshare }), [createSessionWithKeyshare]);
|
|
25851
26308
|
return null;
|
|
25852
26309
|
});
|
|
25853
26310
|
}
|
|
@@ -25875,7 +26332,7 @@ function WalletConnectHandler() {
|
|
|
25875
26332
|
const projectId = providerConfig?.projectId;
|
|
25876
26333
|
const setExternalWallet = useExternalWalletStore((st) => st.setExternalWallet);
|
|
25877
26334
|
const setPendingWalletLogin = useLayoutDataStore((st) => st.setPendingWalletLogin);
|
|
25878
|
-
const onLinkingComplete = (0,
|
|
26335
|
+
const onLinkingComplete = (0, import_react93.useCallback)(
|
|
25879
26336
|
async (success) => {
|
|
25880
26337
|
setIsWalletLinking(false);
|
|
25881
26338
|
if (!success && !passportWalletAddress) {
|
|
@@ -25904,10 +26361,10 @@ function WalletConnectHandler() {
|
|
|
25904
26361
|
},
|
|
25905
26362
|
[qc, passportWalletAddress, setProviderType, setPage, setIsWalletLinking]
|
|
25906
26363
|
);
|
|
25907
|
-
const [hasStartedLinking, setHasStartedLinking] =
|
|
25908
|
-
const [modalWasOpened, setModalWasOpened] =
|
|
25909
|
-
const [pendingModalOpen, setPendingModalOpen] =
|
|
25910
|
-
(0,
|
|
26364
|
+
const [hasStartedLinking, setHasStartedLinking] = import_react93.default.useState(false);
|
|
26365
|
+
const [modalWasOpened, setModalWasOpened] = import_react93.default.useState(false);
|
|
26366
|
+
const [pendingModalOpen, setPendingModalOpen] = import_react93.default.useState(false);
|
|
26367
|
+
(0, import_react93.useEffect)(() => {
|
|
25911
26368
|
if (isWalletLinking && !hasStartedLinking) {
|
|
25912
26369
|
console.log("[WalletConnectHandler] Starting wallet link flow:", {
|
|
25913
26370
|
isConnected,
|
|
@@ -25945,18 +26402,18 @@ function WalletConnectHandler() {
|
|
|
25945
26402
|
setProviderType,
|
|
25946
26403
|
walletMode
|
|
25947
26404
|
]);
|
|
25948
|
-
(0,
|
|
26405
|
+
(0, import_react93.useEffect)(() => {
|
|
25949
26406
|
if (pendingModalOpen && !isConnected && openConnectModal) {
|
|
25950
26407
|
setPendingModalOpen(false);
|
|
25951
26408
|
openConnectModal();
|
|
25952
26409
|
}
|
|
25953
26410
|
}, [pendingModalOpen, isConnected, openConnectModal]);
|
|
25954
|
-
(0,
|
|
26411
|
+
(0, import_react93.useEffect)(() => {
|
|
25955
26412
|
if (connectModalOpen && hasStartedLinking) {
|
|
25956
26413
|
setModalWasOpened(true);
|
|
25957
26414
|
}
|
|
25958
26415
|
}, [connectModalOpen, hasStartedLinking]);
|
|
25959
|
-
(0,
|
|
26416
|
+
(0, import_react93.useEffect)(() => {
|
|
25960
26417
|
if (modalWasOpened && !connectModalOpen && !isConnected && isWalletLinking) {
|
|
25961
26418
|
console.log("[WalletConnectHandler] Modal closed without connecting");
|
|
25962
26419
|
onLinkingComplete(false);
|
|
@@ -25964,7 +26421,7 @@ function WalletConnectHandler() {
|
|
|
25964
26421
|
setModalWasOpened(false);
|
|
25965
26422
|
}
|
|
25966
26423
|
}, [connectModalOpen, modalWasOpened, isConnected, isWalletLinking]);
|
|
25967
|
-
(0,
|
|
26424
|
+
(0, import_react93.useEffect)(() => {
|
|
25968
26425
|
if (isWalletLinking) {
|
|
25969
26426
|
const timeout = setTimeout(() => {
|
|
25970
26427
|
console.warn("[WalletConnectHandler] Wallet linking timed out, resetting state");
|
|
@@ -26084,7 +26541,7 @@ function WalletConnectHandler() {
|
|
|
26084
26541
|
setPage(passportWalletAddress ? "manage-wallet" /* MANAGE_WALLET */ : "auth" /* AUTH */);
|
|
26085
26542
|
}
|
|
26086
26543
|
});
|
|
26087
|
-
(0,
|
|
26544
|
+
(0, import_react93.useEffect)(() => {
|
|
26088
26545
|
if (!!chain?.id && isConnected && walletAddress && isWalletLinking && hasStartedLinking && modalWasOpened && !pendingModalOpen) {
|
|
26089
26546
|
console.log("[WalletConnectHandler] handleWalletSign triggered");
|
|
26090
26547
|
if (!passportWalletAddress) {
|
|
@@ -26094,7 +26551,7 @@ function WalletConnectHandler() {
|
|
|
26094
26551
|
handleWalletSign({ chainId: chain.id, signingWalletAddress: walletAddress });
|
|
26095
26552
|
}
|
|
26096
26553
|
}, [chain, isConnected, walletAddress, isWalletLinking, hasStartedLinking, modalWasOpened, pendingModalOpen]);
|
|
26097
|
-
(0,
|
|
26554
|
+
(0, import_react93.useEffect)(() => {
|
|
26098
26555
|
if (isConnected && !chain?.id && isWalletLinking && hasStartedLinking && !connectModalOpen && !isWalletSigning) {
|
|
26099
26556
|
const timeout = setTimeout(() => {
|
|
26100
26557
|
console.warn("[WalletConnectHandler] Wallet connected but chain info missing, resetting");
|
|
@@ -26116,7 +26573,7 @@ function WalletConnectHandler() {
|
|
|
26116
26573
|
]);
|
|
26117
26574
|
return null;
|
|
26118
26575
|
}
|
|
26119
|
-
var import_rainbowkit2, import_react_query57,
|
|
26576
|
+
var import_rainbowkit2, import_react_query57, import_react93, import_wagmi9;
|
|
26120
26577
|
var init_WalletConnectHandler = __esm({
|
|
26121
26578
|
"src/internal/components/WalletConnectHandler.tsx"() {
|
|
26122
26579
|
init_ProviderContext();
|
|
@@ -26124,7 +26581,7 @@ var init_WalletConnectHandler = __esm({
|
|
|
26124
26581
|
init_linkedProfiles();
|
|
26125
26582
|
import_rainbowkit2 = require("@rainbow-me/rainbowkit");
|
|
26126
26583
|
import_react_query57 = require("@tanstack/react-query");
|
|
26127
|
-
|
|
26584
|
+
import_react93 = __toESM(require("react"), 1);
|
|
26128
26585
|
import_wagmi9 = require("wagmi");
|
|
26129
26586
|
init_wallet();
|
|
26130
26587
|
init_AuthMenu2();
|
|
@@ -26152,7 +26609,7 @@ function waitForStoreHydration() {
|
|
|
26152
26609
|
}
|
|
26153
26610
|
function SessionProvider({ children }) {
|
|
26154
26611
|
const config = useProviderConfig().config;
|
|
26155
|
-
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(
|
|
26612
|
+
return /* @__PURE__ */ (0, import_jsx_runtime123.jsxs)(import_react94.Fragment, { children: [
|
|
26156
26613
|
children,
|
|
26157
26614
|
config.current?.wallet?.enabled && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(WalletConnectHandler, {}),
|
|
26158
26615
|
config.current?.wallet?.enabled && (config.current?.wallet?.mode === "direct" || config.current?.wallet?.mode === "both") && /* @__PURE__ */ (0, import_jsx_runtime123.jsx)(DirectWalletHandler, {}),
|
|
@@ -26168,11 +26625,11 @@ function SessionProvider({ children }) {
|
|
|
26168
26625
|
/* @__PURE__ */ (0, import_jsx_runtime123.jsx)(OnboardingOverlay, {})
|
|
26169
26626
|
] });
|
|
26170
26627
|
}
|
|
26171
|
-
var import_read22,
|
|
26628
|
+
var import_read22, import_react94, import_zustand16, import_middleware4, import_jsx_runtime123, useSession, requireActiveChainId;
|
|
26172
26629
|
var init_SessionContext = __esm({
|
|
26173
26630
|
"src/context/SessionContext.tsx"() {
|
|
26174
26631
|
import_read22 = require("@embarkai/core/read");
|
|
26175
|
-
|
|
26632
|
+
import_react94 = require("react");
|
|
26176
26633
|
import_zustand16 = require("zustand");
|
|
26177
26634
|
import_middleware4 = require("zustand/middleware");
|
|
26178
26635
|
init_BalanceFeedProvider2();
|
|
@@ -27152,13 +27609,13 @@ async function clearLocalKeyshare(userId) {
|
|
|
27152
27609
|
console.log("[clearLocalKeyshare] Keyshares are now managed by secure iframe");
|
|
27153
27610
|
console.log("[clearLocalKeyshare] To clear keyshares, user must revoke authorization in iframe");
|
|
27154
27611
|
if (typeof window !== "undefined" && window.localStorage) {
|
|
27155
|
-
const
|
|
27612
|
+
const keys3 = [
|
|
27156
27613
|
`tss.${userId}.keyshare`,
|
|
27157
27614
|
`tss.${userId}.ownerAddress`,
|
|
27158
27615
|
`tss.${userId}.sessionId`,
|
|
27159
27616
|
...Object.keys(window.localStorage).filter((key) => key.startsWith(`tss.${userId}.dkg.`))
|
|
27160
27617
|
];
|
|
27161
|
-
|
|
27618
|
+
keys3.forEach((key) => window.localStorage.removeItem(key));
|
|
27162
27619
|
console.log("[clearLocalKeyshare] Cleared old localStorage keys for migration");
|
|
27163
27620
|
}
|
|
27164
27621
|
}
|
|
@@ -28853,7 +29310,7 @@ var init_rainbowkit = __esm({
|
|
|
28853
29310
|
function RainbowKitProvider({ children }) {
|
|
28854
29311
|
const config = useProviderConfig().config;
|
|
28855
29312
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
28856
|
-
const rainbowConfig = (0,
|
|
29313
|
+
const rainbowConfig = (0, import_react95.useMemo)(
|
|
28857
29314
|
() => createRainbowConfig({
|
|
28858
29315
|
projectId: config.current?.wallet?.walletConnectProjectId,
|
|
28859
29316
|
allowedWallets: config.current?.wallet?.allowedWallets,
|
|
@@ -28867,7 +29324,7 @@ function RainbowKitProvider({ children }) {
|
|
|
28867
29324
|
config.current?.wallet?.walletConnectProjectId
|
|
28868
29325
|
]
|
|
28869
29326
|
);
|
|
28870
|
-
const customTheme = (0,
|
|
29327
|
+
const customTheme = (0, import_react95.useMemo)(() => {
|
|
28871
29328
|
if (!config.current?.wallet?.enabled) return {};
|
|
28872
29329
|
return colorMode === "dark" ? {
|
|
28873
29330
|
...(0, import_rainbowkit4.darkTheme)(),
|
|
@@ -28884,11 +29341,11 @@ function RainbowKitProvider({ children }) {
|
|
|
28884
29341
|
if (!config.current?.wallet?.enabled) return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_jsx_runtime124.Fragment, { children });
|
|
28885
29342
|
return /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_wagmi11.WagmiProvider, { config: rainbowConfig, children: /* @__PURE__ */ (0, import_jsx_runtime124.jsx)(import_rainbowkit4.RainbowKitProvider, { theme: customTheme, modalSize: "compact", showRecentTransactions: true, children }) });
|
|
28886
29343
|
}
|
|
28887
|
-
var import_rainbowkit4,
|
|
29344
|
+
var import_rainbowkit4, import_react95, import_wagmi11, import_styles, import_jsx_runtime124;
|
|
28888
29345
|
var init_RainbowKitContext = __esm({
|
|
28889
29346
|
"src/context/RainbowKitContext.tsx"() {
|
|
28890
29347
|
import_rainbowkit4 = require("@rainbow-me/rainbowkit");
|
|
28891
|
-
|
|
29348
|
+
import_react95 = require("react");
|
|
28892
29349
|
import_wagmi11 = require("wagmi");
|
|
28893
29350
|
init_rainbowkit();
|
|
28894
29351
|
init_useLayoutStore();
|
|
@@ -28944,10 +29401,10 @@ function clearLegacyWagmiStorage() {
|
|
|
28944
29401
|
}
|
|
28945
29402
|
function Provider(props) {
|
|
28946
29403
|
const { children, projectId, initialConfig = {}, callbacks } = props;
|
|
28947
|
-
const callbacksRef = (0,
|
|
28948
|
-
(0,
|
|
28949
|
-
const config = (0,
|
|
28950
|
-
const updateConfig = (0,
|
|
29404
|
+
const callbacksRef = (0, import_react96.useRef)(callbacks);
|
|
29405
|
+
(0, import_react96.useEffect)(() => notifyNoProjetctId(projectId), [projectId]);
|
|
29406
|
+
const config = (0, import_react96.useRef)((0, import_lodash_es15.merge)({}, DEFAULT_PROVIDER_CONFIG, { projectId }, initialConfig));
|
|
29407
|
+
const updateConfig = (0, import_react96.useCallback)((updates) => {
|
|
28951
29408
|
const prev = config.current;
|
|
28952
29409
|
const next = { ...prev };
|
|
28953
29410
|
if (updates.projectId !== void 0) next.projectId = updates.projectId;
|
|
@@ -28981,14 +29438,14 @@ function Provider(props) {
|
|
|
28981
29438
|
if (updates.translations) next.translations = { ...next.translations, ...updates.translations };
|
|
28982
29439
|
config.current = next;
|
|
28983
29440
|
}, []);
|
|
28984
|
-
const updateCallbacks = (0,
|
|
29441
|
+
const updateCallbacks = (0, import_react96.useCallback)((updates) => {
|
|
28985
29442
|
const prev = callbacksRef.current;
|
|
28986
29443
|
const next = updates ? { ...prev, ...updates } : void 0;
|
|
28987
29444
|
callbacksRef.current = next;
|
|
28988
29445
|
}, []);
|
|
28989
|
-
(0,
|
|
29446
|
+
(0, import_react96.useEffect)(() => {
|
|
28990
29447
|
if (typeof window === "undefined" || !projectId) return;
|
|
28991
|
-
const mergedConfig = (0,
|
|
29448
|
+
const mergedConfig = (0, import_lodash_es15.merge)(DEFAULT_PROVIDER_CONFIG, initialConfig);
|
|
28992
29449
|
updateConfig(mergedConfig);
|
|
28993
29450
|
if (mergedConfig.wallet?.enabled) {
|
|
28994
29451
|
clearLegacyWagmiStorage();
|
|
@@ -29006,7 +29463,7 @@ function Provider(props) {
|
|
|
29006
29463
|
useSession.getState().setActiveChainId(mergedConfig.network.chainId);
|
|
29007
29464
|
}
|
|
29008
29465
|
}, [projectId, initialConfig]);
|
|
29009
|
-
(0,
|
|
29466
|
+
(0, import_react96.useEffect)(() => {
|
|
29010
29467
|
if (typeof window === "undefined" || !projectId) return;
|
|
29011
29468
|
try {
|
|
29012
29469
|
(0, import_error_tracking4.initSdkErrorTracking)();
|
|
@@ -29035,7 +29492,7 @@ function Provider(props) {
|
|
|
29035
29492
|
console.error("[PROVIDER] Error setting up iframe manager:", error);
|
|
29036
29493
|
}
|
|
29037
29494
|
}, [projectId]);
|
|
29038
|
-
const contextValue = (0,
|
|
29495
|
+
const contextValue = (0, import_react96.useMemo)(
|
|
29039
29496
|
() => ({
|
|
29040
29497
|
config,
|
|
29041
29498
|
updateConfig,
|
|
@@ -29056,12 +29513,12 @@ function Provider(props) {
|
|
|
29056
29513
|
/* @__PURE__ */ (0, import_jsx_runtime126.jsx)(WagmiProvider2, { children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(UIContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime126.jsx)(SessionProvider, { children }) }) })
|
|
29057
29514
|
);
|
|
29058
29515
|
}
|
|
29059
|
-
var import_error_tracking4,
|
|
29516
|
+
var import_error_tracking4, import_lodash_es15, import_react96, import_jsx_runtime126, UIContext, useProviderConfig;
|
|
29060
29517
|
var init_ProviderContext = __esm({
|
|
29061
29518
|
"src/context/ProviderContext.tsx"() {
|
|
29062
29519
|
import_error_tracking4 = require("@embarkai/core/internal/error-tracking");
|
|
29063
|
-
|
|
29064
|
-
|
|
29520
|
+
import_lodash_es15 = require("lodash-es");
|
|
29521
|
+
import_react96 = require("react");
|
|
29065
29522
|
init_initial();
|
|
29066
29523
|
init_iframe_manager();
|
|
29067
29524
|
init_RainbowKitContext();
|
|
@@ -29069,9 +29526,9 @@ var init_ProviderContext = __esm({
|
|
|
29069
29526
|
init_utils12();
|
|
29070
29527
|
init_WagmiContext();
|
|
29071
29528
|
import_jsx_runtime126 = require("react/jsx-runtime");
|
|
29072
|
-
UIContext = (0,
|
|
29529
|
+
UIContext = (0, import_react96.createContext)(void 0);
|
|
29073
29530
|
useProviderConfig = () => {
|
|
29074
|
-
const ctx = (0,
|
|
29531
|
+
const ctx = (0, import_react96.useContext)(UIContext);
|
|
29075
29532
|
if (!ctx) throw new Error("useProviderConfig must be used within a Provider");
|
|
29076
29533
|
return ctx;
|
|
29077
29534
|
};
|
|
@@ -29083,6 +29540,7 @@ var index_exports = {};
|
|
|
29083
29540
|
__export(index_exports, {
|
|
29084
29541
|
AccountAbstractionError: () => AccountAbstractionError,
|
|
29085
29542
|
Address: () => Address,
|
|
29543
|
+
BRIDGE_MENU_TOUR: () => BRIDGE_MENU_TOUR,
|
|
29086
29544
|
BUY_MENU_BINANCE_TOUR: () => BUY_MENU_BINANCE_TOUR,
|
|
29087
29545
|
ConnectWalletButton: () => ConnectWalletButton,
|
|
29088
29546
|
ErrorCodes: () => ErrorCodes,
|
|
@@ -29094,6 +29552,7 @@ __export(index_exports, {
|
|
|
29094
29552
|
PASSPORT_TRANSLATIONS: () => PASSPORT_TRANSLATIONS,
|
|
29095
29553
|
PageKey: () => PageKey,
|
|
29096
29554
|
Provider: () => Provider,
|
|
29555
|
+
SEND_MENU_TOUR: () => SEND_MENU_TOUR,
|
|
29097
29556
|
SessionExpiredError: () => SessionExpiredError,
|
|
29098
29557
|
TOKENS_ICONS: () => TOKENS_ICONS,
|
|
29099
29558
|
ThemeToggle: () => ThemeToggle,
|
|
@@ -29188,7 +29647,7 @@ init_ProviderContext();
|
|
|
29188
29647
|
init_lumia2();
|
|
29189
29648
|
init_embarkAI2();
|
|
29190
29649
|
var import_lucide_react79 = require("lucide-react");
|
|
29191
|
-
var
|
|
29650
|
+
var import_react97 = require("react");
|
|
29192
29651
|
init_SessionContext();
|
|
29193
29652
|
init_auth();
|
|
29194
29653
|
init_BalanceView2();
|
|
@@ -29221,10 +29680,10 @@ function ConnectWalletButton(props) {
|
|
|
29221
29680
|
const colorMode = useLayoutStore((st) => st.colorMode);
|
|
29222
29681
|
const { session, address, hasServerVault, isLoading, isIframeReady, status, setUsePaymaster } = useSession();
|
|
29223
29682
|
const connectButtonLabel = getFormattedStatus(label || "Connect", status, isIframeReady);
|
|
29224
|
-
(0,
|
|
29683
|
+
(0, import_react97.useEffect)(() => setUsePaymaster(usePaymaster), [setUsePaymaster, usePaymaster]);
|
|
29225
29684
|
const { data: profile, isLoading: isProfileLoading } = useUserProfile();
|
|
29226
29685
|
const displayName = profile?.nicknameDisplay || profile?.displayName || import_auth23.jwtTokenManager.getDisplayName();
|
|
29227
|
-
const indicators = (0,
|
|
29686
|
+
const indicators = (0, import_react97.useMemo)(() => {
|
|
29228
29687
|
const userId = session?.mpcUserId;
|
|
29229
29688
|
if (!userId) return { server: false, local: false, backup: false };
|
|
29230
29689
|
const server = import_auth23.jwtTokenManager.getHasKeyshare() ?? false;
|
|
@@ -29863,14 +30322,14 @@ var Hash = ({
|
|
|
29863
30322
|
};
|
|
29864
30323
|
|
|
29865
30324
|
// src/internal/components/TransactionsMenu/TransactionsList.tsx
|
|
29866
|
-
var
|
|
30325
|
+
var import_react98 = require("react");
|
|
29867
30326
|
init_base2();
|
|
29868
30327
|
var import_jsx_runtime133 = require("react/jsx-runtime");
|
|
29869
30328
|
var TransactionsList = ({ address, itemsCount = 10 }) => {
|
|
29870
|
-
const [transactions, setTransactions] = (0,
|
|
29871
|
-
const [loading, setLoading] = (0,
|
|
29872
|
-
const [error, setError] = (0,
|
|
29873
|
-
(0,
|
|
30329
|
+
const [transactions, setTransactions] = (0, import_react98.useState)([]);
|
|
30330
|
+
const [loading, setLoading] = (0, import_react98.useState)(true);
|
|
30331
|
+
const [error, setError] = (0, import_react98.useState)(null);
|
|
30332
|
+
(0, import_react98.useEffect)(() => {
|
|
29874
30333
|
const fetchTransactions2 = async () => {
|
|
29875
30334
|
try {
|
|
29876
30335
|
setLoading(true);
|
|
@@ -30161,13 +30620,13 @@ function useUserOpStatus(options = {}) {
|
|
|
30161
30620
|
init_useErc3643Compliance();
|
|
30162
30621
|
|
|
30163
30622
|
// src/hooks/useWalletMode.ts
|
|
30164
|
-
var
|
|
30623
|
+
var import_react99 = require("react");
|
|
30165
30624
|
init_useExternalWalletStore();
|
|
30166
30625
|
function useWalletMode() {
|
|
30167
30626
|
const configMode = useExternalWalletStore((st) => st.configMode);
|
|
30168
30627
|
const activeMode = useExternalWalletStore((st) => st.activeMode);
|
|
30169
30628
|
const setActiveMode = useExternalWalletStore((st) => st.setActiveMode);
|
|
30170
|
-
const switchMode = (0,
|
|
30629
|
+
const switchMode = (0, import_react99.useCallback)(
|
|
30171
30630
|
(mode) => {
|
|
30172
30631
|
if (configMode !== "both") return;
|
|
30173
30632
|
setActiveMode(mode);
|
|
@@ -30183,7 +30642,7 @@ function useWalletMode() {
|
|
|
30183
30642
|
}
|
|
30184
30643
|
|
|
30185
30644
|
// src/hooks/useDirectWallet.ts
|
|
30186
|
-
var
|
|
30645
|
+
var import_react100 = require("react");
|
|
30187
30646
|
var import_rainbowkit6 = require("@rainbow-me/rainbowkit");
|
|
30188
30647
|
var import_wagmi13 = require("wagmi");
|
|
30189
30648
|
init_useExternalWalletStore();
|
|
@@ -30197,13 +30656,13 @@ function useDirectWallet() {
|
|
|
30197
30656
|
const { disconnect: wagmiDisconnect } = (0, import_wagmi13.useDisconnect)();
|
|
30198
30657
|
const { openConnectModal } = (0, import_rainbowkit6.useConnectModal)();
|
|
30199
30658
|
const setIsWalletLinking = useLayoutDataStore((st) => st.setIsWalletLinking);
|
|
30200
|
-
const connect = (0,
|
|
30659
|
+
const connect = (0, import_react100.useCallback)(() => {
|
|
30201
30660
|
setIsWalletLinking(true);
|
|
30202
30661
|
}, [setIsWalletLinking]);
|
|
30203
|
-
const reconnect = (0,
|
|
30662
|
+
const reconnect = (0, import_react100.useCallback)(() => {
|
|
30204
30663
|
if (openConnectModal) openConnectModal();
|
|
30205
30664
|
}, [openConnectModal]);
|
|
30206
|
-
const disconnect = (0,
|
|
30665
|
+
const disconnect = (0, import_react100.useCallback)(() => {
|
|
30207
30666
|
wagmiDisconnect();
|
|
30208
30667
|
clearExternalWallet();
|
|
30209
30668
|
}, [wagmiDisconnect, clearExternalWallet]);
|
|
@@ -30219,7 +30678,7 @@ function useDirectWallet() {
|
|
|
30219
30678
|
}
|
|
30220
30679
|
|
|
30221
30680
|
// src/hooks/useSendDirectTransaction.ts
|
|
30222
|
-
var
|
|
30681
|
+
var import_react101 = require("react");
|
|
30223
30682
|
var import_viem22 = require("viem");
|
|
30224
30683
|
var import_wagmi14 = require("wagmi");
|
|
30225
30684
|
init_useExternalWalletStore();
|
|
@@ -30228,10 +30687,10 @@ function useSendDirectTransaction() {
|
|
|
30228
30687
|
const externalChainId = useExternalWalletStore((st) => st.externalChainId);
|
|
30229
30688
|
const { sendTransactionAsync } = (0, import_wagmi14.useSendTransaction)();
|
|
30230
30689
|
const { switchChainAsync } = (0, import_wagmi14.useSwitchChain)();
|
|
30231
|
-
const [isPending, setIsPending] = (0,
|
|
30232
|
-
const [error, setError] = (0,
|
|
30233
|
-
const [txHash, setTxHash] = (0,
|
|
30234
|
-
const sendTransaction = (0,
|
|
30690
|
+
const [isPending, setIsPending] = (0, import_react101.useState)(false);
|
|
30691
|
+
const [error, setError] = (0, import_react101.useState)(null);
|
|
30692
|
+
const [txHash, setTxHash] = (0, import_react101.useState)(null);
|
|
30693
|
+
const sendTransaction = (0, import_react101.useCallback)(
|
|
30235
30694
|
async (params) => {
|
|
30236
30695
|
if (!isConnected) {
|
|
30237
30696
|
setError("No external wallet connected");
|
|
@@ -30265,7 +30724,7 @@ function useSendDirectTransaction() {
|
|
|
30265
30724
|
},
|
|
30266
30725
|
[isConnected, externalChainId, sendTransactionAsync, switchChainAsync]
|
|
30267
30726
|
);
|
|
30268
|
-
const reset = (0,
|
|
30727
|
+
const reset = (0, import_react101.useCallback)(() => {
|
|
30269
30728
|
setError(null);
|
|
30270
30729
|
setTxHash(null);
|
|
30271
30730
|
setIsPending(false);
|
|
@@ -30274,7 +30733,7 @@ function useSendDirectTransaction() {
|
|
|
30274
30733
|
}
|
|
30275
30734
|
|
|
30276
30735
|
// src/hooks/useTransferToLinkedWallet.ts
|
|
30277
|
-
var
|
|
30736
|
+
var import_react102 = require("react");
|
|
30278
30737
|
var import_viem23 = require("viem");
|
|
30279
30738
|
init_SessionContext();
|
|
30280
30739
|
init_account2();
|
|
@@ -30293,14 +30752,14 @@ var ERC20_TRANSFER_ABI2 = [
|
|
|
30293
30752
|
function useTransferToLinkedWallet() {
|
|
30294
30753
|
const session = useSession((st) => st.session);
|
|
30295
30754
|
const { profiles } = useLinkedProfiles();
|
|
30296
|
-
const [isPending, setIsPending] = (0,
|
|
30297
|
-
const [error, setError] = (0,
|
|
30298
|
-
const [userOpHash, setUserOpHash] = (0,
|
|
30299
|
-
const linkedWallets = (0,
|
|
30755
|
+
const [isPending, setIsPending] = (0, import_react102.useState)(false);
|
|
30756
|
+
const [error, setError] = (0, import_react102.useState)(null);
|
|
30757
|
+
const [userOpHash, setUserOpHash] = (0, import_react102.useState)(null);
|
|
30758
|
+
const linkedWallets = (0, import_react102.useMemo)(
|
|
30300
30759
|
() => (profiles || []).filter((p) => p.provider === "wallet" && p.externalId).map((p) => p.externalId),
|
|
30301
30760
|
[profiles]
|
|
30302
30761
|
);
|
|
30303
|
-
const transfer = (0,
|
|
30762
|
+
const transfer = (0, import_react102.useCallback)(
|
|
30304
30763
|
async (params) => {
|
|
30305
30764
|
if (!session) {
|
|
30306
30765
|
setError("No active session");
|
|
@@ -30351,7 +30810,7 @@ function useTransferToLinkedWallet() {
|
|
|
30351
30810
|
},
|
|
30352
30811
|
[session, linkedWallets]
|
|
30353
30812
|
);
|
|
30354
|
-
const reset = (0,
|
|
30813
|
+
const reset = (0, import_react102.useCallback)(() => {
|
|
30355
30814
|
setError(null);
|
|
30356
30815
|
setUserOpHash(null);
|
|
30357
30816
|
setIsPending(false);
|
|
@@ -30375,7 +30834,7 @@ function useNativeWalletSignature() {
|
|
|
30375
30834
|
|
|
30376
30835
|
// src/hooks/useLogout.ts
|
|
30377
30836
|
var import_auth25 = require("@embarkai/core/auth");
|
|
30378
|
-
var
|
|
30837
|
+
var import_react103 = require("react");
|
|
30379
30838
|
var import_wagmi16 = require("wagmi");
|
|
30380
30839
|
init_ProviderContext();
|
|
30381
30840
|
init_SessionContext();
|
|
@@ -30395,7 +30854,7 @@ function useLogout() {
|
|
|
30395
30854
|
}
|
|
30396
30855
|
}
|
|
30397
30856
|
});
|
|
30398
|
-
const logout2 = (0,
|
|
30857
|
+
const logout2 = (0, import_react103.useCallback)(async () => {
|
|
30399
30858
|
const { setSession, setIsLoading, setAddress, setStatus, setError } = useSession.getState();
|
|
30400
30859
|
const prevAddress = address;
|
|
30401
30860
|
let userId = null;
|
|
@@ -30514,7 +30973,7 @@ function useTransactions() {
|
|
|
30514
30973
|
|
|
30515
30974
|
// src/modules/assets.ts
|
|
30516
30975
|
init_SessionContext();
|
|
30517
|
-
var
|
|
30976
|
+
var import_react104 = __toESM(require("react"), 1);
|
|
30518
30977
|
var import_viem25 = require("viem");
|
|
30519
30978
|
var import_wagmi18 = require("wagmi");
|
|
30520
30979
|
var COMMON_TOKENS = [
|
|
@@ -30669,7 +31128,7 @@ function useTokenBalance2(tokenAddress, userAddress) {
|
|
|
30669
31128
|
}
|
|
30670
31129
|
});
|
|
30671
31130
|
const { tokenInfo } = useTokenInfo(tokenAddress);
|
|
30672
|
-
const formattedBalance =
|
|
31131
|
+
const formattedBalance = import_react104.default.useMemo(() => {
|
|
30673
31132
|
if (!balance || !tokenInfo) return "0";
|
|
30674
31133
|
return (0, import_viem25.formatUnits)(balance, tokenInfo.decimals);
|
|
30675
31134
|
}, [balance, tokenInfo]);
|
|
@@ -30734,6 +31193,7 @@ function useSmartAccountTransactions() {
|
|
|
30734
31193
|
init_iframe_manager();
|
|
30735
31194
|
init_Onboarding();
|
|
30736
31195
|
init_BuyMenu2();
|
|
31196
|
+
init_SendMenu2();
|
|
30737
31197
|
|
|
30738
31198
|
// src/internal/assets/index.ts
|
|
30739
31199
|
init_networks2();
|
|
@@ -30766,6 +31226,7 @@ autorun();
|
|
|
30766
31226
|
0 && (module.exports = {
|
|
30767
31227
|
AccountAbstractionError,
|
|
30768
31228
|
Address,
|
|
31229
|
+
BRIDGE_MENU_TOUR,
|
|
30769
31230
|
BUY_MENU_BINANCE_TOUR,
|
|
30770
31231
|
ConnectWalletButton,
|
|
30771
31232
|
ErrorCodes,
|
|
@@ -30777,6 +31238,7 @@ autorun();
|
|
|
30777
31238
|
PASSPORT_TRANSLATIONS,
|
|
30778
31239
|
PageKey,
|
|
30779
31240
|
Provider,
|
|
31241
|
+
SEND_MENU_TOUR,
|
|
30780
31242
|
SessionExpiredError,
|
|
30781
31243
|
TOKENS_ICONS,
|
|
30782
31244
|
ThemeToggle,
|