react-native-candle 0.1.42 → 0.1.44

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 (160) hide show
  1. package/ReactNativeCandle.podspec +1 -1
  2. package/ios/Sources/CandleActionViewModel.swift +4 -7
  3. package/ios/Sources/CandleLinkSheetWrapperView.swift +40 -59
  4. package/ios/Sources/CandleLinkViewModel.swift +21 -31
  5. package/ios/Sources/CandleTradeExecutionSheetWrapper.swift +14 -23
  6. package/ios/Sources/HostingViewController.swift +26 -26
  7. package/ios/Sources/RNCandle.swift +159 -1307
  8. package/ios/Sources/Types.swift +847 -0
  9. package/ios/Sources/UIApplication++.swift +5 -9
  10. package/lib/commonjs/context.js +17 -0
  11. package/lib/commonjs/context.js.map +1 -0
  12. package/lib/commonjs/index.js +17 -407
  13. package/lib/commonjs/index.js.map +1 -1
  14. package/lib/commonjs/package.json +1 -0
  15. package/lib/commonjs/provider.js +117 -0
  16. package/lib/commonjs/provider.js.map +1 -0
  17. package/lib/commonjs/types.js +271 -0
  18. package/lib/commonjs/types.js.map +1 -0
  19. package/lib/module/context.js +12 -0
  20. package/lib/module/context.js.map +1 -0
  21. package/lib/module/index.js +2 -408
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/package.json +1 -0
  24. package/lib/module/provider.js +111 -0
  25. package/lib/module/provider.js.map +1 -0
  26. package/lib/module/types.js +256 -0
  27. package/lib/module/types.js.map +1 -0
  28. package/lib/typescript/commonjs/src/context.d.ts +47 -0
  29. package/lib/typescript/commonjs/src/context.d.ts.map +1 -0
  30. package/lib/typescript/commonjs/src/index.d.ts +4 -166
  31. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  32. package/lib/typescript/commonjs/src/provider.d.ts +8 -0
  33. package/lib/typescript/commonjs/src/provider.d.ts.map +1 -0
  34. package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts +22 -24
  35. package/lib/typescript/commonjs/src/specs/RNCandle.nitro.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/src/types.d.ts +125 -0
  37. package/lib/typescript/commonjs/src/types.d.ts.map +1 -0
  38. package/lib/typescript/module/src/context.d.ts +47 -0
  39. package/lib/typescript/module/src/context.d.ts.map +1 -0
  40. package/lib/typescript/module/src/index.d.ts +4 -166
  41. package/lib/typescript/module/src/index.d.ts.map +1 -1
  42. package/lib/typescript/module/src/provider.d.ts +8 -0
  43. package/lib/typescript/module/src/provider.d.ts.map +1 -0
  44. package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts +22 -24
  45. package/lib/typescript/module/src/specs/RNCandle.nitro.d.ts.map +1 -1
  46. package/lib/typescript/module/src/types.d.ts +125 -0
  47. package/lib/typescript/module/src/types.d.ts.map +1 -0
  48. package/nitrogen/generated/.gitattributes +1 -1
  49. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.cpp +15 -31
  50. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Bridge.hpp +379 -242
  51. package/nitrogen/generated/ios/ReactNativeCandle-Swift-Cxx-Umbrella.hpp +23 -22
  52. package/nitrogen/generated/ios/ReactNativeCandleAutolinking.mm +1 -1
  53. package/nitrogen/generated/ios/ReactNativeCandleAutolinking.swift +2 -4
  54. package/nitrogen/generated/ios/c++/HybridRNCandleSpecSwift.hpp +36 -42
  55. package/nitrogen/generated/ios/swift/ActiveLinkedAccountDetails.swift +6 -3
  56. package/nitrogen/generated/ios/swift/AssetAccount.swift +6 -3
  57. package/nitrogen/generated/ios/swift/AssetAccountKind.swift +4 -4
  58. package/nitrogen/generated/ios/swift/AssetAccountRef.swift +5 -5
  59. package/nitrogen/generated/ios/swift/{AssetAccountQuery.swift → AssetAccountsQuery.swift} +7 -6
  60. package/nitrogen/generated/ios/swift/Counterparty.swift +8 -3
  61. package/nitrogen/generated/ios/swift/CounterpartyKind.swift +42 -0
  62. package/nitrogen/generated/ios/swift/FiatAccount.swift +4 -2
  63. package/nitrogen/generated/ios/swift/FiatAsset.swift +2 -1
  64. package/nitrogen/generated/ios/swift/FiatAssetQuoteRequest.swift +4 -2
  65. package/nitrogen/generated/ios/swift/FiatAssetRef.swift +2 -1
  66. package/nitrogen/generated/ios/swift/Func_void_LinkedAccount.swift +5 -5
  67. package/nitrogen/generated/ios/swift/HybridRNCandleSpec.swift +7 -7
  68. package/nitrogen/generated/ios/swift/HybridRNCandleSpec_cxx.swift +40 -65
  69. package/nitrogen/generated/ios/swift/LinkedAccountDetails.swift +15 -3
  70. package/nitrogen/generated/ios/swift/{StatePayload.swift → LinkedAccountState.swift} +6 -6
  71. package/nitrogen/generated/ios/swift/LinkedAccountStatusRef.swift +4 -3
  72. package/nitrogen/generated/ios/swift/MarketAccount.swift +5 -5
  73. package/nitrogen/generated/ios/swift/MarketAssetKind.swift +38 -0
  74. package/nitrogen/generated/ios/swift/MarketAssetQuoteRequest.swift +11 -8
  75. package/nitrogen/generated/ios/swift/MarketTradeAsset.swift +7 -7
  76. package/nitrogen/generated/ios/swift/MarketTradeAssetRef.swift +5 -5
  77. package/nitrogen/generated/ios/swift/MerchantCounterparty.swift +2 -1
  78. package/nitrogen/generated/ios/swift/TradeAsset.swift +10 -5
  79. package/nitrogen/generated/ios/swift/TradeAssetKind.swift +54 -0
  80. package/nitrogen/generated/ios/swift/TradeAssetQuoteRequest.swift +15 -4
  81. package/nitrogen/generated/ios/swift/TradeAssetRef.swift +11 -5
  82. package/nitrogen/generated/ios/swift/TradeExecutionResult.swift +4 -2
  83. package/nitrogen/generated/ios/swift/{TradeQuoteRequest.swift → TradeQuotesRequest.swift} +7 -6
  84. package/nitrogen/generated/ios/swift/{TradeQuery.swift → TradesQuery.swift} +29 -45
  85. package/nitrogen/generated/ios/swift/TransportAssetQuoteRequest.swift +12 -6
  86. package/nitrogen/generated/shared/c++/ACHAccountKind.hpp +7 -9
  87. package/nitrogen/generated/shared/c++/ACHDetails.hpp +7 -9
  88. package/nitrogen/generated/shared/c++/ActiveLinkedAccountDetails.hpp +4 -6
  89. package/nitrogen/generated/shared/c++/Address.hpp +4 -6
  90. package/nitrogen/generated/shared/c++/AssetAccount.hpp +14 -16
  91. package/nitrogen/generated/shared/c++/AssetAccountKind.hpp +15 -17
  92. package/nitrogen/generated/shared/c++/AssetAccountRef.hpp +12 -12
  93. package/nitrogen/generated/shared/c++/{AssetAccountQuery.hpp → AssetAccountsQuery.hpp} +14 -16
  94. package/nitrogen/generated/shared/c++/AssetAccountsResponse.hpp +11 -13
  95. package/nitrogen/generated/shared/c++/Coordinates.hpp +4 -6
  96. package/nitrogen/generated/shared/c++/Counterparty.hpp +14 -16
  97. package/nitrogen/generated/shared/c++/CounterpartyKind.hpp +80 -0
  98. package/nitrogen/generated/shared/c++/FiatAccount.hpp +16 -18
  99. package/nitrogen/generated/shared/c++/FiatAsset.hpp +7 -9
  100. package/nitrogen/generated/shared/c++/FiatAssetQuoteRequest.hpp +4 -6
  101. package/nitrogen/generated/shared/c++/FiatAssetRef.hpp +4 -6
  102. package/nitrogen/generated/shared/c++/FiatMarketAccountKind.hpp +13 -15
  103. package/nitrogen/generated/shared/c++/HybridRNCandleSpec.cpp +1 -2
  104. package/nitrogen/generated/shared/c++/HybridRNCandleSpec.hpp +17 -27
  105. package/nitrogen/generated/shared/c++/InactiveLinkedAccountDetails.hpp +4 -6
  106. package/nitrogen/generated/shared/c++/LinkedAccount.hpp +10 -12
  107. package/nitrogen/generated/shared/c++/LinkedAccountDetails.hpp +14 -16
  108. package/nitrogen/generated/shared/c++/LinkedAccountRef.hpp +4 -6
  109. package/nitrogen/generated/shared/c++/{StatePayload.hpp → LinkedAccountState.hpp} +15 -17
  110. package/nitrogen/generated/shared/c++/LinkedAccountStatusRef.hpp +15 -17
  111. package/nitrogen/generated/shared/c++/MarketAccount.hpp +18 -17
  112. package/nitrogen/generated/shared/c++/MarketAssetKind.hpp +76 -0
  113. package/nitrogen/generated/shared/c++/MarketAssetQuoteRequest.hpp +12 -12
  114. package/nitrogen/generated/shared/c++/MarketTradeAsset.hpp +15 -14
  115. package/nitrogen/generated/shared/c++/MarketTradeAssetRef.hpp +12 -12
  116. package/nitrogen/generated/shared/c++/MerchantCounterparty.hpp +8 -10
  117. package/nitrogen/generated/shared/c++/MerchantLocation.hpp +4 -6
  118. package/nitrogen/generated/shared/c++/NothingAsset.hpp +4 -6
  119. package/nitrogen/generated/shared/c++/NothingAssetQuoteRequest.hpp +4 -6
  120. package/nitrogen/generated/shared/c++/NothingAssetRef.hpp +4 -6
  121. package/nitrogen/generated/shared/c++/OtherAsset.hpp +4 -6
  122. package/nitrogen/generated/shared/c++/OtherAssetRef.hpp +4 -6
  123. package/nitrogen/generated/shared/c++/PresentationBackground.hpp +7 -9
  124. package/nitrogen/generated/shared/c++/PresentationStyle.hpp +7 -9
  125. package/nitrogen/generated/shared/c++/Service.hpp +163 -165
  126. package/nitrogen/generated/shared/c++/ServiceCounterparty.hpp +7 -9
  127. package/nitrogen/generated/shared/c++/Trade.hpp +16 -18
  128. package/nitrogen/generated/shared/c++/TradeAsset.hpp +20 -22
  129. package/nitrogen/generated/shared/c++/TradeAssetKind.hpp +92 -0
  130. package/nitrogen/generated/shared/c++/TradeAssetQuoteRequest.hpp +17 -19
  131. package/nitrogen/generated/shared/c++/TradeAssetRef.hpp +20 -22
  132. package/nitrogen/generated/shared/c++/TradeExecutionResult.hpp +8 -10
  133. package/nitrogen/generated/shared/c++/TradeQuote.hpp +10 -12
  134. package/nitrogen/generated/shared/c++/{TradeQuoteRequest.hpp → TradeQuotesRequest.hpp} +17 -19
  135. package/nitrogen/generated/shared/c++/TradeQuotesResponse.hpp +11 -13
  136. package/nitrogen/generated/shared/c++/TradeRef.hpp +10 -12
  137. package/nitrogen/generated/shared/c++/TradeState.hpp +9 -11
  138. package/nitrogen/generated/shared/c++/TradesQuery.hpp +89 -0
  139. package/nitrogen/generated/shared/c++/TradesResponse.hpp +11 -13
  140. package/nitrogen/generated/shared/c++/TransportAccount.hpp +10 -12
  141. package/nitrogen/generated/shared/c++/TransportAccountKind.hpp +9 -11
  142. package/nitrogen/generated/shared/c++/TransportAsset.hpp +19 -21
  143. package/nitrogen/generated/shared/c++/TransportAssetQuoteRequest.hpp +16 -18
  144. package/nitrogen/generated/shared/c++/TransportAssetRef.hpp +4 -6
  145. package/nitrogen/generated/shared/c++/UnavailableLinkedAccountDetails.hpp +4 -6
  146. package/nitrogen/generated/shared/c++/UserCounterparty.hpp +4 -6
  147. package/nitrogen/generated/shared/c++/WireDetails.hpp +4 -6
  148. package/package.json +9 -11
  149. package/src/context.ts +86 -0
  150. package/src/index.ts +4 -634
  151. package/src/provider.tsx +152 -0
  152. package/src/specs/RNCandle.nitro.ts +38 -29
  153. package/src/types.ts +462 -0
  154. package/nitrogen/generated/ios/swift/AppUser.swift +0 -75
  155. package/nitrogen/generated/ios/swift/Func_void_std__string.swift +0 -44
  156. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__shared_ptr_AnyMap__.swift +0 -47
  157. package/nitrogen/generated/ios/swift/ToolCall.swift +0 -44
  158. package/nitrogen/generated/shared/c++/AppUser.hpp +0 -78
  159. package/nitrogen/generated/shared/c++/ToolCall.hpp +0 -73
  160. package/nitrogen/generated/shared/c++/TradeQuery.hpp +0 -86
