@ecency/sdk 1.0.15 → 1.0.17

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.
@@ -4,6 +4,8 @@ import { TransactionConfirmation } from '@hiveio/dhive';
4
4
  import { UseMutationResult } from '@tanstack/react-query';
5
5
  import { UseQueryResult } from '@tanstack/react-query';
6
6
 
7
+ declare const broadcast: (account: string, operations: Operation[], key: KeychainAuthorityTypes, rpc?: string | null) => Promise<TxResponse>;
8
+
7
9
  export declare function delay(ms: number): Promise<unknown>;
8
10
 
9
11
  export declare interface EcencyCreateWalletInformation {
@@ -48,6 +50,18 @@ export { EcencyWalletsPrivateApi }
48
50
 
49
51
  export declare function getWallet(currency: EcencyWalletCurrency): BaseWallet | undefined;
50
52
 
53
+ declare function handshake(): Promise<void>;
54
+
55
+ declare namespace Keychain {
56
+ export {
57
+ handshake,
58
+ KeychainAuthorityTypes,
59
+ broadcast
60
+ }
61
+ }
62
+
63
+ declare type KeychainAuthorityTypes = "Owner" | "Active" | "Posting" | "Memo";
64
+
51
65
  export declare function mnemonicToSeedBip39(value: string): string;
52
66
 
53
67
  declare interface Payload {
@@ -64,6 +78,11 @@ declare interface Payload_3 {
64
78
  privateKeyOrSeed: string;
65
79
  }
66
80
 
81
+ declare interface TxResponse {
82
+ success: boolean;
83
+ result: string;
84
+ }
85
+
67
86
  export declare function useAccountUpdate(username: string): UseMutationResult<any, Error, any, unknown>;
68
87
 
69
88
  declare function useCheckWalletExistence(): UseMutationResult<boolean, Error, Payload_2, unknown>;
@@ -96,11 +115,19 @@ wallets: Map<EcencyWalletCurrency, EcencyCreateWalletInformation>;
96
115
 
97
116
  export declare function useSeedPhrase(username: string): UseQueryResult<string, Error>;
98
117
 
118
+ export declare function useSignOperationByHivesigner(callbackUri?: string): UseMutationResult<string | void, Error, {
119
+ operation: Operation;
120
+ }, unknown>;
121
+
99
122
  export declare function useSignOperationByKey(username: string | undefined): UseMutationResult<TransactionConfirmation, Error, {
100
123
  operation: Operation;
101
124
  keyOrSeed: string;
102
125
  }, unknown>;
103
126
 
127
+ export declare function useSignOperationByKeychain(username: string | undefined, keyType?: Keychain.KeychainAuthorityTypes): UseMutationResult<any, Error, {
128
+ operation: Operation;
129
+ }, unknown>;
130
+
104
131
  export declare function useWalletCreate(username: string, currency: EcencyWalletCurrency): {
105
132
  createWallet: UseMutationResult<EcencyCreateWalletInformation, Error, void, unknown>;
106
133
  importWallet: () => void;
@@ -1,48 +1,48 @@
1
- import { useCallback as A } from "react";
2
- import { useQuery as d, useQueryClient as y, useMutation as u } from "@tanstack/react-query";
3
- import { BtcWallet as O } from "@okxweb3/coin-bitcoin";
4
- import { EthWallet as k } from "@okxweb3/coin-ethereum";
1
+ import { useCallback as k } from "react";
2
+ import { useQuery as h, useQueryClient as f, useMutation as l } from "@tanstack/react-query";
3
+ import { BtcWallet as A } from "@okxweb3/coin-bitcoin";
4
+ import { EthWallet as K } from "@okxweb3/coin-ethereum";
5
5
  import { TrxWallet as R } from "@okxweb3/coin-tron";
6
- import { TonWallet as K } from "@okxweb3/coin-ton";
7
- import { SolWallet as C } from "@okxweb3/coin-solana";
8
- import { AtomWallet as N } from "@okxweb3/coin-cosmos";
9
- import { AptosWallet as x } from "@okxweb3/coin-aptos";
10
- import j, { mnemonicToSeedSync as D } from "bip39";
11
- import { Client as _, PrivateKey as l, cryptoUtils as H } from "@hiveio/dhive";
6
+ import { TonWallet as C } from "@okxweb3/coin-ton";
7
+ import { SolWallet as N } from "@okxweb3/coin-solana";
8
+ import { AtomWallet as x } from "@okxweb3/coin-cosmos";
9
+ import { AptosWallet as D } from "@okxweb3/coin-aptos";
10
+ import _, { mnemonicToSeedSync as j } from "bip39";
11
+ import { Client as B, PrivateKey as p, cryptoUtils as H } from "@hiveio/dhive";
12
12
  import { LRUCache as E } from "lru-cache";
13
- import B from "hivesigner";
14
- var n = /* @__PURE__ */ ((t) => (t.BTC = "BTC", t.ETH = "ETH", t.APT = "APT", t.ATOM = "ATOM", t.TON = "TON", t.TRON = "TRX", t.SOL = "SOL", t))(n || {});
15
- function W(t) {
13
+ import g from "hivesigner";
14
+ var o = /* @__PURE__ */ ((t) => (t.BTC = "BTC", t.ETH = "ETH", t.APT = "APT", t.ATOM = "ATOM", t.TON = "TON", t.TRON = "TRX", t.SOL = "SOL", t))(o || {});
15
+ function F(t) {
16
16
  return new Promise((e) => setTimeout(e, t));
17
17
  }
18
- function g(t) {
18
+ function T(t) {
19
19
  switch (t) {
20
- case n.BTC:
21
- return new O();
22
- case n.ETH:
23
- return new k();
24
- case n.TRON:
25
- return new R();
26
- case n.TON:
20
+ case o.BTC:
21
+ return new A();
22
+ case o.ETH:
27
23
  return new K();
28
- case n.SOL:
24
+ case o.TRON:
25
+ return new R();
26
+ case o.TON:
29
27
  return new C();
30
- case n.ATOM:
28
+ case o.SOL:
31
29
  return new N();
32
- case n.APT:
30
+ case o.ATOM:
33
31
  return new x();
32
+ case o.APT:
33
+ return new D();
34
34
  default:
35
35
  return;
36
36
  }
37
37
  }
38
- function yt(t) {
39
- return D(t).toString("hex");
38
+ function gt(t) {
39
+ return j(t).toString("hex");
40
40
  }
41
- const p = {
41
+ const u = {
42
42
  privateApiHost: "https://ecency.com",
43
43
  storage: localStorage,
44
44
  storagePrefix: "ecency",
45
- hiveClient: new _(
45
+ hiveClient: new B(
46
46
  [
47
47
  "https://api.hive.blog",
48
48
  "https://api.deathwing.me",
@@ -64,23 +64,23 @@ const p = {
64
64
  ),
65
65
  heliusApiKey: "fb1e2935-f911-4b1d-8e1c-3863f6879d42"
66
66
  };
67
- function gt(t, e) {
68
- return d({
67
+ function Tt(t, e) {
68
+ return h({
69
69
  queryKey: ["ecency-wallets", "external-wallet-balance", t, e],
70
70
  queryFn: async () => {
71
71
  switch (t) {
72
- case n.BTC:
72
+ case o.BTC:
73
73
  const a = await (await fetch(
74
74
  `https://mempool.space/api/address/${e}`
75
75
  )).json();
76
76
  return (a.chain_stats.funded_txo_sum - a.chain_stats.spent_txo_sum) / 1e8;
77
- case n.ETH:
77
+ case o.ETH:
78
78
  return +(await (await fetch(
79
79
  `https://api.ethplorer.io/getAddressInfo/${e}?apiKey=freekey`
80
80
  )).json()).ETH.balance;
81
- case n.SOL:
81
+ case o.SOL:
82
82
  return (await (await fetch(
83
- `https://rpc.helius.xyz/?api-key=${p.heliusApiKey}`,
83
+ `https://rpc.helius.xyz/?api-key=${u.heliusApiKey}`,
84
84
  {
85
85
  method: "POST",
86
86
  body: JSON.stringify({
@@ -94,22 +94,22 @@ function gt(t, e) {
94
94
  }
95
95
  }
96
96
  )).json()).result.value / 1e9;
97
- case n.TRON:
97
+ case o.TRON:
98
98
  return (await (await fetch(
99
99
  `https://api.trongrid.io/v1/accounts/${e}`
100
100
  )).json()).data[0].balance / 1e6;
101
- case n.TON:
101
+ case o.TON:
102
102
  return (await (await fetch(
103
103
  `https://tonapi.io/v1/blockchain/getAccount?account=${e}`
104
104
  )).json()).balance / 1e9;
105
- case n.APT:
106
- const w = (await (await fetch(
105
+ case o.APT:
106
+ const y = (await (await fetch(
107
107
  `https://fullnode.mainnet.aptoslabs.com/v1/accounts/${e}/resources`
108
108
  )).json()).find(
109
- (S) => S.type.includes("coin::CoinStore")
109
+ (O) => O.type.includes("coin::CoinStore")
110
110
  );
111
- return w ? parseInt(w.data.coin.value) / 1e8 : 0;
112
- case n.ATOM:
111
+ return y ? parseInt(y.data.coin.value) / 1e8 : 0;
112
+ case o.ATOM:
113
113
  return +(await (await fetch(
114
114
  `https://rest.cosmos.directory/cosmoshub/auth/accounts/${e}`
115
115
  )).json()).result.value.coins[0].amount / 1e6;
@@ -117,13 +117,13 @@ function gt(t, e) {
117
117
  }
118
118
  });
119
119
  }
120
- function T(t) {
121
- return d({
120
+ function b(t) {
121
+ return h({
122
122
  queryKey: ["ecency-wallets", "seed", t],
123
- queryFn: async () => j.generateMnemonic(128)
123
+ queryFn: async () => _.generateMnemonic(128)
124
124
  });
125
125
  }
126
- const F = {
126
+ const W = {
127
127
  max: 500,
128
128
  // how long to live in ms
129
129
  ttl: 1e3 * 60 * 5,
@@ -131,36 +131,36 @@ const F = {
131
131
  allowStale: !1,
132
132
  updateAgeOnGet: !1,
133
133
  updateAgeOnHas: !1
134
- }, b = new E(F), f = Symbol("undefined"), L = (t, e) => b.set(t, e === void 0 ? f : e), M = (t) => {
135
- const e = b.get(t);
136
- return e === f ? void 0 : e;
134
+ }, v = new E(W), w = Symbol("undefined"), L = (t, e) => v.set(t, e === void 0 ? w : e), M = (t) => {
135
+ const e = v.get(t);
136
+ return e === w ? void 0 : e;
137
137
  };
138
- function Tt(t) {
139
- return d({
138
+ function bt(t) {
139
+ return h({
140
140
  queryKey: ["ecency-wallets", "coingecko-price", t],
141
141
  queryFn: async () => {
142
142
  let e = t;
143
143
  switch (t) {
144
- case n.BTC:
144
+ case o.BTC:
145
145
  e = "binance-wrapped-btc";
146
146
  break;
147
- case n.ETH:
147
+ case o.ETH:
148
148
  e = "ethereum";
149
149
  break;
150
- case n.SOL:
150
+ case o.SOL:
151
151
  e = "solana";
152
152
  break;
153
- case n.TON:
153
+ case o.TON:
154
154
  e = "trx";
155
155
  break;
156
156
  default:
157
157
  e = t;
158
158
  }
159
- let o = M("gecko"), a;
160
- if (o)
161
- a = o;
159
+ let n = M("gecko"), a;
160
+ if (n)
161
+ a = n;
162
162
  else {
163
- const r = await (await fetch(
163
+ const i = await (await fetch(
164
164
  "https://api.coingecko.com/api/v3/simple/price",
165
165
  {
166
166
  method: "POST",
@@ -172,7 +172,7 @@ function Tt(t) {
172
172
  })
173
173
  }
174
174
  )).json();
175
- L("gecko", r === void 0 ? f : r), a = r;
175
+ L("gecko", i === void 0 ? w : i), a = i;
176
176
  }
177
177
  return 1 / +a[Object.keys(a)[0]].usd;
178
178
  },
@@ -180,55 +180,55 @@ function Tt(t) {
180
180
  });
181
181
  }
182
182
  function q(t) {
183
- const { data: e } = T(t);
184
- return d({
183
+ const { data: e } = b(t);
184
+ return h({
185
185
  queryKey: ["ecencу-wallets", "hive-keys", t, e],
186
186
  queryFn: async () => {
187
187
  if (!e)
188
188
  throw new Error("[Ecency][Wallets] - no seed to create Hive account");
189
- const o = l.fromLogin(t, e, "owner"), a = l.fromLogin(t, e, "active"), s = l.fromLogin(t, e, "posting"), i = l.fromLogin(t, e, "memo");
189
+ const n = p.fromLogin(t, e, "owner"), a = p.fromLogin(t, e, "active"), s = p.fromLogin(t, e, "posting"), r = p.fromLogin(t, e, "memo");
190
190
  return {
191
191
  username: t,
192
- owner: o.toString(),
192
+ owner: n.toString(),
193
193
  active: a.toString(),
194
194
  posting: s.toString(),
195
- memo: i.toString(),
196
- ownerPubkey: o.createPublic().toString(),
195
+ memo: r.toString(),
196
+ ownerPubkey: n.createPublic().toString(),
197
197
  activePubkey: a.createPublic().toString(),
198
198
  postingPubkey: s.createPublic().toString(),
199
- memoPubkey: i.createPublic().toString()
199
+ memoPubkey: r.createPublic().toString()
200
200
  };
201
201
  }
202
202
  });
203
203
  }
204
204
  const I = {
205
- [n.BTC]: "m/44'/0'/0'/0/0",
205
+ [o.BTC]: "m/44'/0'/0'/0/0",
206
206
  // Bitcoin (BIP44)
207
- [n.ETH]: "m/44'/60'/0'/0/0",
207
+ [o.ETH]: "m/44'/60'/0'/0/0",
208
208
  // Ethereum (BIP44)
209
- [n.SOL]: "m/44'/501'/0'/0'",
209
+ [o.SOL]: "m/44'/501'/0'/0'",
210
210
  // Solana (BIP44)
211
- [n.TON]: "m/44'/607'/0'",
211
+ [o.TON]: "m/44'/607'/0'",
212
212
  // TON (BIP44)
213
- [n.TRON]: "m/44'/195'/0'/0/0",
213
+ [o.TRON]: "m/44'/195'/0'/0/0",
214
214
  // Tron (BIP44)
215
- [n.APT]: "m/44'/637'/0'/0'/0'",
215
+ [o.APT]: "m/44'/637'/0'/0'/0'",
216
216
  // Aptos (BIP44)
217
- [n.ATOM]: "m/44'/118'/0'/0/0"
217
+ [o.ATOM]: "m/44'/118'/0'/0/0"
218
218
  // Cosmos (BIP44)
219
219
  };
220
- function bt(t, e) {
221
- const { data: o } = T(t), a = y(), s = u({
220
+ function vt(t, e) {
221
+ const { data: n } = b(t), a = f(), s = l({
222
222
  mutationKey: ["ecency-wallets", "create-wallet", t, e],
223
223
  mutationFn: async () => {
224
- if (!o)
224
+ if (!n)
225
225
  throw new Error("[Ecency][Wallets] - No seed to create a wallet");
226
- const r = g(e), c = await (r == null ? void 0 : r.getDerivedPrivateKey({
227
- mnemonic: o,
226
+ const i = T(e), c = await (i == null ? void 0 : i.getDerivedPrivateKey({
227
+ mnemonic: n,
228
228
  hdPath: I[e]
229
229
  }));
230
- await W(1e3);
231
- const m = await (r == null ? void 0 : r.getNewAddress({
230
+ await F(1e3);
231
+ const m = await (i == null ? void 0 : i.getNewAddress({
232
232
  privateKey: c
233
233
  }));
234
234
  return {
@@ -239,26 +239,26 @@ function bt(t, e) {
239
239
  currency: e
240
240
  };
241
241
  },
242
- onSuccess: (r) => {
242
+ onSuccess: (i) => {
243
243
  a.setQueryData(
244
- ["ecency-wallets", "wallets", r.username],
245
- (c) => new Map(c ? Array.from(c.entries()) : []).set(r.currency, r)
244
+ ["ecency-wallets", "wallets", i.username],
245
+ (c) => new Map(c ? Array.from(c.entries()) : []).set(i.currency, i)
246
246
  );
247
247
  }
248
- }), i = A(() => {
248
+ }), r = k(() => {
249
249
  }, []);
250
250
  return {
251
251
  createWallet: s,
252
- importWallet: i
252
+ importWallet: r
253
253
  };
254
254
  }
255
255
  function J(t) {
256
- const { data: e } = d({
256
+ const { data: e } = h({
257
257
  queryKey: ["ecency-wallets", "wallets", t]
258
- }), { data: o } = q(t);
259
- return u({
258
+ }), { data: n } = q(t);
259
+ return l({
260
260
  mutationKey: ["ecency-wallets", "create-account-with-wallets", t],
261
- mutationFn: ({ currency: a, address: s }) => fetch(p.privateApiHost + "/private-api/wallets-add", {
261
+ mutationFn: ({ currency: a, address: s }) => fetch(u.privateApiHost + "/private-api/wallets-add", {
262
262
  method: "POST",
263
263
  headers: {
264
264
  "Content-Type": "application/json"
@@ -268,14 +268,14 @@ function J(t) {
268
268
  token: a,
269
269
  address: s,
270
270
  meta: {
271
- ownerPublicKey: o == null ? void 0 : o.ownerPubkey,
272
- activePublicKey: o == null ? void 0 : o.activePubkey,
273
- postingPublicKey: o == null ? void 0 : o.postingPubkey,
274
- memoPublicKey: o == null ? void 0 : o.memoPubkey,
271
+ ownerPublicKey: n == null ? void 0 : n.ownerPubkey,
272
+ activePublicKey: n == null ? void 0 : n.activePubkey,
273
+ postingPublicKey: n == null ? void 0 : n.postingPubkey,
274
+ memoPublicKey: n == null ? void 0 : n.memoPubkey,
275
275
  ...Array.from((e == null ? void 0 : e.entries()) ?? []).reduce(
276
- (i, [r, c]) => ({
277
- ...i,
278
- [r]: c.address
276
+ (r, [i, c]) => ({
277
+ ...r,
278
+ [i]: c.address
279
279
  }),
280
280
  {}
281
281
  )
@@ -284,11 +284,11 @@ function J(t) {
284
284
  })
285
285
  });
286
286
  }
287
- function v() {
288
- return u({
287
+ function P() {
288
+ return l({
289
289
  mutationKey: ["ecency-wallets", "check-wallet-existence"],
290
290
  mutationFn: async ({ address: t, currency: e }) => (await (await fetch(
291
- p.privateApiHost + "/private-api/wallets-exist",
291
+ u.privateApiHost + "/private-api/wallets-exist",
292
292
  {
293
293
  method: "POST",
294
294
  headers: {
@@ -302,52 +302,52 @@ function v() {
302
302
  )).json()).length === 0
303
303
  });
304
304
  }
305
- const vt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
305
+ const Pt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
306
306
  __proto__: null,
307
- useCheckWalletExistence: v,
307
+ useCheckWalletExistence: P,
308
308
  useCreateAccountWithWallets: J
309
309
  }, Symbol.toStringTag, { value: "Module" })), Q = {
310
- [n.BTC]: ["m/84'/0'/0'/0/0"],
311
- [n.ETH]: ["m/84'/60'/0'/0/0"],
310
+ [o.BTC]: ["m/84'/0'/0'/0/0"],
311
+ [o.ETH]: ["m/84'/60'/0'/0/0"],
312
312
  // its not working for Trust, Exodus, todo: check others below
313
- [n.SOL]: ["m/84'/501'/0'/0/0"],
314
- [n.TRON]: ["m/44'/195'/0'/0'/0'"],
315
- [n.APT]: ["m/84'/637'/0'/0/0"],
316
- [n.TON]: [],
313
+ [o.SOL]: ["m/84'/501'/0'/0/0"],
314
+ [o.TRON]: ["m/44'/195'/0'/0'/0'"],
315
+ [o.APT]: ["m/84'/637'/0'/0/0"],
316
+ [o.TON]: [],
317
317
  // Disabled
318
- [n.ATOM]: ["m/84'/118'/0'/0'/0"]
318
+ [o.ATOM]: ["m/84'/118'/0'/0'/0"]
319
319
  };
320
- async function $(t, e, o) {
321
- for (const a of Q[o] || [])
320
+ async function $(t, e, n) {
321
+ for (const a of Q[n] || [])
322
322
  try {
323
323
  const s = await e.getDerivedPrivateKey({
324
324
  mnemonic: t,
325
325
  hdPath: a
326
- }), i = await e.getNewAddress({
326
+ }), r = await e.getNewAddress({
327
327
  privateKey: s,
328
- addressType: o === n.BTC ? "segwit_native" : void 0
328
+ addressType: n === o.BTC ? "segwit_native" : void 0
329
329
  });
330
- return [s.toString(), i.address];
330
+ return [s.toString(), r.address];
331
331
  } catch {
332
332
  return [];
333
333
  }
334
334
  return [];
335
335
  }
336
- function Pt(t, e) {
337
- const o = y(), { mutateAsync: a } = v();
338
- return u({
336
+ function St(t, e) {
337
+ const n = f(), { mutateAsync: a } = P();
338
+ return l({
339
339
  mutationKey: ["ecency-wallets", "import-wallet", t, e],
340
340
  mutationFn: async ({ privateKeyOrSeed: s }) => {
341
- const i = g(e);
342
- if (!i)
341
+ const r = T(e);
342
+ if (!r)
343
343
  throw new Error("Cannot find token for this currency");
344
- const r = s.split(" ").length === 12;
344
+ const i = s.split(" ").length === 12;
345
345
  let c, m = s;
346
- if (r ? [m, c] = await $(
346
+ if (i ? [m, c] = await $(
347
347
  s,
348
- i,
348
+ r,
349
349
  e
350
- ) : c = (await i.getNewAddress({
350
+ ) : c = (await r.getNewAddress({
351
351
  privateKey: s
352
352
  })).address, !c || !s)
353
353
  throw new Error(
@@ -366,13 +366,13 @@ function Pt(t, e) {
366
366
  publicKey: ""
367
367
  };
368
368
  },
369
- onSuccess: ({ privateKey: s, publicKey: i, address: r }) => {
370
- o.setQueryData(
369
+ onSuccess: ({ privateKey: s, publicKey: r, address: i }) => {
370
+ n.setQueryData(
371
371
  ["ecency-wallets", "wallets", t],
372
372
  (c) => new Map(c ? Array.from(c.entries()) : []).set(e, {
373
373
  privateKey: s,
374
- publicKey: i,
375
- address: r,
374
+ publicKey: r,
375
+ address: i,
376
376
  username: t,
377
377
  currency: e,
378
378
  custom: !0
@@ -386,19 +386,19 @@ function G(t) {
386
386
  if (e[0] === "{")
387
387
  return JSON.parse(e);
388
388
  }
389
- const h = (t) => {
389
+ const d = (t) => {
390
390
  try {
391
- const e = p.storage.getItem(
392
- p.storagePrefix + "_user_" + t
391
+ const e = u.storage.getItem(
392
+ u.storagePrefix + "_user_" + t
393
393
  );
394
394
  return G(JSON.parse(e));
395
395
  } catch (e) {
396
396
  console.error(e);
397
397
  return;
398
398
  }
399
- }, U = (t) => h(t) && h(t).accessToken, V = (t) => h(t) && h(t).postingKey;
400
- function z(t = [], e, o) {
401
- return u({
399
+ }, U = (t) => d(t) && d(t).accessToken, V = (t) => d(t) && d(t).postingKey;
400
+ function z(t = [], e, n) {
401
+ return l({
402
402
  mutationKey: [...t, e],
403
403
  mutationFn: async (a) => {
404
404
  if (!e)
@@ -407,17 +407,17 @@ function z(t = [], e, o) {
407
407
  );
408
408
  const s = V(e);
409
409
  if (s) {
410
- const r = l.fromString(s);
411
- return p.hiveClient.broadcast.sendOperations(
412
- o(a),
413
- r
410
+ const i = p.fromString(s);
411
+ return u.hiveClient.broadcast.sendOperations(
412
+ n(a),
413
+ i
414
414
  );
415
415
  }
416
- let i = U(e);
417
- if (i)
418
- return (await new B.Client({
419
- accessToken: i
420
- }).broadcast(o(a))).result;
416
+ let r = U(e);
417
+ if (r)
418
+ return (await new g.Client({
419
+ accessToken: r
420
+ }).broadcast(n(a))).result;
421
421
  throw new Error(
422
422
  "[SDK][Broadcast] – cannot broadcast w/o posting key or token"
423
423
  );
@@ -443,53 +443,86 @@ function X(t) {
443
443
  ]
444
444
  );
445
445
  }
446
- function St(t) {
446
+ function Ot(t) {
447
447
  const { mutateAsync: e } = X(t);
448
- return u({
448
+ return l({
449
449
  mutationKey: ["ecency-wallets", "save-wallet-to-metadata", t],
450
450
  mutationFn: ({
451
- wallets: o
451
+ wallets: n
452
452
  }) => e(
453
- Array.from(o.entries() ?? []).reduce(
454
- (a, [s, i]) => ({
453
+ Array.from(n.entries() ?? []).reduce(
454
+ (a, [s, r]) => ({
455
455
  ...a,
456
- [s]: i.address
456
+ [s]: r.address
457
457
  }),
458
458
  {}
459
459
  )
460
460
  )
461
461
  });
462
462
  }
463
- function At(t) {
464
- return u({
463
+ function kt(t) {
464
+ return l({
465
465
  mutationKey: ["operations", "sign", t],
466
466
  mutationFn: ({
467
467
  operation: e,
468
- keyOrSeed: o
468
+ keyOrSeed: n
469
469
  }) => {
470
470
  if (!t)
471
471
  throw new Error("[Operations][Sign] – cannot sign op with anon user");
472
472
  let a;
473
- return o.split(" ").length === 12 ? a = l.fromLogin(t, o, "active") : H.isWif(o) ? a = l.fromString(o) : a = l.from(o), p.hiveClient.broadcast.sendOperations(
473
+ return n.split(" ").length === 12 ? a = p.fromLogin(t, n, "active") : H.isWif(n) ? a = p.fromString(n) : a = p.from(n), u.hiveClient.broadcast.sendOperations(
474
474
  [e],
475
475
  a
476
476
  );
477
477
  }
478
478
  });
479
479
  }
480
+ const Y = (t, e, n, a = null) => new Promise((s, r) => {
481
+ var i;
482
+ (i = window.hive_keychain) == null || i.requestBroadcast(
483
+ t,
484
+ e,
485
+ n,
486
+ (c) => {
487
+ c.success || r({ message: "Operation cancelled" }), s(c);
488
+ },
489
+ a
490
+ );
491
+ });
492
+ function At(t, e = "Active") {
493
+ return l({
494
+ mutationKey: ["operations", "sign-keychain", t],
495
+ mutationFn: ({ operation: n }) => {
496
+ if (!t)
497
+ throw new Error(
498
+ "[SDK][Keychain] – cannot sign operation with anon user"
499
+ );
500
+ return Y(t, [n], e);
501
+ }
502
+ });
503
+ }
504
+ function Kt(t = "/") {
505
+ return l({
506
+ mutationKey: ["operations", "sign-hivesigner", t],
507
+ mutationFn: async ({ operation: e }) => g.sendOperation(e, { callback: t }, () => {
508
+ })
509
+ });
510
+ }
480
511
  export {
481
- n as EcencyWalletCurrency,
482
- vt as EcencyWalletsPrivateApi,
483
- W as delay,
484
- g as getWallet,
485
- yt as mnemonicToSeedBip39,
512
+ o as EcencyWalletCurrency,
513
+ Pt as EcencyWalletsPrivateApi,
514
+ F as delay,
515
+ T as getWallet,
516
+ gt as mnemonicToSeedBip39,
486
517
  X as useAccountUpdate,
487
- Tt as useCoinGeckoPriceQuery,
488
- gt as useGetExternalWalletBalanceQuery,
518
+ bt as useCoinGeckoPriceQuery,
519
+ Tt as useGetExternalWalletBalanceQuery,
489
520
  q as useHiveKeysQuery,
490
- Pt as useImportWallet,
491
- St as useSaveWalletInformationToMetadata,
492
- T as useSeedPhrase,
493
- At as useSignOperationByKey,
494
- bt as useWalletCreate
521
+ St as useImportWallet,
522
+ Ot as useSaveWalletInformationToMetadata,
523
+ b as useSeedPhrase,
524
+ Kt as useSignOperationByHivesigner,
525
+ kt as useSignOperationByKey,
526
+ At as useSignOperationByKeychain,
527
+ vt as useWalletCreate
495
528
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ecency/sdk",
3
3
  "private": false,
4
- "version": "1.0.15",
4
+ "version": "1.0.17",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "main": "./dist/ecency-sdk.umd.js",