@coinflowlabs/react 0.3.0 → 1.0.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 (66) hide show
  1. package/README.md +4 -0
  2. package/build/cjs/CoinflowIFrame.d.ts +5 -5
  3. package/build/cjs/CoinflowIFrame.js +5 -4
  4. package/build/cjs/CoinflowIFrame.js.map +1 -1
  5. package/build/cjs/CoinflowPurchase.d.ts +21 -6
  6. package/build/cjs/CoinflowPurchase.js +35 -9
  7. package/build/cjs/CoinflowPurchase.js.map +1 -1
  8. package/build/cjs/CoinflowPurchaseHistory.d.ts +2 -2
  9. package/build/cjs/CoinflowPurchaseHistory.js +30 -5
  10. package/build/cjs/CoinflowPurchaseHistory.js.map +1 -1
  11. package/build/cjs/CoinflowUtils.d.ts +41 -6
  12. package/build/cjs/CoinflowUtils.js +41 -79
  13. package/build/cjs/CoinflowUtils.js.map +1 -1
  14. package/build/cjs/CoinflowWithdraw.d.ts +15 -7
  15. package/build/cjs/CoinflowWithdraw.js +30 -5
  16. package/build/cjs/CoinflowWithdraw.js.map +1 -1
  17. package/build/cjs/CoinflowWithdrawHistory.d.ts +14 -6
  18. package/build/cjs/CoinflowWithdrawHistory.js +30 -5
  19. package/build/cjs/CoinflowWithdrawHistory.js.map +1 -1
  20. package/build/cjs/NearIFrameMessageHandlers.d.ts +5 -0
  21. package/build/cjs/NearIFrameMessageHandlers.js +54 -0
  22. package/build/cjs/NearIFrameMessageHandlers.js.map +1 -0
  23. package/build/cjs/SolanaIFrameMessageHandlers.d.ts +18 -0
  24. package/build/cjs/{IFrameWalletConnector.js → SolanaIFrameMessageHandlers.js} +23 -108
  25. package/build/cjs/SolanaIFrameMessageHandlers.js.map +1 -0
  26. package/build/cjs/index.d.ts +0 -1
  27. package/build/cjs/index.js +0 -1
  28. package/build/cjs/index.js.map +1 -1
  29. package/build/cjs/useIframeWallet.d.ts +3 -11
  30. package/build/cjs/useIframeWallet.js +83 -11
  31. package/build/cjs/useIframeWallet.js.map +1 -1
  32. package/build/esm/CoinflowIFrame.d.ts +5 -5
  33. package/build/esm/CoinflowIFrame.js +6 -5
  34. package/build/esm/CoinflowIFrame.js.map +1 -1
  35. package/build/esm/CoinflowPurchase.d.ts +21 -6
  36. package/build/esm/CoinflowPurchase.js +35 -8
  37. package/build/esm/CoinflowPurchase.js.map +1 -1
  38. package/build/esm/CoinflowPurchaseHistory.d.ts +2 -2
  39. package/build/esm/CoinflowPurchaseHistory.js +30 -4
  40. package/build/esm/CoinflowPurchaseHistory.js.map +1 -1
  41. package/build/esm/CoinflowUtils.d.ts +41 -6
  42. package/build/esm/CoinflowUtils.js +41 -79
  43. package/build/esm/CoinflowUtils.js.map +1 -1
  44. package/build/esm/CoinflowWithdraw.d.ts +15 -7
  45. package/build/esm/CoinflowWithdraw.js +30 -4
  46. package/build/esm/CoinflowWithdraw.js.map +1 -1
  47. package/build/esm/CoinflowWithdrawHistory.d.ts +14 -6
  48. package/build/esm/CoinflowWithdrawHistory.js +30 -4
  49. package/build/esm/CoinflowWithdrawHistory.js.map +1 -1
  50. package/build/esm/NearIFrameMessageHandlers.d.ts +5 -0
  51. package/build/esm/NearIFrameMessageHandlers.js +50 -0
  52. package/build/esm/NearIFrameMessageHandlers.js.map +1 -0
  53. package/build/esm/SolanaIFrameMessageHandlers.d.ts +18 -0
  54. package/build/esm/{IFrameWalletConnector.js → SolanaIFrameMessageHandlers.js} +21 -106
  55. package/build/esm/SolanaIFrameMessageHandlers.js.map +1 -0
  56. package/build/esm/index.d.ts +0 -1
  57. package/build/esm/index.js +0 -1
  58. package/build/esm/index.js.map +1 -1
  59. package/build/esm/useIframeWallet.d.ts +3 -11
  60. package/build/esm/useIframeWallet.js +83 -11
  61. package/build/esm/useIframeWallet.js.map +1 -1
  62. package/package.json +2 -2
  63. package/build/cjs/IFrameWalletConnector.d.ts +0 -21
  64. package/build/cjs/IFrameWalletConnector.js.map +0 -1
  65. package/build/esm/IFrameWalletConnector.d.ts +0 -21
  66. package/build/esm/IFrameWalletConnector.js.map +0 -1
