@novasamatech/host-api 0.7.9-3 → 0.7.9-4
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/package.json +2 -2
- package/dist/protocol/commonCodecs.spec.d.ts +0 -1
- package/dist/protocol/commonCodecs.spec.js +0 -72
- package/dist/protocol/types.d.ts +0 -1
- package/dist/protocol/types.js +0 -1
- package/dist/protocol/v1/devicePermission.spec.d.ts +0 -1
- package/dist/protocol/v1/devicePermission.spec.js +0 -60
- package/dist/protocol/v1/jsonRpc.d.ts +0 -7
- package/dist/protocol/v1/jsonRpc.js +0 -7
- package/dist/protocol/v1/permission.d.ts +0 -50
- package/dist/protocol/v1/permission.js +0 -19
- package/dist/protocol/v1/remotePermission.spec.d.ts +0 -1
- package/dist/protocol/v1/remotePermission.spec.js +0 -65
- package/dist/protocol/v1/storage.d.ts +0 -31
- package/dist/protocol/v1/storage.js +0 -17
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@novasamatech/host-api",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.7.9-
|
|
4
|
+
"version": "0.7.9-4",
|
|
5
5
|
"description": "Host API: transport implementation for host - product integration.",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"README.md"
|
|
23
23
|
],
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@novasamatech/scale": "0.7.9-
|
|
25
|
+
"@novasamatech/scale": "0.7.9-4",
|
|
26
26
|
"nanoevents": "9.1.0",
|
|
27
27
|
"nanoid": "5.1.9",
|
|
28
28
|
"neverthrow": "^8.2.0",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
import { Struct, _void, bool } from 'scale-ts';
|
|
2
|
-
import { describe, expect, it } from 'vitest';
|
|
3
|
-
import { Err, ErrEnum, Hex, Status } from './commonCodecs.js';
|
|
4
|
-
describe('Common codecs', () => {
|
|
5
|
-
describe('Hex', () => {
|
|
6
|
-
it('should correctly encode/decode Hex with arbitrary length', () => {
|
|
7
|
-
const hex = '0xffffff';
|
|
8
|
-
const codec = Hex();
|
|
9
|
-
expect(codec.enc(hex)).toEqual(new Uint8Array([12, 255, 255, 255]));
|
|
10
|
-
expect(codec.dec(codec.enc(hex))).toEqual(hex);
|
|
11
|
-
});
|
|
12
|
-
it('should correctly encode/decode Hex with fixed length', () => {
|
|
13
|
-
const hex = '0xffffff';
|
|
14
|
-
const codec = Hex(3);
|
|
15
|
-
expect(codec.enc(hex)).toEqual(new Uint8Array([255, 255, 255]));
|
|
16
|
-
expect(codec.dec(codec.enc(hex))).toEqual(hex);
|
|
17
|
-
});
|
|
18
|
-
});
|
|
19
|
-
describe('Status', () => {
|
|
20
|
-
it('should correctly encode/decode Status', () => {
|
|
21
|
-
const codec = Status('New', 'Used');
|
|
22
|
-
expect(codec.enc('New')).toEqual(new Uint8Array([0]));
|
|
23
|
-
expect(codec.enc('Used')).toEqual(new Uint8Array([1]));
|
|
24
|
-
expect(codec.dec('0x00')).toEqual('New');
|
|
25
|
-
expect(codec.dec('0x01')).toEqual('Used');
|
|
26
|
-
// @ts-expect-error for test
|
|
27
|
-
expect(() => codec.enc('Unknown')).toThrowErrorMatchingInlineSnapshot(`[Error: Unknown status value: Unknown]`);
|
|
28
|
-
expect(() => codec.dec('0x03')).toThrowErrorMatchingInlineSnapshot(`[Error: Unknown status index: 3]`);
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
describe('Err', () => {
|
|
32
|
-
it('should correctly construct Error', () => {
|
|
33
|
-
const ErrorCodec = Err('TestError', _void, 'Test message');
|
|
34
|
-
const error = new ErrorCodec(undefined);
|
|
35
|
-
expect(error).toBeInstanceOf(ErrorCodec);
|
|
36
|
-
expect(error.name).toBe('TestError');
|
|
37
|
-
expect(error.message).toBe('Test message');
|
|
38
|
-
});
|
|
39
|
-
it('should correctly encode/decode Err', () => {
|
|
40
|
-
const payload = Struct({ enable: bool });
|
|
41
|
-
const ErrorCodec = Err('TestError', payload, 'Test message');
|
|
42
|
-
const error = new ErrorCodec({ enable: true });
|
|
43
|
-
expect(ErrorCodec.enc(error)).toEqual(new Uint8Array([1]));
|
|
44
|
-
expect(ErrorCodec.dec(ErrorCodec.enc(error))).toEqual(new ErrorCodec({ enable: true }));
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
describe('ErrEnum', () => {
|
|
48
|
-
it('should correctly construct ErrorEnum field', () => {
|
|
49
|
-
const ErrorCodec = ErrEnum('ErrorCodec', {
|
|
50
|
-
TestError: [_void, 'Test message'],
|
|
51
|
-
});
|
|
52
|
-
const error = new ErrorCodec.TestError(undefined);
|
|
53
|
-
expect(error).toBeInstanceOf(ErrorCodec.TestError);
|
|
54
|
-
expect(error.name).toBe('ErrorCodec::TestError');
|
|
55
|
-
expect(error.message).toBe('Test message');
|
|
56
|
-
});
|
|
57
|
-
it('should correctly serialize/deserialize', () => {
|
|
58
|
-
const ErrorCodec = ErrEnum('ErrorCodec', {
|
|
59
|
-
First: [_void, 'First'],
|
|
60
|
-
Second: [_void, 'Second'],
|
|
61
|
-
});
|
|
62
|
-
const first = new ErrorCodec.First(undefined);
|
|
63
|
-
const second = new ErrorCodec.Second(undefined);
|
|
64
|
-
expect(ErrorCodec.enc(first)).toEqual(new Uint8Array([0]));
|
|
65
|
-
expect(ErrorCodec.enc(second)).toEqual(new Uint8Array([1]));
|
|
66
|
-
expect(ErrorCodec.dec(ErrorCodec.enc(first))).toEqual(first);
|
|
67
|
-
expect(ErrorCodec.dec(ErrorCodec.enc(second))).toEqual(second);
|
|
68
|
-
expect(ErrorCodec.dec(ErrorCodec.enc(first))).not.toEqual(second);
|
|
69
|
-
expect(ErrorCodec.dec(ErrorCodec.enc(second))).not.toEqual(first);
|
|
70
|
-
});
|
|
71
|
-
});
|
|
72
|
-
});
|
package/dist/protocol/types.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type HexString = `0x${string}`;
|
package/dist/protocol/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { GenericError } from '../commonCodecs.js';
|
|
3
|
-
import { DevicePermission, DevicePermissionV1_request, DevicePermissionV1_response } from './devicePermission.js';
|
|
4
|
-
describe('DevicePermission codec', () => {
|
|
5
|
-
it('encodes Notifications at index 0', () => {
|
|
6
|
-
expect(DevicePermission.enc('Notifications')).toEqual(new Uint8Array([0]));
|
|
7
|
-
expect(DevicePermission.dec(new Uint8Array([0]))).toEqual('Notifications');
|
|
8
|
-
});
|
|
9
|
-
it('encodes Camera at index 1', () => {
|
|
10
|
-
expect(DevicePermission.enc('Camera')).toEqual(new Uint8Array([1]));
|
|
11
|
-
expect(DevicePermission.dec(new Uint8Array([1]))).toEqual('Camera');
|
|
12
|
-
});
|
|
13
|
-
it('encodes Microphone at index 2', () => {
|
|
14
|
-
expect(DevicePermission.enc('Microphone')).toEqual(new Uint8Array([2]));
|
|
15
|
-
expect(DevicePermission.dec(new Uint8Array([2]))).toEqual('Microphone');
|
|
16
|
-
});
|
|
17
|
-
it('encodes Bluetooth at index 3', () => {
|
|
18
|
-
expect(DevicePermission.enc('Bluetooth')).toEqual(new Uint8Array([3]));
|
|
19
|
-
expect(DevicePermission.dec(new Uint8Array([3]))).toEqual('Bluetooth');
|
|
20
|
-
});
|
|
21
|
-
it('encodes NFC at index 4', () => {
|
|
22
|
-
expect(DevicePermission.enc('NFC')).toEqual(new Uint8Array([4]));
|
|
23
|
-
expect(DevicePermission.dec(new Uint8Array([4]))).toEqual('NFC');
|
|
24
|
-
});
|
|
25
|
-
it('encodes Location at index 5', () => {
|
|
26
|
-
expect(DevicePermission.enc('Location')).toEqual(new Uint8Array([5]));
|
|
27
|
-
expect(DevicePermission.dec(new Uint8Array([5]))).toEqual('Location');
|
|
28
|
-
});
|
|
29
|
-
it('encodes Clipboard at index 6', () => {
|
|
30
|
-
expect(DevicePermission.enc('Clipboard')).toEqual(new Uint8Array([6]));
|
|
31
|
-
expect(DevicePermission.dec(new Uint8Array([6]))).toEqual('Clipboard');
|
|
32
|
-
});
|
|
33
|
-
it('encodes OpenUrl at index 7', () => {
|
|
34
|
-
expect(DevicePermission.enc('OpenUrl')).toEqual(new Uint8Array([7]));
|
|
35
|
-
expect(DevicePermission.dec(new Uint8Array([7]))).toEqual('OpenUrl');
|
|
36
|
-
});
|
|
37
|
-
it('encodes Biometrics at index 8', () => {
|
|
38
|
-
expect(DevicePermission.enc('Biometrics')).toEqual(new Uint8Array([8]));
|
|
39
|
-
expect(DevicePermission.dec(new Uint8Array([8]))).toEqual('Biometrics');
|
|
40
|
-
});
|
|
41
|
-
it('DevicePermissionV1_request is DevicePermission', () => {
|
|
42
|
-
expect(DevicePermissionV1_request).toBe(DevicePermission);
|
|
43
|
-
});
|
|
44
|
-
});
|
|
45
|
-
describe('DevicePermissionV1_response codec', () => {
|
|
46
|
-
it('encodes and decodes ok(true)', () => {
|
|
47
|
-
const encoded = DevicePermissionV1_response.enc({ success: true, value: true });
|
|
48
|
-
expect(DevicePermissionV1_response.dec(encoded)).toEqual({ success: true, value: true });
|
|
49
|
-
});
|
|
50
|
-
it('encodes and decodes err with GenericError', () => {
|
|
51
|
-
const error = new GenericError({ reason: 'denied' });
|
|
52
|
-
const encoded = DevicePermissionV1_response.enc({ success: false, value: error });
|
|
53
|
-
const decoded = DevicePermissionV1_response.dec(encoded);
|
|
54
|
-
expect(decoded.success).toBe(false);
|
|
55
|
-
if (decoded.success === false) {
|
|
56
|
-
expect(decoded.value).toBeInstanceOf(GenericError);
|
|
57
|
-
expect(decoded.value.message).toContain('denied');
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
});
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare const JsonRpcMessageSendV1_request: import("scale-ts").Codec<[`0x${string}`, string]>;
|
|
2
|
-
export declare const JsonRpcMessageSendV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<undefined, import("packages/scale/src/err.js").CodecError<{
|
|
3
|
-
reason: string;
|
|
4
|
-
}, "GenericError">>>;
|
|
5
|
-
export declare const JsonRpcMessageSubscribeV1_start: import("scale-ts").Codec<`0x${string}`>;
|
|
6
|
-
export declare const JsonRpcMessageSubscribeV1_receive: import("scale-ts").Codec<string>;
|
|
7
|
-
export declare const JsonRpcMessageSubscribeV1_interrupt: import("scale-ts").Codec<undefined>;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { Result, Tuple, _void, str } from 'scale-ts';
|
|
2
|
-
import { GenericError, GenesisHash } from '../commonCodecs.js';
|
|
3
|
-
export const JsonRpcMessageSendV1_request = Tuple(GenesisHash, str);
|
|
4
|
-
export const JsonRpcMessageSendV1_response = Result(_void, GenericError);
|
|
5
|
-
export const JsonRpcMessageSubscribeV1_start = GenesisHash;
|
|
6
|
-
export const JsonRpcMessageSubscribeV1_receive = str;
|
|
7
|
-
export const JsonRpcMessageSubscribeV1_interrupt = _void;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
export declare const PermissionErr: [import("scale-ts").Encoder<import("@novasamatech/scale").CodecError<undefined, "PermissionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
|
|
2
|
-
reason: string;
|
|
3
|
-
}, "PermissionErr::Unknown">>, import("scale-ts").Decoder<import("@novasamatech/scale").CodecError<undefined, "PermissionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
|
|
4
|
-
reason: string;
|
|
5
|
-
}, "PermissionErr::Unknown">>] & {
|
|
6
|
-
enc: import("scale-ts").Encoder<import("@novasamatech/scale").CodecError<undefined, "PermissionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
|
|
7
|
-
reason: string;
|
|
8
|
-
}, "PermissionErr::Unknown">>;
|
|
9
|
-
dec: import("scale-ts").Decoder<import("@novasamatech/scale").CodecError<undefined, "PermissionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
|
|
10
|
-
reason: string;
|
|
11
|
-
}, "PermissionErr::Unknown">>;
|
|
12
|
-
} & {
|
|
13
|
-
readonly Rejected: import("@novasamatech/scale").ErrCodec<undefined, "PermissionErr::Rejected">;
|
|
14
|
-
readonly Unknown: import("@novasamatech/scale").ErrCodec<{
|
|
15
|
-
reason: string;
|
|
16
|
-
}, "PermissionErr::Unknown">;
|
|
17
|
-
};
|
|
18
|
-
export declare const ChainConnectPermission: import("scale-ts").Codec<{
|
|
19
|
-
genesisHash: `0x${string}`;
|
|
20
|
-
name: string;
|
|
21
|
-
}>;
|
|
22
|
-
export declare const Permission: import("scale-ts").Codec<{
|
|
23
|
-
tag: "ChainSubmit";
|
|
24
|
-
value: `0x${string}`;
|
|
25
|
-
} | {
|
|
26
|
-
tag: "ChainConnect";
|
|
27
|
-
value: {
|
|
28
|
-
genesisHash: `0x${string}`;
|
|
29
|
-
name: string;
|
|
30
|
-
};
|
|
31
|
-
} | {
|
|
32
|
-
tag: "NetworkRequest";
|
|
33
|
-
value: string[];
|
|
34
|
-
}>;
|
|
35
|
-
export declare const PermissionRequestV1_request: import("scale-ts").Codec<{
|
|
36
|
-
tag: "ChainSubmit";
|
|
37
|
-
value: `0x${string}`;
|
|
38
|
-
} | {
|
|
39
|
-
tag: "ChainConnect";
|
|
40
|
-
value: {
|
|
41
|
-
genesisHash: `0x${string}`;
|
|
42
|
-
name: string;
|
|
43
|
-
};
|
|
44
|
-
} | {
|
|
45
|
-
tag: "NetworkRequest";
|
|
46
|
-
value: string[];
|
|
47
|
-
}>;
|
|
48
|
-
export declare const PermissionRequestV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<undefined, "PermissionErr::Rejected"> | import("@novasamatech/scale").CodecError<{
|
|
49
|
-
reason: string;
|
|
50
|
-
}, "PermissionErr::Unknown">>>;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Enum, ErrEnum } from '@novasamatech/scale';
|
|
2
|
-
import { Result, Struct, Vector, _void, str } from 'scale-ts';
|
|
3
|
-
import { GenericErr, GenesisHash } from '../commonCodecs.js';
|
|
4
|
-
export const PermissionErr = ErrEnum('PermissionErr', {
|
|
5
|
-
Rejected: [_void, 'Permission: rejected'],
|
|
6
|
-
Unknown: [GenericErr, 'Permission: unknown error'],
|
|
7
|
-
});
|
|
8
|
-
export const ChainConnectPermission = Struct({
|
|
9
|
-
genesisHash: GenesisHash,
|
|
10
|
-
name: str,
|
|
11
|
-
});
|
|
12
|
-
export const Permission = Enum({
|
|
13
|
-
ChainSubmit: GenesisHash,
|
|
14
|
-
ChainConnect: ChainConnectPermission,
|
|
15
|
-
NetworkRequest: Vector(str),
|
|
16
|
-
// TBD
|
|
17
|
-
});
|
|
18
|
-
export const PermissionRequestV1_request = Permission;
|
|
19
|
-
export const PermissionRequestV1_response = Result(_void, PermissionErr);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { GenericError } from '../commonCodecs.js';
|
|
3
|
-
import { RemotePermission, RemotePermissionV1_request, RemotePermissionV1_response } from './remotePermission.js';
|
|
4
|
-
describe('RemotePermission codec', () => {
|
|
5
|
-
it('encodes and decodes Remote (index 0) with domain list', () => {
|
|
6
|
-
const value = { tag: 'Remote', value: ['api.coingecko.com', '*.example.com'] };
|
|
7
|
-
const encoded = RemotePermission.enc(value);
|
|
8
|
-
expect(encoded[0]).toBe(0);
|
|
9
|
-
expect(RemotePermission.dec(encoded)).toEqual(value);
|
|
10
|
-
});
|
|
11
|
-
it('encodes and decodes WebRTC at index 1', () => {
|
|
12
|
-
const value = { tag: 'WebRTC', value: undefined };
|
|
13
|
-
const encoded = RemotePermission.enc(value);
|
|
14
|
-
expect(encoded[0]).toBe(1);
|
|
15
|
-
expect(RemotePermission.dec(encoded)).toEqual(value);
|
|
16
|
-
});
|
|
17
|
-
it('encodes and decodes ChainSubmit at index 2', () => {
|
|
18
|
-
const value = { tag: 'ChainSubmit', value: undefined };
|
|
19
|
-
const encoded = RemotePermission.enc(value);
|
|
20
|
-
expect(encoded[0]).toBe(2);
|
|
21
|
-
expect(RemotePermission.dec(encoded)).toEqual(value);
|
|
22
|
-
});
|
|
23
|
-
it('encodes and decodes PreimageSubmit at index 3', () => {
|
|
24
|
-
const value = { tag: 'PreimageSubmit', value: undefined };
|
|
25
|
-
const encoded = RemotePermission.enc(value);
|
|
26
|
-
expect(encoded[0]).toBe(3);
|
|
27
|
-
expect(RemotePermission.dec(encoded)).toEqual(value);
|
|
28
|
-
});
|
|
29
|
-
it('encodes and decodes StatementSubmit at index 4', () => {
|
|
30
|
-
const value = { tag: 'StatementSubmit', value: undefined };
|
|
31
|
-
const encoded = RemotePermission.enc(value);
|
|
32
|
-
expect(encoded[0]).toBe(4);
|
|
33
|
-
expect(RemotePermission.dec(encoded)).toEqual(value);
|
|
34
|
-
});
|
|
35
|
-
it('RemotePermissionV1_request encodes a batch of multiple permissions', () => {
|
|
36
|
-
const batch = [
|
|
37
|
-
{ tag: 'Remote', value: ['api.example.com'] },
|
|
38
|
-
{ tag: 'ChainSubmit', value: undefined },
|
|
39
|
-
{ tag: 'StatementSubmit', value: undefined },
|
|
40
|
-
];
|
|
41
|
-
const encoded = RemotePermissionV1_request.enc(batch);
|
|
42
|
-
const decoded = RemotePermissionV1_request.dec(encoded);
|
|
43
|
-
expect(decoded).toEqual(batch);
|
|
44
|
-
});
|
|
45
|
-
it('RemotePermissionV1_request encodes an empty batch', () => {
|
|
46
|
-
RemotePermissionV1_request.enc([]);
|
|
47
|
-
expect(RemotePermissionV1_request.dec(RemotePermissionV1_request.enc([]))).toEqual([]);
|
|
48
|
-
});
|
|
49
|
-
});
|
|
50
|
-
describe('RemotePermissionV1_response codec', () => {
|
|
51
|
-
it('encodes and decodes ok(true)', () => {
|
|
52
|
-
const encoded = RemotePermissionV1_response.enc({ success: true, value: true });
|
|
53
|
-
expect(RemotePermissionV1_response.dec(encoded)).toEqual({ success: true, value: true });
|
|
54
|
-
});
|
|
55
|
-
it('encodes and decodes err with GenericError', () => {
|
|
56
|
-
const error = new GenericError({ reason: 'denied' });
|
|
57
|
-
const encoded = RemotePermissionV1_response.enc({ success: false, value: error });
|
|
58
|
-
const decoded = RemotePermissionV1_response.dec(encoded);
|
|
59
|
-
expect(decoded.success).toBe(false);
|
|
60
|
-
if (decoded.success === false) {
|
|
61
|
-
expect(decoded.value).toBeInstanceOf(GenericError);
|
|
62
|
-
expect(decoded.value.message).toContain('denied');
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
export declare const StorageErr: [import("scale-ts").Encoder<import("@novasamatech/scale").CodecError<{
|
|
2
|
-
reason: string;
|
|
3
|
-
}, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>, import("scale-ts").Decoder<import("@novasamatech/scale").CodecError<{
|
|
4
|
-
reason: string;
|
|
5
|
-
}, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>] & {
|
|
6
|
-
enc: import("scale-ts").Encoder<import("@novasamatech/scale").CodecError<{
|
|
7
|
-
reason: string;
|
|
8
|
-
}, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>;
|
|
9
|
-
dec: import("scale-ts").Decoder<import("@novasamatech/scale").CodecError<{
|
|
10
|
-
reason: string;
|
|
11
|
-
}, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>;
|
|
12
|
-
} & {
|
|
13
|
-
readonly Full: import("@novasamatech/scale").ErrCodec<undefined, "StorageErr::Full">;
|
|
14
|
-
readonly Unknown: import("@novasamatech/scale").ErrCodec<{
|
|
15
|
-
reason: string;
|
|
16
|
-
}, "StorageErr::Unknown">;
|
|
17
|
-
};
|
|
18
|
-
export declare const StorageKey: import("scale-ts").Codec<string>;
|
|
19
|
-
export declare const StorageValue: import("scale-ts").Codec<Uint8Array<ArrayBufferLike>>;
|
|
20
|
-
export declare const StorageReadV1_request: import("scale-ts").Codec<string>;
|
|
21
|
-
export declare const StorageReadV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<Uint8Array<ArrayBufferLike> | undefined, import("@novasamatech/scale").CodecError<{
|
|
22
|
-
reason: string;
|
|
23
|
-
}, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>;
|
|
24
|
-
export declare const StorageWriteV1_request: import("scale-ts").Codec<[string, Uint8Array<ArrayBufferLike>]>;
|
|
25
|
-
export declare const StorageWriteV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
|
|
26
|
-
reason: string;
|
|
27
|
-
}, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>;
|
|
28
|
-
export declare const StorageClearV1_request: import("scale-ts").Codec<string>;
|
|
29
|
-
export declare const StorageClearV1_response: import("scale-ts").Codec<import("scale-ts").ResultPayload<undefined, import("@novasamatech/scale").CodecError<{
|
|
30
|
-
reason: string;
|
|
31
|
-
}, "StorageErr::Unknown"> | import("@novasamatech/scale").CodecError<undefined, "StorageErr::Full">>>;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ErrEnum } from '@novasamatech/scale';
|
|
2
|
-
import { Bytes, Option, Result, Tuple, _void, str } from 'scale-ts';
|
|
3
|
-
import { GenericErr } from '../commonCodecs.js';
|
|
4
|
-
// common structures
|
|
5
|
-
export const StorageErr = ErrEnum('StorageErr', {
|
|
6
|
-
Full: [_void, 'Storage is full'],
|
|
7
|
-
Unknown: [GenericErr, 'Unknown storage error'],
|
|
8
|
-
});
|
|
9
|
-
export const StorageKey = str;
|
|
10
|
-
export const StorageValue = Bytes();
|
|
11
|
-
// actions
|
|
12
|
-
export const StorageReadV1_request = StorageKey;
|
|
13
|
-
export const StorageReadV1_response = Result(Option(StorageValue), StorageErr);
|
|
14
|
-
export const StorageWriteV1_request = Tuple(StorageKey, StorageValue);
|
|
15
|
-
export const StorageWriteV1_response = Result(_void, StorageErr);
|
|
16
|
-
export const StorageClearV1_request = StorageKey;
|
|
17
|
-
export const StorageClearV1_response = Result(_void, StorageErr);
|