@novasamatech/product-sdk 0.5.0-9 → 0.5.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.
@@ -0,0 +1,641 @@
1
+ export declare const hostApi: {
2
+ handshake: (args: {
3
+ tag: "v1";
4
+ value: number;
5
+ }) => import("neverthrow").ResultAsync<{
6
+ tag: "v1";
7
+ value: undefined;
8
+ }, {
9
+ tag: "v1";
10
+ value: (Error & {
11
+ name: "HandshakeErr::Unknown";
12
+ className: string;
13
+ payload: {
14
+ reason: string;
15
+ };
16
+ }) | (Error & {
17
+ name: "HandshakeErr::Timeout";
18
+ className: string;
19
+ payload: undefined;
20
+ }) | (Error & {
21
+ name: "HandshakeErr::UnsupportedProtocolVersion";
22
+ className: string;
23
+ payload: undefined;
24
+ });
25
+ }>;
26
+ feature: (args: {
27
+ tag: "v1";
28
+ value: {
29
+ tag: "Chain";
30
+ value: `0x${string}`;
31
+ };
32
+ }) => import("neverthrow").ResultAsync<{
33
+ tag: "v1";
34
+ value: boolean;
35
+ }, {
36
+ tag: "v1";
37
+ value: Error & {
38
+ name: "GenericError";
39
+ className: string;
40
+ payload: {
41
+ reason: string;
42
+ };
43
+ };
44
+ }>;
45
+ permission_request: (args: {
46
+ tag: "v1";
47
+ value: {
48
+ tag: "ChainSubmit";
49
+ value: `0x${string}`;
50
+ } | {
51
+ tag: "ChainConnect";
52
+ value: {
53
+ genesisHash: `0x${string}`;
54
+ name: string;
55
+ };
56
+ } | {
57
+ tag: "NetworkRequest";
58
+ value: string[];
59
+ };
60
+ }) => import("neverthrow").ResultAsync<{
61
+ tag: "v1";
62
+ value: undefined;
63
+ }, {
64
+ tag: "v1";
65
+ value: (Error & {
66
+ name: "PermissionErr::Rejected";
67
+ className: string;
68
+ payload: undefined;
69
+ }) | (Error & {
70
+ name: "PermissionErr::Unknown";
71
+ className: string;
72
+ payload: {
73
+ reason: string;
74
+ };
75
+ });
76
+ }>;
77
+ storage_read: (args: {
78
+ tag: "v1";
79
+ value: `0x${string}`;
80
+ }) => import("neverthrow").ResultAsync<{
81
+ tag: "v1";
82
+ value: Uint8Array<ArrayBufferLike> | undefined;
83
+ }, {
84
+ tag: "v1";
85
+ value: (Error & {
86
+ name: "StorageErr::Unknown";
87
+ className: string;
88
+ payload: {
89
+ reason: string;
90
+ };
91
+ }) | (Error & {
92
+ name: "StorageErr::Full";
93
+ className: string;
94
+ payload: undefined;
95
+ });
96
+ }>;
97
+ storage_write: (args: {
98
+ tag: "v1";
99
+ value: [`0x${string}`, Uint8Array<ArrayBufferLike>];
100
+ }) => import("neverthrow").ResultAsync<{
101
+ tag: "v1";
102
+ value: undefined;
103
+ }, {
104
+ tag: "v1";
105
+ value: (Error & {
106
+ name: "StorageErr::Unknown";
107
+ className: string;
108
+ payload: {
109
+ reason: string;
110
+ };
111
+ }) | (Error & {
112
+ name: "StorageErr::Full";
113
+ className: string;
114
+ payload: undefined;
115
+ });
116
+ }>;
117
+ storage_clear: (args: {
118
+ tag: "v1";
119
+ value: `0x${string}`;
120
+ }) => import("neverthrow").ResultAsync<{
121
+ tag: "v1";
122
+ value: undefined;
123
+ }, {
124
+ tag: "v1";
125
+ value: (Error & {
126
+ name: "StorageErr::Unknown";
127
+ className: string;
128
+ payload: {
129
+ reason: string;
130
+ };
131
+ }) | (Error & {
132
+ name: "StorageErr::Full";
133
+ className: string;
134
+ payload: undefined;
135
+ });
136
+ }>;
137
+ account_get: (args: {
138
+ tag: "v1";
139
+ value: [string, number];
140
+ }) => import("neverthrow").ResultAsync<{
141
+ tag: "v1";
142
+ value: {
143
+ publicKey: Uint8Array<ArrayBufferLike>;
144
+ name: string | undefined;
145
+ };
146
+ }, {
147
+ tag: "v1";
148
+ value: (Error & {
149
+ name: "RequestCredentialsErr::NotConnected";
150
+ className: string;
151
+ payload: undefined;
152
+ }) | (Error & {
153
+ name: "RequestCredentialsErr::Rejected";
154
+ className: string;
155
+ payload: undefined;
156
+ }) | (Error & {
157
+ name: "RequestCredentialsErr::DomainNotValid";
158
+ className: string;
159
+ payload: undefined;
160
+ }) | (Error & {
161
+ name: "RequestCredentialsErr::Unknown";
162
+ className: string;
163
+ payload: {
164
+ reason: string;
165
+ };
166
+ });
167
+ }>;
168
+ account_get_alias: (args: {
169
+ tag: "v1";
170
+ value: [string, number];
171
+ }) => import("neverthrow").ResultAsync<{
172
+ tag: "v1";
173
+ value: {
174
+ context: Uint8Array<ArrayBufferLike>;
175
+ alias: Uint8Array<ArrayBufferLike>;
176
+ };
177
+ }, {
178
+ tag: "v1";
179
+ value: (Error & {
180
+ name: "RequestCredentialsErr::NotConnected";
181
+ className: string;
182
+ payload: undefined;
183
+ }) | (Error & {
184
+ name: "RequestCredentialsErr::Rejected";
185
+ className: string;
186
+ payload: undefined;
187
+ }) | (Error & {
188
+ name: "RequestCredentialsErr::DomainNotValid";
189
+ className: string;
190
+ payload: undefined;
191
+ }) | (Error & {
192
+ name: "RequestCredentialsErr::Unknown";
193
+ className: string;
194
+ payload: {
195
+ reason: string;
196
+ };
197
+ });
198
+ }>;
199
+ account_create_proof: (args: {
200
+ tag: "v1";
201
+ value: [[string, number], {
202
+ genesisHash: `0x${string}`;
203
+ ringRootHash: `0x${string}`;
204
+ hints: {
205
+ palletInstance: number | undefined;
206
+ } | undefined;
207
+ }, Uint8Array<ArrayBufferLike>];
208
+ }) => import("neverthrow").ResultAsync<{
209
+ tag: "v1";
210
+ value: Uint8Array<ArrayBufferLike>;
211
+ }, {
212
+ tag: "v1";
213
+ value: (Error & {
214
+ name: "CreateProofErr::Rejected";
215
+ className: string;
216
+ payload: undefined;
217
+ }) | (Error & {
218
+ name: "CreateProofErr::Unknown";
219
+ className: string;
220
+ payload: {
221
+ reason: string;
222
+ };
223
+ }) | (Error & {
224
+ name: "CreateProofErr::RingNotFound";
225
+ className: string;
226
+ payload: undefined;
227
+ });
228
+ }>;
229
+ get_non_product_accounts: (args: {
230
+ tag: "v1";
231
+ value: undefined;
232
+ }) => import("neverthrow").ResultAsync<{
233
+ tag: "v1";
234
+ value: {
235
+ publicKey: Uint8Array<ArrayBufferLike>;
236
+ name: string | undefined;
237
+ }[];
238
+ }, {
239
+ tag: "v1";
240
+ value: (Error & {
241
+ name: "RequestCredentialsErr::NotConnected";
242
+ className: string;
243
+ payload: undefined;
244
+ }) | (Error & {
245
+ name: "RequestCredentialsErr::Rejected";
246
+ className: string;
247
+ payload: undefined;
248
+ }) | (Error & {
249
+ name: "RequestCredentialsErr::DomainNotValid";
250
+ className: string;
251
+ payload: undefined;
252
+ }) | (Error & {
253
+ name: "RequestCredentialsErr::Unknown";
254
+ className: string;
255
+ payload: {
256
+ reason: string;
257
+ };
258
+ });
259
+ }>;
260
+ create_transaction: (args: {
261
+ tag: "v1";
262
+ value: [[string, number], import("packages/host-api/dist/protocol/v1/createTransaction.js").TxPayloadV1Public];
263
+ }) => import("neverthrow").ResultAsync<{
264
+ tag: "v1";
265
+ value: Uint8Array<ArrayBufferLike>;
266
+ }, {
267
+ tag: "v1";
268
+ value: (Error & {
269
+ name: "CreateTransactionErr::Rejected";
270
+ className: string;
271
+ payload: undefined;
272
+ }) | (Error & {
273
+ name: "CreateTransactionErr::Unknown";
274
+ className: string;
275
+ payload: {
276
+ reason: string;
277
+ };
278
+ }) | (Error & {
279
+ name: "CreateTransactionErr::FailedToDecode";
280
+ className: string;
281
+ payload: undefined;
282
+ }) | (Error & {
283
+ name: "CreateTransactionErr::NotSupported";
284
+ className: string;
285
+ payload: string;
286
+ });
287
+ }>;
288
+ create_transaction_with_non_product_account: (args: {
289
+ tag: "v1";
290
+ value: import("packages/host-api/dist/protocol/v1/createTransaction.js").TxPayloadV1Public;
291
+ }) => import("neverthrow").ResultAsync<{
292
+ tag: "v1";
293
+ value: Uint8Array<ArrayBufferLike>;
294
+ }, {
295
+ tag: "v1";
296
+ value: (Error & {
297
+ name: "CreateTransactionErr::Rejected";
298
+ className: string;
299
+ payload: undefined;
300
+ }) | (Error & {
301
+ name: "CreateTransactionErr::Unknown";
302
+ className: string;
303
+ payload: {
304
+ reason: string;
305
+ };
306
+ }) | (Error & {
307
+ name: "CreateTransactionErr::FailedToDecode";
308
+ className: string;
309
+ payload: undefined;
310
+ }) | (Error & {
311
+ name: "CreateTransactionErr::NotSupported";
312
+ className: string;
313
+ payload: string;
314
+ });
315
+ }>;
316
+ sign_raw: (args: {
317
+ tag: "v1";
318
+ value: {
319
+ address: string;
320
+ data: {
321
+ tag: "Bytes";
322
+ value: Uint8Array<ArrayBufferLike>;
323
+ } | {
324
+ tag: "Payload";
325
+ value: string;
326
+ };
327
+ };
328
+ }) => import("neverthrow").ResultAsync<{
329
+ tag: "v1";
330
+ value: {
331
+ signature: `0x${string}`;
332
+ signedTransaction: `0x${string}` | undefined;
333
+ };
334
+ }, {
335
+ tag: "v1";
336
+ value: (Error & {
337
+ name: "SigningErr::Rejected";
338
+ className: string;
339
+ payload: undefined;
340
+ }) | (Error & {
341
+ name: "SigningErr::Unknown";
342
+ className: string;
343
+ payload: {
344
+ reason: string;
345
+ };
346
+ }) | (Error & {
347
+ name: "SigningErr::FailedToDecode";
348
+ className: string;
349
+ payload: undefined;
350
+ });
351
+ }>;
352
+ sign_payload: (args: {
353
+ tag: "v1";
354
+ value: {
355
+ address: string;
356
+ blockHash: `0x${string}`;
357
+ blockNumber: `0x${string}`;
358
+ era: `0x${string}`;
359
+ genesisHash: `0x${string}`;
360
+ method: `0x${string}`;
361
+ nonce: `0x${string}`;
362
+ specVersion: `0x${string}`;
363
+ tip: `0x${string}`;
364
+ transactionVersion: `0x${string}`;
365
+ signedExtensions: string[];
366
+ version: number;
367
+ assetId: `0x${string}` | undefined;
368
+ metadataHash: `0x${string}` | undefined;
369
+ mode: number | undefined;
370
+ withSignedTransaction: boolean | undefined;
371
+ };
372
+ }) => import("neverthrow").ResultAsync<{
373
+ tag: "v1";
374
+ value: {
375
+ signature: `0x${string}`;
376
+ signedTransaction: `0x${string}` | undefined;
377
+ };
378
+ }, {
379
+ tag: "v1";
380
+ value: (Error & {
381
+ name: "SigningErr::Rejected";
382
+ className: string;
383
+ payload: undefined;
384
+ }) | (Error & {
385
+ name: "SigningErr::Unknown";
386
+ className: string;
387
+ payload: {
388
+ reason: string;
389
+ };
390
+ }) | (Error & {
391
+ name: "SigningErr::FailedToDecode";
392
+ className: string;
393
+ payload: undefined;
394
+ });
395
+ }>;
396
+ chat_create_contact: (args: {
397
+ tag: "v1";
398
+ value: {
399
+ name: string;
400
+ icon: string;
401
+ };
402
+ }) => import("neverthrow").ResultAsync<{
403
+ tag: "v1";
404
+ value: "New" | "Exists";
405
+ }, {
406
+ tag: "v1";
407
+ value: Error & {
408
+ name: "ChatContactRegistrationErr::Unknown";
409
+ className: string;
410
+ payload: {
411
+ reason: string;
412
+ };
413
+ };
414
+ }>;
415
+ chat_post_message: (args: {
416
+ tag: "v1";
417
+ value: {
418
+ tag: "Text";
419
+ value: string;
420
+ } | {
421
+ tag: "RichText";
422
+ value: {
423
+ text: string | undefined;
424
+ media: {
425
+ url: string;
426
+ }[];
427
+ };
428
+ } | {
429
+ tag: "Actions";
430
+ value: {
431
+ text: string | undefined;
432
+ actions: {
433
+ actionId: string;
434
+ title: string;
435
+ }[];
436
+ layout: "Column" | "Grid";
437
+ };
438
+ } | {
439
+ tag: "File";
440
+ value: {
441
+ url: string;
442
+ fileName: string;
443
+ mimeType: string;
444
+ sizeBytes: bigint;
445
+ text: string | undefined;
446
+ };
447
+ } | {
448
+ tag: "Reaction";
449
+ value: {
450
+ messageId: string;
451
+ emoji: string;
452
+ };
453
+ } | {
454
+ tag: "ReactionRemoved";
455
+ value: {
456
+ messageId: string;
457
+ emoji: string;
458
+ };
459
+ };
460
+ }) => import("neverthrow").ResultAsync<{
461
+ tag: "v1";
462
+ value: {
463
+ messageId: string;
464
+ };
465
+ }, {
466
+ tag: "v1";
467
+ value: (Error & {
468
+ name: "ChatMessagePostingErr::Unknown";
469
+ className: string;
470
+ payload: {
471
+ reason: string;
472
+ };
473
+ }) | (Error & {
474
+ name: "ChatMessagePostingErr::MessageTooLarge";
475
+ className: string;
476
+ payload: undefined;
477
+ });
478
+ }>;
479
+ chat_action_subscribe: (args: {
480
+ tag: "v1";
481
+ value: undefined;
482
+ }, callback: (payload: {
483
+ tag: "v1";
484
+ value: {
485
+ tag: "MessagePosted";
486
+ value: {
487
+ tag: "Text";
488
+ value: string;
489
+ } | {
490
+ tag: "RichText";
491
+ value: {
492
+ text: string | undefined;
493
+ media: {
494
+ url: string;
495
+ }[];
496
+ };
497
+ } | {
498
+ tag: "Actions";
499
+ value: {
500
+ text: string | undefined;
501
+ actions: {
502
+ actionId: string;
503
+ title: string;
504
+ }[];
505
+ layout: "Column" | "Grid";
506
+ };
507
+ } | {
508
+ tag: "File";
509
+ value: {
510
+ url: string;
511
+ fileName: string;
512
+ mimeType: string;
513
+ sizeBytes: bigint;
514
+ text: string | undefined;
515
+ };
516
+ } | {
517
+ tag: "Reaction";
518
+ value: {
519
+ messageId: string;
520
+ emoji: string;
521
+ };
522
+ } | {
523
+ tag: "ReactionRemoved";
524
+ value: {
525
+ messageId: string;
526
+ emoji: string;
527
+ };
528
+ };
529
+ } | {
530
+ tag: "ActionTriggered";
531
+ value: {
532
+ messageId: string;
533
+ actionId: string;
534
+ };
535
+ };
536
+ }) => void) => import("packages/host-api/dist/types.js").Subscription;
537
+ statement_store_create_proof: (args: {
538
+ tag: "v1";
539
+ value: [[string, number], {
540
+ proof: {
541
+ tag: "Sr25519";
542
+ value: {
543
+ signature: Uint8Array<ArrayBufferLike>;
544
+ signer: Uint8Array<ArrayBufferLike>;
545
+ };
546
+ } | {
547
+ tag: "Ed25519";
548
+ value: {
549
+ signature: Uint8Array<ArrayBufferLike>;
550
+ signer: Uint8Array<ArrayBufferLike>;
551
+ };
552
+ } | {
553
+ tag: "Ecdsa";
554
+ value: {
555
+ signature: Uint8Array<ArrayBufferLike>;
556
+ signer: Uint8Array<ArrayBufferLike>;
557
+ };
558
+ } | {
559
+ tag: "OnChain";
560
+ value: {
561
+ who: Uint8Array<ArrayBufferLike>;
562
+ blockHash: Uint8Array<ArrayBufferLike>;
563
+ event: bigint;
564
+ };
565
+ } | undefined;
566
+ decryptionKey: Uint8Array<ArrayBufferLike> | undefined;
567
+ priority: number | undefined;
568
+ channel: Uint8Array<ArrayBufferLike> | undefined;
569
+ topics: Uint8Array<ArrayBufferLike>[];
570
+ data: Uint8Array<ArrayBufferLike> | undefined;
571
+ }];
572
+ }) => import("neverthrow").ResultAsync<{
573
+ tag: "v1";
574
+ value: {
575
+ tag: "Sr25519";
576
+ value: {
577
+ signature: Uint8Array<ArrayBufferLike>;
578
+ signer: Uint8Array<ArrayBufferLike>;
579
+ };
580
+ } | {
581
+ tag: "Ed25519";
582
+ value: {
583
+ signature: Uint8Array<ArrayBufferLike>;
584
+ signer: Uint8Array<ArrayBufferLike>;
585
+ };
586
+ } | {
587
+ tag: "Ecdsa";
588
+ value: {
589
+ signature: Uint8Array<ArrayBufferLike>;
590
+ signer: Uint8Array<ArrayBufferLike>;
591
+ };
592
+ } | {
593
+ tag: "OnChain";
594
+ value: {
595
+ who: Uint8Array<ArrayBufferLike>;
596
+ blockHash: Uint8Array<ArrayBufferLike>;
597
+ event: bigint;
598
+ };
599
+ };
600
+ }, {
601
+ tag: "v1";
602
+ value: (Error & {
603
+ name: "StatementProofErr::Unknown";
604
+ className: string;
605
+ payload: {
606
+ reason: string;
607
+ };
608
+ }) | (Error & {
609
+ name: "StatementProofErr::UnableToSign";
610
+ className: string;
611
+ payload: undefined;
612
+ }) | (Error & {
613
+ name: "StatementProofErr::UnknownAccount";
614
+ className: string;
615
+ payload: undefined;
616
+ });
617
+ }>;
618
+ jsonrpc_message_send: (args: {
619
+ tag: "v1";
620
+ value: [`0x${string}`, string];
621
+ }) => import("neverthrow").ResultAsync<{
622
+ tag: "v1";
623
+ value: undefined;
624
+ }, {
625
+ tag: "v1";
626
+ value: Error & {
627
+ name: "GenericError";
628
+ className: string;
629
+ payload: {
630
+ reason: string;
631
+ };
632
+ };
633
+ }>;
634
+ jsonrpc_message_subscribe: (args: {
635
+ tag: "v1";
636
+ value: `0x${string}`;
637
+ }, callback: (payload: {
638
+ tag: "v1";
639
+ value: string;
640
+ }) => void) => import("packages/host-api/dist/types.js").Subscription;
641
+ };
@@ -0,0 +1,3 @@
1
+ import { createHostApi } from '@novasamatech/host-api';
2
+ import { defaultTransport } from './defaultTransport.js';
3
+ export const hostApi = createHostApi(defaultTransport);
package/dist/index.d.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  export { SpektrExtensionName, WellKnownChain } from './constants.js';
2
2
  export { defaultProvider, defaultTransport } from './defaultTransport.js';
