@novasamatech/host-api 0.9.4 → 0.10.1

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 (53) hide show
  1. package/dist/hostApi.js +102 -3
  2. package/dist/index.d.ts +7 -1
  3. package/dist/index.js +6 -1
  4. package/dist/protocol/callError.d.ts +63 -0
  5. package/dist/protocol/callError.js +57 -0
  6. package/dist/protocol/impl.d.ts +370 -54
  7. package/dist/protocol/impl.js +86 -10
  8. package/dist/protocol/messageCodec.d.ts +903 -109
  9. package/dist/protocol/v1/accounts.d.ts +10 -10
  10. package/dist/protocol/v1/accounts.js +12 -11
  11. package/dist/protocol/v1/chainInteraction.d.ts +44 -12
  12. package/dist/protocol/v1/chainInteraction.js +25 -15
  13. package/dist/protocol/v1/chat.d.ts +3 -3
  14. package/dist/protocol/v1/chat.js +5 -4
  15. package/dist/protocol/v1/coinPayment.d.ts +345 -0
  16. package/dist/protocol/v1/coinPayment.js +105 -0
  17. package/dist/protocol/v1/createTransaction.d.ts +9 -9
  18. package/dist/protocol/v1/createTransaction.js +4 -3
  19. package/dist/protocol/v1/deriveEntropy.d.ts +1 -1
  20. package/dist/protocol/v1/deriveEntropy.js +2 -2
  21. package/dist/protocol/v1/devicePermission.d.ts +1 -1
  22. package/dist/protocol/v1/devicePermission.js +3 -2
  23. package/dist/protocol/v1/feature.d.ts +1 -1
  24. package/dist/protocol/v1/feature.js +3 -2
  25. package/dist/protocol/v1/handshake.d.ts +1 -1
  26. package/dist/protocol/v1/handshake.js +3 -2
  27. package/dist/protocol/v1/localStorage.d.ts +10 -3
  28. package/dist/protocol/v1/localStorage.js +10 -4
  29. package/dist/protocol/v1/locale.d.ts +8 -0
  30. package/dist/protocol/v1/locale.js +7 -0
  31. package/dist/protocol/v1/navigation.d.ts +1 -1
  32. package/dist/protocol/v1/navigation.js +3 -2
  33. package/dist/protocol/v1/notification.d.ts +2 -2
  34. package/dist/protocol/v1/notification.js +4 -3
  35. package/dist/protocol/v1/payments.d.ts +8 -8
  36. package/dist/protocol/v1/payments.js +4 -3
  37. package/dist/protocol/v1/preimage.d.ts +1 -1
  38. package/dist/protocol/v1/preimage.js +3 -2
  39. package/dist/protocol/v1/remotePermission.d.ts +1 -1
  40. package/dist/protocol/v1/remotePermission.js +3 -2
  41. package/dist/protocol/v1/resourceAllocation.d.ts +1 -1
  42. package/dist/protocol/v1/resourceAllocation.js +3 -2
  43. package/dist/protocol/v1/sign.d.ts +4 -4
  44. package/dist/protocol/v1/sign.js +6 -5
  45. package/dist/protocol/v1/statementStore.d.ts +3 -3
  46. package/dist/protocol/v1/statementStore.js +5 -4
  47. package/dist/protocol/v1/system.d.ts +23 -0
  48. package/dist/protocol/v1/system.js +21 -0
  49. package/dist/protocol/v1/worker.d.ts +37 -0
  50. package/dist/protocol/v1/worker.js +20 -0
  51. package/dist/transport.js +16 -2
  52. package/dist/transport.spec.js +18 -0
  53. package/package.json +3 -3
@@ -356,7 +356,7 @@ export declare const AccountConnectionStatusV1_start: import("scale-ts").Codec<u
356
356
  export declare const AccountConnectionStatusV1_receive: import("scale-ts").Codec<"disconnected" | "connected">;
357
357
  export declare const AccountConnectionStatusV1_interrupt: import("scale-ts").Codec<undefined>;
358
358
  export declare const GetUserIdV1_request: import("scale-ts").Codec<undefined>;
359
- export declare const GetUserIdV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
359
+ export declare const GetUserIdV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
360
360
  primaryUsername: string;