@@ -0,0 +1,152 @@
1
+ import React, { useLayoutEffect, useMemo, useState } from "react";
2
+ import type { CandleContextValue } from "./context";
3
+ import { CandleContext } from "./context";
4
+ import {
5
+ fromNativeAssetAccount,
6
+ fromNativeLinkedAccount,
7
+ fromNativeTrade,
8
+ fromNativeTradeAndQuote,
9
+ fromNativeTradeQuoteAndRequest,
10
+ toNativeTradeQuote,
11
+ toNativeTradeQuoteRequest,
12
+ toNativeTradeRef,
13
+ } from "./types";
14
+ import { NitroModules } from "react-native-nitro-modules";
15
+ import type { RNCandle } from "./specs/RNCandle.nitro";
16
+
17
+ export const CandleProvider: React.FC<{
18
+ children: React.ReactNode;
19
+ appKey: string;
20
+ appSecret: string;
21
+ accessGroup?: string;
22
+ }> = ({ appKey, appSecret, accessGroup, children }) => {
23
+ // NOTE: We only use useState here because useRef does not have a true lazy initializer
24
+ const [nativeCandle] = useState<RNCandle>(() =>
25
+ NitroModules.createHybridObject<RNCandle>("RNCandle")
26
+ );
27
+
28
+ useLayoutEffect(() => {
29
+ nativeCandle.initialize(appKey, appSecret, accessGroup);
30
+ }, [appKey, appSecret, accessGroup]);
31
+
32
+ const value = useMemo(
33
+ (): CandleContextValue => ({
34
+ presentCandleTradeExecutionSheet: ({
35
+ tradeQuote,
36
+ presentationBackground,
37
+ completion,
38
+ }) => {
39
+ const nativeTradeQuote = toNativeTradeQuote(tradeQuote);
40
+ nativeCandle.candleTradeExecutionSheet(
41
+ nativeTradeQuote,
42
+ presentationBackground ?? "default",
43
+ (result) => {
44
+ if (completion === undefined) {
45
+ return;
46
+ }
47
+ if (result.trade !== undefined) {
48
+ const trade = fromNativeTradeAndQuote(tradeQuote)(result.trade);
49
+ completion({
50
+ ...trade,
51
+ kind: "success" as const,
52
+ });
53
+ } else {
54
+ if (result.error === undefined) {
55
+ throw new Error(
56
+ "Internal Candle Error: corrupted trade execution result."
57
+ );
58
+ } else {
59
+ const error = new Error(result.error);
60
+ completion({ kind: "failure", error });
61
+ }
62
+ }
63
+ }
64
+ );
65
+ },
66
+
67
+ presentCandleLinkSheet: ({
68
+ services,
69
+ cornerRadius = 24,
70
+ customerName,
71
+ showDynamicLoading = true,
72
+ presentationBackground = "default",
73
+ presentationStyle = "fullScreen",
74
+ onSuccess,
75
+ }) =>
76
+ nativeCandle.candleLinkSheet(
77
+ true,
78
+ services,
79
+ cornerRadius,
80
+ customerName,
81
+ showDynamicLoading,
82
+ presentationBackground,
83
+ presentationStyle,
84
+ (nativeLinkedAccount) => {
85
+ const linkedAccount = fromNativeLinkedAccount(nativeLinkedAccount);
86
+ onSuccess(linkedAccount);
87
+ }
88
+ ),
89
+
90
+ getLinkedAccounts: async () => {
91
+ const nativeLinkedAccounts = await nativeCandle.getLinkedAccounts();
92
+ return nativeLinkedAccounts.map(fromNativeLinkedAccount);
93
+ },
94
+ getLinkedAccount: async (ref) => {
95
+ const nativeLinkedAccount = await nativeCandle.getLinkedAccount(ref);
96
+ return fromNativeLinkedAccount(nativeLinkedAccount);
97
+ },
98
+ unlinkAccount: (ref) => nativeCandle.unlinkAccount(ref),
99
+
100
+ createUser: ({ appUserID }) => nativeCandle.createUser(appUserID),
101
+ deleteUser: () => nativeCandle.deleteUser(),
102
+
103
+ getAssetAccounts: async (query = {}) => {
104
+ const nativeAssetAccountsResponse = await nativeCandle.getAssetAccounts(
105
+ query
106
+ );
107
+ return {
108
+ ...nativeAssetAccountsResponse,
109
+ assetAccounts: nativeAssetAccountsResponse.assetAccounts.map(
110
+ fromNativeAssetAccount
111
+ ),
112
+ };
113
+ },
114
+ getAssetAccount: async (ref) => {
115
+ const nativeAssetAccount = await nativeCandle.getAssetAccount(ref);
116
+ return fromNativeAssetAccount(nativeAssetAccount);
117
+ },
118
+
119
+ getTrades: async (query = {}) => {
120
+ const nativeTradesResponse = await nativeCandle.getTrades(query);
121
+ return {
122
+ ...nativeTradesResponse,
123
+ trades: nativeTradesResponse.trades.map(fromNativeTrade),
124
+ };
125
+ },
126
+
127
+ getTrade: async (ref) => {
128
+ const nativeRef = toNativeTradeRef(ref);
129
+ const nativeTrade = await nativeCandle.getTrade(nativeRef);
130
+ return fromNativeTrade(nativeTrade);
131
+ },
132
+
133
+ getTradeQuotes: async (request) => {
134
+ const nativeRequest = toNativeTradeQuoteRequest(request);
135
+ const nativeTradeQuotesResponse = await nativeCandle.getTradeQuotes(
136
+ nativeRequest
137
+ );
138
+ return {
139
+ ...nativeTradeQuotesResponse,
140
+ tradeQuotes: nativeTradeQuotesResponse.tradeQuotes.map(
141
+ fromNativeTradeQuoteAndRequest(request)
142
+ ),
143
+ };
144
+ },
145
+ }),
146
+ [nativeCandle]
147
+ );
148
+
149
+ return (
150
+ <CandleContext.Provider value={value}>{children}</CandleContext.Provider>
151
+ );
152
+ };
@@ -1,4 +1,4 @@
1
- import type { AnyMap, HybridObject } from "react-native-nitro-modules";
1
+ import type { HybridObject } from "react-native-nitro-modules";
2
2
 