3
- export { spektrMetaProvider } from './createSpektrMetaProvider.js';
4
- export { createSpektrMetaProvider } from './createSpektrMetaProvider.js';
3
+ export { hostApi } from './hostApi.js';
4
+ export { createMetaProvider, metaProvider } from './createMetaProvider.js';
5
5
  export { createExtensionEnableFactory, injectSpektrExtension } from './injectSpektrExtension.js';
6
- export { createSpektrPapiProvider } from './createSpektrPapiProvider.js';
6
+ export { createPapiProvider } from './createPapiProvider.js';
7
+ export type { ChatMessage, ReceivedChatAction } from './chat.js';
8
+ export { createChat } from './chat.js';
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export { SpektrExtensionName, WellKnownChain } from './constants.js';
2
2
  export { defaultProvider, defaultTransport } from './defaultTransport.js';
3
- export { spektrMetaProvider } from './createSpektrMetaProvider.js';
4
- export { createSpektrMetaProvider } from './createSpektrMetaProvider.js';
3
+ export { hostApi } from './hostApi.js';
4
+ export { createMetaProvider, metaProvider } from './createMetaProvider.js';
5
5
  export { createExtensionEnableFactory, injectSpektrExtension } from './injectSpektrExtension.js';
6
- export { createSpektrPapiProvider } from './createSpektrPapiProvider.js';
6
+ export { createPapiProvider } from './createPapiProvider.js';
7
+ export { createChat } from './chat.js';
@@ -1,4 +1,4 @@
1
- import type { HexString, Transport, TxPayloadV1 } from '@novasamatech/host-api';
1
+ import type { CodecType, HexString, Transport, VersionedPublicTxPayload } from '@novasamatech/host-api';
2
2
  import type { InjectedAccounts } from '@polkadot/extension-inject/types';
3
3
  import type { SignerPayloadJSON, SignerPayloadRaw, SignerResult } from '@polkadot/types/types/extrinsic';
4
4
  interface Signer {
@@ -13,7 +13,7 @@ interface Signer {
13
13
  /**
14
14
  * @description signs a transaction according to https://github.com/polkadot-js/api/issues/6213
15
15
  */
16
- createTransaction?: (payload: TxPayloadV1) => Promise<HexString>;
16
+ createTransaction?: (payload: CodecType<typeof VersionedPublicTxPayload>) => Promise<HexString>;
17
17
  }
18
18
  interface Injected {
19
19
  accounts: InjectedAccounts;