@silvana-one/storage 1.0.42 → 1.1.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.
- package/dist/node/index.cjs +10 -6
- package/dist/node/indexed-map/indexed-map.d.ts +2 -4
- package/dist/node/indexed-map/indexed-map.js +10 -3
- package/dist/node/indexed-map/indexed-map.js.map +1 -1
- package/dist/node/whitelist/offchain-map.d.ts +9 -9
- package/dist/node/whitelist/offchain-map.js +1 -2
- package/dist/node/whitelist/offchain-map.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/tsconfig.web.tsbuildinfo +1 -1
- package/dist/web/indexed-map/indexed-map.d.ts +2 -4
- package/dist/web/indexed-map/indexed-map.js +10 -3
- package/dist/web/indexed-map/indexed-map.js.map +1 -1
- package/dist/web/whitelist/offchain-map.d.ts +9 -9
- package/dist/web/whitelist/offchain-map.js +1 -2
- package/dist/web/whitelist/offchain-map.js.map +1 -1
- package/package.json +10 -7
- package/src/indexed-map/indexed-map.ts +14 -5
- package/src/whitelist/offchain-map.ts +1 -3
|
@@ -16,7 +16,7 @@ declare const OffchainMap_base: typeof import("node_modules/o1js/dist/node/lib/p
|
|
|
16
16
|
export declare class OffchainMap extends OffchainMap_base {
|
|
17
17
|
}
|
|
18
18
|
declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/provable/types/provable-intf.js").Provable<Option<import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, {
|
|
19
|
-
|
|
19
|
+
_internalRoot: bigint;
|
|
20
20
|
length: bigint;
|
|
21
21
|
data: {
|
|
22
22
|
nodes: (bigint | undefined)[][];
|
|
@@ -28,7 +28,7 @@ declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/pr
|
|
|
28
28
|
}[];
|
|
29
29
|
};
|
|
30
30
|
}>, {
|
|
31
|
-
|
|
31
|
+
_internalRoot: bigint;
|
|
32
32
|
length: bigint;
|
|
33
33
|
data: {
|
|
34
34
|
nodes: (bigint | undefined)[][];
|
|
@@ -43,7 +43,7 @@ declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/pr
|
|
|
43
43
|
isSome: Bool;
|
|
44
44
|
value: import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase;
|
|
45
45
|
}) => Option<import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, {
|
|
46
|
-
|
|
46
|
+
_internalRoot: bigint;
|
|
47
47
|
length: bigint;
|
|
48
48
|
data: {
|
|
49
49
|
nodes: (bigint | undefined)[][];
|
|
@@ -56,7 +56,7 @@ declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/pr
|
|
|
56
56
|
};
|
|
57
57
|
}>) & {
|
|
58
58
|
fromValue(value: import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase | {
|
|
59
|
-
|
|
59
|
+
_internalRoot: bigint;
|
|
60
60
|
length: bigint;
|
|
61
61
|
data: {
|
|
62
62
|
nodes: (bigint | undefined)[][];
|
|
@@ -70,7 +70,7 @@ declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/pr
|
|
|
70
70
|
} | {
|
|
71
71
|
isSome: boolean | Bool;
|
|
72
72
|
value: import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase | {
|
|
73
|
-
|
|
73
|
+
_internalRoot: bigint;
|
|
74
74
|
length: bigint;
|
|
75
75
|
data: {
|
|
76
76
|
nodes: (bigint | undefined)[][];
|
|
@@ -83,7 +83,7 @@ declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/pr
|
|
|
83
83
|
};
|
|
84
84
|
};
|
|
85
85
|
} | undefined): Option<import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, {
|
|
86
|
-
|
|
86
|
+
_internalRoot: bigint;
|
|
87
87
|
length: bigint;
|
|
88
88
|
data: {
|
|
89
89
|
nodes: (bigint | undefined)[][];
|
|
@@ -96,7 +96,7 @@ declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/pr
|
|
|
96
96
|
};
|
|
97
97
|
}>;
|
|
98
98
|
from(value?: import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase | {
|
|
99
|
-
|
|
99
|
+
_internalRoot: bigint;
|
|
100
100
|
length: bigint;
|
|
101
101
|
data: {
|
|
102
102
|
nodes: (bigint | undefined)[][];
|
|
@@ -108,7 +108,7 @@ declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/pr
|
|
|
108
108
|
}[];
|
|
109
109
|
};
|
|
110
110
|
} | undefined): Option<import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, {
|
|
111
|
-
|
|
111
|
+
_internalRoot: bigint;
|
|
112
112
|
length: bigint;
|
|
113
113
|
data: {
|
|
114
114
|
nodes: (bigint | undefined)[][];
|
|
@@ -121,7 +121,7 @@ declare const OffchainMapOption_base: import("node_modules/o1js/dist/node/lib/pr
|
|
|
121
121
|
};
|
|
122
122
|
}>;
|
|
123
123
|
none(): Option<import("node_modules/o1js/dist/node/lib/provable/merkle-tree-indexed.js").IndexedMerkleMapBase, {
|
|
124
|
-
|
|
124
|
+
_internalRoot: bigint;
|
|
125
125
|
length: bigint;
|
|
126
126
|
data: {
|
|
127
127
|
nodes: (bigint | undefined)[][];
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IndexedMerkleMap, Struct, Field, Option, Provable } from "o1js";
|
|
2
2
|
import { serializeIndexedMap, loadIndexedMerkleMap, } from "../indexed-map/indexed-map.js";
|
|
3
3
|
import { sleep } from "../util/sleep.js";
|
|
4
4
|
import { Storage } from "../storage/storage.js";
|
|
5
5
|
import { createIpfsURL } from "../storage/ipfs.js";
|
|
6
6
|
import { pinJSON } from "../storage/pinata.js";
|
|
7
|
-
const { IndexedMerkleMap } = Experimental;
|
|
8
7
|
const OFFCHAIN_MAP_HEIGHT = 20;
|
|
9
8
|
/** Represents the Offchain Map using an Indexed Merkle Map. */
|
|
10
9
|
export class OffchainMap extends IndexedMerkleMap(OFFCHAIN_MAP_HEIGHT) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offchain-map.js","sourceRoot":"","sources":["../../../src/whitelist/offchain-map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"offchain-map.js","sourceRoot":"","sources":["../../../src/whitelist/offchain-map.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@silvana-one/storage",
|
|
3
3
|
"description": "Silvana Storage Library",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.1",
|
|
5
5
|
"author": "DFST",
|
|
6
6
|
"bugs": "https://github.com/SilvanaOne/silvana-lib/issues",
|
|
7
7
|
"dependencies": {
|
|
8
8
|
"tslib": "^2.8.1"
|
|
9
9
|
},
|
|
10
10
|
"devDependencies": {
|
|
11
|
-
"@types/node": "^24.
|
|
12
|
-
"esbuild": "^0.25.
|
|
13
|
-
"o1js": "2.
|
|
14
|
-
"
|
|
11
|
+
"@types/node": "^24.9.1",
|
|
12
|
+
"esbuild": "^0.25.11",
|
|
13
|
+
"o1js": "2.10.0",
|
|
14
|
+
"ts-node": "^10.9.2",
|
|
15
|
+
"typescript": "^5.9.3"
|
|
15
16
|
},
|
|
16
17
|
"engines": {
|
|
17
18
|
"node": ">=20.0.0"
|
|
@@ -45,7 +46,7 @@
|
|
|
45
46
|
"license": "Apache-2.0",
|
|
46
47
|
"main": "dist/web/index.js",
|
|
47
48
|
"peerDependencies": {
|
|
48
|
-
"o1js": "2.
|
|
49
|
+
"o1js": "2.10.0"
|
|
49
50
|
},
|
|
50
51
|
"publishConfig": {
|
|
51
52
|
"access": "public"
|
|
@@ -53,7 +54,9 @@
|
|
|
53
54
|
"repository": "SilvanaOne/silvana-lib.git",
|
|
54
55
|
"scripts": {
|
|
55
56
|
"build": "rm -rf dist && tsc && tsc --build tsconfig.web.json && node build-cjs.js",
|
|
56
|
-
"release": "npm publish --access public"
|
|
57
|
+
"release": "npm publish --access public",
|
|
58
|
+
"test": "NODE_NO_WARNINGS=1 node --loader=ts-node/esm --enable-source-maps --test",
|
|
59
|
+
"test:indexed-map": "npm run test test/indexed-map.test.ts"
|
|
57
60
|
},
|
|
58
61
|
"type": "module",
|
|
59
62
|
"types": "./dist/node/index.d.ts"
|
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IndexedMerkleMap, Field } from "o1js";
|
|
2
2
|
import { bigintToBase64, bigintFromBase64 } from "../base64/bigint.js";
|
|
3
3
|
import { sleep } from "../util/sleep.js";
|
|
4
4
|
import { pinJSON } from "../storage/pinata.js";
|
|
5
5
|
|
|
6
|
-
const { IndexedMerkleMap } = Experimental;
|
|
7
|
-
type IndexedMerkleMap = Experimental.IndexedMerkleMap;
|
|
8
|
-
|
|
9
6
|
export interface IndexedMapSerialized {
|
|
10
7
|
height: number;
|
|
11
8
|
root: string;
|
|
9
|
+
internalRoot: string;
|
|
12
10
|
length: string;
|
|
13
11
|
nodes: string;
|
|
14
12
|
sortedLeaves: string;
|
|
@@ -91,6 +89,7 @@ export function serializeIndexedMap(
|
|
|
91
89
|
return {
|
|
92
90
|
height: map.height,
|
|
93
91
|
root: map.root.toJSON(),
|
|
92
|
+
internalRoot: map._internalRoot.toJSON(),
|
|
94
93
|
length: map.length.toJSON(),
|
|
95
94
|
nodes: JSON.stringify(map.data.get().nodes, (_, v) =>
|
|
96
95
|
typeof v === "bigint" ? "n" + bigintToBase64(v) : v
|
|
@@ -131,6 +130,7 @@ export function parseIndexedMapSerialized(
|
|
|
131
130
|
if (
|
|
132
131
|
json.height === undefined ||
|
|
133
132
|
json.root === undefined ||
|
|
133
|
+
json.internalRoot === undefined ||
|
|
134
134
|
json.length === undefined ||
|
|
135
135
|
json.nodes === undefined ||
|
|
136
136
|
json.sortedLeaves === undefined
|
|
@@ -140,6 +140,8 @@ export function parseIndexedMapSerialized(
|
|
|
140
140
|
throw new Error("wrong IndexedMerkleMap height format");
|
|
141
141
|
if (typeof json.root !== "string")
|
|
142
142
|
throw new Error("wrong IndexedMerkleMap root format");
|
|
143
|
+
if (typeof json.internalRoot !== "string")
|
|
144
|
+
throw new Error("wrong IndexedMerkleMap internalRoot format");
|
|
143
145
|
if (typeof json.length !== "string")
|
|
144
146
|
throw new Error("wrong IndexedMerkleMap length format");
|
|
145
147
|
if (typeof json.nodes !== "string")
|
|
@@ -177,7 +179,7 @@ function deserializeIndexedMerkleMapInternal(params: {
|
|
|
177
179
|
}
|
|
178
180
|
);
|
|
179
181
|
|
|
180
|
-
map.
|
|
182
|
+
map._internalRoot = Field.fromJSON(serializedIndexedMap.internalRoot);
|
|
181
183
|
map.length = Field.fromJSON(serializedIndexedMap.length);
|
|
182
184
|
map.data.updateAsProver(() => {
|
|
183
185
|
return {
|
|
@@ -185,5 +187,12 @@ function deserializeIndexedMerkleMapInternal(params: {
|
|
|
185
187
|
sortedLeaves: [...sortedLeaves],
|
|
186
188
|
};
|
|
187
189
|
});
|
|
190
|
+
|
|
191
|
+
if (
|
|
192
|
+
map.root.equals(Field.fromJSON(serializedIndexedMap.root)).toBoolean() ===
|
|
193
|
+
false
|
|
194
|
+
) {
|
|
195
|
+
throw new Error("wrong IndexedMap root");
|
|
196
|
+
}
|
|
188
197
|
return map;
|
|
189
198
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { IndexedMerkleMap, Struct, Field, Option, Provable, Bool } from "o1js";
|
|
2
2
|
import {
|
|
3
3
|
serializeIndexedMap,
|
|
4
4
|
loadIndexedMerkleMap,
|
|
@@ -10,8 +10,6 @@ import { Storage, IpfsHash } from "../storage/storage.js";
|
|
|
10
10
|
import { createIpfsURL } from "../storage/ipfs.js";
|
|
11
11
|
import { pinJSON } from "../storage/pinata.js";
|
|
12
12
|
|
|
13
|
-
const { IndexedMerkleMap } = Experimental;
|
|
14
|
-
type IndexedMerkleMap = Experimental.IndexedMerkleMap;
|
|
15
13
|
const OFFCHAIN_MAP_HEIGHT = 20;
|
|
16
14
|
|
|
17
15
|
export interface OffchainMapSerialized extends IndexedMapSerializedJson {
|