@@ -2,9 +2,9 @@ import { __awaiter, __generator } from "tslib";
2
2
  import { useCallback } from 'react';
3
3
  import base58 from 'bs58';
4
4
  import { Transaction, VersionedTransaction, } from '@solana/web3.js';
5
- export function useHandleIFrameMessages(_a) {
5
+ export function useSolanaIFrameMessageHandlers(_a) {
6
6
  var _this = this;
7
- var wallet = _a.wallet, connection = _a.connection, onSuccess = _a.onSuccess, partialSigners = _a.partialSigners, _b = _a.debugTx, debugTx = _b === void 0 ? false : _b, sendIFrameMessage = _a.sendIFrameMessage;
7
+ var wallet = _a.wallet, connection = _a.connection, partialSigners = _a.partialSigners, _b = _a.debugTx, debugTx = _b === void 0 ? false : _b;
8
8
  var handleSignMessage = useCallback(function (_a) {
9
9
  var data = _a.data;
10
10
  return __awaiter(_this, void 0, void 0, function () {
@@ -13,16 +13,15 @@ export function useHandleIFrameMessages(_a) {
13
13
  switch (_b.label) {
14
14
  case 0:
15
15
  if (!wallet.signMessage)
16
- return [2 /*return*/];
16
+ throw new Error('Wallet does not support message signing'); // TODO see if this is correct
17
17
  return [4 /*yield*/, wallet.signMessage(base58.decode(data))];
18
18
  case 1:
19
19
  signature = _b.sent();
20
- sendIFrameMessage(base58.encode(signature));
21
- return [2 /*return*/];
20
+ return [2 /*return*/, base58.encode(signature)];
22
21
  }
23
22
  });
24
23
  });
25
- }, [sendIFrameMessage, wallet]);
24
+ }, [wallet]);
26
25
  var sendTransactionDebug = useCallback(function (tx) { return __awaiter(_this, void 0, void 0, function () {
27
26
  var signedTx, serializedTx, signature;
28
27
  return __generator(this, function (_a) {
@@ -39,11 +38,10 @@ export function useHandleIFrameMessages(_a) {
39
38
  })];
40
39
  case 2:
41
40
  signature = _a.sent();
42
- sendIFrameMessage(signature);
43
- return [2 /*return*/];
41
+ return [2 /*return*/, signature];
44
42
  }
45
43
  });
46
- }); }, [connection, sendIFrameMessage, wallet]);
44
+ }); }, [connection, wallet]);
47
45
  var handleSendTransaction = useCallback(function (_a) {
48
46
  var data = _a.data;
49
47
  return __awaiter(_this, void 0, void 0, function () {
@@ -82,25 +80,15 @@ export function useHandleIFrameMessages(_a) {
82
80
  }
83
81
  if (!debugTx) return [3 /*break*/, 2];
84
82
  return [4 /*yield*/, sendTransactionDebug(tx)];
85
- case 1:
86
- _b.sent();
87
- return [2 /*return*/];
83
+ case 1: return [2 /*return*/, _b.sent()];
88
84
  case 2: return [4 /*yield*/, wallet.sendTransaction(tx, connection)];
89
85
  case 3:
90
86
  signature = _b.sent();
91
- sendIFrameMessage(signature);
92
- return [2 /*return*/];
87
+ return [2 /*return*/, signature];
93
88
  }
94
89
  });
95
90
  });