3
3
  export type AppUser = {
4
4
  appKey: string;
@@ -41,8 +41,10 @@ type FiatAccount = {
41
41
  service: Service;
42
42
  };
43
43
 
44
+ type MarketAssetKind = "stock" | "crypto";
45
+
44
46
  type MarketAccount = {
45
- assetKind: string; // "stock" | "crypto"
47
+ assetKind: MarketAssetKind;
46
48
  serviceAccountID: string;
47
49
  accountKind: FiatMarketAccountKind;
48
50
  nickname: string;
@@ -67,7 +69,7 @@ export type AssetAccount = {
67
69
 
68
70
  type AssetAccountKind = "fiat" | "stock" | "crypto" | "transport";
69
71
 
70
- export type AssetAccountQuery = {
72
+ export type AssetAccountsQuery = {
71
73
  linkedAccountIDs?: string;
72
74
  assetKind?: AssetAccountKind;
73
75
  };
@@ -83,7 +85,7 @@ export type FiatAsset = {
83
85
  };
84
86
 
85
87
  export type MarketTradeAsset = {
86
- assetKind: string; // "stock" | "crypto"
88
+ assetKind: MarketAssetKind;
87
89
  serviceAccountID: string;
88
90
  serviceAssetID: string;
89
91
  symbol: string;
@@ -112,7 +114,6 @@ export type TransportAsset = {
112
114
  serviceAccountID: string;
113
115
  name: string;
114
116
  description: string;
115
- // FIXME: use URL type for url fields
116
117
  imageURL: string;
117
118
  originCoordinates: Coordinates;
118
119
  originAddress: Address;
@@ -182,14 +183,22 @@ export type Trade = {
182
183
  gained: TradeAsset;
183
184
  };
184
185
 
185
- export type TradeQuery = {
186
+ export type TradeAssetKind =
187
+ | "fiat"
188
+ | "stock"
189
+ | "crypto"
190
+ | "transport"
191
+ | "other"
192
+ | "nothing";
193
+
194
+ export type CounterpartyKind = "merchant" | "user" | "service";
195
+
196
+ export type TradesQuery = {
186
197
  linkedAccountIDs?: string;
187
- // FIXME: To match the API this should be earliestDateTime
188
198
  dateTimeSpan?: string;
189
- // FIXME: define enum here rather than in JS wrapper layer
190
- gainedAssetKind?: string; // "fiat" | "stock" | "crypto" | "transport" | "other" | "nothing"
191
- lostAssetKind?: string; // "fiat" | "stock" | "crypto" | "transport" | "other" | "nothing"
192
- counterpartyKind?: string; // "merchant" | "user" | "service"
199
+ gainedAssetKind?: TradeAssetKind;
200
+ lostAssetKind?: TradeAssetKind;
201
+ counterpartyKind?: CounterpartyKind;
193
202
  };
194
203
 
195
204
  export type FiatAssetQuoteRequest = {
@@ -200,7 +209,7 @@ export type FiatAssetQuoteRequest = {
200
209
  };
201
210
 
202
211
  export type MarketAssetQuoteRequest = {
203
- assetKind: string; // "stock" | "crypto"
212
+ assetKind: MarketAssetKind;
204
213
  serviceAccountID?: string;
205
214
  serviceAssetID?: string;
206
215
  symbol?: string;
@@ -229,7 +238,7 @@ export type TradeAssetQuoteRequest = {
229
238
  nothingAssetQuoteRequest?: NothingAssetQuoteRequest;
230
239
  };
231
240
 
232
- export type TradeQuoteRequest = {
241
+ export type TradeQuotesRequest = {
233
242
  linkedAccountIDs?: string;
234
243
  gained: TradeAssetQuoteRequest;
235
244
  lost: TradeAssetQuoteRequest;
@@ -363,18 +372,13 @@ export type LinkedAccount = {
363
372
  details: LinkedAccountDetails;
364
373
  };
365
374
 
366
- export type ToolCall = {
367
- name: string;
368
- arguments: string;
369
- };
370
-
371
375
  export type LinkedAccountRef = {
372
376
  linkedAccountID: string;
373
377
  };
374
378
 
375
379
  export type AssetAccountRef = {
376
380
  linkedAccountID: string;
377
- assetKind: string; // "fiat" | "stock" | "crypto" | "transport"
381
+ assetKind: AssetAccountKind;
378
382
  serviceAccountID: string;
379
383
  };
380
384
 
@@ -385,7 +389,7 @@ export type FiatAssetRef = {
385
389
  };
386
390
 
387
391
  export type MarketTradeAssetRef = {
388
- assetKind: string; // "stock" | "crypto"
392
+ assetKind: MarketAssetKind;
389
393
  serviceTradeID: string;
390
394
  linkedAccountID: string;
391
395
  };
@@ -422,13 +426,13 @@ export type TradeExecutionResult = {
422
426
  error?: string;
423
427
  };
424
428
 
425
- export type StatePayload = "active" | "inactive" | "unavailable";
429
+ export type LinkedAccountState = "active" | "inactive" | "unavailable";
426
430
 
427
431
  export type LinkedAccountStatusRef = {
428
432
  linkedAccountID: string;
429
433
  service: Service;
430
434
  serviceUserID: string;
431
- state: StatePayload;
435
+ state: LinkedAccountState;
432
436
  };
433
437
 
434
438
  export type AssetAccountsResponse = {
@@ -462,17 +466,22 @@ export interface RNCandle extends HybridObject<{ ios: "swift" }> {
462
466
  presentationBackground: PresentationBackground,
463
467
  completion: (result: TradeExecutionResult) => void
464
468
  ): void;
465
- initialize(appUser: AppUser, accessGroup: string | undefined): void;
469
+
470
+ initialize(
471
+ appKey: string,
472
+ appSecret: string,
473
+ accessGroup: string | undefined
474
+ ): void;
475
+
466
476
  getLinkedAccounts(): Promise<LinkedAccount[]>;
467
477
  getLinkedAccount(ref: LinkedAccountRef): Promise<LinkedAccount>;
468
478
  unlinkAccount(ref: LinkedAccountRef): Promise<void>;
469
- getAssetAccounts(query: AssetAccountQuery): Promise<AssetAccountsResponse>;
479
+ getAssetAccounts(query: AssetAccountsQuery): Promise<AssetAccountsResponse>;
470
480
  getAssetAccount(ref: AssetAccountRef): Promise<AssetAccount>;
471
- getTrades(query: TradeQuery): Promise<TradesResponse>;
481
+ getTrades(query: TradesQuery): Promise<TradesResponse>;
472
482
  getTrade(ref: TradeRef): Promise<Trade>;
473
- getTradeQuotes(request: TradeQuoteRequest): Promise<TradeQuotesResponse>;
483
+ getTradeQuotes(request: TradeQuotesRequest): Promise<TradeQuotesResponse>;
484
+
485
+ createUser(appUserID: string): Promise<void>;
474
486
  deleteUser(): Promise<void>;
475
- // FIXME: The return type should be a more specific type based on the actual tool calls available.
476
- getAvailableTools(): Promise<Array<AnyMap>>;
477
- executeTool(tool: ToolCall): Promise<string>;
478
487
  }