361
361
  }, import("@novasamatech/scale").CodecError<undefined, "GetUserIdErr::NotConnected"> | import("@novasamatech/scale").CodecError<{
362
362
  reason: string;
@@ -368,7 +368,7 @@ export declare const AccountGetV1_request: import("scale-ts").Codec<[string, {
368
368
  tag: "Raw";
369
369
  value: Uint8Array<ArrayBufferLike>;
370
370
  }]>;
371
- export declare const AccountGetV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
371
+ export declare const AccountGetV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
372
372
  publicKey: Uint8Array<ArrayBufferLike>;
373
373
  }, import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::Rejected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::DomainNotValid"> | import("@novasamatech/scale").CodecError<{
374
374
  reason: string;
@@ -401,7 +401,7 @@ export declare const AccountGetAliasV1_request: import("scale-ts").Codec<[[strin
401
401
  value: Uint8Array<ArrayBufferLike>;
402
402
  })[];
403
403
  }]>;
404
- export declare const AccountGetAliasV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
404
+ export declare const AccountGetAliasV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
405
405
  context: Uint8Array<ArrayBufferLike>;
406
406
  alias: Uint8Array<ArrayBufferLike>;
407
407
  }, import("@novasamatech/scale").CodecError<undefined, "GetAliasErr::Rejected"> | import("@novasamatech/scale").CodecError<{
@@ -430,7 +430,7 @@ export declare const AccountCreateProofV1_request: import("scale-ts").Codec<[[st
430
430
  value: Uint8Array<ArrayBufferLike>;
431
431
  })[];
432
432
  }, Uint8Array<ArrayBufferLike>]>;
433
- export declare const AccountCreateProofV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
433
+ export declare const AccountCreateProofV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
434
434
  proof: Uint8Array<ArrayBufferLike>;
435
435
  contextualAlias: {
436
436
  context: Uint8Array<ArrayBufferLike>;
@@ -464,12 +464,12 @@ export declare const AccountRegisterRingVrfKeyV1_request: import("scale-ts").Cod
464
464
  value: Uint8Array<ArrayBufferLike>;
465
465
  })[];
466
466
  }]>;