96
- }, [
97
- connection,
98
- debugTx,
99
- partialSigners,
100
- sendIFrameMessage,
101
- sendTransactionDebug,
102
- wallet,
103
- ]);
91
+ }, [connection, debugTx, partialSigners, sendTransactionDebug, wallet]);
104
92
  var handleSignTransaction = useCallback(function (_a) {
105
93
  var data = _a.data;
106
94
  return __awaiter(_this, void 0, void 0, function () {
@@ -126,91 +114,18 @@ export function useHandleIFrameMessages(_a) {
126
114
  return [4 /*yield*/, wallet.signTransaction(tx)];
127
115
  case 1:
128
116
  signedTransaction = _b.sent();
129
- sendIFrameMessage(base58.encode(signedTransaction.serialize({
130
- requireAllSignatures: false,
131
- verifySignatures: false
132
- })));
133
- return [2 /*return*/];
117
+ return [2 /*return*/, base58.encode(signedTransaction.serialize({
118
+ requireAllSignatures: false,
119
+ verifySignatures: false
120
+ }))];
134
121
  }
135
122
  });
136
123
  });
137
- }, [partialSigners, sendIFrameMessage, wallet]);
138
- var handleIframeMessages = useCallback(function (_a) {
139
- var data = _a.data;
140
- return __awaiter(_this, void 0, void 0, function () {
141
- var parsedData, _b, e_1;
142
- return __generator(this, function (_c) {
143
- switch (_c.label) {
144
- case 0:
145
- _c.trys.push([0, 10, , 11]);
146
- if (!wallet)
147
- return [2 /*return*/];
148
- parsedData = parseJSON(data);
149
- if (!parsedData)
150
- return [2 /*return*/];
151
- _b = parsedData.method;
152
- switch (_b) {
153
- case 'signMessage': return [3 /*break*/, 1];
154
- case 'sendTransaction': return [3 /*break*/, 3];
155
- case 'success': return [3 /*break*/, 5];
156
- case 'signTransaction': return [3 /*break*/, 6];
157
- }
158
- return [3 /*break*/, 8];
159
- case 1: return [4 /*yield*/, handleSignMessage(parsedData)];
160
- case 2:
161
- _c.sent();
162
- return [3 /*break*/, 9];
163
- case 3: return [4 /*yield*/, handleSendTransaction(parsedData)];
164
- case 4:
165
- _c.sent();
166
- return [3 /*break*/, 9];
167
- case 5:
168
- {
169
- if (onSuccess)
170
- onSuccess(data);
171
- return [3 /*break*/, 9];
172
- }
173
- _c.label = 6;
174
- case 6: return [4 /*yield*/, handleSignTransaction(parsedData)];
175
- case 7:
176
- _c.sent();
177
- return [3 /*break*/, 9];
178
- case 8:
179
- {
180
- throw new Error("Unsupported Wallet Method ".concat(parsedData.method, ", must be signMessage or signTransaction"));
181
- }
182
- _c.label = 9;
183
- case 9: return [3 /*break*/, 11];
184
- case 10:
185
- e_1 = _c.sent();
186
- console.error('handleIframeMessages', e_1);
187
- sendIFrameMessage('ERROR');
188
- return [3 /*break*/, 11];
189
- case 11: return [2 /*return*/];
190
- }
191
- });
192
- });
193
- }, [
194
- wallet,
195
- handleSignMessage,
196
- handleSendTransaction,
197
- onSuccess,
198
- handleSignTransaction,
199
- sendIFrameMessage,
200
- ]);
201
- return { handleIframeMessages: handleIframeMessages };
202
- }
203
- function parseJSON(data) {
204
- try {
205
- var res = JSON.parse(data);
206
- if (!res.method)
207
- return null;
208
- if (!res.data)
209
- return null;
210
- return res;
211
- }
212
- catch (e) {
213
- return null;
214
- }
124
+ }, [partialSigners, wallet]);
125
+ return {
126
+ handleSignTransaction: handleSignTransaction,
127
+ handleSendTransaction: handleSendTransaction,
128
+ handleSignMessage: handleSignMessage
129
+ };
215
130
  }
216
- //# sourceMappingURL=IFrameWalletConnector.js.map
131
+ //# sourceMappingURL=SolanaIFrameMessageHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolanaIFrameMessageHandlers.js","sourceRoot":"","sources":["../../src/SolanaIFrameMessageHandlers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  export * from './CoinflowWithdraw';
2
2
  export * from './CoinflowPurchase';
3
3
  export * from './CoinflowUtils';
4
- export * from './IFrameWalletConnector';
5
4
  export * from './useIframeWallet';
6
5
  export * from './CoinflowIFrame';
7
6
  export * from './CoinflowPurchaseHistory';
@@ -1,7 +1,6 @@
1
1
  export * from './CoinflowWithdraw';
