@coin-voyage/crypto 0.0.1 → 0.0.2
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/assets/icons.d.ts +1 -0
- package/dist/assets/icons.js +16 -0
- package/dist/assets/icons.js.map +1 -0
- package/dist/evm/base-provider.d.ts +5 -0
- package/dist/evm/base-provider.js +12 -0
- package/dist/evm/base-provider.js.map +1 -0
- package/dist/evm/create-default-evm-config.d.ts +41 -0
- package/dist/evm/create-default-evm-config.js +88 -0
- package/dist/evm/create-default-evm-config.js.map +1 -0
- package/dist/evm/external-context.d.ts +1 -0
- package/dist/evm/external-context.js +4 -0
- package/dist/evm/external-context.js.map +1 -0
- package/dist/evm/use-evm-transaction.d.ts +4 -0
- package/{src/evm/use-evm-transaction.ts → dist/evm/use-evm-transaction.js} +12 -17
- package/dist/evm/use-evm-transaction.js.map +1 -0
- package/dist/evm/use-sign-in-with-evm.d.ts +5 -0
- package/{src/evm/use-sign-in-with-evm.ts → dist/evm/use-sign-in-with-evm.js} +13 -22
- package/dist/evm/use-sign-in-with-evm.js.map +1 -0
- package/dist/evm/verify-message.d.ts +2 -0
- package/{src/evm/verify-message.ts → dist/evm/verify-message.js} +1 -1
- package/dist/evm/verify-message.js.map +1 -0
- package/dist/hooks/index.d.ts +5 -0
- package/dist/hooks/index.js +6 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/use-account-disconnect.d.ts +2 -0
- package/dist/hooks/use-account-disconnect.js +43 -0
- package/dist/hooks/use-account-disconnect.js.map +1 -0
- package/dist/hooks/use-account.d.ts +40 -0
- package/dist/hooks/use-account.js +117 -0
- package/dist/hooks/use-account.js.map +1 -0
- package/dist/hooks/use-combined-wallets.d.ts +12 -0
- package/dist/hooks/use-combined-wallets.js +113 -0
- package/dist/hooks/use-combined-wallets.js.map +1 -0
- package/dist/hooks/use-prepare-transaction.d.ts +5 -0
- package/dist/hooks/use-prepare-transaction.js +27 -0
- package/dist/hooks/use-prepare-transaction.js.map +1 -0
- package/dist/hooks/use-universal-connect.d.ts +20 -0
- package/dist/hooks/use-universal-connect.js +105 -0
- package/dist/hooks/use-universal-connect.js.map +1 -0
- package/dist/lib/config/chain.d.ts +2 -0
- package/{src/lib/config/chain.ts → dist/lib/config/chain.js} +3 -5
- package/dist/lib/config/chain.js.map +1 -0
- package/dist/lib/connectors/coinbase.d.ts +2 -0
- package/dist/lib/connectors/coinbase.js +4 -0
- package/dist/lib/connectors/coinbase.js.map +1 -0
- package/dist/lib/connectors/metaMask.d.ts +2 -0
- package/dist/lib/connectors/metaMask.js +4 -0
- package/dist/lib/connectors/metaMask.js.map +1 -0
- package/{src/lib/connectors/types.ts → dist/lib/connectors/types.d.ts} +6 -8
- package/dist/lib/connectors/types.js +2 -0
- package/dist/lib/connectors/types.js.map +1 -0
- package/dist/lib/connectors/utils.d.ts +5 -0
- package/dist/lib/connectors/utils.js +12 -0
- package/dist/lib/connectors/utils.js.map +1 -0
- package/dist/lib/connectors/walletConnect.d.ts +2 -0
- package/dist/lib/connectors/walletConnect.js +12 -0
- package/dist/lib/connectors/walletConnect.js.map +1 -0
- package/dist/lib/utils/connector.d.ts +5 -0
- package/dist/lib/utils/connector.js +15 -0
- package/dist/lib/utils/connector.js.map +1 -0
- package/dist/lib/utils/get-connector-icon.d.ts +2 -0
- package/dist/lib/utils/get-connector-icon.js +8 -0
- package/dist/lib/utils/get-connector-icon.js.map +1 -0
- package/dist/lib/utils/get-wallet-priority.d.ts +1 -0
- package/dist/lib/utils/get-wallet-priority.js +15 -0
- package/dist/lib/utils/get-wallet-priority.js.map +1 -0
- package/dist/lib/utils/is-wallet-installed.d.ts +1 -0
- package/dist/lib/utils/is-wallet-installed.js +34 -0
- package/dist/lib/utils/is-wallet-installed.js.map +1 -0
- package/dist/lib/utils/message.d.ts +2 -0
- package/dist/lib/utils/message.js +21 -0
- package/dist/lib/utils/message.js.map +1 -0
- package/dist/solana/base-provider.d.ts +5 -0
- package/dist/solana/base-provider.js +10 -0
- package/dist/solana/base-provider.js.map +1 -0
- package/dist/solana/external-context.d.ts +1 -0
- package/dist/solana/external-context.js +3 -0
- package/dist/solana/external-context.js.map +1 -0
- package/dist/solana/get-or-create-ata.d.ts +19 -0
- package/dist/solana/get-or-create-ata.js +51 -0
- package/dist/solana/get-or-create-ata.js.map +1 -0
- package/dist/solana/use-solana-transaction.d.ts +4 -0
- package/dist/solana/use-solana-transaction.js +48 -0
- package/dist/solana/use-solana-transaction.js.map +1 -0
- package/dist/sui/base-provider.d.ts +5 -0
- package/dist/sui/base-provider.js +9 -0
- package/dist/sui/base-provider.js.map +1 -0
- package/dist/sui/client.d.ts +2 -0
- package/{src/sui/client.ts → dist/sui/client.js} +2 -2
- package/dist/sui/client.js.map +1 -0
- package/dist/sui/constants.d.ts +1 -0
- package/{src/sui/constants.ts → dist/sui/constants.js} +3 -3
- package/dist/sui/constants.js.map +1 -0
- package/dist/sui/external-context.d.ts +1 -0
- package/dist/sui/external-context.js +3 -0
- package/dist/sui/external-context.js.map +1 -0
- package/dist/sui/use-sign-in-with-sui.d.ts +5 -0
- package/dist/sui/use-sign-in-with-sui.js +48 -0
- package/dist/sui/use-sign-in-with-sui.js.map +1 -0
- package/dist/sui/use-sui-transaction.d.ts +4 -0
- package/dist/sui/use-sui-transaction.js +45 -0
- package/dist/sui/use-sui-transaction.js.map +1 -0
- package/dist/sui/verify-message.d.ts +1 -0
- package/{src/sui/verify-message.ts → dist/sui/verify-message.js} +8 -11
- package/dist/sui/verify-message.js.map +1 -0
- package/{src/types/index.ts → dist/types/index.d.ts} +14 -17
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/{src/types/sign-in-with.ts → dist/types/sign-in-with.d.ts} +3 -6
- package/dist/types/sign-in-with.js +2 -0
- package/dist/types/sign-in-with.js.map +1 -0
- package/dist/types/utxo-connector-id.d.ts +8 -0
- package/dist/types/utxo-connector-id.js +11 -0
- package/dist/types/utxo-connector-id.js.map +1 -0
- package/dist/types/wallet-connector.d.ts +5 -0
- package/dist/types/wallet-connector.js +2 -0
- package/dist/types/wallet-connector.js.map +1 -0
- package/dist/types/wallet.d.ts +38 -0
- package/dist/types/wallet.js +2 -0
- package/dist/types/wallet.js.map +1 -0
- package/dist/utxo/base-provider.d.ts +5 -0
- package/dist/utxo/base-provider.js +17 -0
- package/dist/utxo/base-provider.js.map +1 -0
- package/dist/utxo/create-default-bigmi-config.d.ts +33 -0
- package/dist/utxo/create-default-bigmi-config.js +47 -0
- package/dist/utxo/create-default-bigmi-config.js.map +1 -0
- package/dist/utxo/create-psbt-tx.d.ts +3 -0
- package/{src/utxo/create-psbt-tx.ts → dist/utxo/create-psbt-tx.js} +14 -25
- package/dist/utxo/create-psbt-tx.js.map +1 -0
- package/dist/utxo/external-context.d.ts +1 -0
- package/dist/utxo/external-context.js +3 -0
- package/dist/utxo/external-context.js.map +1 -0
- package/dist/utxo/get-address-utxo.d.ts +7 -0
- package/dist/utxo/get-address-utxo.js +27 -0
- package/dist/utxo/get-address-utxo.js.map +1 -0
- package/dist/utxo/send-btc.d.ts +23 -0
- package/{src/utxo/send-btc.ts → dist/utxo/send-btc.js} +41 -93
- package/dist/utxo/send-btc.js.map +1 -0
- package/dist/utxo/use-utxo-transaction.d.ts +4 -0
- package/dist/utxo/use-utxo-transaction.js +21 -0
- package/dist/utxo/use-utxo-transaction.js.map +1 -0
- package/dist/utxo/utxo-public-client.d.ts +9 -0
- package/dist/utxo/utxo-public-client.js +39 -0
- package/dist/utxo/utxo-public-client.js.map +1 -0
- package/dist/utxo/verify-message.d.ts +1 -0
- package/dist/utxo/verify-message.js +27 -0
- package/dist/utxo/verify-message.js.map +1 -0
- package/package.json +15 -15
- package/src/assets/icons.tsx +0 -16
- package/src/evm/base-provider.tsx +0 -22
- package/src/evm/create-default-evm-config.ts +0 -123
- package/src/evm/external-context.ts +0 -4
- package/src/hooks/index.ts +0 -6
- package/src/hooks/use-account-disconnect.ts +0 -47
- package/src/hooks/use-account.ts +0 -171
- package/src/hooks/use-combined-wallets.ts +0 -165
- package/src/hooks/use-prepare-transaction.ts +0 -32
- package/src/hooks/use-universal-connect.ts +0 -141
- package/src/lib/connectors/coinbase.ts +0 -9
- package/src/lib/connectors/metaMask.ts +0 -6
- package/src/lib/connectors/utils.ts +0 -23
- package/src/lib/connectors/walletConnect.ts +0 -18
- package/src/lib/utils/connector.ts +0 -22
- package/src/lib/utils/get-connector-icon.ts +0 -13
- package/src/lib/utils/get-wallet-priority.ts +0 -15
- package/src/lib/utils/is-wallet-installed.ts +0 -40
- package/src/lib/utils/message.ts +0 -29
- package/src/solana/base-provider.tsx +0 -29
- package/src/solana/external-context.ts +0 -3
- package/src/solana/get-or-create-ata.ts +0 -85
- package/src/solana/use-solana-transaction.ts +0 -83
- package/src/sui/base-provider.tsx +0 -22
- package/src/sui/external-context.ts +0 -3
- package/src/sui/use-sign-in-with-sui.ts +0 -55
- package/src/sui/use-sui-transaction.ts +0 -56
- package/src/types/utxo-connector-id.ts +0 -10
- package/src/types/wallet-connector.ts +0 -14
- package/src/types/wallet.ts +0 -55
- package/src/utxo/base-provider.tsx +0 -24
- package/src/utxo/create-default-bigmi-config.ts +0 -69
- package/src/utxo/external-context.ts +0 -3
- package/src/utxo/get-address-utxo.ts +0 -36
- package/src/utxo/use-utxo-transaction.tsx +0 -28
- package/src/utxo/utxo-public-client.ts +0 -60
- package/src/utxo/verify-message.ts +0 -35
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const getWalletIcon: (id: string) => string | undefined;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const getWalletIcon = (id) => {
|
|
2
|
+
switch (id) {
|
|
3
|
+
case "walletConnect":
|
|
4
|
+
return "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512'%3e %3cradialGradient id='a' cx='0%25' cy='50%25' r='100%25'%3e %3cstop offset='0' stop-color='%235d9df6'/%3e %3cstop offset='1' stop-color='%23006fff'/%3e %3c/radialGradient%3e %3cg fill='none' fill-rule='evenodd'%3e %3cpath fill='url(%23a)' d='M256 0c141.385 0 256 114.615 256 256S397.385 512 256 512 0 397.385 0 256 114.615 0 256 0z'/%3e %3cpath fill='white' fill-rule='nonzero' d='M162.692 197.709c51.533-50.279 135.084-50.279 186.617 0l6.202 6.05a6.327 6.327 0 0 1 0 9.105l-21.216 20.7a3.357 3.357 0 0 1-4.666 0l-8.535-8.328c-35.95-35.075-94.238-35.075-130.188 0l-9.14 8.918a3.357 3.357 0 0 1-4.666 0l-21.216-20.7a6.327 6.327 0 0 1 0-9.104zm230.493 42.809 18.883 18.422a6.327 6.327 0 0 1 0 9.104l-85.142 83.07c-2.577 2.514-6.754 2.514-9.33 0l-60.43-58.957a1.679 1.679 0 0 0-2.332 0l-60.427 58.958c-2.576 2.513-6.754 2.514-9.33 0l-85.145-83.072a6.327 6.327 0 0 1 0-9.104l18.883-18.422c2.576-2.514 6.754-2.514 9.33 0l60.43 58.958a1.679 1.679 0 0 0 2.332 0l60.427-58.958c2.576-2.514 6.754-2.514 9.33 0l60.43 58.958a1.679 1.679 0 0 0 2.332 0l60.428-58.957c2.577-2.514 6.755-2.514 9.331 0z'/%3e %3c/g%3e %3c/svg%3e";
|
|
5
|
+
case "coinbaseWalletSDK":
|
|
6
|
+
return "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 40 40'%3e %3cpath fill='%231652F0' d='M20 40c11.046 0 20-8.954 20-20S31.046 0 20 0 0 8.954 0 20s8.954 20 20 20Z'/%3e %3cpath fill='white' fill-rule='evenodd' d='M5.455 20c0 8.034 6.512 14.546 14.546 14.546 8.033 0 14.545-6.512 14.545-14.545 0-8.034-6.512-14.546-14.545-14.546-8.034 0-14.546 6.512-14.546 14.546Zm11.859-4.685a2 2 0 0 0-2 2v5.373a2 2 0 0 0 2 2h5.373a2 2 0 0 0 2-2v-5.373a2 2 0 0 0-2-2h-5.373Z' clip-rule='evenodd'/%3e %3c/svg%3e";
|
|
7
|
+
case "safe":
|
|
8
|
+
return "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 661.62 661.47'%3e %3cpath fill='%2312ff80' d='M531.98 330.7h-49.42c-14.76 0-26.72 11.96-26.72 26.72v71.73c0 14.76-11.96 26.72-26.72 26.72H232.51c-14.76 0-26.72 11.96-26.72 26.72v49.42c0 14.76 11.96 26.72 26.72 26.72H440.5c14.76 0 26.55-11.96 26.55-26.72v-39.65c0-14.76 11.96-25.23 26.72-25.23h38.2c14.76 0 26.72-11.96 26.72-26.72v-83.3c0-14.76-11.96-26.41-26.72-26.41Zm-326.2-98.18c0-14.76 11.96-26.72 26.72-26.72h196.49c14.76 0 26.72-11.96 26.72-26.72v-49.42c0-14.76-11.96-26.72-26.72-26.72H221.11c-14.76 0-26.72 11.96-26.72 26.72v38.08c0 14.76-11.96 26.72-26.72 26.72h-38.03c-14.76 0-26.72 11.96-26.72 26.72v83.39c0 14.76 12.01 26.12 26.77 26.12h49.42c14.76 0 26.72-11.96 26.72-26.72l-.05-71.44Zm101.77 46.23h47.47c15.47 0 28.02 12.56 28.02 28.02v47.47c0 15.47-12.56 28.02-28.02 28.02h-47.47c-15.47 0-28.02-12.56-28.02-28.02v-47.47c0-15.47 12.56-28.02 28.02-28.02Z'/%3e %3c/svg%3e";
|
|
9
|
+
case "metaMaskSDK":
|
|
10
|
+
case "io.metamask":
|
|
11
|
+
return "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' fill='none'%3e %3cpath fill='%23E17726' stroke='%23E17726' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m26.815 5-9.38 6.939 1.749-4.09z'/%3e %3cpath fill='%23E27625' stroke='%23E27625' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m5.185 5 9.295 6.996-1.664-4.14zM23.44 21.083l-2.499 3.812 5.347 1.47 1.527-5.196zm-19.246.086 1.52 5.197 5.333-1.47-2.484-3.813z'/%3e %3cpath fill='%23E27625' stroke='%23E27625' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m10.76 14.645-1.484 2.241 5.282.243-.171-5.69-3.626 3.213zm10.48.007-3.684-3.284-.12 5.761 5.282-.243zM11.046 24.896l3.205-1.542-2.755-2.142zm6.71-1.55 3.184 1.55-.428-3.69z'/%3e %3cpath fill='%23D5BFB2' stroke='%23D5BFB2' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m20.94 24.896-3.184-1.543.257 2.07-.029.879zm-9.895 0 2.97 1.406-.021-.878.257-2.07z'/%3e %3cpath fill='%23233447' stroke='%23233447' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m14.065 19.834-2.64-.771 1.87-.857.777 1.628zm3.862 0 .786-1.635 1.877.857-2.663.785z'/%3e %3cpath fill='%23CC6228' stroke='%23CC6228' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m11.046 24.895.464-3.812-2.948.086zm9.444-3.812.45 3.812 2.499-3.726zm2.235-4.197-5.283.242.486 2.713.785-1.642 1.877.857zm-11.3 2.177 1.87-.857.778 1.628.492-2.713-5.282-.235z'/%3e %3cpath fill='%23E27525' stroke='%23E27525' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m9.283 16.886 2.213 4.319-.072-2.142zm11.307 2.177-.085 2.142 2.213-4.32zm-6.025-1.934-.5 2.712.629 3.198.143-4.219zm2.87 0-.257 1.684.128 4.226.622-3.205-.493-2.713z'/%3e %3cpath fill='%23F5841F' stroke='%23F5841F' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m17.928 19.834-.621 3.206.45.314 2.748-2.142.085-2.148zm-6.504-.77.072 2.141 2.755 2.142.443-.307-.621-3.206-2.656-.77z'/%3e %3cpath fill='%23C0AC9D' stroke='%23C0AC9D' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m17.991 26.302.022-.878-.243-.2h-3.54l-.236.2.021.878-2.97-1.407 1.043.857 2.106 1.45h3.605l2.113-1.457 1.027-.85-2.955 1.407z'/%3e %3cpath fill='%23161616' stroke='%23161616' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m17.756 23.345-.45-.307h-2.613l-.442.314-.257 2.07.236-.2h3.54l.243.2-.257-2.07z'/%3e %3cpath fill='%23763E1A' stroke='%23763E1A' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='M27.215 12.389 28 8.569 26.815 5l-9.066 6.71 3.49 2.934 4.926 1.435 1.085-1.263-.47-.343.749-.685-.571-.443.75-.571-.5-.385zM4 8.562l.8 3.827-.514.378.763.57-.57.45.742.686-.471.343 1.085 1.263 4.925-1.428 3.491-2.948L5.185 5z'/%3e %3cpath fill='%23F5841F' stroke='%23F5841F' stroke-linecap='round' stroke-linejoin='round' stroke-width='.303' d='m26.166 16.078-4.926-1.427 1.485 2.234-2.213 4.319 2.927-.036h4.375zM10.76 14.644l-4.925 1.434-1.642 5.09h4.376l2.927.036-2.213-4.319 1.485-2.241zm6.675 2.484.321-5.425 1.428-3.855h-6.368l1.428 3.855.321 5.425.122 1.699v4.212h2.62l.014-4.212z'/%3e %3c/svg%3e";
|
|
12
|
+
default:
|
|
13
|
+
break;
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/assets/icons.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAsB,EAAE;IAC5D,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,eAAe;YAClB,OAAO,irCAAirC,CAAA;QAC1rC,KAAK,mBAAmB;YACtB,OAAO,mhBAAmhB,CAAA;QAC5hB,KAAK,MAAM;YACT,OAAO,87BAA87B,CAAA;QACv8B,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa;YAChB,OAAO,qnGAAqnG,CAAA;QAC9nG;YACE,MAAK;IACT,CAAC;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type PropsWithChildren } from "react";
|
|
2
|
+
import { DefaultWagmiConfigProps } from "./create-default-evm-config";
|
|
3
|
+
export declare function EVMBaseProvider({ children, config }: PropsWithChildren<{
|
|
4
|
+
config?: DefaultWagmiConfigProps;
|
|
5
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
import { WagmiProvider } from "wagmi";
|
|
4
|
+
import { createDefaultEVMConfig, } from "./create-default-evm-config";
|
|
5
|
+
export function EVMBaseProvider({ children, config }) {
|
|
6
|
+
const evm = useRef(null);
|
|
7
|
+
if (!evm?.current) {
|
|
8
|
+
evm.current = createDefaultEVMConfig(config);
|
|
9
|
+
}
|
|
10
|
+
return (_jsx(WagmiProvider, { config: evm.current.config, reconnectOnMount: false, children: children }));
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=base-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../src/evm/base-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA0B,MAAM,EAAE,MAAM,OAAO,CAAA;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAGL,sBAAsB,GACvB,MAAM,6BAA6B,CAAA;AAEpC,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAEhD;IACA,MAAM,GAAG,GAAG,MAAM,CAAkC,IAAI,CAAC,CAAA;IACzD,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;QAClB,GAAG,CAAC,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;IAC9C,CAAC;IAED,OAAO,CACL,KAAC,aAAa,IAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,YAC/D,QAAQ,GACK,CACjB,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { Config, CreateConnectorFn } from "wagmi";
|
|
2
|
+
import { type CoinbaseWalletParameters, type MetaMaskParameters, type WalletConnectParameters } from "wagmi/connectors";
|
|
3
|
+
export interface DefaultWagmiConfigProps {
|
|
4
|
+
walletConnect?: WalletConnectParameters;
|
|
5
|
+
coinbase?: CoinbaseWalletParameters;
|
|
6
|
+
metaMask?: MetaMaskParameters;
|
|
7
|
+
evmConfig?: {
|
|
8
|
+
ssr?: boolean;
|
|
9
|
+
multiInjectedProviderDiscovery?: boolean;
|
|
10
|
+
};
|
|
11
|
+
connectors?: CreateConnectorFn[];
|
|
12
|
+
/**
|
|
13
|
+
* Load Wallet SDKs only if the wallet is the most recently connected wallet
|
|
14
|
+
*/
|
|
15
|
+
lazy?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface DefaultWagmiConfigResult {
|
|
18
|
+
config: Config;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Creates default EVM config that can be later synced (via useSyncEVMConfig) with chains fetched from user config.
|
|
22
|
+
* @param props Properties to setup connectors. {@link DefaultWagmiConfigProps}
|
|
23
|
+
* @returns EVM config and connectors. {@link DefaultWagmiConfigResult}
|
|
24
|
+
* @example
|
|
25
|
+
* const { config, connectors } = createDefaultEVMConfig({
|
|
26
|
+
* walletConnect: {
|
|
27
|
+
* projectId: import.meta.env.VITE_WALLET_CONNECT,
|
|
28
|
+
* },
|
|
29
|
+
* coinbase: { appName: 'Coin Voyage' },
|
|
30
|
+
* });
|
|
31
|
+
* export const WalletProvider: FC<PropsWithChildren> = ({ children }) => {
|
|
32
|
+
* const { chains } = useAvailableChains();
|
|
33
|
+
* useSyncEVMConfig(config, connectors, chains);
|
|
34
|
+
* return (
|
|
35
|
+
* <WagmiProvider config={wagmi.config} reconnectOnMount={false}>
|
|
36
|
+
* {children}
|
|
37
|
+
* </WagmiProvider>
|
|
38
|
+
* );
|
|
39
|
+
* };
|
|
40
|
+
*/
|
|
41
|
+
export declare function createDefaultEVMConfig(props?: DefaultWagmiConfigProps): DefaultWagmiConfigResult;
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { createClient, http } from "viem";
|
|
2
|
+
import { createConfig } from "wagmi";
|
|
3
|
+
import { safe, } from "wagmi/connectors";
|
|
4
|
+
import { DEFAULT_CHAINS } from "../lib/config/chain";
|
|
5
|
+
import { createCoinbaseConnector } from "../lib/connectors/coinbase";
|
|
6
|
+
import { createMetaMaskConnector } from "../lib/connectors/metaMask";
|
|
7
|
+
import { createWalletConnectConnector } from "../lib/connectors/walletConnect";
|
|
8
|
+
import { isWalletInstalled } from "../lib/utils/is-wallet-installed";
|
|
9
|
+
/**
|
|
10
|
+
* Creates default EVM config that can be later synced (via useSyncEVMConfig) with chains fetched from user config.
|
|
11
|
+
* @param props Properties to setup connectors. {@link DefaultWagmiConfigProps}
|
|
12
|
+
* @returns EVM config and connectors. {@link DefaultWagmiConfigResult}
|
|
13
|
+
* @example
|
|
14
|
+
* const { config, connectors } = createDefaultEVMConfig({
|
|
15
|
+
* walletConnect: {
|
|
16
|
+
* projectId: import.meta.env.VITE_WALLET_CONNECT,
|
|
17
|
+
* },
|
|
18
|
+
* coinbase: { appName: 'Coin Voyage' },
|
|
19
|
+
* });
|
|
20
|
+
* export const WalletProvider: FC<PropsWithChildren> = ({ children }) => {
|
|
21
|
+
* const { chains } = useAvailableChains();
|
|
22
|
+
* useSyncEVMConfig(config, connectors, chains);
|
|
23
|
+
* return (
|
|
24
|
+
* <WagmiProvider config={wagmi.config} reconnectOnMount={false}>
|
|
25
|
+
* {children}
|
|
26
|
+
* </WagmiProvider>
|
|
27
|
+
* );
|
|
28
|
+
* };
|
|
29
|
+
*/
|
|
30
|
+
export function createDefaultEVMConfig(props) {
|
|
31
|
+
const connectors = [...(props?.connectors ?? [])];
|
|
32
|
+
const anyWindow = typeof window !== "undefined" ? window : undefined;
|
|
33
|
+
const localStorage = anyWindow?.localStorage;
|
|
34
|
+
// in Multisig env, window.parent is not equal to window
|
|
35
|
+
const shouldUseSafeConnector = anyWindow && anyWindow.parent !== anyWindow;
|
|
36
|
+
const multiInjectedProviderDiscovery = shouldUseSafeConnector
|
|
37
|
+
? false
|
|
38
|
+
: (props?.evmConfig?.multiInjectedProviderDiscovery ?? true);
|
|
39
|
+
if (shouldUseSafeConnector) {
|
|
40
|
+
connectors.unshift(safe({
|
|
41
|
+
allowedDomains: [/gnosis-safe.io$/, /app.safe.global$/],
|
|
42
|
+
}));
|
|
43
|
+
}
|
|
44
|
+
// Retrieve the ID of the most recently connected wallet connector from storage
|
|
45
|
+
const recentConnectorId = localStorage?.getItem(`wagmi.recentConnectorId`);
|
|
46
|
+
// If WalletConnect is the most recently connected wallet or lazy loading is disabled,
|
|
47
|
+
// add the WalletConnect connector to the beginning of the connectors list
|
|
48
|
+
const walletConnect = createWalletConnectConnector({
|
|
49
|
+
...props?.walletConnect,
|
|
50
|
+
projectId: props?.walletConnect?.projectId ?? "ea6c5b36001c18b96e06128f14c06f40",
|
|
51
|
+
});
|
|
52
|
+
if (recentConnectorId?.includes?.("walletConnect") || !props?.lazy) {
|
|
53
|
+
connectors.unshift(walletConnect);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
connectors.push(walletConnect);
|
|
57
|
+
}
|
|
58
|
+
if (!isWalletInstalled("coinbase")) {
|
|
59
|
+
const coinbase = createCoinbaseConnector(props?.coinbase ?? {
|
|
60
|
+
appName: "Coin Voyage",
|
|
61
|
+
overrideIsMetaMask: false
|
|
62
|
+
});
|
|
63
|
+
if (recentConnectorId?.includes?.("coinbaseWalletSDK") || !props?.lazy) {
|
|
64
|
+
connectors.unshift(coinbase);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
connectors.push(coinbase);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (props?.metaMask && !isWalletInstalled("metaMask")) {
|
|
71
|
+
if (recentConnectorId?.includes?.("metaMaskSDK") || !props.lazy) {
|
|
72
|
+
connectors.unshift(createMetaMaskConnector(props.metaMask));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const config = createConfig({
|
|
76
|
+
...props?.evmConfig,
|
|
77
|
+
chains: DEFAULT_CHAINS,
|
|
78
|
+
client({ chain }) {
|
|
79
|
+
return createClient({ chain, transport: http() });
|
|
80
|
+
},
|
|
81
|
+
connectors,
|
|
82
|
+
multiInjectedProviderDiscovery
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
config
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=create-default-evm-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-default-evm-config.js","sourceRoot":"","sources":["../../src/evm/create-default-evm-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EVMExternalContext: import("react").Context<boolean>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"external-context.js","sourceRoot":"","sources":["../../src/evm/external-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,+FAA+F;AAC/F,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAU,KAAK,CAAC,CAAA"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { Address, erc20Abi } from "viem";
|
|
1
|
+
import { erc20Abi } from "viem";
|
|
3
2
|
import { useSendTransaction, useWriteContract } from "wagmi";
|
|
4
|
-
|
|
5
|
-
export function useEVMTransaction(): {
|
|
6
|
-
execute: (paymentDetails: PaymentDetails) => Promise<string>;
|
|
7
|
-
} {
|
|
3
|
+
export function useEVMTransaction() {
|
|
8
4
|
const { writeContractAsync } = useWriteContract();
|
|
9
5
|
const { sendTransactionAsync } = useSendTransaction();
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const chainId = paymentDetails.source_currency.chain_id
|
|
6
|
+
const execute = async (paymentDetails) => {
|
|
7
|
+
const value = paymentDetails.source_amount.raw_amount;
|
|
8
|
+
const isNative = !paymentDetails.source_currency.address;
|
|
9
|
+
const to = paymentDetails.deposit_address;
|
|
10
|
+
const chainId = paymentDetails.source_currency.chain_id;
|
|
16
11
|
if (!isNative) {
|
|
17
12
|
return sendTransactionAsync({
|
|
18
13
|
to,
|
|
@@ -23,13 +18,13 @@ export function useEVMTransaction(): {
|
|
|
23
18
|
const contractAddress = paymentDetails.source_currency.address;
|
|
24
19
|
const tx = await writeContractAsync({
|
|
25
20
|
abi: erc20Abi,
|
|
26
|
-
address: contractAddress
|
|
21
|
+
address: contractAddress,
|
|
27
22
|
functionName: "transfer",
|
|
28
23
|
chainId,
|
|
29
24
|
args: [to, value],
|
|
30
25
|
});
|
|
31
|
-
return tx
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
return { execute }
|
|
26
|
+
return tx;
|
|
27
|
+
};
|
|
28
|
+
return { execute };
|
|
35
29
|
}
|
|
30
|
+
//# sourceMappingURL=use-evm-transaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-evm-transaction.js","sourceRoot":"","sources":["../../src/evm/use-evm-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAE7D,MAAM,UAAU,iBAAiB;IAG7B,MAAM,EAAE,kBAAkB,EAAE,GAAG,gBAAgB,EAAE,CAAC;IAClD,MAAM,EAAE,oBAAoB,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAEtD,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE;QACrD,MAAM,KAAK,GAAG,cAAc,CAAC,aAAa,CAAC,UAAU,CAAA;QACrD,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAA;QACxD,MAAM,EAAE,GAAG,cAAc,CAAC,eAA0B,CAAA;QACpD,MAAM,OAAO,GAAG,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAA;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,oBAAoB,CAAC;gBACxB,EAAE;gBACF,KAAK;gBACL,OAAO;aACV,CAAC,CAAC;QACP,CAAC;QACD,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC;QAC/D,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAChC,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,eAA0B;YACnC,YAAY,EAAE,UAAU;YACxB,OAAO;YACP,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC;SACpB,CAAC,CAAC;QACH,OAAO,EAAY,CAAA;IACvB,CAAC,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,CAAA;AACtB,CAAC"}
|
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
import { ChainType } from "@coin-voyage/shared/common";
|
|
2
|
-
import {
|
|
2
|
+
import { useAccount, useConnect, useSignMessage } from "wagmi";
|
|
3
3
|
import { useCombinedWallets } from "../hooks/use-combined-wallets";
|
|
4
4
|
import { toMessage } from "../lib/utils/message";
|
|
5
|
-
|
|
6
|
-
import { SignInWith } from "../types/sign-in-with";
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export function useSignInWithEvm({ signIn, callbackUrl }: SignInWith) {
|
|
5
|
+
export function useSignInWithEvm({ signIn, callbackUrl }) {
|
|
10
6
|
const { address, connector } = useAccount();
|
|
11
7
|
const { connectAsync } = useConnect();
|
|
12
|
-
|
|
13
|
-
const { installedWallets } = useCombinedWallets(ChainType.EVM)
|
|
8
|
+
const { installedWallets } = useCombinedWallets(ChainType.EVM);
|
|
14
9
|
const { signMessageAsync } = useSignMessage();
|
|
15
|
-
|
|
16
|
-
const handleSignature = async (address: string) => {
|
|
10
|
+
const handleSignature = async (address) => {
|
|
17
11
|
const msg = {
|
|
18
12
|
domain: window.location.host,
|
|
19
13
|
address,
|
|
@@ -21,11 +15,9 @@ export function useSignInWithEvm({ signIn, callbackUrl }: SignInWith) {
|
|
|
21
15
|
uri: window.location.origin,
|
|
22
16
|
nonce: Math.random().toString(),
|
|
23
17
|
version: "1"
|
|
24
|
-
}
|
|
25
|
-
|
|
18
|
+
};
|
|
26
19
|
const message = toMessage(msg, "Ethereum");
|
|
27
20
|
const signature = await signMessageAsync({ message });
|
|
28
|
-
|
|
29
21
|
signIn("ethereum", {
|
|
30
22
|
address,
|
|
31
23
|
message,
|
|
@@ -34,21 +26,20 @@ export function useSignInWithEvm({ signIn, callbackUrl }: SignInWith) {
|
|
|
34
26
|
callbackUrl: callbackUrl ?? "/"
|
|
35
27
|
});
|
|
36
28
|
};
|
|
37
|
-
|
|
38
|
-
const onSelect = async (id: string) => {
|
|
29
|
+
const onSelect = async (id) => {
|
|
39
30
|
const selectedWallet = installedWallets.find((w) => w.id === id);
|
|
40
|
-
const selectedConnector = selectedWallet?.connectors?.[0].connector
|
|
41
|
-
if (!selectedConnector)
|
|
42
|
-
|
|
31
|
+
const selectedConnector = selectedWallet?.connectors?.[0].connector;
|
|
32
|
+
if (!selectedConnector)
|
|
33
|
+
return;
|
|
43
34
|
if (connector?.id === selectedConnector.id && address) {
|
|
44
35
|
handleSignature(address);
|
|
45
36
|
return;
|
|
46
37
|
}
|
|
47
|
-
|
|
48
38
|
const res = await connectAsync({ connector: selectedConnector });
|
|
49
|
-
if (!res.accounts[0])
|
|
39
|
+
if (!res.accounts[0])
|
|
40
|
+
return;
|
|
50
41
|
handleSignature(res.accounts[0]);
|
|
51
42
|
};
|
|
52
|
-
|
|
53
43
|
return { onSelect, installedWallets };
|
|
54
|
-
}
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=use-sign-in-with-evm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-sign-in-with-evm.js","sourceRoot":"","sources":["../../src/evm/use-sign-in-with-evm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAa,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKjD,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAc;IAChE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,CAAC;IAC5C,MAAM,EAAE,YAAY,EAAE,GAAG,UAAU,EAAE,CAAC;IAEtC,MAAM,EAAE,gBAAgB,EAAE,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC9D,MAAM,EAAE,gBAAgB,EAAE,GAAG,cAAc,EAAE,CAAC;IAE9C,MAAM,eAAe,GAAG,KAAK,EAAE,OAAe,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG;YACR,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC5B,OAAO;YACP,SAAS,EAAE,wCAAwC;YACnD,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;YAC3B,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC/B,OAAO,EAAE,GAAG;SACE,CAAC;QAEnB,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtD,MAAM,CAAC,UAAU,EAAE;YACf,OAAO;YACP,OAAO;YACP,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YAC5B,SAAS;YACT,WAAW,EAAE,WAAW,IAAI,GAAG;SAClC,CAAC,CAAC;IACP,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,KAAK,EAAE,EAAU,EAAE,EAAE;QAClC,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjE,MAAM,iBAAiB,GAAG,cAAc,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAkC,CAAC;QAC7F,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAE/B,IAAI,SAAS,EAAE,EAAE,KAAK,iBAAiB,CAAC,EAAE,IAAI,OAAO,EAAE,CAAC;YACpD,eAAe,CAAC,OAAO,CAAC,CAAC;YACzB,OAAO;QACX,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,YAAY,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAO;QAC7B,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verify-message.js","sourceRoot":"","sources":["../../src/evm/verify-message.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,MAAM,CAAC;AAE9D,MAAM,CAAC,MAAM,aAAa,GAAG,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA;AAC7B,cAAc,0BAA0B,CAAA;AACxC,cAAc,wBAAwB,CAAA;AACtC,cAAc,2BAA2B,CAAA;AACzC,cAAc,yBAAyB,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { useConfig as useBigmiConfig } from "@bigmi/react";
|
|
2
|
+
import { ChainType } from "@coin-voyage/shared/common";
|
|
3
|
+
import { useDisconnectWallet } from "@mysten/dapp-kit";
|
|
4
|
+
import { useWallet } from "@solana/wallet-adapter-react";
|
|
5
|
+
import { useConfig as useWagmiConfig } from "wagmi";
|
|
6
|
+
import { disconnect, getAccount } from "wagmi/actions";
|
|
7
|
+
export const useAccountDisconnect = () => {
|
|
8
|
+
const bigmiConfig = useBigmiConfig();
|
|
9
|
+
const wagmiConfig = useWagmiConfig();
|
|
10
|
+
const { disconnect: solanaDisconnect } = useWallet();
|
|
11
|
+
const { mutateAsync: suiDisconnect } = useDisconnectWallet();
|
|
12
|
+
const handleDisconnect = async (config) => {
|
|
13
|
+
const connectedAccount = getAccount(config);
|
|
14
|
+
if (connectedAccount.connector) {
|
|
15
|
+
await disconnect(config, { connector: connectedAccount.connector });
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
return async (account) => {
|
|
19
|
+
switch (account?.chainType) {
|
|
20
|
+
case ChainType.EVM:
|
|
21
|
+
await handleDisconnect(wagmiConfig);
|
|
22
|
+
break;
|
|
23
|
+
case ChainType.UTXO:
|
|
24
|
+
await handleDisconnect(bigmiConfig);
|
|
25
|
+
break;
|
|
26
|
+
case ChainType.SOL:
|
|
27
|
+
await solanaDisconnect();
|
|
28
|
+
break;
|
|
29
|
+
case ChainType.SUI:
|
|
30
|
+
await suiDisconnect();
|
|
31
|
+
break;
|
|
32
|
+
default:
|
|
33
|
+
// disconnect all wallets
|
|
34
|
+
Promise.all([
|
|
35
|
+
handleDisconnect(wagmiConfig),
|
|
36
|
+
handleDisconnect(bigmiConfig),
|
|
37
|
+
solanaDisconnect(),
|
|
38
|
+
suiDisconnect(),
|
|
39
|
+
]);
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=use-account-disconnect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-account-disconnect.js","sourceRoot":"","sources":["../../src/hooks/use-account-disconnect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAExD,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAGtD,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,SAAS,EAAE,CAAA;IACpD,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,mBAAmB,EAAE,CAAA;IAE5D,MAAM,gBAAgB,GAAG,KAAK,EAAE,MAAc,EAAE,EAAE;QAChD,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;QAC3C,IAAI,gBAAgB,CAAC,SAAS,EAAE,CAAC;YAC/B,MAAM,UAAU,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAA;QACrE,CAAC;IACH,CAAC,CAAA;IAED,OAAO,KAAK,EAAE,OAAiB,EAAE,EAAE;QACjC,QAAQ,OAAO,EAAE,SAAS,EAAE,CAAC;YAC3B,KAAK,SAAS,CAAC,GAAG;gBAChB,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAA;gBACnC,MAAK;YACP,KAAK,SAAS,CAAC,IAAI;gBACjB,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAA;gBACnC,MAAK;YACP,KAAK,SAAS,CAAC,GAAG;gBAChB,MAAM,gBAAgB,EAAE,CAAA;gBACxB,MAAK;YACP,KAAK,SAAS,CAAC,GAAG;gBAChB,MAAM,aAAa,EAAE,CAAA;gBACrB,MAAK;YACP;gBACE,yBAAyB;gBACzB,OAAO,CAAC,GAAG,CAAC;oBACV,gBAAgB,CAAC,WAAW,CAAC;oBAC7B,gBAAgB,CAAC,WAAW,CAAC;oBAC7B,gBAAgB,EAAE;oBAClB,aAAa,EAAE;iBAChB,CAAC,CAAA;QACN,CAAC;IACH,CAAC,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ChainType } from "@coin-voyage/shared/common";
|
|
2
|
+
import type { Connector } from "wagmi";
|
|
3
|
+
import type { WalletAdapterExtended } from "../lib/connectors/types";
|
|
4
|
+
import type { WalletProps } from "../types/wallet";
|
|
5
|
+
import { SuiConnector } from "../types/wallet-connector";
|
|
6
|
+
export interface AccountBase<CT extends ChainType, ConnectorType = undefined> {
|
|
7
|
+
address?: string;
|
|
8
|
+
addresses?: readonly string[];
|
|
9
|
+
chainId?: number;
|
|
10
|
+
chainType: CT;
|
|
11
|
+
connector?: ConnectorType;
|
|
12
|
+
isConnected: boolean;
|
|
13
|
+
isConnecting: boolean;
|
|
14
|
+
isDisconnected: boolean;
|
|
15
|
+
isReconnecting: boolean;
|
|
16
|
+
status: "connected" | "reconnecting" | "connecting" | "disconnected";
|
|
17
|
+
}
|
|
18
|
+
export type EVMAccount = AccountBase<ChainType.EVM, Connector>;
|
|
19
|
+
export type SOLANAAccount = AccountBase<ChainType.SOL, WalletAdapterExtended>;
|
|
20
|
+
export type UTXOAccount = AccountBase<ChainType.UTXO, Connector>;
|
|
21
|
+
export type SUIAccount = AccountBase<ChainType.SUI, SuiConnector>;
|
|
22
|
+
export type DefaultAccount = AccountBase<ChainType>;
|
|
23
|
+
export type Account = EVMAccount | SOLANAAccount | UTXOAccount | SUIAccount | DefaultAccount;
|
|
24
|
+
export interface AccountResult {
|
|
25
|
+
account: Account;
|
|
26
|
+
/**
|
|
27
|
+
* Connected accounts
|
|
28
|
+
*/
|
|
29
|
+
accounts: Account[];
|
|
30
|
+
}
|
|
31
|
+
interface UseAccountArgs {
|
|
32
|
+
selectedWallet: WalletProps | undefined;
|
|
33
|
+
chainType: ChainType | undefined;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @param args When we provide args we want to return either account with corresponding chainType or default disconnected one
|
|
37
|
+
* @returns - Account result
|
|
38
|
+
*/
|
|
39
|
+
export declare const useAccount: (args?: UseAccountArgs) => AccountResult;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { useConfig as useBigmiConfig } from "@bigmi/react";
|
|
2
|
+
import { ChainId, ChainType } from "@coin-voyage/shared/common";
|
|
3
|
+
import { useCurrentAccount, useCurrentWallet } from "@mysten/dapp-kit";
|
|
4
|
+
import { useWallet } from "@solana/wallet-adapter-react";
|
|
5
|
+
import { useMemo } from "react";
|
|
6
|
+
import { useAccount as useAccountInternal } from "wagmi";
|
|
7
|
+
import { extendsWalletAdapter } from "../lib/connectors/utils";
|
|
8
|
+
import { getConnector } from "../lib/utils/connector";
|
|
9
|
+
const defaultAccount = {
|
|
10
|
+
chainType: ChainType.EVM,
|
|
11
|
+
isConnected: false,
|
|
12
|
+
isConnecting: false,
|
|
13
|
+
isReconnecting: false,
|
|
14
|
+
isDisconnected: true,
|
|
15
|
+
status: "disconnected",
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* @param args When we provide args we want to return either account with corresponding chainType or default disconnected one
|
|
19
|
+
* @returns - Account result
|
|
20
|
+
*/
|
|
21
|
+
export const useAccount = (args) => {
|
|
22
|
+
const bigmiConfig = useBigmiConfig();
|
|
23
|
+
const bigmiAccount = useAccountInternal({ config: bigmiConfig });
|
|
24
|
+
const wagmiAccount = useAccountInternal();
|
|
25
|
+
const { wallet } = useWallet();
|
|
26
|
+
const suiWallet = useCurrentWallet();
|
|
27
|
+
const suiAccount = useCurrentAccount();
|
|
28
|
+
const lastConnectedAccount = args?.selectedWallet
|
|
29
|
+
? getConnector(args?.selectedWallet.connectors, args?.chainType)
|
|
30
|
+
: undefined;
|
|
31
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies:
|
|
32
|
+
return useMemo(() => {
|
|
33
|
+
const solana = wallet?.adapter.publicKey
|
|
34
|
+
? {
|
|
35
|
+
address: wallet?.adapter.publicKey.toString(),
|
|
36
|
+
chainId: ChainId.SOL,
|
|
37
|
+
chainType: ChainType.SOL,
|
|
38
|
+
connector: extendsWalletAdapter(wallet.adapter, wallet.adapter.name),
|
|
39
|
+
isConnected: Boolean(wallet?.adapter.publicKey),
|
|
40
|
+
isConnecting: false,
|
|
41
|
+
isReconnecting: false,
|
|
42
|
+
isDisconnected: !wallet,
|
|
43
|
+
status: "connected",
|
|
44
|
+
}
|
|
45
|
+
: {
|
|
46
|
+
chainType: ChainType.SOL,
|
|
47
|
+
isConnected: false,
|
|
48
|
+
isConnecting: false,
|
|
49
|
+
isReconnecting: false,
|
|
50
|
+
isDisconnected: true,
|
|
51
|
+
status: "disconnected",
|
|
52
|
+
};
|
|
53
|
+
const sui = suiAccount
|
|
54
|
+
? {
|
|
55
|
+
address: suiAccount.address,
|
|
56
|
+
chainId: ChainId.SUI,
|
|
57
|
+
chainType: ChainType.SUI,
|
|
58
|
+
connector: suiWallet.currentWallet ?? undefined,
|
|
59
|
+
isConnected: Boolean(suiWallet.connectionStatus === "connected"),
|
|
60
|
+
isConnecting: false,
|
|
61
|
+
isReconnecting: false,
|
|
62
|
+
isDisconnected: !suiWallet,
|
|
63
|
+
status: "connected",
|
|
64
|
+
}
|
|
65
|
+
: {
|
|
66
|
+
chainType: ChainType.SUI,
|
|
67
|
+
isConnected: false,
|
|
68
|
+
isConnecting: false,
|
|
69
|
+
isReconnecting: false,
|
|
70
|
+
isDisconnected: true,
|
|
71
|
+
status: "disconnected",
|
|
72
|
+
};
|
|
73
|
+
const evm = { ...wagmiAccount, chainType: ChainType.EVM };
|
|
74
|
+
const utxo = { ...bigmiAccount, chainType: ChainType.UTXO };
|
|
75
|
+
const accounts = [evm, solana, sui, utxo];
|
|
76
|
+
const connectedAccounts = accounts.filter((account) => account.isConnected && account.address);
|
|
77
|
+
// If a chainType argument is provided, attempt to find a connected account with the matching chainType.
|
|
78
|
+
// If no matching account is found, fallback to the default account.
|
|
79
|
+
// If no chainType argument, selectedAccount should be used.
|
|
80
|
+
const selectedChainTypeAccount = args?.chainType
|
|
81
|
+
? connectedAccounts.find((account) => account.chainType === args?.chainType) || defaultAccount
|
|
82
|
+
: undefined;
|
|
83
|
+
// If lastConnectedAccount exists, attempt to find a connected account with a matching connector ID or name.
|
|
84
|
+
// If no matching account is found, fallback to the first connected account.
|
|
85
|
+
// If lastConnectedAccount is not present, simply select the first connected account.
|
|
86
|
+
const selectedAccount = lastConnectedAccount
|
|
87
|
+
? connectedAccounts.find((account) => {
|
|
88
|
+
const connectorIdMatch = lastConnectedAccount?.id ===
|
|
89
|
+
account.connector?.id;
|
|
90
|
+
const connectorNameMatch = !lastConnectedAccount?.id &&
|
|
91
|
+
lastConnectedAccount?.name ===
|
|
92
|
+
account.connector?.name;
|
|
93
|
+
return connectorIdMatch || connectorNameMatch;
|
|
94
|
+
}) || connectedAccounts[0]
|
|
95
|
+
: connectedAccounts[0];
|
|
96
|
+
return {
|
|
97
|
+
account: selectedChainTypeAccount || selectedAccount || defaultAccount,
|
|
98
|
+
// We need to return only connected account list
|
|
99
|
+
accounts: connectedAccounts,
|
|
100
|
+
};
|
|
101
|
+
}, [
|
|
102
|
+
wallet?.adapter.publicKey,
|
|
103
|
+
wagmiAccount.connector?.uid,
|
|
104
|
+
wagmiAccount.connector?.id,
|
|
105
|
+
wagmiAccount.status,
|
|
106
|
+
wagmiAccount.address,
|
|
107
|
+
wagmiAccount.chainId,
|
|
108
|
+
bigmiAccount.connector?.uid,
|
|
109
|
+
bigmiAccount.connector?.id,
|
|
110
|
+
bigmiAccount.status,
|
|
111
|
+
bigmiAccount.address,
|
|
112
|
+
bigmiAccount.chainId,
|
|
113
|
+
args?.chainType,
|
|
114
|
+
lastConnectedAccount,
|
|
115
|
+
]);
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=use-account.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-account.js","sourceRoot":"","sources":["../../src/hooks/use-account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,cAAc,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAE/B,OAAO,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAExD,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AA2CrD,MAAM,cAAc,GAA2B;IAC7C,SAAS,EAAE,SAAS,CAAC,GAAG;IACxB,WAAW,EAAE,KAAK;IAClB,YAAY,EAAE,KAAK;IACnB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,IAAI;IACpB,MAAM,EAAE,cAAc;CACvB,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAqB,EAAiB,EAAE;IACjE,MAAM,WAAW,GAAG,cAAc,EAAE,CAAA;IACpC,MAAM,YAAY,GAAG,kBAAkB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAA;IAChE,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAA;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAC9B,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAA;IACpC,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAA;IAEtC,MAAM,oBAAoB,GAAG,IAAI,EAAE,cAAc;QAC/C,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;QAChE,CAAC,CAAC,SAAS,CAAA;IACb,2DAA2D;IAC3D,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,MAAM,MAAM,GAAY,MAAM,EAAE,OAAO,CAAC,SAAS;YAC/C,CAAC,CAAC;gBACA,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;gBAC7C,OAAO,EAAE,OAAO,CAAC,GAAG;gBACpB,SAAS,EAAE,SAAS,CAAC,GAAG;gBACxB,SAAS,EAAE,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;gBACpE,WAAW,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;gBAC/C,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,CAAC,MAAM;gBACvB,MAAM,EAAE,WAAW;aACpB;YACD,CAAC,CAAC;gBACA,SAAS,EAAE,SAAS,CAAC,GAAG;gBACxB,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,IAAI;gBACpB,MAAM,EAAE,cAAc;aACvB,CAAA;QACH,MAAM,GAAG,GAAY,UAAU;YAC7B,CAAC,CAAC;gBACA,OAAO,EAAE,UAAU,CAAC,OAAO;gBAC3B,OAAO,EAAE,OAAO,CAAC,GAAG;gBACpB,SAAS,EAAE,SAAS,CAAC,GAAG;gBACxB,SAAS,EAAE,SAAS,CAAC,aAAa,IAAI,SAAS;gBAC/C,WAAW,EAAE,OAAO,CAAC,SAAS,CAAC,gBAAgB,KAAK,WAAW,CAAC;gBAChE,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,CAAC,SAAS;gBAC1B,MAAM,EAAE,WAAW;aACpB;YACD,CAAC,CAAC;gBACA,SAAS,EAAE,SAAS,CAAC,GAAG;gBACxB,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,KAAK;gBACnB,cAAc,EAAE,KAAK;gBACrB,cAAc,EAAE,IAAI;gBACpB,MAAM,EAAE,cAAc;aACvB,CAAA;QACH,MAAM,GAAG,GAAY,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,GAAG,EAAE,CAAA;QAClE,MAAM,IAAI,GAAY,EAAE,GAAG,YAAY,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,EAAE,CAAA;QACpE,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAA;QACzC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,MAAM,CACvC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,CACpD,CAAA;QAED,wGAAwG;QACxG,oEAAoE;QACpE,4DAA4D;QAC5D,MAAM,wBAAwB,GAAG,IAAI,EAAE,SAAS;YAC9C,CAAC,CAAC,iBAAiB,CAAC,IAAI,CACtB,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,SAAS,CACnD,IAAI,cAAc;YACnB,CAAC,CAAC,SAAS,CAAA;QAEb,4GAA4G;QAC5G,4EAA4E;QAC5E,qFAAqF;QACrF,MAAM,eAAe,GAAG,oBAAoB;YAC1C,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;gBACnC,MAAM,gBAAgB,GACnB,oBAAkC,EAAE,EAAE;oBACtC,OAAO,CAAC,SAAuB,EAAE,EAAE,CAAA;gBACtC,MAAM,kBAAkB,GACtB,CAAE,oBAAkC,EAAE,EAAE;oBACvC,oBAA8C,EAAE,IAAI;wBACrD,OAAO,CAAC,SAAS,EAAE,IAAI,CAAA;gBACzB,OAAO,gBAAgB,IAAI,kBAAkB,CAAA;YAC/C,CAAC,CAAC,IAAI,iBAAiB,CAAC,CAAC,CAAC;YAC1B,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAA;QAExB,OAAO;YACL,OAAO,EAAE,wBAAwB,IAAI,eAAe,IAAI,cAAc;YACtE,gDAAgD;YAChD,QAAQ,EAAE,iBAAiB;SAC5B,CAAA;IACH,CAAC,EAAE;QACD,MAAM,EAAE,OAAO,CAAC,SAAS;QACzB,YAAY,CAAC,SAAS,EAAE,GAAG;QAC3B,YAAY,CAAC,SAAS,EAAE,EAAE;QAC1B,YAAY,CAAC,MAAM;QACnB,YAAY,CAAC,OAAO;QACpB,YAAY,CAAC,OAAO;QACpB,YAAY,CAAC,SAAS,EAAE,GAAG;QAC3B,YAAY,CAAC,SAAS,EAAE,EAAE;QAC1B,YAAY,CAAC,MAAM;QACnB,YAAY,CAAC,OAAO;QACpB,YAAY,CAAC,OAAO;QACpB,IAAI,EAAE,SAAS;QACf,oBAAoB;KACrB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ChainType } from "@coin-voyage/shared/common";
|
|
2
|
+
import type { ChainTypeWalletConnector } from "../types/wallet";
|
|
3
|
+
export type CombinedWallet = {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
icon?: string;
|
|
7
|
+
connectors: ChainTypeWalletConnector[];
|
|
8
|
+
};
|
|
9
|
+
export declare const useCombinedWallets: (filterChainType?: ChainType) => {
|
|
10
|
+
installedWallets: CombinedWallet[];
|
|
11
|
+
};
|
|
12
|
+
export declare const walletComparator: (a: CombinedWallet, b: CombinedWallet) => number;
|