@coin-voyage/crypto 0.0.20 → 0.0.22-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.
Files changed (89) hide show
  1. package/dist/evm/{base-provider.d.ts → provider/base-provider.d.ts} +1 -1
  2. package/dist/evm/{base-provider.js → provider/base-provider.js} +1 -1
  3. package/dist/evm/provider/base-provider.js.map +1 -0
  4. package/dist/evm/provider/external-context.js.map +1 -0
  5. package/dist/evm/provider/provider.d.ts +6 -0
  6. package/dist/evm/provider/provider.js +18 -0
  7. package/dist/evm/provider/provider.js.map +1 -0
  8. package/dist/evm/use-evm-transaction.d.ts +2 -2
  9. package/dist/evm/use-evm-transaction.js +6 -8
  10. package/dist/evm/use-evm-transaction.js.map +1 -1
  11. package/dist/evm/use-sign-in-with-evm.d.ts +2 -2
  12. package/dist/evm/use-sign-in-with-evm.js +26 -17
  13. package/dist/evm/use-sign-in-with-evm.js.map +1 -1
  14. package/dist/hooks/use-prepare-transaction.d.ts +2 -2
  15. package/dist/hooks/use-prepare-transaction.js.map +1 -1
  16. package/dist/lib/utils/get-nonce-from-message.d.ts +1 -0
  17. package/dist/lib/utils/get-nonce-from-message.js +5 -0
  18. package/dist/lib/utils/get-nonce-from-message.js.map +1 -0
  19. package/dist/query/provider.d.ts +5 -0
  20. package/dist/query/provider.js +29 -0
  21. package/dist/query/provider.js.map +1 -0
  22. package/dist/solana/private-key-wallet.d.ts +27 -0
  23. package/dist/solana/private-key-wallet.js +80 -0
  24. package/dist/solana/private-key-wallet.js.map +1 -0
  25. package/dist/solana/{base-provider.d.ts → provider/base-provider.d.ts} +2 -2
  26. package/dist/solana/{base-provider.js → provider/base-provider.js} +3 -2
  27. package/dist/solana/provider/base-provider.js.map +1 -0
  28. package/dist/solana/provider/external-context.js.map +1 -0
  29. package/dist/solana/provider/provider.d.ts +6 -0
  30. package/dist/solana/provider/provider.js +18 -0
  31. package/dist/solana/provider/provider.js.map +1 -0
  32. package/dist/solana/use-solana-transaction.d.ts +2 -2
  33. package/dist/solana/use-solana-transaction.js +8 -7
  34. package/dist/solana/use-solana-transaction.js.map +1 -1
  35. package/dist/sui/{base-provider.d.ts → provider/base-provider.d.ts} +2 -2
  36. package/dist/sui/{base-provider.js → provider/base-provider.js} +1 -1
  37. package/dist/sui/provider/base-provider.js.map +1 -0
  38. package/dist/sui/provider/external-context.js.map +1 -0
  39. package/dist/sui/provider/provider.d.ts +6 -0
  40. package/dist/sui/provider/provider.js +18 -0
  41. package/dist/sui/provider/provider.js.map +1 -0
  42. package/dist/sui/provider.d.ts +9 -0
  43. package/dist/sui/provider.js +18 -0
  44. package/dist/sui/provider.js.map +1 -0
  45. package/dist/sui/use-sign-in-with-sui.d.ts +2 -2
  46. package/dist/sui/use-sign-in-with-sui.js +16 -10
  47. package/dist/sui/use-sign-in-with-sui.js.map +1 -1
  48. package/dist/sui/use-sui-transaction.d.ts +2 -2
  49. package/dist/sui/use-sui-transaction.js +10 -11
  50. package/dist/sui/use-sui-transaction.js.map +1 -1
  51. package/dist/types/sign-in-with.d.ts +8 -8
  52. package/dist/types/transaction.d.ts +10 -0
  53. package/dist/types/transaction.js +2 -0
  54. package/dist/types/transaction.js.map +1 -0
  55. package/dist/types/wallet.d.ts +13 -11
  56. package/dist/utxo/{create-default-bigmi-config.d.ts → create-default-utxo-config.d.ts} +3 -3
  57. package/dist/utxo/{create-default-bigmi-config.js → create-default-utxo-config.js} +2 -2
  58. package/dist/utxo/create-default-utxo-config.js.map +1 -0
  59. package/dist/utxo/{base-provider.d.ts → provider/base-provider.d.ts} +2 -2
  60. package/dist/utxo/{base-provider.js → provider/base-provider.js} +1 -1
  61. package/dist/utxo/provider/base-provider.js.map +1 -0
  62. package/dist/utxo/provider/external-context.js.map +1 -0
  63. package/dist/utxo/provider/provider.d.ts +6 -0
  64. package/dist/utxo/provider/provider.js +19 -0
  65. package/dist/utxo/provider/provider.js.map +1 -0
  66. package/dist/utxo/use-utxo-transaction.d.ts +2 -2
  67. package/dist/utxo/use-utxo-transaction.js +4 -3
  68. package/dist/utxo/use-utxo-transaction.js.map +1 -1
  69. package/dist/wallets/wallet-provider.d.ts +7 -0
  70. package/dist/wallets/wallet-provider.js +10 -0
  71. package/dist/wallets/wallet-provider.js.map +1 -0
  72. package/package.json +9 -1
  73. package/dist/evm/base-provider.js.map +0 -1
  74. package/dist/evm/external-context.js.map +0 -1
  75. package/dist/solana/base-provider.js.map +0 -1
  76. package/dist/solana/external-context.js.map +0 -1
  77. package/dist/sui/base-provider.js.map +0 -1
  78. package/dist/sui/external-context.js.map +0 -1
  79. package/dist/utxo/base-provider.js.map +0 -1
  80. package/dist/utxo/create-default-bigmi-config.js.map +0 -1
  81. package/dist/utxo/external-context.js.map +0 -1
  82. /package/dist/evm/{external-context.d.ts → provider/external-context.d.ts} +0 -0
  83. /package/dist/evm/{external-context.js → provider/external-context.js} +0 -0
  84. /package/dist/solana/{external-context.d.ts → provider/external-context.d.ts} +0 -0
  85. /package/dist/solana/{external-context.js → provider/external-context.js} +0 -0
  86. /package/dist/sui/{external-context.d.ts → provider/external-context.d.ts} +0 -0
  87. /package/dist/sui/{external-context.js → provider/external-context.js} +0 -0
  88. /package/dist/utxo/{external-context.d.ts → provider/external-context.d.ts} +0 -0
  89. /package/dist/utxo/{external-context.js → provider/external-context.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { type PropsWithChildren } from "react";
2
- import { DefaultWagmiConfigProps } from "./create-default-evm-config";
2
+ import { DefaultWagmiConfigProps } from "../create-default-evm-config";
3
3
  export declare function EVMBaseProvider({ children, config }: PropsWithChildren<{
4
4
  config?: DefaultWagmiConfigProps;
5
5
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useMemo } from "react";
3
3
  import { WagmiProvider } from "wagmi";
4
- import { createDefaultEVMConfig } from "./create-default-evm-config";
4
+ import { createDefaultEVMConfig } from "../create-default-evm-config";
5
5
  export function EVMBaseProvider({ children, config }) {
6
6
  const evmConfig = useMemo(() => createDefaultEVMConfig(config), [JSON.stringify(config)]);
7
7
  return (_jsx(WagmiProvider, { config: evmConfig.config, reconnectOnMount: false, children: children }));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../src/evm/provider/base-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAA0B,MAAM,OAAO,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AACrC,OAAO,EAEL,sBAAsB,EACvB,MAAM,8BAA8B,CAAA;AAErC,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAEhD;IACA,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACzF,OAAO,CACL,KAAC,aAAa,IAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,YAC7D,QAAQ,GACK,CACjB,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-context.js","sourceRoot":"","sources":["../../../src/evm/provider/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"}
@@ -0,0 +1,6 @@
1
+ import { DefaultWagmiConfigProps } from "../create-default-evm-config";
2
+ import { type PropsWithChildren } from "react";
3
+ export declare function useInWagmiContext(): boolean;
4
+ export declare function EVMProvider({ children, config }: PropsWithChildren<{
5
+ config?: DefaultWagmiConfigProps;
6
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { EVMExternalContext } from "./external-context";
3
+ import { EVMBaseProvider } from "./base-provider";
4
+ import { useConfig } from "wagmi";
5
+ export function useInWagmiContext() {
6
+ try {
7
+ const config = useConfig();
8
+ return Boolean(config);
9
+ }
10
+ catch {
11
+ return false;
12
+ }
13
+ }
14
+ export function EVMProvider({ children, config }) {
15
+ const inWagmiContext = useInWagmiContext();
16
+ return inWagmiContext ? (_jsx(EVMExternalContext.Provider, { value: inWagmiContext, children: children })) : (_jsx(EVMBaseProvider, { config: config, children: children }));
17
+ }
18
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/evm/provider/provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEjD,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEjC,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,EAAE,CAAA;QAC1B,OAAO,OAAO,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAA2D;IACvG,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAA;IAC1C,OAAO,cAAc,CAAC,CAAC,CAAC,CACtB,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,cAAc,YAC/C,QAAQ,GACmB,CAC/B,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,YAAG,QAAQ,GAAmB,CAC9D,CAAA;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { PaymentDetails } from "@coin-voyage/shared/types/api";
1
+ import { ExecuteTransaction } from "../types/transaction";
2
2
  export declare function useEVMTransaction(): {
3
- execute: (paymentDetails: PaymentDetails) => Promise<string>;
3
+ execute: (params: ExecuteTransaction) => Promise<string>;
4
4
  };
@@ -3,12 +3,11 @@ import { useSendTransaction, useWriteContract } from "wagmi";
3
3
  export function useEVMTransaction() {
4
4
  const { writeContractAsync } = useWriteContract();
5
5
  const { sendTransactionAsync } = useSendTransaction();
6
- const execute = async (paymentDetails) => {
7
- const value = BigInt(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;
11
- if (isNative) {
6
+ const execute = async (params) => {
7
+ const { chainId, toAddress, amount, token } = params;
8
+ const value = BigInt(amount);
9
+ const to = toAddress;
10
+ if (!token) {
12
11
  const tx = await sendTransactionAsync({
13
12
  to,
14
13
  value,
@@ -16,10 +15,9 @@ export function useEVMTransaction() {
16
15
  });
17
16
  return tx;
18
17
  }
19
- const contractAddress = paymentDetails.source_currency.address;
20
18
  const tx = await writeContractAsync({
21
19
  abi: erc20Abi,
22
- address: contractAddress,
20
+ address: token.address,
23
21
  functionName: "transfer",
24
22
  chainId,
25
23
  args: [to, value],
@@ -1 +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,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;QAC7D,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;QAEvD,IAAI,QAAQ,EAAE,CAAC;YACX,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC;gBAClC,EAAE;gBACF,KAAK;gBACL,OAAO;aACV,CAAC,CAAC;YACH,OAAO,EAAY,CAAA;QACvB,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
+ {"version":3,"file":"use-evm-transaction.js","sourceRoot":"","sources":["../../src/evm/use-evm-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAG7D,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,MAA0B,EAAE,EAAE;QACjD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;QAC5B,MAAM,EAAE,GAAG,SAAoB,CAAA;QAE/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC;gBAClC,EAAE;gBACF,KAAK;gBACL,OAAO;aACV,CAAC,CAAC;YACH,OAAO,EAAY,CAAA;QACvB,CAAC;QACD,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC;YAChC,GAAG,EAAE,QAAQ;YACb,OAAO,EAAE,KAAK,CAAC,OAAkB;YACjC,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,6 +1,6 @@
1
+ import type { BaseConnector } from "../types/base-connector";
1
2
  import { SignInWith } from "../types/sign-in-with";
2
- import { BaseConnector } from "../types/base-connector";
3
- export declare function useSignInWithEvm({ signIn, callbackUrl }: SignInWith): {
3
+ export declare function useSignInWithEvm({ signIn, onError, generateNonce }: SignInWith): {
4
4
  onSelect: (id: string) => Promise<void>;
5
5
  wallets: BaseConnector[];
6
6
  };
@@ -1,46 +1,55 @@
1
- import { useAccount, useConfig, useConnect, useConnectors, useSignMessage } from "wagmi";
1
+ import { randomStringForEntropy } from "@stablelib/random";
2
+ import { useCallback, useEffect, useState } from "react";
3
+ import { useAccount, useConnect, useConnectors, useSignMessage } from "wagmi";
2
4
  import { isWalletInstalled } from "../lib/utils/is-wallet-installed";
3
5
  import { toMessage } from "../lib/utils/message";
4
6
  import { toBaseConnector } from "./utils";
5
- export function useSignInWithEvm({ signIn, callbackUrl }) {
6
- const { address, connector } = useAccount();
7
+ export function useSignInWithEvm({ signIn, onError, generateNonce }) {
8
+ const { address, connector, isConnected } = useAccount();
7
9
  const { connectAsync } = useConnect();
8
- const connectors = useConnectors();
9
- const wagmiConnectors = useConfig().connectors;
10
- const wallets = Array.from(wagmiConnectors).filter((c) => isWalletInstalled(c.id)).map(toBaseConnector);
11
10
  const { signMessageAsync } = useSignMessage();
12
- const handleSignature = async (address) => {
11
+ const connectors = useConnectors();
12
+ const [wallets, setWallets] = useState([]);
13
+ const handleSignature = useCallback(async (address) => {
14
+ const nonce = generateNonce ? await generateNonce() : randomStringForEntropy(96);
13
15
  const msg = {
14
16
  domain: window.location.host,
15
17
  address,
16
18
  statement: "Sign in with Ethereum to CoinVoyage.io",
17
19
  uri: window.location.origin,
18
- nonce: Math.random().toString(),
20
+ nonce,
19
21
  version: "1"
20
22
  };
21
23
  const message = toMessage(msg, "Ethereum");
22
- const signature = await signMessageAsync({ message });
23
- signIn("ethereum", {
24
+ const signature = await signMessageAsync({ message }, {
25
+ onError
26
+ });
27
+ signIn({
24
28
  address,
25
29
  message,
26
30
  domain: window.location.host,
27
31
  signature,
28
- callbackUrl: callbackUrl ?? "/"
29
32
  });
30
- };
31
- const onSelect = async (id) => {
33
+ }, [generateNonce, onError, signIn, signMessageAsync]);
34
+ useEffect(() => {
35
+ const installedWallets = Array.from(connectors)
36
+ .filter((c) => isWalletInstalled(c.id))
37
+ .map(toBaseConnector);
38
+ setWallets(installedWallets);
39
+ }, [connectors]);
40
+ const onSelect = useCallback(async (id) => {
32
41
  const selectedConnector = connectors.find((w) => w.id === id);
33
42
  if (!selectedConnector)
34
43
  return;
35
- if (connector?.id === selectedConnector.id && address) {
36
- handleSignature(address);
44
+ if (connector?.id === selectedConnector.id && isConnected && address) {
45
+ await handleSignature(address);
37
46
  return;
38
47
  }
39
48
  const res = await connectAsync({ connector: selectedConnector });
40
49
  if (!res.accounts[0])
41
50
  return;
42
- handleSignature(res.accounts[0]);
43
- };
51
+ await handleSignature(res.accounts[0]);
52
+ }, [address, connector?.id, connectors, connectAsync, handleSignature, isConnected]);
44
53
  return { onSelect, wallets };
45
54
  }
46
55
  //# sourceMappingURL=use-sign-in-with-evm.js.map
@@ -1 +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,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACzF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,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;IACtC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAElC,MAAM,eAAe,GAAG,SAAS,EAAE,CAAC,UAAU,CAAA;IAC9C,MAAM,OAAO,GACT,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC5F,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,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/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,OAAO,EAAE,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"use-sign-in-with-evm.js","sourceRoot":"","sources":["../../src/evm/use-sign-in-with-evm.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ChainType } from "@coin-voyage/shared/common";
2
- import { PaymentDetails } from "@coin-voyage/shared/types/api";
2
+ import { ExecuteTransaction } from "../types/transaction";
3
3
  export declare function usePrepareTransaction(chainType?: ChainType): {
4
- execute: (paymentDetails: PaymentDetails) => Promise<string | undefined>;
4
+ execute: (params: ExecuteTransaction) => Promise<string | undefined>;
5
5
  } | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"use-prepare-transaction.js","sourceRoot":"","sources":["../../src/hooks/use-prepare-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,UAAU,qBAAqB,CAAC,SAAqB;IAGzD,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAElC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,CAAC;QACb,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,CAAC;QACb,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,CAAA;QACZ,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,IAAI,CAAA;QACb;YACE,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"use-prepare-transaction.js","sourceRoot":"","sources":["../../src/hooks/use-prepare-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGlE,MAAM,UAAU,qBAAqB,CAAC,SAAqB;IAGzD,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,MAAM,GAAG,GAAG,oBAAoB,EAAE,CAAC;IACnC,MAAM,GAAG,GAAG,iBAAiB,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAElC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,CAAC;QACb,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,CAAC;QACb,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,CAAA;QACZ,KAAK,SAAS,CAAC,IAAI;YACjB,OAAO,IAAI,CAAA;QACb;YACE,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function getNonceFromMessage(message: string): string | null;
@@ -0,0 +1,5 @@
1
+ export function getNonceFromMessage(message) {
2
+ const nonceMatch = message.match(/Nonce:\s*([^\n]+)/);
3
+ return nonceMatch ? nonceMatch[1].trim() : null;
4
+ }
5
+ //# sourceMappingURL=get-nonce-from-message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-nonce-from-message.js","sourceRoot":"","sources":["../../../src/lib/utils/get-nonce-from-message.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,mBAAmB,CAAC,OAAe;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACpD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { QueryClient } from "@tanstack/react-query";
2
+ import { PropsWithChildren } from "react";
3
+ export declare const queryClient: QueryClient;
4
+ export declare const QueryExternalContext: import("react").Context<boolean>;
5
+ export declare function QueryProvider({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,29 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { QueryClient, QueryClientContext, QueryClientProvider } from "@tanstack/react-query";
3
+ import { createContext, useContext } from "react";
4
+ export const queryClient = new QueryClient({
5
+ defaultOptions: {
6
+ queries: {
7
+ enabled: true,
8
+ refetchInterval: false,
9
+ refetchIntervalInBackground: false,
10
+ refetchOnWindowFocus: true,
11
+ refetchOnReconnect: true,
12
+ refetchOnMount: true,
13
+ retryOnMount: true,
14
+ // suspense: true,
15
+ },
16
+ mutations: {
17
+ onError: (_error) => {
18
+ //
19
+ },
20
+ },
21
+ },
22
+ });
23
+ export const QueryExternalContext = createContext(false);
24
+ export function QueryProvider({ children }) {
25
+ const context = useContext(QueryClientContext);
26
+ const inContext = Boolean(context);
27
+ return inContext ? (_jsx(QueryExternalContext.Provider, { value: inContext, children: children })) : (_jsx(QueryClientProvider, { client: queryClient, children: children }));
28
+ }
29
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/query/provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAqB,UAAU,EAAE,MAAM,OAAO,CAAC;AAErE,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;IACzC,cAAc,EAAE;QACd,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,eAAe,EAAE,KAAK;YACtB,2BAA2B,EAAE,KAAK;YAClC,oBAAoB,EAAE,IAAI;YAC1B,kBAAkB,EAAE,IAAI;YACxB,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;YAClB,kBAAkB;SACnB;QACD,SAAS,EAAE;YACT,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;gBAClB,EAAE;YACJ,CAAC;SACF;KACF;CACF,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAU,KAAK,CAAC,CAAC;AAElE,MAAM,UAAU,aAAa,CAAC,EAAE,QAAQ,EAAqB;IAC3D,MAAM,OAAO,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAClC,OAAO,SAAS,CAAC,CAAC,CAAC,CACjB,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,SAAS,YAAG,QAAQ,GAAiC,CAC5F,CAAC,CAAC,CAAC,CACF,KAAC,mBAAmB,IAAC,MAAM,EAAE,WAAW,YAAG,QAAQ,GAAuB,CAC3E,CAAA;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { Adapter, WalletName } from '@solana/wallet-adapter-base';
2
+ import { BaseSignInMessageSignerWalletAdapter, WalletReadyState } from '@solana/wallet-adapter-base';
3
+ import { type SolanaSignInInput, type SolanaSignInOutput } from '@solana/wallet-standard-features';
4
+ import type { Transaction, TransactionVersion, VersionedTransaction } from '@solana/web3.js';
5
+ export declare const PrivateKeyWalletName: WalletName<"PrivateKey Wallet">;
6
+ export type PrivateKeyWalletAdapter = {
7
+ adapter: Adapter & {};
8
+ readyState: WalletReadyState;
9
+ };
10
+ export declare class PrivateKeyWallet extends BaseSignInMessageSignerWalletAdapter {
11
+ name: WalletName<"PrivateKey Wallet">;
12
+ url: string;
13
+ icon: string;
14
+ supportedTransactionVersions: ReadonlySet<TransactionVersion>;
15
+ private _connecting;
16
+ private _keypair?;
17
+ constructor();
18
+ get connecting(): boolean;
19
+ get publicKey(): import("@solana/web3.js").PublicKey | null;
20
+ get readyState(): WalletReadyState;
21
+ injectSecretKey(secretKey: Uint8Array<ArrayBufferLike>): Promise<void>;
22
+ connect(): Promise<void>;
23
+ disconnect(): Promise<void>;
24
+ signTransaction<T extends Transaction | VersionedTransaction>(transaction: T): Promise<T>;
25
+ signMessage(message: Uint8Array): Promise<Uint8Array>;
26
+ signIn(input?: SolanaSignInInput): Promise<SolanaSignInOutput>;
27
+ }
@@ -0,0 +1,80 @@
1
+ import { sign } from '@noble/ed25519';
2
+ import { BaseSignInMessageSignerWalletAdapter, isVersionedTransaction, WalletNotConnectedError, WalletReadyState, } from '@solana/wallet-adapter-base';
3
+ import { createSignInMessage } from '@solana/wallet-standard-util';
4
+ import { Keypair } from '@solana/web3.js';
5
+ export const PrivateKeyWalletName = "PrivateKeyWallet";
6
+ export class PrivateKeyWallet extends BaseSignInMessageSignerWalletAdapter {
7
+ constructor() {
8
+ super();
9
+ this.name = PrivateKeyWalletName;
10
+ this.url = '';
11
+ this.icon = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNCAxMC42djIuN2wtOS41IDE2LjVoLTQuNmw2LTEwLjVhMi4xIDIuMSAwIDEgMCAyLTMuNGw0LjgtOC4zYTQgNCAwIDAgMSAxLjMgM1ptLTQuMyAxOS4xaC0uNmw0LjktOC40djQuMmMwIDIuMy0yIDQuMy00LjMgNC4zWm0yLTI4LjRjLS4zLS44LTEtMS4zLTItMS4zaC0xLjlsLTIuNCA0LjNIMzBsMS43LTNabS0zIDVoLTQuNkwxMC42IDI5LjhoNC43TDI4LjggNi40Wk0xOC43IDBoNC42bC0yLjUgNC4zaC00LjZMMTguNiAwWk0xNSA2LjRoNC42TDYgMjkuOEg0LjJjLS44IDAtMS43LS4zLTIuNC0uOEwxNSA2LjRaTTE0IDBIOS40TDcgNC4zaDQuNkwxNCAwWm0tMy42IDYuNEg1LjdMMCAxNi4ydjhMMTAuMyA2LjRaTTQuMyAwaC40TDAgOC4ydi00QzAgMiAxLjkgMCA0LjMgMFoiIGZpbGw9IiM5OTQ1RkYiLz48L3N2Zz4=';
12
+ this.supportedTransactionVersions = new Set(['legacy', 0]);
13
+ this._connecting = false;
14
+ }
15
+ get connecting() {
16
+ return this._connecting;
17
+ }
18
+ get publicKey() {
19
+ return this._keypair?.publicKey || null;
20
+ }
21
+ get readyState() {
22
+ return WalletReadyState.Loadable;
23
+ }
24
+ async injectSecretKey(secretKey) {
25
+ this._keypair = Keypair.fromSecretKey(new Uint8Array(Object.values(secretKey)));
26
+ }
27
+ async connect() {
28
+ if (this.connected || this.connecting)
29
+ return;
30
+ if (!this._keypair)
31
+ throw new Error("Secret key not set. Call `injectSecretKey()` first.");
32
+ this._connecting = true;
33
+ this.emit('connect', this._keypair.publicKey);
34
+ this._connecting = false;
35
+ }
36
+ async disconnect() {
37
+ this.emit('disconnect');
38
+ }
39
+ async signTransaction(transaction) {
40
+ if (!this._keypair)
41
+ throw new WalletNotConnectedError();
42
+ if (isVersionedTransaction(transaction)) {
43
+ transaction.sign([this._keypair]);
44
+ }
45
+ else {
46
+ transaction.partialSign(this._keypair);
47
+ }
48
+ return transaction;
49
+ }
50
+ async signMessage(message) {
51
+ if (!this._keypair)
52
+ throw new WalletNotConnectedError();
53
+ return sign(message, this._keypair.secretKey.slice(0, 32));
54
+ }
55
+ async signIn(input = {}) {
56
+ if (!this._keypair)
57
+ throw new WalletNotConnectedError();
58
+ const { publicKey, secretKey } = this._keypair;
59
+ const domain = input.domain || window.location.host;
60
+ const address = input.address || publicKey.toBase58();
61
+ const signedMessage = createSignInMessage({
62
+ ...input,
63
+ domain,
64
+ address,
65
+ });
66
+ const signature = sign(signedMessage, secretKey.slice(0, 32));
67
+ this.emit('connect', publicKey);
68
+ return {
69
+ account: {
70
+ address,
71
+ publicKey: publicKey.toBytes(),
72
+ chains: [],
73
+ features: [],
74
+ },
75
+ signedMessage,
76
+ signature,
77
+ };
78
+ }
79
+ }
80
+ //# sourceMappingURL=private-key-wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"private-key-wallet.js","sourceRoot":"","sources":["../../src/solana/private-key-wallet.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type PropsWithChildren } from "react";
2
- import { WalletConfiguration } from "../types/wallet";
2
+ import { SolanaWalletConfiguration } from "../../types/wallet";
3
3
  export declare function SolanaBaseProvider({ children, config }: PropsWithChildren<{
4
- config?: WalletConfiguration["solana"];
4
+ config?: SolanaWalletConfiguration;
5
5
  }>): import("react/jsx-runtime").JSX.Element;
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { CoinbaseWalletAdapter } from '@solana/wallet-adapter-coinbase';
2
3
  import { ConnectionProvider, WalletProvider, } from "@solana/wallet-adapter-react";
3
4
  import { useMemo } from "react";
4
5
  const DEFAULT_SOLANA_RPC = "https://proportionate-light-research.solana-mainnet.quiknode.pro/139da87a36c1883d642064c0ebe64ba9819a98cf/";
5
- const wallets = [];
6
+ const wallets = [new CoinbaseWalletAdapter()];
6
7
  export function SolanaBaseProvider({ children, config }) {
7
8
  const solanaConfig = useMemo(() => config, [JSON.stringify(config)]);
8
- return (_jsx(ConnectionProvider, { endpoint: solanaConfig?.rpcUrl ?? DEFAULT_SOLANA_RPC, children: _jsx(WalletProvider, { ...solanaConfig?.walletConfiguration, autoConnect: solanaConfig?.walletConfiguration?.autoConnect || true, wallets: solanaConfig?.walletConfiguration?.wallets || wallets, children: children }) }));
9
+ return (_jsx(ConnectionProvider, { endpoint: solanaConfig?.rpcUrl ?? DEFAULT_SOLANA_RPC, children: _jsx(WalletProvider, { ...solanaConfig?.walletConfiguration, localStorageKey: solanaConfig?.walletConfiguration?.localStorageKey || "coin-voyage-widget-solana-wallet-connection", autoConnect: solanaConfig?.walletConfiguration?.autoConnect || true, wallets: [...solanaConfig?.walletConfiguration?.wallets || [], ...wallets], children: children }) }));
9
10
  }
10
11
  //# sourceMappingURL=base-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../src/solana/provider/base-provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EACL,kBAAkB,EAClB,cAAc,GACf,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,OAAO,EAA0B,MAAM,OAAO,CAAA;AAGvD,MAAM,kBAAkB,GAAG,4GAA4G,CAAA;AAEvI,MAAM,OAAO,GAAc,CAAC,IAAI,qBAAqB,EAAE,CAAC,CAAA;AAExD,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAEnD;IACA,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACpE,OAAO,CACL,KAAC,kBAAkB,IAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,IAAI,kBAAkB,YACtE,KAAC,cAAc,OACT,YAAY,EAAE,mBAAmB,EACrC,eAAe,EAAE,YAAY,EAAE,mBAAmB,EAAE,eAAe,IAAI,6CAA6C,EACpH,WAAW,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,IAAI,IAAI,EACnE,OAAO,EAAE,CAAC,GAAG,YAAY,EAAE,mBAAmB,EAAE,OAAO,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,YAEzE,QAAQ,GACM,GACE,CACtB,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-context.js","sourceRoot":"","sources":["../../../src/solana/provider/external-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAU,KAAK,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { SolanaWalletConfiguration } from "@coin-voyage/crypto/types/wallet";
2
+ import { PropsWithChildren } from "react";
3
+ export declare function useInSolanaContext(): boolean;
4
+ export declare function SolanaProvider({ children, config }: PropsWithChildren<{
5
+ config?: SolanaWalletConfiguration;
6
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useConnection } from "@solana/wallet-adapter-react";
3
+ import { SolanaBaseProvider } from "./base-provider";
4
+ import { SolanaExternalContext } from "./external-context";
5
+ export function useInSolanaContext() {
6
+ try {
7
+ const externalSolanaContext = useConnection();
8
+ return Boolean(externalSolanaContext?.connection);
9
+ }
10
+ catch {
11
+ return false;
12
+ }
13
+ }
14
+ export function SolanaProvider({ children, config }) {
15
+ const inSolanaContext = useInSolanaContext();
16
+ return inSolanaContext ? (_jsx(SolanaExternalContext.Provider, { value: inSolanaContext, children: children })) : (_jsx(SolanaBaseProvider, { config: config, children: children }));
17
+ }
18
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/solana/provider/provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAE1D,MAAM,UAAU,kBAAkB;IAChC,IAAI,CAAC;QACH,MAAM,qBAAqB,GAAG,aAAa,EAAE,CAAA;QAC7C,OAAO,OAAO,CAAC,qBAAqB,EAAE,UAAU,CAAC,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,EAE/C;IACA,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAA;IAC5C,OAAO,eAAe,CAAC,CAAC,CAAC,CACvB,KAAC,qBAAqB,CAAC,QAAQ,IAAC,KAAK,EAAE,eAAe,YACnD,QAAQ,GACsB,CAClC,CAAC,CAAC,CAAC,CACF,KAAC,kBAAkB,IAAC,MAAM,EAAE,MAAM,YAAG,QAAQ,GAAsB,CACpE,CAAA;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type PaymentDetails } from "@coin-voyage/shared/types/api";
1
+ import { ExecuteTransaction } from "../types/transaction";
2
2
  export declare function useSolanaTransaction(): {
3
- execute: (paymentDetails: PaymentDetails) => Promise<string | undefined>;
3
+ execute: (params: ExecuteTransaction) => Promise<string | undefined>;
4
4
  };
@@ -5,19 +5,20 @@ import { getOrCreateAssociatedTokenAccount } from "./get-or-create-ata";
5
5
  export function useSolanaTransaction() {
6
6
  const { connection } = useConnection();
7
7
  const wallet = useWallet();
8
- const execute = async (paymentDetails) => {
8
+ const execute = async (params) => {
9
+ const { fromAddress, toAddress, amount, token } = params;
9
10
  let transaction = new Transaction();
10
- const receiverPubKey = new PublicKey(paymentDetails.deposit_address);
11
- const senderPubKey = new PublicKey(paymentDetails.refund_address);
11
+ const senderPubKey = new PublicKey(fromAddress);
12
+ const receiverPubKey = new PublicKey(toAddress);
12
13
  const instructions = [
13
14
  // add priority fees
14
15
  ComputeBudgetProgram.setComputeUnitPrice({
15
16
  microLamports: 1000000
16
17
  })
17
18
  ];
18
- const value = BigInt(paymentDetails.source_amount.raw_amount);
19
+ const value = BigInt(amount);
19
20
  // Native SOL transfer
20
- if (!paymentDetails.source_currency.address) {
21
+ if (!token) {
21
22
  instructions.push(SystemProgram.transfer({
22
23
  fromPubkey: senderPubKey,
23
24
  toPubkey: receiverPubKey,
@@ -25,7 +26,7 @@ export function useSolanaTransaction() {
25
26
  }));
26
27
  }
27
28
  else {
28
- const mint = new PublicKey(paymentDetails.source_currency.address);
29
+ const mint = new PublicKey(token.address);
29
30
  const payerAta = await getAssociatedTokenAddress(mint, senderPubKey, false);
30
31
  const receiverAta = getAssociatedTokenAddressSync(mint, receiverPubKey, false);
31
32
  const accountOrTransactionInstruction = await getOrCreateAssociatedTokenAccount(connection, senderPubKey, mint, receiverPubKey);
@@ -35,7 +36,7 @@ export function useSolanaTransaction() {
35
36
  instructions.push(createTransferCheckedInstruction(payerAta, // from
36
37
  mint, receiverAta, // to
37
38
  senderPubKey, // from's owner
38
- value, paymentDetails.source_currency.decimals));
39
+ value, token.decimals));
39
40
  }
40
41
  const { context: { slot: minContextSlot }, value: { blockhash } } = await connection.getLatestBlockhashAndContext();
41
42
  transaction.recentBlockhash = blockhash;
@@ -1 +1 @@
1
- {"version":3,"file":"use-solana-transaction.js","sourceRoot":"","sources":["../../src/solana/use-solana-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,WAAW,EACX,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,UAAU,oBAAoB;IAGlC,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,KAAK,EAAE,cAA8B,EAAE,EAAE;QACvD,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAEpC,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACrE,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QAElE,MAAM,YAAY,GAA6B;YAC7C,oBAAoB;YACpB,oBAAoB,CAAC,mBAAmB,CAAC;gBACvC,aAAa,EAAE,OAAS;aACzB,CAAC;SACH,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAE9D,sBAAsB;QACtB,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;YAC5C,YAAY,CAAC,IAAI,CACf,aAAa,CAAC,QAAQ,CAAC;gBACrB,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,KAAK;aAChB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEnE,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,6BAA6B,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YAE/E,MAAM,+BAA+B,GAAG,MAAM,iCAAiC,CAC7E,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,cAAc,CACf,CAAC;YACF,IAAI,+BAA+B,YAAY,sBAAsB,EAAE,CAAC;gBACtE,YAAY,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YAED,YAAY,CAAC,IAAI,CACf,gCAAgC,CAC9B,QAAQ,EAAE,OAAO;YACjB,IAAI,EACJ,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,eAAe;YAC7B,KAAK,EACL,cAAc,CAAC,eAAe,CAAC,QAAQ,CACxC,CACF,CAAC;QACJ,CAAC;QAED,MAAM,EACJ,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EACjC,KAAK,EAAE,EAAE,SAAS,EAAE,EACrB,GAAG,MAAM,UAAU,CAAC,4BAA4B,EAAE,CAAC;QAEpD,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,YAAY,GAAG,YAAY,CAAC;QAExC,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE;YAC3D,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,IAAI;YACnB,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"use-solana-transaction.js","sourceRoot":"","sources":["../../src/solana/use-solana-transaction.ts"],"names":[],"mappings":"AACA,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,6BAA6B,EAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EACL,oBAAoB,EACpB,SAAS,EACT,aAAa,EACb,WAAW,EACX,sBAAsB,EACvB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,iCAAiC,EAAE,MAAM,qBAAqB,CAAC;AAGxE,MAAM,UAAU,oBAAoB;IAGlC,MAAM,EAAE,UAAU,EAAE,GAAG,aAAa,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,OAAO,GAAG,KAAK,EAAE,MAA0B,EAAE,EAAE;QACnD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACzD,IAAI,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC;QAEpC,MAAM,YAAY,GAAG,IAAI,SAAS,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAEhD,MAAM,YAAY,GAA6B;YAC7C,oBAAoB;YACpB,oBAAoB,CAAC,mBAAmB,CAAC;gBACvC,aAAa,EAAE,OAAS;aACzB,CAAC;SACH,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAE7B,sBAAsB;QACtB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,YAAY,CAAC,IAAI,CACf,aAAa,CAAC,QAAQ,CAAC;gBACrB,UAAU,EAAE,YAAY;gBACxB,QAAQ,EAAE,cAAc;gBACxB,QAAQ,EAAE,KAAK;aAChB,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAE1C,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAG,6BAA6B,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YAE/E,MAAM,+BAA+B,GAAG,MAAM,iCAAiC,CAC7E,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,cAAc,CACf,CAAC;YACF,IAAI,+BAA+B,YAAY,sBAAsB,EAAE,CAAC;gBACtE,YAAY,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACrD,CAAC;YAED,YAAY,CAAC,IAAI,CACf,gCAAgC,CAC9B,QAAQ,EAAE,OAAO;YACjB,IAAI,EACJ,WAAW,EAAE,KAAK;YAClB,YAAY,EAAE,eAAe;YAC7B,KAAK,EACL,KAAK,CAAC,QAAQ,CACf,CACF,CAAC;QACJ,CAAC;QAED,MAAM,EACJ,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,EACjC,KAAK,EAAE,EAAE,SAAS,EAAE,EACrB,GAAG,MAAM,UAAU,CAAC,4BAA4B,EAAE,CAAC;QAEpD,WAAW,CAAC,eAAe,GAAG,SAAS,CAAC;QACxC,WAAW,CAAC,YAAY,GAAG,YAAY,CAAC;QAExC,OAAO,MAAM,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE,UAAU,EAAE;YAC3D,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,IAAI;YACnB,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAA;IAED,OAAO,EAAE,OAAO,EAAE,CAAA;AACpB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { type PropsWithChildren } from "react";
2
- import { WalletConfiguration } from "../types/wallet";
2
+ import { SuiWalletConfiguration } from "../../types/wallet";
3
3
  export declare function SuiBaseProvider({ children, config }: PropsWithChildren<{
4
- config?: WalletConfiguration["sui"];
4
+ config?: SuiWalletConfiguration;
5
5
  }>): import("react/jsx-runtime").JSX.Element;
@@ -6,6 +6,6 @@ export function SuiBaseProvider({ children, config }) {
6
6
  return (_jsx(SuiClientProvider, { networks: {
7
7
  mainnet: { url: config?.rpcUrl ?? "https://fullnode.mainnet.sui.io:443" },
8
8
  devnet: { url: "https://fullnode.devnet.sui.io:443" },
9
- }, defaultNetwork: "mainnet", children: _jsx(WalletProvider, { ...suiConfig?.walletConfiguration, autoConnect: suiConfig?.walletConfiguration?.autoConnect || true, children: children }) }));
9
+ }, defaultNetwork: "mainnet", children: _jsx(WalletProvider, { ...suiConfig?.walletConfiguration, storageKey: suiConfig?.walletConfiguration?.storageKey || "coin-voyage-widget-sui-wallet-connection", autoConnect: suiConfig?.walletConfiguration?.autoConnect || true, children: children }) }));
10
10
  }
11
11
  //# sourceMappingURL=base-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-provider.js","sourceRoot":"","sources":["../../../src/sui/provider/base-provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACpE,OAAO,EAAE,OAAO,EAA0B,MAAM,OAAO,CAAA;AAGvD,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,MAAM,EAEhD;IACA,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACjE,OAAO,CACL,KAAC,iBAAiB,IAChB,QAAQ,EAAE;YACR,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,IAAI,qCAAqC,EAAE;YACzE,MAAM,EAAE,EAAE,GAAG,EAAE,oCAAoC,EAAE;SACtD,EACD,cAAc,EAAC,SAAS,YAExB,KAAC,cAAc,OACT,SAAS,EAAE,mBAAmB,EAClC,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,IAAI,0CAA0C,EACpG,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,WAAW,IAAI,IAAI,YAChE,QAAQ,GAAkB,GACV,CACrB,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"external-context.js","sourceRoot":"","sources":["../../../src/sui/provider/external-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAAU,KAAK,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { SuiWalletConfiguration } from "@coin-voyage/crypto/types/wallet";
2
+ import { PropsWithChildren } from "react";
3
+ export declare function useInSuiContext(): boolean;
4
+ export declare function SuiProvider({ children, config }: PropsWithChildren<{
5
+ config?: SuiWalletConfiguration;
6
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useSuiClientContext } from "@mysten/dapp-kit";
3
+ import { SuiBaseProvider } from "./base-provider";
4
+ import { SuiExternalContext } from "./external-context";
5
+ export function useInSuiContext() {
6
+ try {
7
+ const externalSuiContext = useSuiClientContext();
8
+ return Boolean(externalSuiContext.config);
9
+ }
10
+ catch {
11
+ return false;
12
+ }
13
+ }
14
+ export function SuiProvider({ children, config }) {
15
+ const inSUIContext = useInSuiContext();
16
+ return inSUIContext ? (_jsx(SuiExternalContext.Provider, { value: inSUIContext, children: children })) : (_jsx(SuiBaseProvider, { config: config, children: children }));
17
+ }
18
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/sui/provider/provider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,MAAM,kBAAkB,GAAG,mBAAmB,EAAE,CAAA;QAChD,OAAO,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,EAE5C;IACA,MAAM,YAAY,GAAG,eAAe,EAAE,CAAA;IACtC,OAAO,YAAY,CAAC,CAAC,CAAC,CACpB,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,YAC7C,QAAQ,GACmB,CAC/B,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,YAAG,QAAQ,GAAmB,CAC9D,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { WalletProviderProps } from "@mysten/dapp-kit";
2
+ import { PropsWithChildren } from "react";
3
+ export declare function useInSuiContext(): boolean;
4
+ export declare function SuiProvider({ children, config }: PropsWithChildren<{
5
+ config?: {
6
+ rpcUrl?: string;
7
+ walletConfiguration?: WalletProviderProps;
8
+ };
9
+ }>): import("react/jsx-runtime").JSX.Element;