2
2
  export * from './CoinflowPurchase';
3
3
  export * from './CoinflowUtils';
4
- export * from './IFrameWalletConnector';
5
4
  export * from './useIframeWallet';
6
5
  export * from './CoinflowIFrame';
7
6
  export * from './CoinflowPurchaseHistory';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC"}
@@ -1,14 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { Connection, Signer } from '@solana/web3.js';
3
- import { OnSuccessMethod } from './IFrameWalletConnector';
4
- import { SubsetWalletContextState } from './CoinflowUtils';
5
- export type IFrameWalletProps = {
6
- wallet: SubsetWalletContextState;
7
- connection: Connection;
8
- onSuccess?: OnSuccessMethod;
9
- partialSigners?: Signer[];
10
- debugTx?: boolean;
11
- };
12
- export declare function useIframeWallet({ wallet, connection, onSuccess, partialSigners, debugTx, }: IFrameWalletProps): {
2
+ import { IFrameMessageHandlers } from './SolanaIFrameMessageHandlers';
3
+ export type OnSuccessMethod = (params: string) => void | Promise<void>;
4
+ export declare function useIframeWallet({ handleSignTransaction, handleSendTransaction, handleSignMessage, }: IFrameMessageHandlers, onSuccess?: OnSuccessMethod): {
13
5
  IFrameRef: import("react").RefObject<HTMLIFrameElement>;
14
6
  };
@@ -1,7 +1,8 @@
1
+ import { __awaiter, __generator } from "tslib";
1
2
  import { useCallback, useEffect, useRef } from 'react';
2
- import { useHandleIFrameMessages, } from './IFrameWalletConnector';
3
- export function useIframeWallet(_a) {
4
- var wallet = _a.wallet, connection = _a.connection, onSuccess = _a.onSuccess, partialSigners = _a.partialSigners, _b = _a.debugTx, debugTx = _b === void 0 ? false : _b;
3
+ export function useIframeWallet(_a, onSuccess) {
4
+ var _this = this;
5
+ var handleSignTransaction = _a.handleSignTransaction, handleSendTransaction = _a.handleSendTransaction, handleSignMessage = _a.handleSignMessage;
5
6
  var IFrameRef = useRef(null);
6
7
  var sendIFrameMessage = useCallback(function (message) {
7
8
  var _a;
@@ -9,14 +10,72 @@ export function useIframeWallet(_a) {
9
10
  throw new Error('Iframe not defined');
10
11
  IFrameRef.current.contentWindow.postMessage(message, '*');
11
12
  }, [IFrameRef]);
12
- var handleIframeMessages = useHandleIFrameMessages({
13
- wallet: wallet,
14
- connection: connection,
15
- onSuccess: onSuccess,
16
- partialSigners: partialSigners,
17
- debugTx: debugTx,
18
- sendIFrameMessage: sendIFrameMessage
19
- }).handleIframeMessages;
13
+ var handleIframeMessages = useCallback(function (_a) {
14
+ var data = _a.data;
15
+ return __awaiter(_this, void 0, void 0, function () {
16
+ var parsedData, _b, message, signature, signedTransaction, e_1;
17
+ return __generator(this, function (_c) {
18
+ switch (_c.label) {
19
+ case 0:
20
+ _c.trys.push([0, 10, , 11]);
21
+ parsedData = parseJSON(data);
22
+ if (!parsedData)
23
+ return [2 /*return*/];
24
+ _b = parsedData.method;
25
+ switch (_b) {
26
+ case 'signMessage': return [3 /*break*/, 1];
27
+ case 'sendTransaction': return [3 /*break*/, 3];
28
+ case 'success': return [3 /*break*/, 5];
29
+ case 'signTransaction': return [3 /*break*/, 6];
30
+ }
31
+ return [3 /*break*/, 8];
32
+ case 1: return [4 /*yield*/, handleSignMessage(parsedData)];
33
+ case 2:
34
+ message = _c.sent();
35
+ sendIFrameMessage(message);
36
+ return [3 /*break*/, 9];
37
+ case 3: return [4 /*yield*/, handleSendTransaction(parsedData)];
38
+ case 4:
39
+ signature = _c.sent();
40
+ sendIFrameMessage(signature);
41
+ return [3 /*break*/, 9];
42
+ case 5:
43
+ {
44
+ if (onSuccess)
45
+ onSuccess(data);
46
+ return [3 /*break*/, 9];
47
+ }
48
+ _c.label = 6;
49
+ case 6:
50
+ if (!handleSignTransaction)
51
+ throw new Error("This wallet does not support method ".concat(parsedData.method));
52
+ return [4 /*yield*/, handleSignTransaction(parsedData)];
53
+ case 7:
54
+ signedTransaction = _c.sent();
55
+ sendIFrameMessage(signedTransaction);
56
+ return [3 /*break*/, 9];
57
+ case 8:
58
+ {
59
+ throw new Error("Unsupported Wallet Method ".concat(parsedData.method, ", must be signMessage or sendTransaction"));
60
+ }
61
+ _c.label = 9;
62
+ case 9: return [3 /*break*/, 11];
63
+ case 10:
64
+ e_1 = _c.sent();
65
+ console.error('handleIframeMessages', e_1);
66
+ sendIFrameMessage('ERROR');
67
+ return [3 /*break*/, 11];
68
+ case 11: return [2 /*return*/];
69
+ }
70
+ });
71
+ });
72
+ }, [
73
+ handleSignMessage,
74
+ handleSendTransaction,
75
+ onSuccess,
76
+ handleSignTransaction,
77
+ sendIFrameMessage,
78
+ ]);
20
79
  useEffect(function () {
21
80
  if (!window)
22
81
  throw new Error('Window not defined');
@@ -24,4 +83,17 @@ export function useIframeWallet(_a) {
24
83
  }, [handleIframeMessages]);
25
84
  return { IFrameRef: IFrameRef };
26
85
  }
86
+ function parseJSON(data) {
87
+ try {
88
+ var res = JSON.parse(data);
89
+ if (!res.method)
90
+ return null;
91
+ if (!res.data)
92
+ return null;
93
+ return res;
94
+ }
95
+ catch (e) {
96
+ return null;
97
+ }
98
+ }
27
99
  //# sourceMappingURL=useIframeWallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useIframeWallet.js","sourceRoot":"","sources":["../../src/useIframeWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAErD,OAAO,EAEL,uBAAuB,GACxB,MAAM,yBAAyB,CAAC;AAWjC,MAAM,UAAU,eAAe,CAAC,EAMZ;QALlB,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,cAAc,oBAAA,EACd,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA;IAEf,IAAM,SAAS,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAElD,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAC,OAAe;;QACd,IAAI,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,0CAAE,aAAa,CAAA;YACpC,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACxC,SAAS,CAAC,OAAO,CAAC,aAAa,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC5D,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEK,IAAA,oBAAoB,GAAI,uBAAuB,CAAC;QACrD,MAAM,QAAA;QACN,UAAU,YAAA;QACV,SAAS,WAAA;QACT,cAAc,gBAAA;QACd,OAAO,SAAA;QACP,iBAAiB,mBAAA;KAClB,CAAC,qBAPyB,CAOxB;IAEH,SAAS,CAAC;QACR,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnD,MAAM,CAAC,SAAS,GAAG,oBAAoB,CAAC;IAC1C,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,OAAO,EAAC,SAAS,WAAA,EAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"useIframeWallet.js","sourceRoot":"","sources":["../../src/useIframeWallet.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@coinflowlabs/react",
3
- "version": "0.3.0",
3
+ "version": "1.0.0",
4
4
  "description": "React Component for Coinflow Withdraw",
5
5
  "main": "./build/cjs/index.js",
6
6
  "module": "./build/esm/index.js",
@@ -24,7 +24,7 @@
24
24
  ],
25
25
  "dependencies": {
26
26
  "bs58": "^5.0.0",
27
- "@solana/web3.js": "^1.70.1",
27
+ "@solana/web3.js": "^1.73.0",
28
28
  "bn.js": "^5.2.1"
29
29
  },
30
30
  "devDependencies": {
@@ -1,21 +0,0 @@
1
- import { Connection, Signer } from '@solana/web3.js';
2
- import { SubsetWalletContextState } from './CoinflowUtils';
3
- export type WalletCall = {
4
- method: string;
5
- data: string;
6
- };
7
- export type OnSuccessMethod = (params: string) => void | Promise<void>;
8
- type Props = {
9
- wallet: SubsetWalletContextState;
10
- connection: Connection;
11
- onSuccess?: OnSuccessMethod;
12
- partialSigners?: Signer[];
13
- debugTx?: boolean;
14
- sendIFrameMessage: (message: string) => void;
15
- };
16
- export declare function useHandleIFrameMessages({ wallet, connection, onSuccess, partialSigners, debugTx, sendIFrameMessage, }: Props): {
17
- handleIframeMessages: ({ data }: {
18
- data: string;
19
- }) => Promise<void>;
20
- };
21
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"IFrameWalletConnector.js","sourceRoot":"","sources":["../../src/IFrameWalletConnector.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { Connection, Signer } from '@solana/web3.js';
2
- import { SubsetWalletContextState } from './CoinflowUtils';
3
- export type WalletCall = {
4
- method: string;
5
- data: string;
6
- };
7
- export type OnSuccessMethod = (params: string) => void | Promise<void>;
8
- type Props = {
9
- wallet: SubsetWalletContextState;
10
- connection: Connection;
11
- onSuccess?: OnSuccessMethod;
12
- partialSigners?: Signer[];
13
- debugTx?: boolean;
14
- sendIFrameMessage: (message: string) => void;
15
- };
16
- export declare function useHandleIFrameMessages({ wallet, connection, onSuccess, partialSigners, debugTx, sendIFrameMessage, }: Props): {
17
- handleIframeMessages: ({ data }: {
18
- data: string;
19
- }) => Promise<void>;
20
- };
21
- export {};
@@ -1 +0,0 @@
1
- {"version":3,"file":"IFrameWalletConnector.js","sourceRoot":"","sources":["../../src/IFrameWalletConnector.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AAClC,OAAO,MAAM,MAAM,MAAM,CAAC;AAC1B,OAAO,EAGL,WAAW,EACX,oBAAoB,GACrB,MAAM,iBAAiB,CAAC;AAgBzB,MAAM,UAAU,uBAAuB,CAAC,EAOhC;IAPR,iBAwKC;QAvKC,MAAM,YAAA,EACN,UAAU,gBAAA,EACV,SAAS,eAAA,EACT,cAAc,oBAAA,EACd,eAAe,EAAf,OAAO,mBAAG,KAAK,KAAA,EACf,iBAAiB,uBAAA;IAEjB,IAAM,iBAAiB,GAAG,WAAW,CACnC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;;wBACV,IAAI,CAAC,MAAM,CAAC,WAAW;4BAAE,sBAAO;wBACd,qBAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAA;;wBAAzD,SAAS,GAAG,SAA6C;wBAC/D,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;;;;;KAC7C,EACD,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAC5B,CAAC;IAEF,IAAM,oBAAoB,GAAG,WAAW,CACtC,UAAO,EAAsC;;;;;oBAC3C,IAAI,CAAC,MAAM,CAAC,eAAe;wBACzB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;oBAE7C,qBAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,EAAA;;oBAA3C,QAAQ,GAAG,SAAgC;oBAC3C,YAAY,GAAG,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACxB,qBAAM,UAAU,CAAC,kBAAkB,CAAC,YAAY,EAAE;4BAClE,aAAa,EAAE,IAAI;yBACpB,CAAC,EAAA;;oBAFI,SAAS,GAAG,SAEhB;oBACF,iBAAiB,CAAC,SAAS,CAAC,CAAC;;;;SAC9B,EACD,CAAC,UAAU,EAAE,iBAAiB,EAAE,MAAM,CAAC,CACxC,CAAC;IAEF,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;YACV,SAAS,cAAc;gBACrB,IAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAM,GAAG,GAAG,oBAAoB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;gBAC/D,IAAI,GAAG,CAAC,OAAO,KAAK,QAAQ;oBAAE,OAAO,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBACxE,OAAO,GAAG,CAAC;YACb,CAAC;;;;;wBAEK,EAAE,GAAG,cAAc,EAAE,CAAC;wBAGtB,aAAa,GAAG,UAAC,MAAc;4BACnC,IAAI,EAAE,YAAY,WAAW,EAAE;gCAC7B,IAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,GAAG;oCAC9C,OAAA,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;gCAAxB,CAAwB,CACzB,CAAC;gCACF,IAAM,YAAU,GAAG,kBAAkB,CAAC,QAAQ,CAC5C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC5B,CAAC;gCACF,IAAI,YAAU;oCAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gCACvC,OAAO;6BACR;4BAED,IAAM,aAAa,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB;iCAC/C,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,qBAAqB,CAAC;iCACjD,GAAG,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,CAAC,QAAQ,EAAE,EAAb,CAAa,CAAC,CAAC;4BAC5B,IAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;4BACvE,IAAI,UAAU;gCAAE,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;4BAClC,OAAO;wBACT,CAAC,CAAC;wBAEF,IAAI,cAAc,EAAE;4BAClB,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;yBACvC;6BAEG,OAAO,EAAP,wBAAO;wBACT,qBAAM,oBAAoB,CAAC,EAAE,CAAC,EAAA;;wBAA9B,SAA8B,CAAC;wBAC/B,sBAAO;4BAGS,qBAAM,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,UAAU,CAAC,EAAA;;wBAAxD,SAAS,GAAG,SAA4C;wBAC9D,iBAAiB,CAAC,SAAS,CAAC,CAAC;;;;;KAC9B,EACD;QACE,UAAU;QACV,OAAO;QACP,cAAc;QACd,iBAAiB;QACjB,oBAAoB;QACpB,MAAM;KACP,CACF,CAAC;IAEF,IAAM,qBAAqB,GAAG,WAAW,CACvC,UAAO,EAAkB;YAAjB,IAAI,UAAA;;;;;;wBACV,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE;4BAC3B,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;yBACpE;wBAEK,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;wBAG3C,aAAa,GAAG,UAAC,MAAc;4BACnC,IAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,GAAG;gCAC9C,OAAA,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE;4BAAxB,CAAwB,CACzB,CAAC;4BACF,IAAM,UAAU,GAAG,kBAAkB,CAAC,QAAQ,CAC5C,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,CAC5B,CAAC;4BACF,IAAI,UAAU;gCAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;wBACzC,CAAC,CAAC;wBACF,IAAI,cAAc,EAAE;4BAClB,cAAc,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;yBACvC;wBAEyB,qBAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,EAAA;;wBAApD,iBAAiB,GAAG,SAAgC;wBAC1D,iBAAiB,CACf,MAAM,CAAC,MAAM,CACX,iBAAiB,CAAC,SAAS,CAAC;4BAC1B,oBAAoB,EAAE,KAAK;4BAC3B,gBAAgB,EAAE,KAAK;yBACxB,CAAC,CACH,CACF,CAAC;;;;;KACH,EACD,CAAC,cAAc,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAC5C,CAAC;IAEF,IAAM,oBAAoB,GAAG,WAAW,CACtC,UAAO,EAAsB;YAArB,IAAI,UAAA;;;;;;;wBAER,IAAI,CAAC,MAAM;4BAAE,sBAAO;wBAEhB,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;wBACjC,IAAI,CAAC,UAAU;4BAAE,sBAAO;wBAEhB,KAAA,UAAU,CAAC,MAAM,CAAA;;iCAClB,aAAa,CAAC,CAAd,wBAAa;iCAIb,iBAAiB,CAAC,CAAlB,wBAAiB;iCAIjB,SAAS,CAAC,CAAV,wBAAS;iCAIT,iBAAiB,CAAC,CAAlB,wBAAiB;;;4BAXpB,qBAAM,iBAAiB,CAAC,UAAU,CAAC,EAAA;;wBAAnC,SAAmC,CAAC;wBACpC,wBAAM;4BAGN,qBAAM,qBAAqB,CAAC,UAAU,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,wBAAM;;wBAEQ;4BACd,IAAI,SAAS;gCAAE,SAAS,CAAC,IAAI,CAAC,CAAC;4BAC/B,wBAAM;yBACP;;4BAEC,qBAAM,qBAAqB,CAAC,UAAU,CAAC,EAAA;;wBAAvC,SAAuC,CAAC;wBACxC,wBAAM;;wBAEC;4BACP,MAAM,IAAI,KAAK,CACb,oCAA6B,UAAU,CAAC,MAAM,6CAA0C,CACzF,CAAC;yBACH;;;;;wBAGH,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAC,CAAC,CAAC;wBACzC,iBAAiB,CAAC,OAAO,CAAC,CAAC;;;;;;KAE9B,EACD;QACE,MAAM;QACN,iBAAiB;QACjB,qBAAqB;QACrB,SAAS;QACT,qBAAqB;QACrB,iBAAiB;KAClB,CACF,CAAC;IAEF,OAAO,EAAC,oBAAoB,sBAAA,EAAC,CAAC;AAChC,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI;QACF,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAC3B,OAAO,GAAG,CAAC;KACZ;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,CAAC;KACb;AACH,CAAC"}