@novasamatech/host-api 0.8.11 → 0.9.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.
package/dist/hostApi.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { errAsync, fromPromise, okAsync } from 'neverthrow';
2
2
  import { extractErrorMessage } from './helpers.js';
3
3
  import { GenericError } from './protocol/commonCodecs.js';
4
- import { CreateProofErr, GetAliasErr, GetUserIdErr, LoginErr, RequestCredentialsErr } from './protocol/v1/accounts.js';
4
+ import { CreateProofErr, GetAliasErr, GetUserIdErr, LoginErr, RequestCredentialsErr, SignVrfErr, } from './protocol/v1/accounts.js';
5
5
  import { ChatBotRegistrationErr, ChatMessagePostingErr, ChatRoomRegistrationErr } from './protocol/v1/chat.js';
6
6
  import { CreateTransactionErr } from './protocol/v1/createTransaction.js';
7
7
  import { DeriveEntropyErr } from './protocol/v1/deriveEntropy.js';
@@ -118,6 +118,12 @@ export function createHostApi(transport) {
118
118
  value: new CreateProofErr.Unknown({ reason }),
119
119
  }));
120
120
  },
121
+ accountSignVrf(payload) {
122
+ return makeRequest(transport.request('host_account_sign_vrf', payload), reason => ({
123
+ tag: payload.tag,
124
+ value: new SignVrfErr.Unknown({ reason }),
125
+ }));
126
+ },
121
127
  getLegacyAccounts(payload) {
122
128
  return makeRequest(transport.request('host_get_legacy_accounts', payload), reason => ({
123
129
  tag: payload.tag,
package/dist/index.d.ts CHANGED
@@ -13,7 +13,9 @@ export type { HexString } from '@novasamatech/scale';
13
13
  export { assertEnumVariant, enumValue, fromHex, isEnumVariant, resultErr, resultOk, toHex, unwrapResultOrThrow, } from '@novasamatech/scale';
14
14
  export { GenericError } from './protocol/commonCodecs.js';
15
15
  export { CreateTransactionErr, LegacyTransaction, ProductAccountTransaction } from './protocol/v1/createTransaction.js';
16
- export { AccountConnectionStatus, AccountId, ContextualAlias, CreateProofErr, DerivationIndex, DotNsIdentifier, GetAliasErr, GetUserIdErr, LegacyAccount, LoginErr, LoginResult, ProductAccount, ProductAccountId, ProductId, ProductProofContext, ProductProofContextSuffix, RequestCredentialsErr, RingLocation, RingLocationJunction, RingVrfProof, UserIdentity, } from './protocol/v1/accounts.js';
16
+ export type { AccountSelector } from './protocol/v1/accounts.js';
17
+ export { derivationIndexOf } from './protocol/v1/accounts.js';
18
+ export { AccountConnectionStatus, AccountId, ContextualAlias, CreateProofErr, DerivationIndex, DotNsIdentifier, GetAliasErr, GetUserIdErr, LegacyAccount, LoginErr, LoginResult, ProductAccount, ProductAccountId, ProductId, ProductProofContext, ProductProofContextSuffix, RawDerivationIndex, RequestCredentialsErr, RingLocation, RingLocationJunction, RingVrfProof, SignVrfErr, UserIdentity, VrfSignature, VrfTranscriptItem, } from './protocol/v1/accounts.js';
17
19
  export { ChatActionPayload, ChatBotRegistrationErr, ChatBotRegistrationStatus, ChatMessageContent, ChatMessagePostingErr, ChatRoom, ChatRoomRegistrationErr, ChatRoomRegistrationResult, ChatRoomRegistrationStatus, ReceivedChatAction, } from './protocol/v1/chat.js';
18
20
  export { DeriveEntropyErr } from './protocol/v1/deriveEntropy.js';
19
21
  export { HandshakeErr } from './protocol/v1/handshake.js';
package/dist/index.js CHANGED
@@ -7,7 +7,8 @@ export { assertEnumVariant, enumValue, fromHex, isEnumVariant, resultErr, result
7
7
  // Codecs
8
8
  export { GenericError } from './protocol/commonCodecs.js';
9
9
  export { CreateTransactionErr, LegacyTransaction, ProductAccountTransaction } from './protocol/v1/createTransaction.js';
10
- export { AccountConnectionStatus, AccountId, ContextualAlias, CreateProofErr, DerivationIndex, DotNsIdentifier, GetAliasErr, GetUserIdErr, LegacyAccount, LoginErr, LoginResult, ProductAccount, ProductAccountId, ProductId, ProductProofContext, ProductProofContextSuffix, RequestCredentialsErr, RingLocation, RingLocationJunction, RingVrfProof, UserIdentity, } from './protocol/v1/accounts.js';
10
+ export { derivationIndexOf } from './protocol/v1/accounts.js';
11
+ export { AccountConnectionStatus, AccountId, ContextualAlias, CreateProofErr, DerivationIndex, DotNsIdentifier, GetAliasErr, GetUserIdErr, LegacyAccount, LoginErr, LoginResult, ProductAccount, ProductAccountId, ProductId, ProductProofContext, ProductProofContextSuffix, RawDerivationIndex, RequestCredentialsErr, RingLocation, RingLocationJunction, RingVrfProof, SignVrfErr, UserIdentity, VrfSignature, VrfTranscriptItem, } from './protocol/v1/accounts.js';
11
12
  export { ChatActionPayload, ChatBotRegistrationErr, ChatBotRegistrationStatus, ChatMessageContent, ChatMessagePostingErr, ChatRoom, ChatRoomRegistrationErr, ChatRoomRegistrationResult, ChatRoomRegistrationStatus, ReceivedChatAction, } from './protocol/v1/chat.js';
12
13
  export { DeriveEntropyErr } from './protocol/v1/deriveEntropy.js';
13
14
  export { HandshakeErr } from './protocol/v1/handshake.js';
@@ -1,4 +1,5 @@
1
- export declare const GenesisHash: import("scale-ts").Codec<`0x${string}`>;
1
+ /** A 32-byte chain genesis hash used to identify the target chain. */
2
+ export declare const GenesisHash: import("@novasamatech/scale").HexCodec<number>;
2
3
  export declare const GenericErr: import("scale-ts").Codec<{
3
4
  reason: string;
4
5
  }>;
@@ -1,6 +1,7 @@
1
1
  import { Err, Hex } from '@novasamatech/scale';
2
2
  import { Struct, str } from 'scale-ts';
3
- export const GenesisHash = Hex();
3
+ /** A 32-byte chain genesis hash used to identify the target chain. */
4
+ export const GenesisHash = Hex(32);
4
5
  export const GenericErr = Struct({
5
6
  reason: str,
6
7
  });
@@ -94,14 +94,26 @@ export declare const hostApiProtocol: {
94
94
  readonly v1: [Codec<undefined>, Codec<"disconnected" | "connected">, Codec<undefined>];
95
95
  }>;
96
96
  readonly host_account_get: VersionedProtocolRequest<{
97
- readonly v1: [Codec<[string, number]>, Codec<import("scale-ts").ResultPayload<{
97
+ readonly v1: [Codec<[string, {
98
+ tag: "Index";
99
+ value: number;
100
+ } | {
101
+ tag: "Raw";
102
+ value: Uint8Array<ArrayBufferLike>;
103
+ }]>, Codec<import("scale-ts").ResultPayload<{
98
104
  publicKey: Uint8Array<ArrayBufferLike>;
99
105
  }, 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<{
100
106
  reason: string;
101
107
  }, "RequestCredentialsErr::Unknown">>>];
102
108
  }>;
103
109
  readonly host_account_get_alias: VersionedProtocolRequest<{
104
- readonly v1: [Codec<[[string, `0x${string}`], {
110
+ readonly v1: [Codec<[[string, {
111
+ tag: "Index";
112
+ value: number;
113
+ } | {
114
+ tag: "Raw";
115
+ value: Uint8Array<ArrayBufferLike>;
116
+ }], {
105
117
  chainId: `0x${string}`;
106
118
  junctions: ({
107
119
  tag: "PalletInstance";
@@ -118,7 +130,13 @@ export declare const hostApiProtocol: {
118
130
  }, "GetAliasErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "GetAliasErr::RingNotFound"> | import("@novasamatech/scale").CodecError<undefined, "GetAliasErr::NotMember">>>];
119
131
  }>;
120
132
  readonly host_account_create_proof: VersionedProtocolRequest<{
121
- readonly v1: [Codec<[[string, `0x${string}`], {
133
+ readonly v1: [Codec<[[string, {
134
+ tag: "Index";
135
+ value: number;
136
+ } | {
137
+ tag: "Raw";
138
+ value: Uint8Array<ArrayBufferLike>;
139
+ }], {
122
140
  chainId: `0x${string}`;
123
141
  junctions: ({
124
142
  tag: "PalletInstance";
@@ -149,8 +167,14 @@ export declare const hostApiProtocol: {
149
167
  }>;
150
168
  readonly host_create_transaction: VersionedProtocolRequest<{
151
169
  readonly v1: [Codec<{
152
- signer: [string, number];
153
- genesisHash: Uint8Array<ArrayBufferLike>;
170
+ signer: [string, {
171
+ tag: "Index";
172
+ value: number;
173
+ } | {
174
+ tag: "Raw";
175
+ value: Uint8Array<ArrayBufferLike>;
176
+ }];
177
+ genesisHash: `0x${string}`;
154
178
  callData: Uint8Array<ArrayBufferLike>;
155
179
  extensions: {
156
180
  id: string;
@@ -165,7 +189,7 @@ export declare const hostApiProtocol: {
165
189
  readonly host_create_transaction_with_legacy_account: VersionedProtocolRequest<{
166
190
  readonly v1: [Codec<{
167
191
  signer: Uint8Array<ArrayBufferLike>;
168
- genesisHash: Uint8Array<ArrayBufferLike>;
192
+ genesisHash: `0x${string}`;
169
193
  callData: Uint8Array<ArrayBufferLike>;
170
194
  extensions: {
171
195
  id: string;
@@ -430,7 +454,13 @@ export declare const hostApiProtocol: {
430
454
  }>, Codec<undefined>];
431
455
  }>;
432
456
  readonly remote_statement_store_create_proof: VersionedProtocolRequest<{
433
- readonly v1: [Codec<[[string, number], {
457
+ readonly v1: [Codec<[[string, {
458
+ tag: "Index";
459
+ value: number;
460
+ } | {
461
+ tag: "Raw";
462
+ value: Uint8Array<ArrayBufferLike>;
463
+ }], {
434
464
  proof: {
435
465
  tag: "Sr25519";
436
466
  value: {
@@ -529,10 +559,10 @@ export declare const hostApiProtocol: {
529
559
  }, "GenericError">>>];
530
560
  }>;
531
561
  readonly remote_preimage_lookup_subscribe: VersionedProtocolSubscription<{
532
- readonly v1: [Codec<`0x${string}`>, Codec<Uint8Array<ArrayBufferLike> | null>, Codec<undefined>];
562
+ readonly v1: [import("@novasamatech/scale").HexCodec<undefined>, Codec<Uint8Array<ArrayBufferLike> | null>, Codec<undefined>];
533
563
  }>;
534
564
  readonly remote_preimage_submit: VersionedProtocolRequest<{
535
- readonly v1: [Codec<Uint8Array<ArrayBufferLike>>, Codec<import("scale-ts").ResultPayload<`0x${string}`, import("@novasamatech/scale").CodecError<{
565
+ readonly v1: [import("@novasamatech/scale").BytesCodec<undefined>, Codec<import("scale-ts").ResultPayload<`0x${string}`, import("@novasamatech/scale").CodecError<{
536
566
  reason: string;
537
567
  }, "PreimageSubmitErr::Unknown">>>];
538
568
  }>;
@@ -738,17 +768,17 @@ export declare const hostApiProtocol: {
738
768
  }, "GenericError">>>];
739
769
  }>;
740
770
  readonly remote_chain_spec_genesis_hash: VersionedProtocolRequest<{
741
- readonly v1: [Codec<`0x${string}`>, Codec<import("scale-ts").ResultPayload<`0x${string}`, import("@novasamatech/scale").CodecError<{
771
+ readonly v1: [import("@novasamatech/scale").HexCodec<undefined>, Codec<import("scale-ts").ResultPayload<`0x${string}`, import("@novasamatech/scale").CodecError<{
742
772
  reason: string;
743
773
  }, "GenericError">>>];
744
774
  }>;
745
775
  readonly remote_chain_spec_chain_name: VersionedProtocolRequest<{
746
- readonly v1: [Codec<`0x${string}`>, Codec<import("scale-ts").ResultPayload<string, import("@novasamatech/scale").CodecError<{
776
+ readonly v1: [import("@novasamatech/scale").HexCodec<undefined>, Codec<import("scale-ts").ResultPayload<string, import("@novasamatech/scale").CodecError<{
747
777
  reason: string;
748
778
  }, "GenericError">>>];
749
779
  }>;
750
780
  readonly remote_chain_spec_properties: VersionedProtocolRequest<{
751
- readonly v1: [Codec<`0x${string}`>, Codec<import("scale-ts").ResultPayload<string, import("@novasamatech/scale").CodecError<{
781
+ readonly v1: [import("@novasamatech/scale").HexCodec<undefined>, Codec<import("scale-ts").ResultPayload<string, import("@novasamatech/scale").CodecError<{
752
782
  reason: string;
753
783
  }, "GenericError">>>];
754
784
  }>;
@@ -781,7 +811,7 @@ export declare const hostApiProtocol: {
781
811
  }>, Codec<undefined>];
782
812
  }>;
783
813
  readonly host_derive_entropy: VersionedProtocolRequest<{
784
- readonly v1: [Codec<Uint8Array<ArrayBufferLike>>, Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<{
814
+ readonly v1: [import("@novasamatech/scale").BytesCodec<undefined>, Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike>, import("@novasamatech/scale").CodecError<{
785
815
  reason: string;
786
816
  }, "DeriveEntropyErr::Unknown">>>];
787
817
  }>;
@@ -799,7 +829,13 @@ export declare const hostApiProtocol: {
799
829
  }>;
800
830
  readonly host_sign_raw: VersionedProtocolRequest<{
801
831
  readonly v1: [Codec<{
802
- account: [string, number];
832
+ account: [string, {
833
+ tag: "Index";
834
+ value: number;
835
+ } | {
836
+ tag: "Raw";
837
+ value: Uint8Array<ArrayBufferLike>;
838
+ }];
803
839
  payload: {
804
840
  tag: "Bytes";
805
841
  value: Uint8Array<ArrayBufferLike>;
@@ -816,7 +852,13 @@ export declare const hostApiProtocol: {
816
852
  }>;
817
853
  readonly host_sign_payload: VersionedProtocolRequest<{
818
854
  readonly v1: [Codec<{
819
- account: [string, number];
855
+ account: [string, {
856
+ tag: "Index";
857
+ value: number;
858
+ } | {
859
+ tag: "Raw";
860
+ value: Uint8Array<ArrayBufferLike>;
861
+ }];
820
862
  payload: {
821
863
  blockHash: `0x${string}`;
822
864
  blockNumber: `0x${string}`;
@@ -874,7 +916,13 @@ export declare const hostApiProtocol: {
874
916
  amount: bigint;
875
917
  source: {
876
918
  tag: "ProductAccount";
877
- value: number;
919
+ value: {
920
+ tag: "Index";
921
+ value: number;
922
+ } | {
923
+ tag: "Raw";
924
+ value: Uint8Array<ArrayBufferLike>;
925
+ };
878
926
  } | {
879
927
  tag: "PrivateKey";
880
928
  value: Uint8Array<ArrayBufferLike>;
@@ -940,7 +988,13 @@ export declare const hostApiProtocol: {
940
988
  value: undefined;
941
989
  } | {
942
990
  tag: "SmartContractAllowance";
943
- value: number;
991
+ value: {
992
+ tag: "Index";
993
+ value: number;
994
+ } | {
995
+ tag: "Raw";
996
+ value: Uint8Array<ArrayBufferLike>;
997
+ };
944
998
  } | {
945
999
  tag: "AutoSigning";
946
1000
  value: undefined;
@@ -1024,5 +1078,26 @@ export declare const hostApiProtocol: {
1024
1078
  reason: string;
1025
1079
  }, "GenericError">>>];
1026
1080
  }>;
1081
+ readonly host_account_sign_vrf: VersionedProtocolRequest<{
1082
+ readonly v1: [Codec<{
1083
+ account: [string, {
1084
+ tag: "Index";
1085
+ value: number;
1086
+ } | {
1087
+ tag: "Raw";
1088
+ value: Uint8Array<ArrayBufferLike>;
1089
+ }];
1090
+ transcriptLabel: Uint8Array<ArrayBufferLike>;
1091
+ items: {
1092
+ label: Uint8Array<ArrayBufferLike>;
1093
+ value: Uint8Array<ArrayBufferLike>;
1094
+ }[];
1095
+ }>, Codec<import("scale-ts").ResultPayload<{
1096
+ preOutput: Uint8Array<ArrayBufferLike>;
1097
+ proof: Uint8Array<ArrayBufferLike>;
1098
+ }, import("@novasamatech/scale").CodecError<undefined, "SignVrfErr::NotConnected"> | import("@novasamatech/scale").CodecError<undefined, "SignVrfErr::Rejected"> | import("@novasamatech/scale").CodecError<{
1099
+ reason: string;
1100
+ }, "SignVrfErr::Unknown">>>];
1101
+ }>;
1027
1102
  };
1028
1103
  export {};
@@ -1,5 +1,5 @@
1
1
  import { Enum } from '@novasamatech/scale';
2
- import { AccountConnectionStatusV1_interrupt, AccountConnectionStatusV1_receive, AccountConnectionStatusV1_start, AccountCreateProofV1_request, AccountCreateProofV1_response, AccountGetAliasV1_request, AccountGetAliasV1_response, AccountGetV1_request, AccountGetV1_response, GetLegacyAccountsV1_request, GetLegacyAccountsV1_response, GetUserIdV1_request, GetUserIdV1_response, RequestLoginV1_request, RequestLoginV1_response, } from './v1/accounts.js';
2
+ import { AccountConnectionStatusV1_interrupt, AccountConnectionStatusV1_receive, AccountConnectionStatusV1_start, AccountCreateProofV1_request, AccountCreateProofV1_response, AccountGetAliasV1_request, AccountGetAliasV1_response, AccountGetV1_request, AccountGetV1_response, AccountSignVrfV1_request, AccountSignVrfV1_response, GetLegacyAccountsV1_request, GetLegacyAccountsV1_response, GetUserIdV1_request, GetUserIdV1_response, RequestLoginV1_request, RequestLoginV1_response, } from './v1/accounts.js';
3
3
  import { ChainHeadBodyV1_request, ChainHeadBodyV1_response, ChainHeadCallV1_request, ChainHeadCallV1_response, ChainHeadContinueV1_request, ChainHeadContinueV1_response, ChainHeadFollowV1_interrupt, ChainHeadFollowV1_receive, ChainHeadFollowV1_start, ChainHeadHeaderV1_request, ChainHeadHeaderV1_response, ChainHeadStopOperationV1_request, ChainHeadStopOperationV1_response, ChainHeadStorageV1_request, ChainHeadStorageV1_response, ChainHeadUnpinV1_request, ChainHeadUnpinV1_response, ChainSpecChainNameV1_request, ChainSpecChainNameV1_response, ChainSpecGenesisHashV1_request, ChainSpecGenesisHashV1_response, ChainSpecPropertiesV1_request, ChainSpecPropertiesV1_response, TransactionBroadcastV1_request, TransactionBroadcastV1_response, TransactionStopV1_request, TransactionStopV1_response, } from './v1/chainInteraction.js';
4
4
  import { ChatActionSubscribeV1_interrupt, ChatActionSubscribeV1_receive, ChatActionSubscribeV1_start, ChatCreateRoomV1_request, ChatCreateRoomV1_response, ChatCustomMessageRenderingV1_interrupt, ChatCustomMessageRenderingV1_receive, ChatCustomMessageRenderingV1_start, ChatListSubscribeV1_interrupt, ChatListSubscribeV1_receive, ChatListSubscribeV1_start, ChatPostMessageV1_request, ChatPostMessageV1_response, ChatRegisterBotV1_request, ChatRegisterBotV1_response, } from './v1/chat.js';
5
5
  import { CreateTransactionV1_request, CreateTransactionV1_response, CreateTransactionWithLegacyAccountV1_request, CreateTransactionWithLegacyAccountV1_response, } from './v1/createTransaction.js';
@@ -223,4 +223,10 @@ export const hostApiProtocol = {
223
223
  host_push_notification_cancel: versionedRequest(indexer.request(), {
224
224
  v1: [PushNotificationCancelV1_request, PushNotificationCancelV1_response],
225
225
  }),
226
+ // Prefix 28 skips indices 136-163, reserved upstream by the truapi coin-payment
227
+ // methods this SDK does not implement, so `sign_vrf` lands on its specified
228
+ // `request_id = 164` (RFC-0023).
229
+ host_account_sign_vrf: versionedRequest(indexer.request(28), {
230
+ v1: [AccountSignVrfV1_request, AccountSignVrfV1_response],
231
+ }),
226
232
  };