@0xsquid/react-hooks 8.11.1-beta-danal.2 → 8.12.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 (55) hide show
  1. package/dist/core/canton/cantonConnector.d.ts +5 -2
  2. package/dist/core/canton/errors.d.ts +4 -0
  3. package/dist/core/canton/loopCantonConnector.d.ts +38 -0
  4. package/dist/core/client/index.d.ts +0 -1
  5. package/dist/core/constants.d.ts +0 -2
  6. package/dist/core/types/canton.d.ts +37 -3
  7. package/dist/core/types/index.d.ts +1 -1
  8. package/dist/core/types/tokens.d.ts +1 -8
  9. package/dist/core/types/wallet.d.ts +1 -8
  10. package/dist/hooks/chains/useSquidChains.d.ts +0 -1
  11. package/dist/hooks/store/useDepositAddressStore.d.ts +0 -6
  12. package/dist/hooks/swap/useDepositAddress.d.ts +0 -2
  13. package/dist/hooks/tokens/useSquidTokens.d.ts +0 -1
  14. package/dist/hooks/wallet/useMultiChainWallet.d.ts +0 -38
  15. package/dist/hooks/wallet/useWallet.d.ts +0 -42
  16. package/dist/{index-ByakOYXP.js → index-C3owE9lb.js} +740 -514
  17. package/dist/index-C3owE9lb.js.map +1 -0
  18. package/dist/{index-nTqoaD0B.js → index-CJVX-7hj.js} +739 -517
  19. package/dist/index-CJVX-7hj.js.map +1 -0
  20. package/dist/{index.es--AR2n7a0.js → index.es-09IsADsA.js} +2 -2
  21. package/dist/{index.es--AR2n7a0.js.map → index.es-09IsADsA.js.map} +1 -1
  22. package/dist/{index.es-DtFDz6qc.js → index.es-CTKuR0LC.js} +2 -2
  23. package/dist/{index.es-DtFDz6qc.js.map → index.es-CTKuR0LC.js.map} +1 -1
  24. package/dist/index.esm.js +1 -1
  25. package/dist/index.js +1 -5
  26. package/dist/index.js.map +1 -1
  27. package/dist/{secretService-cgr3P1zw.js → secretService--tJFCkzT.js} +2 -2
  28. package/dist/{secretService-cgr3P1zw.js.map → secretService--tJFCkzT.js.map} +1 -1
  29. package/dist/{secretService-29Ak2qp5.js → secretService-GHdReJBs.js} +2 -2
  30. package/dist/{secretService-29Ak2qp5.js.map → secretService-GHdReJBs.js.map} +1 -1
  31. package/dist/server.esm.js +0 -6
  32. package/dist/server.esm.js.map +1 -1
  33. package/dist/server.js +0 -6
  34. package/dist/server.js.map +1 -1
  35. package/dist/services/external/rpcService.d.ts +2 -4
  36. package/dist/services/index.d.ts +0 -1
  37. package/dist/services/internal/assetsService.d.ts +1 -1
  38. package/dist/services/internal/cantonService.d.ts +2 -0
  39. package/dist/services/internal/cantonTransferService.d.ts +3 -3
  40. package/dist/services/internal/estimateService.d.ts +1 -1
  41. package/dist/services/internal/searchService.d.ts +1 -2
  42. package/dist/services/internal/transactionService.d.ts +0 -8
  43. package/dist/{stellarService.client-B__dTUBZ.js → stellarService.client-DAxgO3m3.js} +2 -2
  44. package/dist/{stellarService.client-B__dTUBZ.js.map → stellarService.client-DAxgO3m3.js.map} +1 -1
  45. package/dist/{stellarService.client-D-zkMI5s.js → stellarService.client-DvA-2pXq.js} +2 -2
  46. package/dist/{stellarService.client-D-zkMI5s.js.map → stellarService.client-DvA-2pXq.js.map} +1 -1
  47. package/dist/tests/loopSdkContract.test.d.ts +1 -0
  48. package/dist/tests/useAutoConnectCanton.test.d.ts +1 -0
  49. package/dist/tests/useCantonRestoration.test.d.ts +1 -0
  50. package/package.json +3 -2
  51. package/dist/core/types/danal.d.ts +0 -1
  52. package/dist/index-ByakOYXP.js.map +0 -1
  53. package/dist/index-nTqoaD0B.js.map +0 -1
  54. package/dist/services/internal/danalService.d.ts +0 -8
  55. /package/dist/tests/{danalService.test.d.ts → loopCantonConnector.test.d.ts} +0 -0
