@0xsquid/react-hooks 6.7.0-rollup-beta.1 → 6.8.0-celo-minipay-beta.0
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/core/abis/ics20.json +128 -0
- package/dist/core/connectors/bitcoin/errors/index.js +22 -0
- package/dist/core/connectors/bitcoin/errors/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/helpers.js +86 -0
- package/dist/core/connectors/bitcoin/helpers.js.map +1 -0
- package/dist/core/connectors/bitcoin/index.js +2 -0
- package/dist/core/connectors/bitcoin/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/index.js +4 -0
- package/dist/core/connectors/bitcoin/wallets/index.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.js +28 -0
- package/dist/core/connectors/bitcoin/wallets/keplr.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.js +56 -0
- package/dist/core/connectors/bitcoin/wallets/phantom.js.map +1 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.js +28 -0
- package/dist/core/connectors/bitcoin/wallets/unisat.js.map +1 -0
- package/dist/core/connectors/evm/MiniPay.d.ts +7 -0
- package/dist/core/connectors/evm/MiniPay.js +57 -0
- package/dist/core/connectors/evm/MiniPay.js.map +1 -0
- package/dist/core/constants.d.ts +2 -1
- package/dist/core/constants.js +145 -0
- package/dist/core/constants.js.map +1 -0
- package/dist/core/externalLinks.js +21 -0
- package/dist/core/externalLinks.js.map +1 -0
- package/dist/core/index.js +4 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/multicall3.js +442 -0
- package/dist/core/multicall3.js.map +1 -0
- package/dist/core/providers/CosmosProvider.js +13 -0
- package/dist/core/providers/CosmosProvider.js.map +1 -0
- package/dist/core/providers/SolanaProvider.js +15 -0
- package/dist/core/providers/SolanaProvider.js.map +1 -0
- package/dist/core/providers/SuiProvider.js +15 -0
- package/dist/core/providers/SuiProvider.js.map +1 -0
- package/dist/core/queries/queries-keys.js +204 -0
- package/dist/core/queries/queries-keys.js.map +1 -0
- package/dist/core/queries/react-query-config.js +11 -0
- package/dist/core/queries/react-query-config.js.map +1 -0
- package/dist/core/types/config.js +2 -0
- package/dist/core/types/config.js.map +1 -0
- package/dist/core/types/dex.js +33 -0
- package/dist/core/types/dex.js.map +1 -0
- package/dist/core/types/error.js +12 -0
- package/dist/core/types/error.js.map +1 -0
- package/dist/core/types/event.d.ts +5 -0
- package/dist/core/types/event.js +2 -0
- package/dist/core/types/event.js.map +1 -0
- package/dist/core/types/index.js +2 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/types/rpc.js +2 -0
- package/dist/core/types/rpc.js.map +1 -0
- package/dist/core/types/sui.js +2 -0
- package/dist/core/types/sui.js.map +1 -0
- package/dist/core/types/swap.js +2 -0
- package/dist/core/types/swap.js.map +1 -0
- package/dist/core/types/tokens.js +2 -0
- package/dist/core/types/tokens.js.map +1 -0
- package/dist/core/types/transaction.js +41 -0
- package/dist/core/types/transaction.js.map +1 -0
- package/dist/core/types/wallet.js +26 -0
- package/dist/core/types/wallet.js.map +1 -0
- package/dist/core/wagmiConfig.js +62 -0
- package/dist/core/wagmiConfig.js.map +1 -0
- package/dist/core/wallets.js +549 -0
- package/dist/core/wallets.js.map +1 -0
- package/dist/hooks/analytics/useTrackSearchEmpty.d.ts +12 -0
- package/dist/hooks/analytics/useTrackSearchEmpty.js +22 -0
- package/dist/hooks/analytics/useTrackSearchEmpty.js.map +1 -0
- package/dist/hooks/chains/useSquidChains.js +107 -0
- package/dist/hooks/chains/useSquidChains.js.map +1 -0
- package/dist/hooks/client/useClient.js +6 -0
- package/dist/hooks/client/useClient.js.map +1 -0
- package/dist/hooks/cosmos/useCosmos.js +172 -0
- package/dist/hooks/cosmos/useCosmos.js.map +1 -0
- package/dist/hooks/cosmos/useCosmosForChain.js +33 -0
- package/dist/hooks/cosmos/useCosmosForChain.js.map +1 -0
- package/dist/hooks/index.d.ts +6 -5
- package/dist/hooks/index.js +46 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/navigation/useKeyboardNavigation.js +67 -0
- package/dist/hooks/navigation/useKeyboardNavigation.js.map +1 -0
- package/dist/hooks/query/useSquidQueryClient.js +23 -0
- package/dist/hooks/query/useSquidQueryClient.js.map +1 -0
- package/dist/hooks/solana/useSolana.js +104 -0
- package/dist/hooks/solana/useSolana.js.map +1 -0
- package/dist/hooks/squid/useSquid.js +55 -0
- package/dist/hooks/squid/useSquid.js.map +1 -0
- package/dist/hooks/store/useAddressBookStore.js +26 -0
- package/dist/hooks/store/useAddressBookStore.js.map +1 -0
- package/dist/hooks/store/useAssetsColorsStore.js +7 -0
- package/dist/hooks/store/useAssetsColorsStore.js.map +1 -0
- package/dist/hooks/store/useDepositAddressStore.js +12 -0
- package/dist/hooks/store/useDepositAddressStore.js.map +1 -0
- package/dist/hooks/store/useFavoriteTokensStore.js +28 -0
- package/dist/hooks/store/useFavoriteTokensStore.js.map +1 -0
- package/dist/hooks/store/useHistoryStore.js +41 -0
- package/dist/hooks/store/useHistoryStore.js.map +1 -0
- package/dist/hooks/store/useSquidStore.js +56 -0
- package/dist/hooks/store/useSquidStore.js.map +1 -0
- package/dist/hooks/store/useWalletStore.js +42 -0
- package/dist/hooks/store/useWalletStore.js.map +1 -0
- package/dist/hooks/sui/useSui.js +28 -0
- package/dist/hooks/sui/useSui.js.map +1 -0
- package/dist/hooks/sui/useSuiClient.js +16 -0
- package/dist/hooks/sui/useSuiClient.js.map +1 -0
- package/dist/hooks/sui/useSuiWallets.js +42 -0
- package/dist/hooks/sui/useSuiWallets.js.map +1 -0
- package/dist/hooks/swap/useDepositAddress.js +63 -0
- package/dist/hooks/swap/useDepositAddress.js.map +1 -0
- package/dist/hooks/swap/useSwap.js +209 -0
- package/dist/hooks/swap/useSwap.js.map +1 -0
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js +103 -0
- package/dist/hooks/tokens/useAllConnectedWalletBalances.js.map +1 -0
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js +119 -0
- package/dist/hooks/tokens/useAllTokensWithBalanceForChainType.js.map +1 -0
- package/dist/hooks/tokens/useBalance.js +136 -0
- package/dist/hooks/tokens/useBalance.js.map +1 -0
- package/dist/hooks/tokens/useMultiChainBalance.js +68 -0
- package/dist/hooks/tokens/useMultiChainBalance.js.map +1 -0
- package/dist/hooks/tokens/useMultipleTokenPrices.js +46 -0
- package/dist/hooks/tokens/useMultipleTokenPrices.js.map +1 -0
- package/dist/hooks/tokens/useNativeBalance.d.ts +1 -1
- package/dist/hooks/tokens/useNativeBalance.js +217 -0
- package/dist/hooks/tokens/useNativeBalance.js.map +1 -0
- package/dist/hooks/tokens/useNativeTokenForChain.js +28 -0
- package/dist/hooks/tokens/useNativeTokenForChain.js.map +1 -0
- package/dist/hooks/tokens/useSingleTokenPrice.js +38 -0
- package/dist/hooks/tokens/useSingleTokenPrice.js.map +1 -0
- package/dist/hooks/tokens/useSquidTokens.js +80 -0
- package/dist/hooks/tokens/useSquidTokens.js.map +1 -0
- package/dist/hooks/tokens/useTokenHistoricalData.js +23 -0
- package/dist/hooks/tokens/useTokenHistoricalData.js.map +1 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.js +68 -0
- package/dist/hooks/transaction/useAllTransactionsStatus.js.map +1 -0
- package/dist/hooks/transaction/useApproval.js +223 -0
- package/dist/hooks/transaction/useApproval.js.map +1 -0
- package/dist/hooks/transaction/useErc20Allowance.js +43 -0
- package/dist/hooks/transaction/useErc20Allowance.js.map +1 -0
- package/dist/hooks/transaction/useEstimate.d.ts +1 -1
- package/dist/hooks/transaction/useEstimate.js +135 -0
- package/dist/hooks/transaction/useEstimate.js.map +1 -0
- package/dist/hooks/transaction/useEstimatePriceImpact.js +31 -0
- package/dist/hooks/transaction/useEstimatePriceImpact.js.map +1 -0
- package/dist/hooks/transaction/useExecuteTransaction.js +669 -0
- package/dist/hooks/transaction/useExecuteTransaction.js.map +1 -0
- package/dist/hooks/transaction/useGetRoute.js +224 -0
- package/dist/hooks/transaction/useGetRoute.js.map +1 -0
- package/dist/hooks/transaction/useIcs20Allowance.js +40 -0
- package/dist/hooks/transaction/useIcs20Allowance.js.map +1 -0
- package/dist/hooks/transaction/useRouteWarnings.js +19 -0
- package/dist/hooks/transaction/useRouteWarnings.js.map +1 -0
- package/dist/hooks/transaction/useSingleTransaction.js +91 -0
- package/dist/hooks/transaction/useSingleTransaction.js.map +1 -0
- package/dist/hooks/user/useAvatar.js +34 -0
- package/dist/hooks/user/useAvatar.js.map +1 -0
- package/dist/hooks/user/useHistory.js +106 -0
- package/dist/hooks/user/useHistory.js.map +1 -0
- package/dist/hooks/user/useUserParams.js +33 -0
- package/dist/hooks/user/useUserParams.js.map +1 -0
- package/dist/hooks/wallet/useAddToken.js +49 -0
- package/dist/hooks/wallet/useAddToken.js.map +1 -0
- package/dist/hooks/wallet/useAutoConnect.js +77 -0
- package/dist/hooks/wallet/useAutoConnect.js.map +1 -0
- package/dist/hooks/wallet/useCeloFeeToken.d.ts +5 -0
- package/dist/hooks/wallet/useCeloFeeToken.js +21 -0
- package/dist/hooks/wallet/useCeloFeeToken.js.map +1 -0
- package/dist/hooks/wallet/useEns.js +69 -0
- package/dist/hooks/wallet/useEns.js.map +1 -0
- package/dist/hooks/wallet/useGnosisContext.js +79 -0
- package/dist/hooks/wallet/useGnosisContext.js.map +1 -0
- package/dist/hooks/wallet/useIntegratorContext.d.ts +0 -1
- package/dist/hooks/wallet/useIntegratorContext.js +38 -0
- package/dist/hooks/wallet/useIntegratorContext.js.map +1 -0
- package/dist/hooks/wallet/useMiniPayContext.d.ts +6 -0
- package/dist/hooks/wallet/useMiniPayContext.js +21 -0
- package/dist/hooks/wallet/useMiniPayContext.js.map +1 -0
- package/dist/hooks/wallet/useMultiChainWallet.js +159 -0
- package/dist/hooks/wallet/useMultiChainWallet.js.map +1 -0
- package/dist/hooks/wallet/useSigner.js +76 -0
- package/dist/hooks/wallet/useSigner.js.map +1 -0
- package/dist/hooks/wallet/useWallet.js +221 -0
- package/dist/hooks/wallet/useWallet.js.map +1 -0
- package/dist/hooks/wallet/useWallets.js +36 -0
- package/dist/hooks/wallet/useWallets.js.map +1 -0
- package/dist/index.js +6 -17096
- package/dist/index.js.map +1 -1
- package/dist/provider/index.js +113 -0
- package/dist/provider/index.js.map +1 -0
- package/dist/services/external/ens.js +66 -0
- package/dist/services/external/ens.js.map +1 -0
- package/dist/services/external/rpcService.js +421 -0
- package/dist/services/external/rpcService.js.map +1 -0
- package/dist/{secretService-Cnn1_HQT.js → services/external/secretService.js} +8 -37
- package/dist/services/external/secretService.js.map +1 -0
- package/dist/services/external/suiRpcClient.js +80 -0
- package/dist/services/external/suiRpcClient.js.map +1 -0
- package/dist/services/external/tokenDataService.js +108 -0
- package/dist/services/external/tokenDataService.js.map +1 -0
- package/dist/services/index.js +16 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/internal/apiService.js +21 -0
- package/dist/services/internal/apiService.js.map +1 -0
- package/dist/services/internal/assetsService.d.ts +1 -1
- package/dist/services/internal/assetsService.js +586 -0
- package/dist/services/internal/assetsService.js.map +1 -0
- package/dist/services/internal/bitcoinService.js +51 -0
- package/dist/services/internal/bitcoinService.js.map +1 -0
- package/dist/services/internal/celoService.d.ts +11 -0
- package/dist/services/internal/celoService.js +26 -0
- package/dist/services/internal/celoService.js.map +1 -0
- package/dist/services/internal/configService.js +215 -0
- package/dist/services/internal/configService.js.map +1 -0
- package/dist/services/internal/cosmosService.js +141 -0
- package/dist/services/internal/cosmosService.js.map +1 -0
- package/dist/services/internal/errorService.js +188 -0
- package/dist/services/internal/errorService.js.map +1 -0
- package/dist/services/internal/estimateService.d.ts +8 -3
- package/dist/services/internal/estimateService.js +252 -0
- package/dist/services/internal/estimateService.js.map +1 -0
- package/dist/services/internal/eventService.d.ts +5 -0
- package/dist/services/internal/eventService.js +163 -0
- package/dist/services/internal/eventService.js.map +1 -0
- package/dist/services/internal/evmService.js +42 -0
- package/dist/services/internal/evmService.js.map +1 -0
- package/dist/services/internal/numberService.js +171 -0
- package/dist/services/internal/numberService.js.map +1 -0
- package/dist/services/internal/priceService.js +53 -0
- package/dist/services/internal/priceService.js.map +1 -0
- package/dist/services/internal/searchService.js +98 -0
- package/dist/services/internal/searchService.js.map +1 -0
- package/dist/services/internal/solanaService.js +109 -0
- package/dist/services/internal/solanaService.js.map +1 -0
- package/dist/services/internal/suiService.js +119 -0
- package/dist/services/internal/suiService.js.map +1 -0
- package/dist/services/internal/transactionService.js +207 -0
- package/dist/services/internal/transactionService.js.map +1 -0
- package/dist/services/internal/transactionStatusService.js +315 -0
- package/dist/services/internal/transactionStatusService.js.map +1 -0
- package/dist/services/internal/walletService.js +464 -0
- package/dist/services/internal/walletService.js.map +1 -0
- package/dist/tests/apiService.test.js +40 -0
- package/dist/tests/apiService.test.js.map +1 -0
- package/dist/tests/assetsService.test.js +500 -0
- package/dist/tests/assetsService.test.js.map +1 -0
- package/dist/tests/configService.test.js +673 -0
- package/dist/tests/configService.test.js.map +1 -0
- package/dist/tests/estimateService.test.js +356 -0
- package/dist/tests/estimateService.test.js.map +1 -0
- package/dist/tests/fetchSquidData.js +36 -0
- package/dist/tests/fetchSquidData.js.map +1 -0
- package/dist/tests/jest-svg-transform.d.ts +0 -0
- package/dist/tests/jest-svg-transform.js +21 -0
- package/dist/tests/jest-svg-transform.js.map +1 -0
- package/dist/tests/numberService.test.js +135 -0
- package/dist/tests/numberService.test.js.map +1 -0
- package/dist/tests/priceService.test.js +38 -0
- package/dist/tests/priceService.test.js.map +1 -0
- package/dist/tests/sample.json +0 -0
- package/dist/tests/searchService.test.js +92 -0
- package/dist/tests/searchService.test.js.map +1 -0
- package/dist/tests/swapConfig.test.js +332 -0
- package/dist/tests/swapConfig.test.js.map +1 -0
- package/dist/tests/transactionService.test.js +53 -0
- package/dist/tests/transactionService.test.js.map +1 -0
- package/dist/tests/transactionStatusService.test.js +165 -0
- package/dist/tests/transactionStatusService.test.js.map +1 -0
- package/dist/tests/walletService.test.js +264 -0
- package/dist/tests/walletService.test.js.map +1 -0
- package/package.json +4 -18
- package/dist/index.esm.js +0 -16892
- package/dist/index.esm.js.map +0 -1
- package/dist/secretService-Cnn1_HQT.js.map +0 -1
- package/dist/secretService-DW4QetNp.js +0 -162
- package/dist/secretService-DW4QetNp.js.map +0 -1
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"inputs": [
|
|
4
|
+
{
|
|
5
|
+
"internalType": "address",
|
|
6
|
+
"name": "grantee",
|
|
7
|
+
"type": "address"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"internalType": "address",
|
|
11
|
+
"name": "granter",
|
|
12
|
+
"type": "address"
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"name": "allowance",
|
|
16
|
+
"outputs": [
|
|
17
|
+
{
|
|
18
|
+
"components": [
|
|
19
|
+
{
|
|
20
|
+
"internalType": "string",
|
|
21
|
+
"name": "sourcePort",
|
|
22
|
+
"type": "string"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"internalType": "string",
|
|
26
|
+
"name": "sourceChannel",
|
|
27
|
+
"type": "string"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"components": [
|
|
31
|
+
{
|
|
32
|
+
"internalType": "string",
|
|
33
|
+
"name": "denom",
|
|
34
|
+
"type": "string"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"internalType": "uint256",
|
|
38
|
+
"name": "amount",
|
|
39
|
+
"type": "uint256"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"internalType": "struct Coin[]",
|
|
43
|
+
"name": "spendLimit",
|
|
44
|
+
"type": "tuple[]"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"internalType": "string[]",
|
|
48
|
+
"name": "allowList",
|
|
49
|
+
"type": "string[]"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"internalType": "string[]",
|
|
53
|
+
"name": "allowedPacketData",
|
|
54
|
+
"type": "string[]"
|
|
55
|
+
}
|
|
56
|
+
],
|
|
57
|
+
"internalType": "struct ICS20Allocation[]",
|
|
58
|
+
"name": "allocations",
|
|
59
|
+
"type": "tuple[]"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"stateMutability": "view",
|
|
63
|
+
"type": "function"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"inputs": [
|
|
67
|
+
{
|
|
68
|
+
"internalType": "address",
|
|
69
|
+
"name": "grantee",
|
|
70
|
+
"type": "address"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"components": [
|
|
74
|
+
{
|
|
75
|
+
"internalType": "string",
|
|
76
|
+
"name": "sourcePort",
|
|
77
|
+
"type": "string"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"internalType": "string",
|
|
81
|
+
"name": "sourceChannel",
|
|
82
|
+
"type": "string"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"components": [
|
|
86
|
+
{
|
|
87
|
+
"internalType": "string",
|
|
88
|
+
"name": "denom",
|
|
89
|
+
"type": "string"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"internalType": "uint256",
|
|
93
|
+
"name": "amount",
|
|
94
|
+
"type": "uint256"
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"internalType": "struct Coin[]",
|
|
98
|
+
"name": "spendLimit",
|
|
99
|
+
"type": "tuple[]"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"internalType": "string[]",
|
|
103
|
+
"name": "allowList",
|
|
104
|
+
"type": "string[]"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"internalType": "string[]",
|
|
108
|
+
"name": "allowedPacketData",
|
|
109
|
+
"type": "string[]"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"internalType": "struct ICS20Allocation[]",
|
|
113
|
+
"name": "allocations",
|
|
114
|
+
"type": "tuple[]"
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
"name": "approve",
|
|
118
|
+
"outputs": [
|
|
119
|
+
{
|
|
120
|
+
"internalType": "bool",
|
|
121
|
+
"name": "approved",
|
|
122
|
+
"type": "bool"
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"stateMutability": "nonpayable",
|
|
126
|
+
"type": "function"
|
|
127
|
+
}
|
|
128
|
+
]
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
class BitcoinConnectorError extends Error {
|
|
2
|
+
constructor(message) {
|
|
3
|
+
super(message);
|
|
4
|
+
this.name = "BitcoinConnectorError";
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
export class BitcoinConnectorProviderNotFoundError extends BitcoinConnectorError {
|
|
8
|
+
constructor(providerName) {
|
|
9
|
+
super(`Bitcoin provider ${providerName} not found`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export class BitcoinConnectorTransactionFailedError extends BitcoinConnectorError {
|
|
13
|
+
constructor() {
|
|
14
|
+
super("Bitcoin transaction failed");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export class BitcoinConnectorInvalidAccountError extends BitcoinConnectorError {
|
|
18
|
+
constructor() {
|
|
19
|
+
super("Bitcoin account is invalid");
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/errors/index.ts"],"names":[],"mappings":"AAAA,MAAM,qBAAsB,SAAQ,KAAK;IACvC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,qCAAsC,SAAQ,qBAAqB;IAC9E,YAAY,YAAoB;QAC9B,KAAK,CAAC,oBAAoB,YAAY,YAAY,CAAC,CAAC;IACtD,CAAC;CACF;AAED,MAAM,OAAO,sCAAuC,SAAQ,qBAAqB;IAC/E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF;AAED,MAAM,OAAO,mCAAoC,SAAQ,qBAAqB;IAC5E;QACE,KAAK,CAAC,4BAA4B,CAAC,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as ecc from "@bitcoinerlab/secp256k1";
|
|
2
|
+
import axios from "axios";
|
|
3
|
+
import * as bitcoin from "bitcoinjs-lib";
|
|
4
|
+
bitcoin.initEccLib(ecc);
|
|
5
|
+
const network = bitcoin.networks.bitcoin;
|
|
6
|
+
export const fromHexString = (hexString) => {
|
|
7
|
+
const matches = hexString.match(/.{1,2}/g);
|
|
8
|
+
if (!matches) {
|
|
9
|
+
throw new Error("Invalid hex string");
|
|
10
|
+
}
|
|
11
|
+
return Uint8Array.from(matches.map((byte) => parseInt(byte, 16)));
|
|
12
|
+
};
|
|
13
|
+
export async function createSendBtcPsbt(senderAddress, recipientAddress, amount) {
|
|
14
|
+
const feeRate = await getFeeRate();
|
|
15
|
+
const utxos = await getAddressUtxos(senderAddress);
|
|
16
|
+
if (!utxos) {
|
|
17
|
+
throw new Error("No UTXOs found");
|
|
18
|
+
}
|
|
19
|
+
// Sort UTXOs by value in descending order
|
|
20
|
+
// This ensures that we select the UTXOs with the highest value first
|
|
21
|
+
// to optimize the transaction size
|
|
22
|
+
const sortedUtxos = utxos.sort((a, b) => b.value - a.value);
|
|
23
|
+
// Sum up the values of the UTXOs up to the desired amount
|
|
24
|
+
let inputAmount = 0;
|
|
25
|
+
const inputs = [];
|
|
26
|
+
for (const utxo of sortedUtxos) {
|
|
27
|
+
inputAmount += utxo.value;
|
|
28
|
+
inputs.push(utxo);
|
|
29
|
+
if (inputAmount >= amount)
|
|
30
|
+
break;
|
|
31
|
+
}
|
|
32
|
+
if (inputAmount < amount)
|
|
33
|
+
throw new Error("Insufficient balance");
|
|
34
|
+
const outputsCount = 2; // Only two outputs, recipient and change outputs
|
|
35
|
+
// Calculate fee based on the byte size of the total inputs and outputs
|
|
36
|
+
// Approximate transaction size = (inputs * 150 bytes + outputs * 34 bytes + 10 bytes overhead)
|
|
37
|
+
const transactionSize = inputs.length * 150 + outputsCount * 34 + 10;
|
|
38
|
+
const fee = feeRate * transactionSize;
|
|
39
|
+
const satsNeeded = fee + amount;
|
|
40
|
+
const psbt = new bitcoin.Psbt({ network });
|
|
41
|
+
let amountGathered = 0;
|
|
42
|
+
for (const utxo of sortedUtxos) {
|
|
43
|
+
const { txid, vout, value } = utxo;
|
|
44
|
+
const script = bitcoin.address.toOutputScript(senderAddress, network);
|
|
45
|
+
psbt.addInput({
|
|
46
|
+
hash: txid,
|
|
47
|
+
index: vout,
|
|
48
|
+
witnessUtxo: {
|
|
49
|
+
script,
|
|
50
|
+
value: BigInt(value),
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
amountGathered += value;
|
|
54
|
+
if (amountGathered >= satsNeeded) {
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
psbt.addOutput({
|
|
59
|
+
address: recipientAddress,
|
|
60
|
+
value: BigInt(amount),
|
|
61
|
+
});
|
|
62
|
+
if (amountGathered > satsNeeded) {
|
|
63
|
+
psbt.addOutput({
|
|
64
|
+
address: senderAddress,
|
|
65
|
+
value: BigInt(amountGathered - satsNeeded),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
psbtHex: psbt.toHex(),
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export async function broadcastTx(txHex) {
|
|
73
|
+
return axios
|
|
74
|
+
.post(`https://mempool.space/api/tx`, txHex)
|
|
75
|
+
.then((res) => res.data);
|
|
76
|
+
}
|
|
77
|
+
async function getAddressUtxos(address) {
|
|
78
|
+
return axios
|
|
79
|
+
.get(`https://mempool.space/api/address/${address}/utxo`)
|
|
80
|
+
.then((response) => response.data);
|
|
81
|
+
}
|
|
82
|
+
async function getFeeRate() {
|
|
83
|
+
const response = await axios.get("https://mempool.space/api/v1/fees/recommended");
|
|
84
|
+
return response.data.halfHourFee;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/core/connectors/bitcoin/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BitcoinConnectorInvalidAccountError, BitcoinConnectorProviderNotFoundError, BitcoinConnectorTransactionFailedError, } from "../errors";
|
|
2
|
+
export class KeplrConnector {
|
|
3
|
+
get getProvider() {
|
|
4
|
+
const provider = window?.bitcoin_keplr;
|
|
5
|
+
if (!provider) {
|
|
6
|
+
throw new BitcoinConnectorProviderNotFoundError("Keplr");
|
|
7
|
+
}
|
|
8
|
+
return provider;
|
|
9
|
+
}
|
|
10
|
+
async sendBTC(to, amount) {
|
|
11
|
+
const txHash = await this.getProvider.sendBitcoin(to, amount);
|
|
12
|
+
if (!txHash) {
|
|
13
|
+
throw new BitcoinConnectorTransactionFailedError();
|
|
14
|
+
}
|
|
15
|
+
return { txHash };
|
|
16
|
+
}
|
|
17
|
+
async requestAccount() {
|
|
18
|
+
const accounts = await this.getProvider.requestAccounts();
|
|
19
|
+
const account = accounts[0];
|
|
20
|
+
if (typeof account !== "string") {
|
|
21
|
+
throw new BitcoinConnectorInvalidAccountError();
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
address: account,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=keplr.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keplr.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/keplr.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,mCAAmC,EACnC,qCAAqC,EACrC,sCAAsC,GACvC,MAAM,WAAW,CAAC;AAEnB,MAAM,OAAO,cAAc;IACzB,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,aAAa,CAAC;QAEhD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,qCAAqC,CAAC,OAAO,CAAC,CAAC;SAC1D;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAc;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,sCAAsC,EAAE,CAAC;SACpD;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEpE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,IAAI,mCAAmC,EAAE,CAAC;SACjD;QAED,OAAO;YACL,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import * as bitcoin from "bitcoinjs-lib";
|
|
2
|
+
import { BitcoinConnectorInvalidAccountError, BitcoinConnectorProviderNotFoundError, BitcoinConnectorTransactionFailedError, } from "../errors";
|
|
3
|
+
import { broadcastTx, createSendBtcPsbt, fromHexString } from "../helpers";
|
|
4
|
+
const MAINNET = bitcoin.networks.bitcoin;
|
|
5
|
+
export class PhantomConnector {
|
|
6
|
+
get getProvider() {
|
|
7
|
+
const provider = window?.phantom?.bitcoin;
|
|
8
|
+
if (!provider) {
|
|
9
|
+
throw new BitcoinConnectorProviderNotFoundError("Phantom");
|
|
10
|
+
}
|
|
11
|
+
return provider;
|
|
12
|
+
}
|
|
13
|
+
async requestAccount() {
|
|
14
|
+
const phantomAccounts = await this.getProvider.requestAccounts();
|
|
15
|
+
if (!phantomAccounts)
|
|
16
|
+
throw new BitcoinConnectorInvalidAccountError();
|
|
17
|
+
const paymentAccount = phantomAccounts.find((account) => account.purpose === "payment");
|
|
18
|
+
if (typeof paymentAccount?.address !== "string") {
|
|
19
|
+
throw new BitcoinConnectorInvalidAccountError();
|
|
20
|
+
}
|
|
21
|
+
return {
|
|
22
|
+
address: paymentAccount.address,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
async sendBTC(to, amount) {
|
|
26
|
+
const { address } = await this.requestAccount();
|
|
27
|
+
const { psbtHex } = await createSendBtcPsbt(address, to, amount);
|
|
28
|
+
const { txId } = await this.signPsbt(psbtHex);
|
|
29
|
+
if (!txId)
|
|
30
|
+
throw new BitcoinConnectorTransactionFailedError();
|
|
31
|
+
return { txHash: txId };
|
|
32
|
+
}
|
|
33
|
+
async signPsbt(psbtHex) {
|
|
34
|
+
const { address: paymentAddress } = await this.requestAccount();
|
|
35
|
+
const toSignPsbt = bitcoin.Psbt.fromHex(String(psbtHex), {
|
|
36
|
+
network: MAINNET,
|
|
37
|
+
});
|
|
38
|
+
const inputs = toSignPsbt.data.inputs;
|
|
39
|
+
const inputsToSign = [
|
|
40
|
+
{
|
|
41
|
+
// Need to sign each input with the payment address
|
|
42
|
+
address: paymentAddress,
|
|
43
|
+
signingIndexes: inputs.map((_, index) => index),
|
|
44
|
+
},
|
|
45
|
+
];
|
|
46
|
+
const signedPsbtBytes = await this.getProvider.signPSBT(fromHexString(psbtHex), {
|
|
47
|
+
inputsToSign,
|
|
48
|
+
});
|
|
49
|
+
const signedPsbt = bitcoin.Psbt.fromBuffer(signedPsbtBytes);
|
|
50
|
+
signedPsbt.finalizeAllInputs();
|
|
51
|
+
const tx = signedPsbt.extractTransaction();
|
|
52
|
+
const txId = await broadcastTx(tx.toHex());
|
|
53
|
+
return { txId };
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=phantom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"phantom.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/phantom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AAEzC,OAAO,EACL,mCAAmC,EACnC,qCAAqC,EACrC,sCAAsC,GACvC,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;AAsBzC,MAAM,OAAO,gBAAgB;IAC3B,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,OAAO,EAAE,OAAO,CAAC;QAEnD,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,qCAAqC,CAAC,SAAS,CAAC,CAAC;SAC5D;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEjE,IAAI,CAAC,eAAe;YAAE,MAAM,IAAI,mCAAmC,EAAE,CAAC;QAEtE,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CACzC,CAAC,OAA4B,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,CAChE,CAAC;QAEF,IAAI,OAAO,cAAc,EAAE,OAAO,KAAK,QAAQ,EAAE;YAC/C,MAAM,IAAI,mCAAmC,EAAE,CAAC;SACjD;QAED,OAAO;YACL,OAAO,EAAE,cAAc,CAAC,OAAO;SAChC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAc;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;QACjE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAE9C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,sCAAsC,EAAE,CAAC;QAE9D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,OAAe;QAGpC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE;YACvD,OAAO,EAAE,OAAO;SACjB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC;QACtC,MAAM,YAAY,GAAG;YACnB;gBACE,mDAAmD;gBACnD,OAAO,EAAE,cAAc;gBACvB,cAAc,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC;aAChD;SACF,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CACrD,aAAa,CAAC,OAAO,CAAC,EACtB;YACE,YAAY;SACb,CACF,CAAC;QAEF,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;QAE5D,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAE/B,MAAM,EAAE,GAAG,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAE3C,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3C,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BitcoinConnectorInvalidAccountError, BitcoinConnectorProviderNotFoundError, BitcoinConnectorTransactionFailedError, } from "../errors";
|
|
2
|
+
export class UnisatConnector {
|
|
3
|
+
get getProvider() {
|
|
4
|
+
const provider = window?.unisat;
|
|
5
|
+
if (!provider) {
|
|
6
|
+
throw new BitcoinConnectorProviderNotFoundError("Unisat");
|
|
7
|
+
}
|
|
8
|
+
return provider;
|
|
9
|
+
}
|
|
10
|
+
async sendBTC(to, amount) {
|
|
11
|
+
const txHash = await this.getProvider.sendBitcoin(to, amount);
|
|
12
|
+
if (!txHash) {
|
|
13
|
+
throw new BitcoinConnectorTransactionFailedError();
|
|
14
|
+
}
|
|
15
|
+
return { txHash };
|
|
16
|
+
}
|
|
17
|
+
async requestAccount() {
|
|
18
|
+
const accounts = await this.getProvider.requestAccounts();
|
|
19
|
+
const account = accounts[0];
|
|
20
|
+
if (typeof account !== "string") {
|
|
21
|
+
throw new BitcoinConnectorInvalidAccountError();
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
address: account,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=unisat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unisat.js","sourceRoot":"","sources":["../../../../../src/core/connectors/bitcoin/wallets/unisat.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mCAAmC,EACnC,qCAAqC,EACrC,sCAAsC,GACvC,MAAM,WAAW,CAAC;AAOnB,MAAM,OAAO,eAAe;IAC1B,IAAW,WAAW;QACpB,MAAM,QAAQ,GAAI,MAAc,EAAE,MAAM,CAAC;QAEzC,IAAI,CAAC,QAAQ,EAAE;YACb,MAAM,IAAI,qCAAqC,CAAC,QAAQ,CAAC,CAAC;SAC3D;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,MAAc;QACtC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QAE9D,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,IAAI,sCAAsC,EAAE,CAAC;SACpD;QAED,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,MAAM,QAAQ,GAAa,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QAEpE,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAE5B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC/B,MAAM,IAAI,mCAAmC,EAAE,CAAC;SACjD;QAED,OAAO;YACL,OAAO,EAAE,OAAO;SACjB,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wagmi connector for MiniPay
|
|
3
|
+
* MiniPay is a mobile wallet on the Celo blockchain
|
|
4
|
+
*
|
|
5
|
+
* @docs https://docs.celo.org/build/build-on-minipay/quickstart
|
|
6
|
+
*/
|
|
7
|
+
export declare function miniPay(): import("@wagmi/core").CreateConnectorFn<any, Record<string, unknown>, Record<string, unknown>>;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { ProviderNotFoundError, createConnector } from "@wagmi/core";
|
|
2
|
+
import { getAddress } from "viem";
|
|
3
|
+
import { PriorityConnectors } from "../../../core/constants";
|
|
4
|
+
import { isMiniPayContext } from "../../../services/internal/celoService";
|
|
5
|
+
/**
|
|
6
|
+
* Wagmi connector for MiniPay
|
|
7
|
+
* MiniPay is a mobile wallet on the Celo blockchain
|
|
8
|
+
*
|
|
9
|
+
* @docs https://docs.celo.org/build/build-on-minipay/quickstart
|
|
10
|
+
*/
|
|
11
|
+
export function miniPay() {
|
|
12
|
+
return createConnector(() => ({
|
|
13
|
+
id: PriorityConnectors.MiniPay,
|
|
14
|
+
name: "MiniPay",
|
|
15
|
+
type: PriorityConnectors.MiniPay,
|
|
16
|
+
async connect() {
|
|
17
|
+
const provider = await this.getProvider();
|
|
18
|
+
if (!provider)
|
|
19
|
+
throw new ProviderNotFoundError();
|
|
20
|
+
const accounts = await this.getAccounts();
|
|
21
|
+
const chainId = await this.getChainId();
|
|
22
|
+
return { accounts, chainId };
|
|
23
|
+
},
|
|
24
|
+
async getAccounts() {
|
|
25
|
+
const provider = await this.getProvider();
|
|
26
|
+
if (!provider)
|
|
27
|
+
throw new ProviderNotFoundError();
|
|
28
|
+
return (await provider.request({ method: "eth_accounts" })).map(getAddress);
|
|
29
|
+
},
|
|
30
|
+
async getProvider() {
|
|
31
|
+
// Only allowed in MiniPay context
|
|
32
|
+
if (isMiniPayContext()) {
|
|
33
|
+
return window.ethereum;
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
async getChainId() {
|
|
37
|
+
const provider = await this.getProvider();
|
|
38
|
+
if (!provider)
|
|
39
|
+
throw new ProviderNotFoundError();
|
|
40
|
+
return Number(provider.chainId);
|
|
41
|
+
},
|
|
42
|
+
async isAuthorized() {
|
|
43
|
+
return isMiniPayContext();
|
|
44
|
+
},
|
|
45
|
+
async disconnect() {
|
|
46
|
+
// Not relevant for MiniPay since disconnecting is not allowed
|
|
47
|
+
},
|
|
48
|
+
onDisconnect() { },
|
|
49
|
+
onAccountsChanged() {
|
|
50
|
+
// Not relevant for MiniPay since user can only hold one account.
|
|
51
|
+
},
|
|
52
|
+
onChainChanged() {
|
|
53
|
+
// Not relevant for MiniPay because only Celo is supported.
|
|
54
|
+
},
|
|
55
|
+
}));
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=MiniPay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MiniPay.js","sourceRoot":"","sources":["../../../../src/core/connectors/evm/MiniPay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAI1E;;;;;GAKG;AACH,MAAM,UAAU,OAAO;IACrB,OAAO,eAAe,CAAW,GAAG,EAAE,CAAC,CAAC;QACtC,EAAE,EAAE,kBAAkB,CAAC,OAAO;QAC9B,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,kBAAkB,CAAC,OAAO;QAChC,KAAK,CAAC,OAAO;YACX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;YAEjD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YAExC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC/B,CAAC;QAED,KAAK,CAAC,WAAW;YACf,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACjD,OAAO,CAAC,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,GAAG,CAC7D,UAAU,CACX,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,WAAW;YACf,kCAAkC;YAClC,IAAI,gBAAgB,EAAE,EAAE;gBACtB,OAAO,MAAM,CAAC,QAAQ,CAAC;aACxB;QACH,CAAC;QACD,KAAK,CAAC,UAAU;YACd,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,qBAAqB,EAAE,CAAC;YACjD,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QACD,KAAK,CAAC,YAAY;YAChB,OAAO,gBAAgB,EAAE,CAAC;QAC5B,CAAC;QACD,KAAK,CAAC,UAAU;YACd,8DAA8D;QAChE,CAAC;QACD,YAAY,KAAI,CAAC;QACjB,iBAAiB;YACf,iEAAiE;QACnE,CAAC;QACD,cAAc;YACZ,2DAA2D;QAC7D,CAAC;KACF,CAAC,CAAC,CAAC;AACN,CAAC"}
|
package/dist/core/constants.d.ts
CHANGED
|
@@ -68,7 +68,8 @@ export declare const widgetHeaderSize: {
|
|
|
68
68
|
export declare const defaultConfigValues: AppConfig;
|
|
69
69
|
export declare enum PriorityConnectors {
|
|
70
70
|
Safe = "safe",
|
|
71
|
-
LedgerLive = "ledgerLive"
|
|
71
|
+
LedgerLive = "ledgerLive",
|
|
72
|
+
MiniPay = "miniPay"
|
|
72
73
|
}
|
|
73
74
|
export declare const transactionRefundedStatuses: string[];
|
|
74
75
|
export declare const transactionErrorStatuses: string[];
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { ChainType } from "@0xsquid/squid-types";
|
|
3
|
+
import { zeroAddress as evmZeroAddress } from "viem";
|
|
4
|
+
import { squidApiBaseUrl } from "./externalLinks";
|
|
5
|
+
export const DEFAULT_LOCALE = "en-US";
|
|
6
|
+
const btcZeroAddress = "bc1qcdyjau30xhw26h2egcfklwyyyskafhp9x8qtg2";
|
|
7
|
+
const cosmosZeroAddress = "osmo1awrua7e2kj69d7vn5qt5tccrhavmj9xa6y8hhu";
|
|
8
|
+
const solanaZeroAddress = "AuF3k2X5CsXJiXo7YKL5jxDG3gmf9MjaVK8hqt7Kfes1";
|
|
9
|
+
const suiZeroAddress = "0x0000000000000000000000000000000000000000";
|
|
10
|
+
export const chainTypeToZeroAddressMap = {
|
|
11
|
+
[ChainType.EVM]: evmZeroAddress,
|
|
12
|
+
[ChainType.COSMOS]: cosmosZeroAddress,
|
|
13
|
+
[ChainType.BTC]: btcZeroAddress,
|
|
14
|
+
[ChainType.SOLANA]: solanaZeroAddress,
|
|
15
|
+
[ChainType.SUI]: suiZeroAddress,
|
|
16
|
+
};
|
|
17
|
+
export const nativeEvmTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
18
|
+
export const nativeCosmosTokenAddress = "uosmo";
|
|
19
|
+
export const nativeSolanaTokenAddress = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee";
|
|
20
|
+
export const nativeBitcoinTokenAddress = "satoshi";
|
|
21
|
+
export const nativeSuiTokenAddress = "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI";
|
|
22
|
+
export const maxPriceImpact = 30;
|
|
23
|
+
export const limitTradeSizeUsd = 10000000;
|
|
24
|
+
// by setting slippage to undefined, it's set to "auto"
|
|
25
|
+
export const defaultSlippage = undefined;
|
|
26
|
+
export const destinationAddressResetValue = "null";
|
|
27
|
+
export const fallbackAddressResetValue = "null";
|
|
28
|
+
export const gasRefundMultiplier = 25;
|
|
29
|
+
export const transparentClass = "tw-bg-opacity-80";
|
|
30
|
+
export const subTransparentClass = "tw-bg-opacity-50";
|
|
31
|
+
export const internalSquidApiBaseUrl = "https://app.squidrouter.com/api";
|
|
32
|
+
export const TOKEN_PRICE_API_URL = `https://beta.app.squidrouter.com/api/coingecko`;
|
|
33
|
+
export const SOLANA_RPC_URL = "https://meredith-ute2ko-fast-mainnet.helius-rpc.com";
|
|
34
|
+
export const INTEGRATOR_ID = "squid-widget-playground-local-cd33cba6-7e12-4fcc-8d5d-35e286f655ea";
|
|
35
|
+
export const CHAIN_IDS = {
|
|
36
|
+
// Cosmos
|
|
37
|
+
OSMOSIS: "osmosis-1",
|
|
38
|
+
INJECTIVE: "injective-1",
|
|
39
|
+
SECRET: "secret-4",
|
|
40
|
+
ARCHWAY: "archway-1",
|
|
41
|
+
XION: "xion-mainnet-1",
|
|
42
|
+
KAVA_IBC: "kava_2222-10",
|
|
43
|
+
TERRA: "phoenix-1",
|
|
44
|
+
C4E: "perun-1",
|
|
45
|
+
FETCH: "fetchhub-4",
|
|
46
|
+
KI: "kichain-2",
|
|
47
|
+
SEI: "pacific-1",
|
|
48
|
+
MIGALOO: "migaloo-1",
|
|
49
|
+
UMEE: "umee-1",
|
|
50
|
+
PERSISTENCE: "core-1",
|
|
51
|
+
NOBLE: "noble-1",
|
|
52
|
+
// EVM
|
|
53
|
+
ETHEREUM: "1",
|
|
54
|
+
ETHEREUM_SEPOLIA: "11155111",
|
|
55
|
+
ARBITRUM: "42161",
|
|
56
|
+
BSC: "56",
|
|
57
|
+
BASE: "8453",
|
|
58
|
+
OPTIMISM: "10",
|
|
59
|
+
LINEA: "59144",
|
|
60
|
+
BLAST: "81457",
|
|
61
|
+
CELO: "42220",
|
|
62
|
+
POLYGON: "137",
|
|
63
|
+
AVALANCHE: "43114",
|
|
64
|
+
IMMUTABLE: "13371",
|
|
65
|
+
SCROLL: "534352",
|
|
66
|
+
MOONBEAM: "1284",
|
|
67
|
+
MANTLE: "5000",
|
|
68
|
+
FANTOM: "250",
|
|
69
|
+
KAVA: "2222",
|
|
70
|
+
FILECOIN: "314",
|
|
71
|
+
BERACHAIN: "80094",
|
|
72
|
+
// others
|
|
73
|
+
BITCOIN: "bitcoin",
|
|
74
|
+
SOLANA: "solana-mainnet-beta",
|
|
75
|
+
SUI: "sui-mainnet",
|
|
76
|
+
SUI_TESTNET: "sui-testnet",
|
|
77
|
+
};
|
|
78
|
+
export const chainTypeToDefaultChainIdMap = {
|
|
79
|
+
[ChainType.EVM]: CHAIN_IDS.ETHEREUM,
|
|
80
|
+
[ChainType.COSMOS]: CHAIN_IDS.OSMOSIS,
|
|
81
|
+
[ChainType.BTC]: CHAIN_IDS.BITCOIN,
|
|
82
|
+
[ChainType.SOLANA]: CHAIN_IDS.SOLANA,
|
|
83
|
+
[ChainType.SUI]: CHAIN_IDS.SUI,
|
|
84
|
+
};
|
|
85
|
+
export const chainTypeToNativeTokenAddressMap = {
|
|
86
|
+
[ChainType.EVM]: nativeEvmTokenAddress,
|
|
87
|
+
[ChainType.COSMOS]: nativeCosmosTokenAddress,
|
|
88
|
+
[ChainType.BTC]: nativeBitcoinTokenAddress,
|
|
89
|
+
[ChainType.SOLANA]: nativeSolanaTokenAddress,
|
|
90
|
+
[ChainType.SUI]: nativeSuiTokenAddress,
|
|
91
|
+
};
|
|
92
|
+
export const widgetHeaderSize = {
|
|
93
|
+
height: 60,
|
|
94
|
+
paddingY: 16,
|
|
95
|
+
};
|
|
96
|
+
export const defaultConfigValues = {
|
|
97
|
+
integratorId: INTEGRATOR_ID,
|
|
98
|
+
slippage: defaultSlippage,
|
|
99
|
+
apiUrl: squidApiBaseUrl,
|
|
100
|
+
priceImpactWarnings: {
|
|
101
|
+
warning: 3,
|
|
102
|
+
critical: 5,
|
|
103
|
+
},
|
|
104
|
+
};
|
|
105
|
+
export var PriorityConnectors;
|
|
106
|
+
(function (PriorityConnectors) {
|
|
107
|
+
PriorityConnectors["Safe"] = "safe";
|
|
108
|
+
PriorityConnectors["LedgerLive"] = "ledgerLive";
|
|
109
|
+
PriorityConnectors["MiniPay"] = "miniPay";
|
|
110
|
+
})(PriorityConnectors || (PriorityConnectors = {}));
|
|
111
|
+
// Success
|
|
112
|
+
const cctpSuccessStatuses = ["complete"];
|
|
113
|
+
const chainflipSuccessStatuses = ["COMPLETE"];
|
|
114
|
+
const solanaSameChainSuccessStatuses = ["finalized"];
|
|
115
|
+
const axelarSuccessStatuses = [
|
|
116
|
+
"destination_executed",
|
|
117
|
+
"executed",
|
|
118
|
+
"express_executed",
|
|
119
|
+
"success",
|
|
120
|
+
];
|
|
121
|
+
// Error
|
|
122
|
+
const axelarErrorStatuses = [
|
|
123
|
+
"error_fetching_status",
|
|
124
|
+
"error",
|
|
125
|
+
"failed_on_destination",
|
|
126
|
+
];
|
|
127
|
+
const chainflipErrorStatuses = ["BROADCAST_ABORTED"];
|
|
128
|
+
// Refunded
|
|
129
|
+
export const transactionRefundedStatuses = ["refunded"];
|
|
130
|
+
export const transactionErrorStatuses = [
|
|
131
|
+
...axelarErrorStatuses,
|
|
132
|
+
...chainflipErrorStatuses,
|
|
133
|
+
];
|
|
134
|
+
export const transactionSuccessStatuses = [
|
|
135
|
+
...cctpSuccessStatuses,
|
|
136
|
+
...axelarSuccessStatuses,
|
|
137
|
+
...chainflipSuccessStatuses,
|
|
138
|
+
...solanaSameChainSuccessStatuses,
|
|
139
|
+
];
|
|
140
|
+
export const transactionEndStatuses = [
|
|
141
|
+
...transactionSuccessStatuses,
|
|
142
|
+
...transactionRefundedStatuses,
|
|
143
|
+
...transactionErrorStatuses,
|
|
144
|
+
];
|
|
145
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// Squid Links
|
|
2
|
+
export const squidMainLink = "https://www.squidrouter.com/";
|
|
3
|
+
export const squidDocLink = "https://docs.widget.squidrouter.com/";
|
|
4
|
+
export const squidApiBaseUrl = "https://api.uatsquidrouter.com";
|
|
5
|
+
export const squidDiscordLink = "https://discord.gg/squidrouter";
|
|
6
|
+
export const squidSupportLink = "https://support.squidrouter.com";
|
|
7
|
+
export const squidHelpLink = `${squidDocLink}troubleshooting#additional-support`;
|
|
8
|
+
export const squidSlippageToleranceLink = `${squidDocLink}settings#slippage-tolerance`;
|
|
9
|
+
export const squidAxlUSDCWarningLink = `${squidDocLink}troubleshooting#you-received-axlusdc-unexpectedly`;
|
|
10
|
+
export const squidTrackingDataUnavailableLink = `${squidDocLink}troubleshooting#tracking-data-unavailable`;
|
|
11
|
+
export const squidGasFeesRefundLink = `${squidDocLink}gas-fees#gas-refunds`;
|
|
12
|
+
// Axelar Links
|
|
13
|
+
export const axelarTokenDataUrl = "https://axelar-mainnet.s3.us-east-2.amazonaws.com/mainnet-config.json";
|
|
14
|
+
export const axelarMainLink = "https://axelar.network/";
|
|
15
|
+
export const axelarPoweredByLink = "https://axelar.network/?utm_source=dynamic&utm_medium=referral&utm_campaign=squidrouter-widget";
|
|
16
|
+
// Other links
|
|
17
|
+
export const defaultFiatOnRamp = {
|
|
18
|
+
name: "Kado",
|
|
19
|
+
link: "https://app.kado.money?apiKey=4dcd0735-f55e-4063-a862-734158decbfe",
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=externalLinks.js.map
|