467
- export declare const AccountRegisterRingVrfKeyV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "RegisterRingVrfKeyErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RegisterRingVrfKeyErr::Rejected"> | import("@novasamatech/scale").CodecError<{
467
+ export declare const AccountRegisterRingVrfKeyV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "RegisterRingVrfKeyErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RegisterRingVrfKeyErr::Rejected"> | import("@novasamatech/scale").CodecError<{
468
468
  reason: string;
469
469
  }, "RegisterRingVrfKeyErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "RegisterRingVrfKeyErr::RingNotFound">>>;
470
470
  /** `(owner, disclosure)` — lists the registry entries owned by `owner` (RFC-0024). */
471
471
  export declare const AccountListRingVrfKeysV1_request: import("scale-ts").Codec<[string, "Anonymized" | "PublicKey"]>;
472
- export declare const AccountListRingVrfKeysV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
472
+ export declare const AccountListRingVrfKeysV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
473
473
  handle: [string, {
474
474
  tag: "Index";
475
475
  value: number;
@@ -507,7 +507,7 @@ export declare const AccountRingVrfSignV1_request: import("scale-ts").Codec<[[st
507
507
  tag: "Raw";
508
508
  value: Uint8Array<ArrayBufferLike>;
509
509
  }], Uint8Array<ArrayBufferLike>]>;
510
- export declare const AccountRingVrfSignV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "RingVrfSignErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RingVrfSignErr::Rejected"> | import("@novasamatech/scale").CodecError<{
510
+ export declare const AccountRingVrfSignV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<undefined, "RingVrfSignErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RingVrfSignErr::Rejected"> | import("@novasamatech/scale").CodecError<{
511
511
  reason: string;
512
512
  }, "RingVrfSignErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "RingVrfSignErr::KeyNotRegistered"> | import("@novasamatech/scale").CodecError<undefined, "RingVrfSignErr::NotAllowlisted">>>;
513
513
  /**
@@ -529,14 +529,14 @@ export declare const AccountSignVrfV1_request: import("scale-ts").Codec<{
529
529
  value: Uint8Array<ArrayBufferLike>;
530
530
  }[];
531
531
  }>;
532
- export declare const AccountSignVrfV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
532
+ export declare const AccountSignVrfV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
533
533
  preOutput: Uint8Array<ArrayBufferLike>;
534
534
  proof: Uint8Array<ArrayBufferLike>;
535
535
  }, import("@novasamatech/scale").CodecError<undefined, "SignVrfErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "SignVrfErr::Rejected"> | import("@novasamatech/scale").CodecError<{
536
536
  reason: string;
537
537
  }, "SignVrfErr::Unknown">>>;
538
538
  export declare const GetLegacyAccountsV1_request: import("scale-ts").Codec<undefined>;
539
- export declare const GetLegacyAccountsV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
539
+ export declare const GetLegacyAccountsV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
540
540
  publicKey: Uint8Array<ArrayBufferLike>;
541
541
  name: string | undefined;
542
542
  }[], import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::Rejected"> | import("@novasamatech/scale").CodecError<undefined, "RequestCredentialsErr::DomainNotValid"> | import("@novasamatech/scale").CodecError<{
@@ -564,6 +564,6 @@ export declare const LoginErr: [import("scale-ts").Encoder<import("@novasamatech
564
564
  }, "LoginErr::Unknown">;
565
565
  };
566
566
  export declare const RequestLoginV1_request: import("scale-ts").Codec<string | undefined>;
567
- export declare const RequestLoginV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<"success" | "alreadyConnected" | "rejected", import("@novasamatech/scale").CodecError<{
567
+ export declare const RequestLoginV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<"success" | "alreadyConnected" | "rejected", import("@novasamatech/scale").CodecError<{
568
568
  reason: string;
569
569
  }, "LoginErr::Unknown">>>;
@@ -1,5 +1,6 @@
1
1
  import { Bytes, Enum, ErrEnum, Status } from '@novasamatech/scale';
2
- import { Option, Result, Struct, Tuple, Vector, _void, str, u32, u8 } from 'scale-ts';
2
+ import { Option, Struct, Tuple, Vector, _void, str, u32, u8 } from 'scale-ts';
3
+ import { CallResult } from '../callError.js';
3
4
  import { GenericErr, GenesisHash } from '../commonCodecs.js';
4
5
  // common types
5
6
  export const AccountId = Bytes(32);
@@ -177,10 +178,10 @@ export const AccountConnectionStatusV1_receive = AccountConnectionStatus;
177
178
  export const AccountConnectionStatusV1_interrupt = _void;
178
179
  // get_user_id
179
180
  export const GetUserIdV1_request = _void;
180
- export const GetUserIdV1_response = Result(UserIdentity, GetUserIdErr);
181
+ export const GetUserIdV1_response = CallResult(UserIdentity, GetUserIdErr);
181
182
  // account_get
182
183
  export const AccountGetV1_request = ProductAccountId;
183
- export const AccountGetV1_response = Result(ProductAccount, RequestCredentialsErr);
184
+ export const AccountGetV1_response = CallResult(ProductAccount, RequestCredentialsErr);
184
185
  // account_get_alias
185
186
  /**
186
187
  * `(keyHandle, context, ring)` — RFC-0024 replaced RFC-0004's host-side member
@@ -189,11 +190,11 @@ export const AccountGetV1_response = Result(ProductAccount, RequestCredentialsEr
189
190
  * is among the handle's declared rings and fail with `KeyNotInRing` otherwise.
190
191
  */
191
192
  export const AccountGetAliasV1_request = Tuple(RingVrfKeyHandle, ProductProofContext, RingLocation);
192
- export const AccountGetAliasV1_response = Result(ContextualAlias, GetAliasErr);
193
+ export const AccountGetAliasV1_response = CallResult(ContextualAlias, GetAliasErr);
193
194
  // account_create_proof
194
195
  /** `(keyHandle, context, ring, message)` — see {@link AccountGetAliasV1_request}. */
195
196
  export const AccountCreateProofV1_request = Tuple(RingVrfKeyHandle, ProductProofContext, RingLocation, Bytes());
196
- export const AccountCreateProofV1_response = Result(RingVrfProof, CreateProofErr);
197
+ export const AccountCreateProofV1_response = CallResult(RingVrfProof, CreateProofErr);
197
198
  // account_register_ring_vrf_key
198
199
  /**
199
200
  * `(index, ring)` — registers a key the *calling* product owns. Ownership is the
@@ -203,11 +204,11 @@ export const AccountCreateProofV1_response = Result(RingVrfProof, CreateProofErr
203
204
  * one (RFC-0024).
204
205
  */
205
206
  export const AccountRegisterRingVrfKeyV1_request = Tuple(DerivationIndex, RingLocation);
206
- export const AccountRegisterRingVrfKeyV1_response = Result(RingVrfPublicKey, RegisterRingVrfKeyErr);
207
+ export const AccountRegisterRingVrfKeyV1_response = CallResult(RingVrfPublicKey, RegisterRingVrfKeyErr);
207
208
  // account_list_ring_vrf_keys
208
209
  /** `(owner, disclosure)` — lists the registry entries owned by `owner` (RFC-0024). */
209
210
  export const AccountListRingVrfKeysV1_request = Tuple(ProductId, RingVrfKeyDisclosure);
210
- export const AccountListRingVrfKeysV1_response = Result(Vector(RegisteredRingVrfKey), ListRingVrfKeysErr);
211
+ export const AccountListRingVrfKeysV1_response = CallResult(Vector(RegisteredRingVrfKey), ListRingVrfKeysErr);
211
212
  // account_ring_vrf_sign
212
213
  /**
213
214
  * `(keyHandle, message)` — signs `message` with the member key itself, producing
@@ -219,7 +220,7 @@ export const AccountListRingVrfKeysV1_response = Result(Vector(RegisteredRingVrf
219
220
  * use of that key.
220
221
  */
221
222
  export const AccountRingVrfSignV1_request = Tuple(RingVrfKeyHandle, Bytes());
222
- export const AccountRingVrfSignV1_response = Result(Bytes(), RingVrfSignErr);
223
+ export const AccountRingVrfSignV1_response = CallResult(Bytes(), RingVrfSignErr);
223
224
  // account_sign_vrf
224
225
  /**
225
226
  * The host replays the transcript verbatim — `Transcript::new(transcriptLabel)`
@@ -231,14 +232,14 @@ export const AccountSignVrfV1_request = Struct({
231
232
  transcriptLabel: Bytes(),
232
233
  items: Vector(VrfTranscriptItem),
233
234
  });
234
- export const AccountSignVrfV1_response = Result(VrfSignature, SignVrfErr);
235
+ export const AccountSignVrfV1_response = CallResult(VrfSignature, SignVrfErr);
235
236
  // get_legacy_accounts
236
237
  export const GetLegacyAccountsV1_request = _void;
237
- export const GetLegacyAccountsV1_response = Result(Vector(LegacyAccount), RequestCredentialsErr);
238
+ export const GetLegacyAccountsV1_response = CallResult(Vector(LegacyAccount), RequestCredentialsErr);
238
239
  // request_login
239
240
  export const LoginResult = Status('success', 'alreadyConnected', 'rejected');
240
241
  export const LoginErr = ErrEnum('LoginErr', {
241
242
  Unknown: [GenericErr, 'Login: unknown error'],
242
243
  });
243
244
  export const RequestLoginV1_request = Option(str);
244
- export const RequestLoginV1_response = Result(LoginResult, LoginErr);
245
+ export const RequestLoginV1_response = CallResult(LoginResult, LoginErr);
@@ -248,7 +248,7 @@ export declare const ChainHeadHeaderV1_request: import("scale-ts").Codec<{
248
248
  followSubscriptionId: string;
249
249
  hash: `0x${string}`;
250
250
  }>;
251
- export declare const ChainHeadHeaderV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<`0x${string}` | null, import("@novasamatech/scale").CodecError<{
251
+ export declare const ChainHeadHeaderV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<`0x${string}` | null, import("@novasamatech/scale").CodecError<{
252
252
  reason: string;
253
253
  }, "GenericError">>>;
254
254
  export declare const ChainHeadBodyV1_request: import("scale-ts").Codec<{
@@ -256,7 +256,7 @@ export declare const ChainHeadBodyV1_request: import("scale-ts").Codec<{
256
256
  followSubscriptionId: string;
257
257
  hash: `0x${string}`;
258
258
  }>;
259
- export declare const ChainHeadBodyV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
259
+ export declare const ChainHeadBodyV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
260
260
  tag: "Started";
261
261
  value: {
262
262
  operationId: string;
@@ -277,7 +277,7 @@ export declare const ChainHeadStorageV1_request: import("scale-ts").Codec<{
277
277
  }[];
278
278
  childTrie: `0x${string}` | null;
279
279
  }>;
280
- export declare const ChainHeadStorageV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
280
+ export declare const ChainHeadStorageV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
281
281
  tag: "Started";
282
282
  value: {
283
283
  operationId: string;
@@ -295,7 +295,7 @@ export declare const ChainHeadCallV1_request: import("scale-ts").Codec<{
295
295
  function: string;
296
296
  callParameters: `0x${string}`;
297
297
  }>;
298
- export declare const ChainHeadCallV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<{
298
+ export declare const ChainHeadCallV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
299
299
  tag: "Started";
300
300
  value: {
301
301
  operationId: string;
@@ -311,7 +311,7 @@ export declare const ChainHeadUnpinV1_request: import("scale-ts").Codec<{
311
311
  followSubscriptionId: string;
312
312
  hashes: `0x${string}`[];
313
313
  }>;
314
- export declare const ChainHeadUnpinV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
314
+ export declare const ChainHeadUnpinV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<undefined, import("@novasamatech/scale").CodecError<{
315
315
  reason: string;
316
316
  }, "GenericError">>>;
317
317
  export declare const ChainHeadContinueV1_request: import("scale-ts").Codec<{
@@ -319,7 +319,7 @@ export declare const ChainHeadContinueV1_request: import("scale-ts").Codec<{
319
319
  followSubscriptionId: string;
320
320
  operationId: string;
321
321
  }>;
322
- export declare const ChainHeadContinueV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
322
+ export declare const ChainHeadContinueV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<undefined, import("@novasamatech/scale").CodecError<{
323
323
  reason: string;
324
324
  }, "GenericError">>>;
325
325
  export declare const ChainHeadStopOperationV1_request: import("scale-ts").Codec<{
@@ -327,32 +327,64 @@ export declare const ChainHeadStopOperationV1_request: import("scale-ts").Codec<
327
327
  followSubscriptionId: string;
328
328
  operationId: string;
329
329
  }>;
330
- export declare const ChainHeadStopOperationV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
330
+ export declare const ChainHeadStopOperationV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<undefined, import("@novasamatech/scale").CodecError<{
331
331
  reason: string;
332
332
  }, "GenericError">>>;
333
+ export declare const ChainIdentifier: import("scale-ts").Codec<"Relay" | "AssetHub" | "People" | "Bulletin">;
334
+ export declare const ChainInfoErr: [import("scale-ts").Encoder<import("@novasamatech/scale").CodecError<{
335
+ reason: string;
336
+ }, "ChainInfoErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChainInfoErr::NotSupported">>, import("scale-ts").Decoder<import("@novasamatech/scale").CodecError<{
337
+ reason: string;
338
+ }, "ChainInfoErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChainInfoErr::NotSupported">>] & {
339
+ enc: import("scale-ts").Encoder<import("@novasamatech/scale").CodecError<{
340
+ reason: string;
341
+ }, "ChainInfoErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChainInfoErr::NotSupported">>;
342
+ dec: import("scale-ts").Decoder<import("@novasamatech/scale").CodecError<{
343
+ reason: string;
344
+ }, "ChainInfoErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChainInfoErr::NotSupported">>;
345
+ } & {
346
+ readonly NotSupported: import("@novasamatech/scale").ErrCodec<undefined, "ChainInfoErr::NotSupported">;
347
+ readonly Unknown: import("@novasamatech/scale").ErrCodec<{
348
+ reason: string;
349
+ }, "ChainInfoErr::Unknown">;
350
+ } & {
351
+ [Symbol.hasInstance](v: unknown): v is import("@novasamatech/scale").CodecError<{
352
+ reason: string;
353
+ }, "ChainInfoErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChainInfoErr::NotSupported">;
354
+ };
355
+ export declare const ChainInfoV1_request: import("scale-ts").Codec<{
356
+ chain: "Relay" | "AssetHub" | "People" | "Bulletin";
357
+ }>;
358
+ export declare const ChainInfoV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<{
359
+ network: string;
360
+ chain: "Relay" | "AssetHub" | "People" | "Bulletin";
361
+ genesisHash: `0x${string}`;
362
+ }, import("@novasamatech/scale").CodecError<{
363
+ reason: string;
364
+ }, "ChainInfoErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "ChainInfoErr::NotSupported">>>;
333
365
  export declare const ChainSpecGenesisHashV1_request: import("@novasamatech/scale").HexCodec<undefined>;
334
- export declare const ChainSpecGenesisHashV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<`0x${string}`, import("@novasamatech/scale").CodecError<{
366
+ export declare const ChainSpecGenesisHashV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<`0x${string}`, import("@novasamatech/scale").CodecError<{
335
367
  reason: string;
336
368
  }, "GenericError">>>;
337
369
  export declare const ChainSpecChainNameV1_request: import("@novasamatech/scale").HexCodec<undefined>;
338
- export declare const ChainSpecChainNameV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<string, import("@novasamatech/scale").CodecError<{
370
+ export declare const ChainSpecChainNameV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<string, import("@novasamatech/scale").CodecError<{
339
371
  reason: string;
340
372
  }, "GenericError">>>;
341
373
  export declare const ChainSpecPropertiesV1_request: import("@novasamatech/scale").HexCodec<undefined>;
342
- export declare const ChainSpecPropertiesV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<string, import("@novasamatech/scale").CodecError<{
374
+ export declare const ChainSpecPropertiesV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<string, import("@novasamatech/scale").CodecError<{
343
375
  reason: string;
344
376
  }, "GenericError">>>;
345
377
  export declare const TransactionBroadcastV1_request: import("scale-ts").Codec<{
346
378
  genesisHash: `0x${string}`;
347
379
  transaction: `0x${string}`;
348
380
  }>;
349
- export declare const TransactionBroadcastV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<string | null, import("@novasamatech/scale").CodecError<{
381
+ export declare const TransactionBroadcastV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<string | null, import("@novasamatech/scale").CodecError<{
350
382
  reason: string;
351
383
  }, "GenericError">>>;
352
384
  export declare const TransactionStopV1_request: import("scale-ts").Codec<{
353
385
  genesisHash: `0x${string}`;
354
386
  operationId: string;
355
387
  }>;
356
- export declare const TransactionStopV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
388
+ export declare const TransactionStopV1_response: import("scale-ts").Codec<import("../callError.js").CallResultValue<undefined, import("@novasamatech/scale").CodecError<{
357
389
  reason: string;
358
390
  }, "GenericError">>>;
@@ -1,6 +1,7 @@
1
- import { Enum, Hex, Nullable, Status } from '@novasamatech/scale';
2
- import { Option, Result, Struct, Tuple, Vector, _void, bool, str, u32 } from 'scale-ts';
3
- import { GenericError } from '../commonCodecs.js';
1
+ import { Enum, ErrEnum, Hex, Nullable, Status } from '@novasamatech/scale';
2
+ import { Option, Struct, Tuple, Vector, _void, bool, str, u32 } from 'scale-ts';
3
+ import { CallResult } from '../callError.js';
4
+ import { GenericErr, GenericError } from '../commonCodecs.js';
4
5
  // === Shared types ===
5
6
  const BlockHash = Hex();
6
7
  const OperationId = str;
@@ -92,14 +93,14 @@ export const ChainHeadHeaderV1_request = Struct({
92
93
  followSubscriptionId: str,
93
94
  hash: BlockHash,
94
95
  });
95
- export const ChainHeadHeaderV1_response = Result(Nullable(Hex()), GenericError);
96
+ export const ChainHeadHeaderV1_response = CallResult(Nullable(Hex()), GenericError);
96
97
  // === ChainHead Body ===
97
98
  export const ChainHeadBodyV1_request = Struct({
98
99
  genesisHash: Hex(),
99
100
  followSubscriptionId: str,
100
101
  hash: BlockHash,
101
102
  });
102
- export const ChainHeadBodyV1_response = Result(OperationStartedResult, GenericError);
103
+ export const ChainHeadBodyV1_response = CallResult(OperationStartedResult, GenericError);
103
104
  // === ChainHead Storage ===
104
105
  export const ChainHeadStorageV1_request = Struct({
105
106
  genesisHash: Hex(),
@@ -108,7 +109,7 @@ export const ChainHeadStorageV1_request = Struct({
108
109
  items: Vector(StorageQueryItem),
109
110
  childTrie: Nullable(Hex()),
110
111
  });
111
- export const ChainHeadStorageV1_response = Result(OperationStartedResult, GenericError);
112
+ export const ChainHeadStorageV1_response = CallResult(OperationStartedResult, GenericError);
112
113
  // === ChainHead Call ===
113
114
  export const ChainHeadCallV1_request = Struct({
114
115
  genesisHash: Hex(),
@@ -117,44 +118,53 @@ export const ChainHeadCallV1_request = Struct({
117
118
  function: str,
118
119
  callParameters: Hex(),
119
120
  });
120
- export const ChainHeadCallV1_response = Result(OperationStartedResult, GenericError);
121
+ export const ChainHeadCallV1_response = CallResult(OperationStartedResult, GenericError);
121
122
  // === ChainHead Unpin ===
122
123
  export const ChainHeadUnpinV1_request = Struct({
123
124
  genesisHash: Hex(),
124
125
  followSubscriptionId: str,
125
126
  hashes: Vector(BlockHash),
126
127
  });
127
- export const ChainHeadUnpinV1_response = Result(_void, GenericError);
128
+ export const ChainHeadUnpinV1_response = CallResult(_void, GenericError);
128
129
  // === ChainHead Continue ===
129
130
  export const ChainHeadContinueV1_request = Struct({
130
131
  genesisHash: Hex(),
131
132
  followSubscriptionId: str,
132
133
  operationId: OperationId,
133
134
  });
134
- export const ChainHeadContinueV1_response = Result(_void, GenericError);
135
+ export const ChainHeadContinueV1_response = CallResult(_void, GenericError);
135
136
  // === ChainHead StopOperation ===
136
137
  export const ChainHeadStopOperationV1_request = Struct({
137
138
  genesisHash: Hex(),
138
139
  followSubscriptionId: str,
139
140
  operationId: OperationId,
140
141
  });
141
- export const ChainHeadStopOperationV1_response = Result(_void, GenericError);
142
+ export const ChainHeadStopOperationV1_response = CallResult(_void, GenericError);
143
+ // === Chain info ===
144
+ // Role of a chain within the host's configured environment.
145
+ export const ChainIdentifier = Status('Relay', 'AssetHub', 'People', 'Bulletin');
146
+ export const ChainInfoErr = ErrEnum('ChainInfoErr', {
147
+ NotSupported: [_void, 'ChainInfo: the host does not serve the requested chain'],
148
+ Unknown: [GenericErr, 'ChainInfo: unknown error'],
149
+ });
150
+ export const ChainInfoV1_request = Struct({ chain: ChainIdentifier });
151
+ export const ChainInfoV1_response = CallResult(Struct({ network: str, chain: ChainIdentifier, genesisHash: Hex(32) }), ChainInfoErr);
142
152
  // === ChainSpec ===
143
153
  export const ChainSpecGenesisHashV1_request = Hex();
144
- export const ChainSpecGenesisHashV1_response = Result(Hex(), GenericError);
154
+ export const ChainSpecGenesisHashV1_response = CallResult(Hex(), GenericError);
145
155
  export const ChainSpecChainNameV1_request = Hex();
146
- export const ChainSpecChainNameV1_response = Result(str, GenericError);
156
+ export const ChainSpecChainNameV1_response = CallResult(str, GenericError);
147
157
  export const ChainSpecPropertiesV1_request = Hex();
148
- export const ChainSpecPropertiesV1_response = Result(str, GenericError);
158
+ export const ChainSpecPropertiesV1_response = CallResult(str, GenericError);
149
159
  // === Transaction Broadcast ===
150
160
  export const TransactionBroadcastV1_request = Struct({
151
161
  genesisHash: Hex(),
152
162
  transaction: Hex(),
153
163
  });
154
- export const TransactionBroadcastV1_response = Result(Nullable(str), GenericError);
164
+ export const TransactionBroadcastV1_response = CallResult(Nullable(str), GenericError);
155
165
  // === Transaction Stop ===
156
166
  export const TransactionStopV1_request = Struct({
157
167
  genesisHash: Hex(),
158
168
  operationId: str,
159
169
  });
160
- export const TransactionStopV1_response = Result(_void, GenericError);
170
+ export const TransactionStopV1_response = CallResult(_void, GenericError);
@@ -35,7 +35,7 @@ export declare const ChatCreateRoomV1_request: Codec<{
35
35
  name: string;
36
36
  icon: string;
37
37
  }>;
38
- export declare const ChatCreateRoomV1_response: Codec<import("scale-ts").ResultPayload<{
38
+ export declare const ChatCreateRoomV1_response: Codec<import("../callError.js").CallResultValue<{
39
39
  status: "New" | "Exists";
40
40
  }, import("@novasamatech/scale").CodecError<{
41
41
  reason: string;
@@ -75,7 +75,7 @@ export declare const ChatRegisterBotV1_request: Codec<{
75
75
  name: string;
76
76
  icon: string;
77
77
  }>;
78
- export declare const ChatRegisterBotV1_response: Codec<import("scale-ts").ResultPayload<{
78
+ export declare const ChatRegisterBotV1_response: Codec<import("../callError.js").CallResultValue<{
79
79
  status: "New" | "Exists";
80
80
  }, import("@novasamatech/scale").CodecError<{
81
81
  reason: string;
@@ -253,7 +253,7 @@ export declare const ChatPostMessageV1_request: Codec<{
253
253
  };
254
254
  };
255
255
  }>;
256
- export declare const ChatPostMessageV1_response: Codec<import("scale-ts").ResultPayload<{
256
+ export declare const ChatPostMessageV1_response: Codec<import("../callError.js").CallResultValue<{
257
257
  messageId: string;
258
258
  }, import("@novasamatech/scale").CodecError<{
259
259
  reason: string;
@@ -1,5 +1,6 @@
1
1
  import { Bytes, Enum, ErrEnum, Status } from '@novasamatech/scale';
2
- import { Option, Result, Struct, Vector, _void, str, u64 } from 'scale-ts';
2
+ import { Option, Struct, Vector, _void, str, u64 } from 'scale-ts';
3
+ import { CallResult } from '../callError.js';
3
4
  import { GenericErr } from '../commonCodecs.js';
4
5
  import { CustomRendererNode } from './customRenderer.js';
5
6
  // room registration
@@ -17,7 +18,7 @@ export const ChatRoomRegistrationResult = Struct({
17
18
  status: ChatRoomRegistrationStatus,
18
19
  });
19
20
  export const ChatCreateRoomV1_request = ChatRoomRequest;
20
- export const ChatCreateRoomV1_response = Result(ChatRoomRegistrationResult, ChatRoomRegistrationErr);
21
+ export const ChatCreateRoomV1_response = CallResult(ChatRoomRegistrationResult, ChatRoomRegistrationErr);
21
22
  // register as a bot
22
23
  export const ChatBotRegistrationErr = ErrEnum('ChatBotRegistrationErr', {
23
24
  PermissionDenied: [_void, 'Permission denied'],
@@ -33,7 +34,7 @@ export const ChatBotRegistrationResult = Struct({
33
34
  status: ChatBotRegistrationStatus,
34
35
  });
35
36
  export const ChatRegisterBotV1_request = ChatBotRequest;
36
- export const ChatRegisterBotV1_response = Result(ChatBotRegistrationResult, ChatBotRegistrationErr);
37
+ export const ChatRegisterBotV1_response = CallResult(ChatBotRegistrationResult, ChatBotRegistrationErr);
37
38
  // receiving rooms
38
39
  export const ChatRoomParticipation = Status('RoomHost', 'Bot');
39
40
  export const ChatRoom = Struct({
@@ -97,7 +98,7 @@ export const ChatPostMessageV1_request = Struct({
97
98
  roomId: str,
98
99
  payload: ChatMessageContent,
99
100
  });
100
- export const ChatPostMessageV1_response = Result(ChatPostMessageResult, ChatMessagePostingErr);
101
+ export const ChatPostMessageV1_response = CallResult(ChatPostMessageResult, ChatMessagePostingErr);
101
102
  // receiving a message
102
103
  export const ActionTrigger = Struct({
103
104
  messageId: str,