@@ -1,11 +1,12 @@
1
1
  import { type CantonClient } from "@sigilry/dapp";
2
- import type { CantonAccount, CantonConnectResult, CantonConnector, CantonConnectorEvent, CantonConnectorEventHandler, CantonLedgerApiParams, CantonPrepareExecuteAndWaitResult, CantonPrepareExecuteParams } from "../types/canton";
2
+ import type { CantonAccount, CantonConnectResult, CantonCip103Connector, CantonConnectorEvent, CantonConnectorEventHandler, CantonLedgerApiParams, CantonPrepareExecuteAndWaitResult, CantonPrepareExecuteParams, CantonTransferParams, CantonTransferResult } from "../types/canton";
3
3
  import { AnnouncedCantonProvider } from "./cip103Client";
4
4
  /**
5
5
  * Browser-extension Canton connector: wraps one discovered CIP-103 provider
6
6
  * (bound to its announce `target`) and exposes the lifecycle methods.
7
7
  */
8
- export declare class CantonBrowserConnector implements CantonConnector {
8
+ export declare class CantonBrowserConnector implements CantonCip103Connector {
9
+ readonly kind = "cip103";
9
10
  readonly providerId: string;
10
11
  readonly name: string;
11
12
  readonly target: string | undefined;
@@ -22,6 +23,8 @@ export declare class CantonBrowserConnector implements CantonConnector {
22
23
  ledgerApi<T = unknown>(params: CantonLedgerApiParams): Promise<T>;
23
24
  prepareExecuteAndWait(params: CantonPrepareExecuteParams): Promise<CantonPrepareExecuteAndWaitResult>;
24
25
  getAccounts(): Promise<CantonAccount[]>;
26
+ getBalances(partyId: string): Promise<Record<string, string>>;
27
+ transfer(params: CantonTransferParams): Promise<CantonTransferResult>;
25
28
  on<E extends CantonConnectorEvent>(event: E, handler: CantonConnectorEventHandler<E>): void;
26
29
  off<E extends CantonConnectorEvent>(event: E, handler: CantonConnectorEventHandler<E>): void;
27
30
  private emit;
@@ -0,0 +1,4 @@
1
+ export declare class CantonConnectionCancelledError extends Error {
2
+ readonly code = 4001;
3
+ constructor();
4
+ }
@@ -0,0 +1,38 @@
1
+ import type { CantonAccount, CantonConnectResult, CantonConnectorEvent, CantonConnectorEventHandler, CantonLoopConnector, CantonTransferParams, CantonTransferResult, CantonTransferUpdate } from "../types/canton";
2
+ type LoopModule = typeof import("@fivenorth/loop-sdk");
3
+ export declare function parseLoopTransferUpdate(value: unknown, commandId: string): CantonTransferUpdate | undefined;
4
+ export declare class LoopCantonConnector implements CantonLoopConnector {
5
+ private loadSdk;
6
+ readonly kind = "loop";
7
+ readonly providerId = "canton-loop";
8
+ readonly name = "Loop";
9
+ readonly target: undefined;
10
+ private module?;
11
+ private initialization?;
12
+ private provider?;
13
+ private pendingConnection?;
14
+ private connectionStart;
15
+ private transfers;
16
+ private listeners;
17
+ constructor(loadSdk?: () => Promise<LoopModule>);
18
+ get accounts(): CantonAccount[];
19
+ get address(): string | undefined;
20
+ connect(): Promise<CantonConnectResult>;
21
+ autoConnect(): Promise<CantonConnectResult>;
22
+ cancelConnect(): void;
23
+ disconnect(): Promise<void>;
24
+ getAccounts(): Promise<CantonAccount[]>;
25
+ getBalances(partyId: string): Promise<Record<string, string>>;
26
+ transfer(params: CantonTransferParams): Promise<CantonTransferResult>;
27
+ on<E extends CantonConnectorEvent>(event: E, handler: CantonConnectorEventHandler<E>): void;
28
+ off<E extends CantonConnectorEvent>(event: E, handler: CantonConnectorEventHandler<E>): void;
29
+ private emit;
30
+ private initialize;
31
+ private startConnection;
32
+ private acceptConnection;
33
+ private rejectConnection;
34
+ private requireProvider;
35
+ private submitTransfer;
36
+ }
37
+ export declare const loopCantonConnector: LoopCantonConnector;
38
+ export {};
@@ -14,7 +14,6 @@ type ChainTypeToClient = {
14
14
  [ChainType.XRPL]: XrplRpcClient;
15
15
  [ChainType.STELLAR]: StellarRpcClient;
16
16
  [ChainType.CANTON]: null;
17
- [ChainType.DANAL]: null;
18
17
  };
19
18
  export declare function getClient<T extends ChainType>(chain: ChainData): Promise<ChainTypeToClient[T]>;
20
19
  export {};
@@ -22,7 +22,6 @@ export declare const nativeSuiTokenAddress = "0x00000000000000000000000000000000
22
22
  export declare const nativeXrplTokenAddress = "xrp";
23
23
  export declare const nativeStellarTokenAddress = "CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA";
24
24
  export declare const nativeCantonTokenAddress = "DSO::1220b1431ef217342db44d516bb9befde802be7d8899637d290895fa58880f19accc";
25
- export declare const nativeDanalTokenAddress = "pci";
26
25
  export declare const defaultSlippage: SlippageOption;
27
26
  export declare const destinationAddressResetValue = "null";
28
27
  export declare const fallbackAddressResetValue = "null";
@@ -84,7 +83,6 @@ export declare const CHAIN_IDS: {
84
83
  readonly STELLAR: "stellar-mainnet";
85
84
  readonly STELLAR_TESTNET: "stellar-testnet";
86
85
  readonly CANTON: "canton";
87
- readonly DANAL_TESTNET: "danal-testnet";
88
86
  };
89
87
  export declare const chainTypeToDefaultChainIdMap: Record<ChainType, string>;
90
88
  export declare const chainTypeToNativeTokenAddressMap: Record<ChainType, string>;
@@ -1,4 +1,5 @@
1
1
  import type { CantonClient } from "@sigilry/dapp";
2
+ import type { Token } from "./tokens";
2
3
  export interface CantonLedgerApiParams {
3
4
  requestMethod: "get" | "post" | "patch" | "put" | "delete";
4
5
  resource: string;
@@ -35,24 +36,57 @@ export interface CantonConnectorEventMap {
35
36
  connect: [address: string];
36
37
  disconnect: [];
37
38
  }
39
+ export interface CantonTransferParams {
40
+ sender: string;
41
+ receiver: string;
42
+ amount: string;
43
+ token: Token;
44
+ memo: string;
45
+ nowMs: number;
46
+ }
47
+ export type CantonTransferResult = {
48
+ status: "completed";
49
+ commandId: string;
50
+ updateId: string;
51
+ };
52
+ export type CantonTransferUpdate = Extract<CantonTransferResult, {
53
+ status: "completed";
54
+ }> | {
55
+ status: "failed";
56
+ commandId: string;
57
+ message: string;
58
+ };
59
+ export interface CantonLedgerReader {
60
+ ledgerApi<T = unknown>(params: CantonLedgerApiParams): Promise<T>;
61
+ }
38
62
  export type CantonConnectorEvent = keyof CantonConnectorEventMap;
39
63
  export type CantonConnectorEventHandler<E extends CantonConnectorEvent> = (...args: CantonConnectorEventMap[E]) => void;
40
64
  export interface CantonConnectResult {
41
65
  address: string;
42
66
  accounts: CantonAccount[];
43
67
  }
44
- export interface CantonConnector {
68
+ interface CantonConnectorBase {
45
69
  readonly providerId: string;
46
70
  readonly name: string;
47
71
  readonly target: string | undefined;
48
72
  connect(): Promise<CantonConnectResult>;
49
73
  autoConnect(): Promise<CantonConnectResult>;
50
74
  disconnect(): Promise<void>;
51
- ledgerApi<T = unknown>(params: CantonLedgerApiParams): Promise<T>;
52
- prepareExecuteAndWait(params: CantonPrepareExecuteParams): Promise<CantonPrepareExecuteAndWaitResult>;
75
+ cancelConnect?(): void;
76
+ getBalances(partyId: string): Promise<Record<string, string>>;
77
+ transfer(params: CantonTransferParams): Promise<CantonTransferResult>;
53
78
  getAccounts(): Promise<CantonAccount[]>;
54
79
  on<E extends CantonConnectorEvent>(event: E, handler: CantonConnectorEventHandler<E>): void;
55
80
  off<E extends CantonConnectorEvent>(event: E, handler: CantonConnectorEventHandler<E>): void;
56
81
  readonly accounts: CantonAccount[];
57
82
  readonly address: string | undefined;
58
83
  }
84
+ export interface CantonCip103Connector extends CantonConnectorBase, CantonLedgerReader {
85
+ readonly kind: "cip103";
86
+ prepareExecuteAndWait(params: CantonPrepareExecuteParams): Promise<CantonPrepareExecuteAndWaitResult>;
87
+ }
88
+ export interface CantonLoopConnector extends CantonConnectorBase {
89
+ readonly kind: "loop";
90
+ }
91
+ export type CantonConnector = CantonCip103Connector | CantonLoopConnector;
92
+ export {};
@@ -4,7 +4,7 @@ export type { QrCodeData } from "./event";
4
4
  export * from "./history";
5
5
  export type * from "./onramps/";
6
6
  export type { SwapParams } from "./swap";
7
- export type { Chain, ChainData, Token, TrustLineAsset } from "./tokens";
7
+ export type { Chain, Token, TrustLineAsset } from "./tokens";
8
8
  export { AxelarStatusResponseType, SendTransactionStatus, TransactionStatus, type PatchedRouteActionResponse, type TransactionParams, } from "./transaction";
9
9
  export type { AddressWithEns, BitcoinWallet, ConnectorID, CosmosWallet, EnsData, EnsSearchResult, FullAddressData, NetworkConfig, SolanaWallet, SupportedChain, Wallet, } from "./wallet";
10
10
  export { XamanXrplNetwork } from "./xrpl";
@@ -1,14 +1,8 @@
1
- import type { ChainData as BaseChain, ChainName, Token as BaseToken } from "@0xsquid/squid-types";
1
+ import type { ChainData as BaseChain, Token as BaseToken } from "@0xsquid/squid-types";
2
2
  export type Token = BaseToken & {
3
3
  bgColor?: string;
4
4
  textColor?: string;
5
5
  };
6
- type WithOptionalAxelarChainName<T> = T extends {
7
- axelarChainName: ChainName;
8
- } ? Omit<T, "axelarChainName"> & {
9
- axelarChainName?: ChainName;
10
- } : T;
11
- export type ChainData = WithOptionalAxelarChainName<BaseChain>;
12
6
  export type Chain = BaseChain & {
13
7
  bgColor?: string;
14
8
  };
@@ -86,4 +80,3 @@ export interface TrustLineAsset {
86
80
  code: string;
87
81
  issuer: string;
88
82
  }
89
- export {};
@@ -2,7 +2,6 @@ import type { ChainType } from "@0xsquid/squid-types";
2
2
  import { BitcoinConnector } from "./bitcoin";
3
3
  import { CantonConnector } from "./canton";
4
4
  import { CosmosConnector } from "./cosmos";
5
- import { DanalConnector } from "./danal";
6
5
  import { EvmConnector } from "./evm";
7
6
  import { SolanaConnector } from "./solana";
8
7
  import { StellarConnector } from "./stellar";
@@ -30,7 +29,7 @@ export declare enum WindowWalletFlag {
30
29
  HotWallet = "hotWallet",
31
30
  XBull = "xBullSDK"
32
31
  }
33
- export type ConnectorID = "metamask" | "coinbase" | "walletConnect" | "keplr" | "cosmostation" | "leap" | "ctrl" | "bitget" | "rabby" | "okx" | "injected" | "trustwallet" | "exodus" | "rainbow" | "phantom" | "backpack" | "unisat" | "xrpl-metamask-snap" | "crossmark" | "xaman-xapp" | "xaman-qr" | "joey" | "girin" | "bifrost" | "brave" | "tokenpocket" | "nightly" | "cryptodotcom" | "freighter" | "xBull" | "lobstr" | "albedo" | "hanaWallet" | "hotWallet";
32
+ export type ConnectorID = "canton-loop" | "metamask" | "coinbase" | "walletConnect" | "keplr" | "cosmostation" | "leap" | "ctrl" | "bitget" | "rabby" | "okx" | "injected" | "trustwallet" | "exodus" | "rainbow" | "phantom" | "backpack" | "unisat" | "xrpl-metamask-snap" | "crossmark" | "xaman-xapp" | "xaman-qr" | "joey" | "girin" | "bifrost" | "brave" | "tokenpocket" | "nightly" | "cryptodotcom" | "freighter" | "xBull" | "lobstr" | "albedo" | "hanaWallet" | "hotWallet";
34
33
  export type EvmWallet = Wallet & {
35
34
  type: ChainType.EVM;
36
35
  connector: ConnectorByChainType[ChainType.EVM];
@@ -63,10 +62,6 @@ export type CantonWallet = Wallet & {
63
62
  type: ChainType.CANTON;
64
63
  connector: ConnectorByChainType[ChainType.CANTON];
65
64
  };
66
- export type DanalWallet = Wallet & {
67
- type: ChainType.DANAL;
68
- connector: ConnectorByChainType[ChainType.DANAL];
69
- };
70
65
  export type SupportedChain = {
71
66
  chainType: ChainType;
72
67
  chains?: string[];
@@ -149,7 +144,6 @@ export interface ChainTypeToWalletState {
149
144
  [ChainType.XRPL]: BaseWalletState<XrplWallet>;
150
145
  [ChainType.STELLAR]: BaseWalletState<StellarWallet>;
151
146
  [ChainType.CANTON]: BaseWalletState<CantonWallet>;
152
- [ChainType.DANAL]: BaseWalletState<DanalWallet>;
153
147
  }
154
148
  interface ConnectorByChainType extends Record<ChainType, unknown> {
155
149
  [ChainType.EVM]: EvmConnector;
@@ -160,6 +154,5 @@ interface ConnectorByChainType extends Record<ChainType, unknown> {
160
154
  [ChainType.XRPL]: XrplConnector;
161
155
  [ChainType.STELLAR]: StellarConnector;
162
156
  [ChainType.CANTON]: CantonConnector;
163
- [ChainType.DANAL]: DanalConnector;
164
157
  }
165
158
  export {};
@@ -13,7 +13,6 @@ export declare const useSquidChains: (direction?: SwapDirection) => {
13
13
  xrplChains: ChainData[];
14
14
  stellarChains: ChainData[];
15
15
  cantonChains: ChainData[];
16
- danalChains: ChainData[];
17
16
  getChainType: (chainId?: string) => ChainType | undefined;
18
17
  findChain: (chainId: string | undefined) => ChainData | undefined;
19
18
  };
@@ -15,14 +15,8 @@ export type PaymentMethod = "connectedWallet" | "depositAddress";
15
15
  interface DepositAddressStore {
16
16
  deposit: DepositData | null;
17
17
  selectedPaymentMethod: PaymentMethod;
18
- /**
19
- * Deposit transaction hash entered manually by the user, for chains where
20
- * the app cannot obtain it (e.g. Danal). Used as transactionId for /status
21
- */
22
- userDepositTxId: string | null;
23
18
  setDeposit(data: DepositData | null): void;
24
19
  setPaymentMethod(method: PaymentMethod): void;
25
- setUserDepositTxId(txId: string | null): void;
26
20
  }
27
21
  export declare const useDepositAddressStore: import("zustand").UseBoundStore<import("zustand").StoreApi<DepositAddressStore>>;
28
22
  export {};
@@ -12,6 +12,4 @@ export declare function useDepositAddress(squidRoute?: RouteResponse["route"]):
12
12
  depositAddress: string | undefined;
13
13
  closeDepositChannel: () => void;
14
14
  depositData: import("../store/useDepositAddressStore").DepositData | null;
15
- userDepositTxId: string | null;
16
- setUserDepositTxId: (txId: string | null) => void;
17
15
  };
@@ -14,5 +14,4 @@ export declare const useSquidTokens: (direction?: SwapDirection) => {
14
14
  xrplTokens: Token[];
15
15
  stellarTokens: Token[];
16
16
  cantonTokens: Token[];
17
- danalTokens: Token[];
18
17
  };
@@ -314,43 +314,5 @@ export declare const useMultiChainWallet: (chain: ChainData | undefined) => {
314
314
  } & {
315
315
  type: ChainType.CANTON;
316
316
  connector: import("../../core/types/canton").CantonConnector;
317
- }) | ({
318
- name: string;
319
- connectorId: import("../../core/types/wallet").ConnectorID;
320
- connectorName: string;
321
- icon: string | undefined;
322
- windowFlag: import("../../core/types/wallet").WindowWalletFlag;
323
- isMobile?: boolean | undefined;
324
- isQrWallet?: boolean | undefined;
325
- isInstalled?: (() => boolean) | undefined;
326
- skipInstallCheck?: boolean | undefined;
327
- rdns?: string | undefined;
328
- links?: import("../../core/types/wallet").WalletLinks | undefined;
329
- } & {
330
- isMultiChain: true;
331
- supportedNetworks: import("../../core/types/wallet").NetworkConfig[];
332
- } & {
333
- type: ChainType.DANAL;
334
- connector: null;
335
- }) | ({
336
- name: string;
337
- connectorId: import("../../core/types/wallet").ConnectorID;
338
- connectorName: string;
339
- icon: string | undefined;
340
- windowFlag: import("../../core/types/wallet").WindowWalletFlag;
341
- isMobile?: boolean | undefined;
342
- isQrWallet?: boolean | undefined;
343
- isInstalled?: (() => boolean) | undefined;
344
- skipInstallCheck?: boolean | undefined;
345
- rdns?: string | undefined;
346
- links?: import("../../core/types/wallet").WalletLinks | undefined;
347
- } & {
348
- isMultiChain?: false | undefined;
349
- } & {
350
- type: ChainType.DANAL;
351
- connector: null;
352
- } & {
353
- type: ChainType.DANAL;
354
- connector: null;
355
317
  }) | undefined;
356
318
  };
@@ -341,48 +341,6 @@ export declare const useWallet: () => {
341
341
  });
342
342
  address: string;
343
343
  }>;
344
- danal: Partial<{
345
- wallet: ({
346
- name: string;
347
- connectorId: import("../../core/types/wallet").ConnectorID;
348
- connectorName: string;
349
- icon: string | undefined;
350
- windowFlag: import("../../core/types/wallet").WindowWalletFlag;
351
- isMobile?: boolean | undefined;
352
- isQrWallet?: boolean | undefined;
353
- isInstalled?: (() => boolean) | undefined;
354
- skipInstallCheck?: boolean | undefined;
355
- rdns?: string | undefined;
356
- links?: import("../../core/types/wallet").WalletLinks | undefined;
357
- } & {
358
- isMultiChain: true;
359
- supportedNetworks: import("../../core/types/wallet").NetworkConfig[];
360
- } & {
361
- type: ChainType.DANAL;
362
- connector: null;
363
- }) | ({
364
- name: string;
365
- connectorId: import("../../core/types/wallet").ConnectorID;
366
- connectorName: string;
367
- icon: string | undefined;
368
- windowFlag: import("../../core/types/wallet").WindowWalletFlag;
369
- isMobile?: boolean | undefined;
370
- isQrWallet?: boolean | undefined;
371
- isInstalled?: (() => boolean) | undefined;
372
- skipInstallCheck?: boolean | undefined;
373
- rdns?: string | undefined;
374
- links?: import("../../core/types/wallet").WalletLinks | undefined;
375
- } & {
376
- isMultiChain?: false | undefined;
377
- } & {
378
- type: ChainType.DANAL;
379
- connector: null;
380
- } & {
381
- type: ChainType.DANAL;
382
- connector: null;
383
- });
384
- address: string;
385
- }>;
386
344
  };
387
345
  connectedAddresses: Record<ChainType, string | undefined>;
388
346
  connectingWalletState: import("../store/useWalletStore").ConnectingWalletState;