@partisiablockchain/abi-client 5.310.0 → 6.17.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/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@partisiablockchain/abi-client",
3
- "version": "5.310.0",
3
+ "version": "6.17.0",
4
4
  "description": "",
5
5
  "license": "AGPL-3.0",
6
6
  "dependencies": {
7
- "@partisiablockchain/blockchain-api-transaction-client": "5.214.0",
8
- "@partisiablockchain/sections": "5.66.0",
7
+ "@partisiablockchain/blockchain-api-transaction-client": "6.14.0",
8
+ "@partisiablockchain/sections": "6.4.0",
9
9
  "@secata-public/bitmanipulation-ts": "3.4.0",
10
10
  "@types/bn.js": "^5.1.6",
11
11
  "@types/elliptic": "^6.4.18",
@@ -0,0 +1,13 @@
1
+ import { AggregateProducer } from "../model/AggregateProducer";
2
+ import { Producer } from "../model/Producer";
3
+ import { TypeSpec } from "../model/Abi";
4
+ import { AbiOutput } from "../abistreams/AbiOutput";
5
+ export declare class TypeProducer implements AggregateProducer {
6
+ private readonly type;
7
+ private element;
8
+ constructor(type: TypeSpec);
9
+ addElement(argument: Producer): void;
10
+ getFieldName(): string;
11
+ getTypeSpecForElement(): TypeSpec | null;
12
+ write(out: AbiOutput): void;
13
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (C) 2022 - 2025 Partisia Blockchain Foundation
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU Affero General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ *
18
+ */
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ exports.TypeProducer = void 0;
21
+ class TypeProducer {
22
+ constructor(type) {
23
+ this.element = null;
24
+ this.type = type;
25
+ }
26
+ addElement(argument) {
27
+ if (this.element != null) {
28
+ throw new Error("Cannot build type twice");
29
+ }
30
+ this.element = argument;
31
+ }
32
+ getFieldName() {
33
+ return "root";
34
+ }
35
+ getTypeSpecForElement() {
36
+ return this.type;
37
+ }
38
+ write(out) {
39
+ if (this.element == null) {
40
+ throw new Error("Missing type element");
41
+ }
42
+ this.element.write(out);
43
+ }
44
+ }
45
+ exports.TypeProducer = TypeProducer;
46
+ //# sourceMappingURL=TypeProducer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeProducer.js","sourceRoot":"","sources":["../../../src/main/builder/TypeProducer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAOH,MAAa,YAAY;IAIvB,YAAY,IAAc;QAFlB,YAAO,GAAoB,IAAI,CAAC;QAGtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,QAAkB;QAC3B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAc;QAClB,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;CACF;AA7BD,oCA6BC"}
@@ -1,7 +1,13 @@
1
1
  import { Entry } from "./types";
2
2
  import { BlockchainAddress } from "./BlockchainAddress";
3
3
  import { BlockchainStateClient } from "./BlockchainStateClient";
4
- export declare class AvlTreeMap<K, V> {
4
+ export interface AvlTreeMap<K, V> {
5
+ readonly treeId: number;
6
+ get(key: K): Promise<V | undefined>;
7
+ getNextN(key: K | undefined, n: number): Promise<Array<Entry<K, V>>>;
8
+ size(): Promise<number>;
9
+ }
10
+ export declare class AvlTreeMapImpl<K, V> {
5
11
  readonly treeId: number;
6
12
  private readonly client;
7
13
  private readonly address;
@@ -26,8 +26,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
26
26
  });
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.AvlTreeMap = void 0;
30
- class AvlTreeMap {
29
+ exports.AvlTreeMapImpl = void 0;
30
+ class AvlTreeMapImpl {
31
31
  constructor(treeId, client, address, keySerializer, keyDeserializer, valueDeserializer) {
32
32
  this.client = client;
33
33
  this.address = address;
@@ -91,5 +91,5 @@ class AvlTreeMap {
91
91
  return serializer(key);
92
92
  }
93
93
  }
94
- exports.AvlTreeMap = AvlTreeMap;
94
+ exports.AvlTreeMapImpl = AvlTreeMapImpl;
95
95
  //# sourceMappingURL=AvlTreeMap.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AvlTreeMap.js","sourceRoot":"","sources":["../../../src/main/codegen-lib/AvlTreeMap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AvlTreeMap.js","sourceRoot":"","sources":["../../../src/main/codegen-lib/AvlTreeMap.ts"],"names":[],"mappings":"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"}
@@ -4,15 +4,16 @@ import { ChainControllerApi } from "@partisiablockchain/blockchain-api-transacti
4
4
  export interface BlockchainStateClient {
5
5
  getContractStateBinary(address: BlockchainAddress): Promise<Buffer>;
6
6
  getContractStateAvlValue(address: BlockchainAddress, treeId: number, key: Buffer): Promise<Buffer | undefined>;
7
- getContractStateAvlNextN(address: BlockchainAddress, treeId: number, key: Buffer | undefined, n: number): Promise<Array<Entry<Buffer, Buffer>>>;
7
+ getContractStateAvlNextN(address: BlockchainAddress, treeId: number, key: Buffer | undefined, n: number, skip?: number): Promise<Array<Entry<Buffer, Buffer>>>;
8
8
  getContractStateAvlSize(address: BlockchainAddress, treeId: number): Promise<number>;
9
9
  }
10
10
  export declare class BlockchainStateClientImpl implements BlockchainStateClient {
11
11
  private readonly client;
12
+ private readonly blockTime;
12
13
  private constructor();
13
- static create(basePath: string): BlockchainStateClientImpl;
14
- static create(client: ChainControllerApi): BlockchainStateClientImpl;
15
- getContractStateAvlNextN(address: BlockchainAddress, treeId: number, key: Buffer | undefined, n: number): Promise<Array<Entry<Buffer, Buffer>>>;
14
+ static create(basePath: string, blockTime?: number): BlockchainStateClientImpl;
15
+ static create(client: ChainControllerApi, blockTime?: number): BlockchainStateClientImpl;
16
+ getContractStateAvlNextN(address: BlockchainAddress, treeId: number, key: Buffer | undefined, n: number, skip?: number): Promise<Array<Entry<Buffer, Buffer>>>;
16
17
  getContractStateAvlSize(address: BlockchainAddress, treeId: number): Promise<number>;
17
18
  getContractStateAvlValue(address: BlockchainAddress, treeId: number, key: Buffer): Promise<Buffer | undefined>;
18
19
  getContractStateBinary(address: BlockchainAddress): Promise<Buffer>;
@@ -29,10 +29,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.BlockchainStateClientImpl = void 0;
30
30
  const blockchain_api_transaction_client_1 = require("@partisiablockchain/blockchain-api-transaction-client");
31
31
  class BlockchainStateClientImpl {
32
- constructor(client) {
32
+ constructor(client, blockTime) {
33
33
  this.client = client;
34
+ this.blockTime = blockTime;
34
35
  }
35
- static create(arg) {
36
+ static create(arg, blockTime) {
36
37
  let client;
37
38
  if (typeof arg === "string") {
38
39
  client = new blockchain_api_transaction_client_1.ChainControllerApi(new blockchain_api_transaction_client_1.Configuration({ basePath: arg }));
@@ -40,15 +41,17 @@ class BlockchainStateClientImpl {
40
41
  else {
41
42
  client = arg;
42
43
  }
43
- return new BlockchainStateClientImpl(client);
44
+ return new BlockchainStateClientImpl(client, blockTime);
44
45
  }
45
- getContractStateAvlNextN(address, treeId, key, n) {
46
+ getContractStateAvlNextN(address, treeId, key, n, skip) {
46
47
  return __awaiter(this, void 0, void 0, function* () {
47
48
  const next = yield this.client.getContractAvlNextN({
48
49
  address: address.asString(),
49
50
  treeId,
50
51
  key: key === null || key === void 0 ? void 0 : key.toString("hex"),
51
52
  n,
53
+ skip,
54
+ blockTime: this.blockTime,
52
55
  });
53
56
  return next.map((entry) => {
54
57
  return { key: Buffer.from(entry.key, "hex"), value: Buffer.from(entry.value, "base64") };
@@ -57,21 +60,32 @@ class BlockchainStateClientImpl {
57
60
  }
58
61
  getContractStateAvlSize(address, treeId) {
59
62
  return __awaiter(this, void 0, void 0, function* () {
60
- return (yield this.client.getContractAvlInformation({ address: address.asString(), treeId }))
61
- .size;
63
+ return (yield this.client.getContractAvlInformation({
64
+ address: address.asString(),
65
+ treeId,
66
+ blockTime: this.blockTime,
67
+ })).size;
62
68
  });
63
69
  }
64
70
  getContractStateAvlValue(address, treeId, key) {
65
71
  return __awaiter(this, void 0, void 0, function* () {
66
72
  const avlValue = yield this.client
67
- .getContractAvlValue({ address: address.asString(), treeId, key: key.toString("hex") })
73
+ .getContractAvlValue({
74
+ address: address.asString(),
75
+ treeId,
76
+ key: key.toString("hex"),
77
+ blockTime: this.blockTime,
78
+ })
68
79
  .catch(() => undefined);
69
80
  return avlValue == undefined ? undefined : Buffer.from(avlValue.data, "base64");
70
81
  });
71
82
  }
72
83
  getContractStateBinary(address) {
73
84
  return __awaiter(this, void 0, void 0, function* () {
74
- const contract = yield this.client.getContract({ address: address.asString() });
85
+ const contract = yield this.client.getContract({
86
+ address: address.asString(),
87
+ blockTime: this.blockTime,
88
+ });
75
89
  if (contract.serializedContract === undefined) {
76
90
  throw new Error("Contract does not have any state");
77
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BlockchainStateClient.js","sourceRoot":"","sources":["../../../src/main/codegen-lib/BlockchainStateClient.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;AAIH,6GAG+D;AAqB/D,MAAa,yBAAyB;IAGpC,YAAoB,MAA0B;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAIM,MAAM,CAAC,MAAM,CAAC,GAAgC;QACnD,IAAI,MAAM,CAAC;QACX,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,GAAG,IAAI,sDAAkB,CAAC,IAAI,iDAAa,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,CAAC;QACf,CAAC;QACD,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEK,wBAAwB,CAC5B,OAA0B,EAC1B,MAAc,EACd,GAAuB,EACvB,CAAS;;YAET,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC;gBACjD,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE;gBAC3B,MAAM;gBACN,GAAG,EAAE,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,CAAC,KAAK,CAAC;gBACzB,CAAC;aACF,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC3F,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEK,uBAAuB,CAAC,OAA0B,EAAE,MAAc;;YACtE,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;iBAC1F,IAAI,CAAC;QACV,CAAC;KAAA;IAEK,wBAAwB,CAC5B,OAA0B,EAC1B,MAAc,EACd,GAAW;;YAEX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM;iBAC/B,mBAAmB,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;iBACtF,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClF,CAAC;KAAA;IAEK,sBAAsB,CAAC,OAA0B;;YACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAChF,IAAI,QAAQ,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;QAC5D,CAAC;KAAA;CACF;AA3DD,8DA2DC"}
1
+ {"version":3,"file":"BlockchainStateClient.js","sourceRoot":"","sources":["../../../src/main/codegen-lib/BlockchainStateClient.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,7 @@ export { BlockchainPublicKey } from "./codegen-lib/BlockchainPublicKey";
54
54
  export { Signature } from "./codegen-lib/Signature";
55
55
  export { BlsSignature } from "./codegen-lib/BlsSignature";
56
56
  export { BlsPublicKey } from "./codegen-lib/BlsPublicKey";
57
- export { AvlTreeMap } from "./codegen-lib/AvlTreeMap";
57
+ export { AvlTreeMap, AvlTreeMapImpl } from "./codegen-lib/AvlTreeMap";
58
58
  export { StateWithClient, Entry, SecretInput } from "./codegen-lib/types";
59
59
  export { SecretInputBuilder } from "./codegen-lib/SecretInputBuilder";
60
60
  export { BlockchainStateClient, BlockchainStateClientImpl, } from "./codegen-lib/BlockchainStateClient";
@@ -21,7 +21,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
23
  exports.ZkSecretReader = exports.ZkInputBuilder = exports.BigEndianReader = exports.AbstractBuilder = exports.JsonRpcConverter = exports.JsonValueConverter = exports.TransactionReader = exports.RustSyntaxPrettyPrinter = exports.RustSyntaxStatePrinter = exports.RpcValue = exports.RpcReader = exports.ScValueArray = exports.ScValueAvlTreeMap = exports.ScValueBlsSignature = exports.ScValueBlsPublicKey = exports.ScValueSignature = exports.ScValuePublicKey = exports.ScValueHash = exports.ScValueAddress = exports.ScValueString = exports.ScValueOption = exports.ScValueNumber = exports.ScValueBool = exports.ScValueVector = exports.ScValueSet = exports.ScValueEnum = exports.ScValueMap = exports.ScValueStruct = exports.StateReader = exports.ScValue = exports.HashMap = exports.ContractAbi = exports.Configuration = exports.AbiParser = exports.StructTypeSpec = exports.EnumTypeSpec = exports.AbiVersion = exports.FileAbi = exports.ContractInvocation = exports.ChainComponentFormat = exports.TypeAndFunctionOrder = exports.BinderType = exports.TransactionKind = exports.FunctionFormat = exports.ShortnameType = exports.NamedTypesFormat = exports.NamedTypeSpec = exports.TypeIndex = exports.hashBuffer = exports.BN = void 0;
24
- exports.BlockchainClientForDeploymentImpl = exports.DeploymentClient = exports.DeploymentBuilder = exports.AbiByteOutput = exports.AbiByteInput = exports.AbiBitOutput = exports.AbiBitInput = exports.BlockchainStateClientImpl = exports.SecretInputBuilder = exports.AvlTreeMap = exports.BlsPublicKey = exports.BlsSignature = exports.Signature = exports.BlockchainPublicKey = exports.BlockchainAddress = exports.Hash = exports.RpcBuilder = exports.BinderAbi = exports.ImplicitBinderAbi = exports.TransactionBuilder = exports.StateBuilder = exports.RpcContractBuilder = void 0;
24
+ exports.BlockchainClientForDeploymentImpl = exports.DeploymentClient = exports.DeploymentBuilder = exports.AbiByteOutput = exports.AbiByteInput = exports.AbiBitOutput = exports.AbiBitInput = exports.BlockchainStateClientImpl = exports.SecretInputBuilder = exports.AvlTreeMapImpl = exports.BlsPublicKey = exports.BlsSignature = exports.Signature = exports.BlockchainPublicKey = exports.BlockchainAddress = exports.Hash = exports.RpcBuilder = exports.BinderAbi = exports.ImplicitBinderAbi = exports.TransactionBuilder = exports.StateBuilder = exports.RpcContractBuilder = void 0;
25
25
  const bn_js_1 = __importDefault(require("bn.js"));
26
26
  exports.BN = bn_js_1.default;
27
27
  var BufferUtil_1 = require("./util/BufferUtil");
@@ -140,7 +140,7 @@ Object.defineProperty(exports, "BlsSignature", { enumerable: true, get: function
140
140
  var BlsPublicKey_1 = require("./codegen-lib/BlsPublicKey");
141
141
  Object.defineProperty(exports, "BlsPublicKey", { enumerable: true, get: function () { return BlsPublicKey_1.BlsPublicKey; } });
142
142
  var AvlTreeMap_1 = require("./codegen-lib/AvlTreeMap");
143
- Object.defineProperty(exports, "AvlTreeMap", { enumerable: true, get: function () { return AvlTreeMap_1.AvlTreeMap; } });
143
+ Object.defineProperty(exports, "AvlTreeMapImpl", { enumerable: true, get: function () { return AvlTreeMap_1.AvlTreeMapImpl; } });
144
144
  var SecretInputBuilder_1 = require("./codegen-lib/SecretInputBuilder");
145
145
  Object.defineProperty(exports, "SecretInputBuilder", { enumerable: true, get: function () { return SecretInputBuilder_1.SecretInputBuilder; } });
146
146
  var BlockchainStateClient_1 = require("./codegen-lib/BlockchainStateClient");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { AbstractBuilder } from "../builder/AbstractBuilder";
2
2
  import { ContractAbi } from "../model/ContractAbi";
3
+ import { NamedTypeSpec, TypeSpec } from "../model/Abi";
3
4
  export declare class StateBuilder extends AbstractBuilder {
4
5
  constructor(contractAbi: ContractAbi | null);
6
+ constructor(namedTypes: NamedTypeSpec[], type: TypeSpec);
5
7
  getBytes(): Buffer;
6
8
  }
@@ -21,10 +21,18 @@ exports.StateBuilder = void 0;
21
21
  const AbstractBuilder_1 = require("../builder/AbstractBuilder");
22
22
  const StructProducer_1 = require("../builder/StructProducer");
23
23
  const AbiByteOutput_1 = require("../abistreams/AbiByteOutput");
24
+ const TypeProducer_1 = require("../builder/TypeProducer");
24
25
  class StateBuilder extends AbstractBuilder_1.AbstractBuilder {
25
- constructor(contractAbi) {
26
+ constructor(typeDefinitions, type) {
26
27
  var _a, _b;
27
- super((_a = contractAbi === null || contractAbi === void 0 ? void 0 : contractAbi.namedTypes) !== null && _a !== void 0 ? _a : null, "", new StructProducer_1.StructProducer((_b = contractAbi === null || contractAbi === void 0 ? void 0 : contractAbi.getStateStruct()) !== null && _b !== void 0 ? _b : null, "root"));
28
+ if (!Array.isArray(typeDefinitions)) {
29
+ const producer = new StructProducer_1.StructProducer((_a = typeDefinitions === null || typeDefinitions === void 0 ? void 0 : typeDefinitions.getStateStruct()) !== null && _a !== void 0 ? _a : null, "root");
30
+ super((_b = typeDefinitions === null || typeDefinitions === void 0 ? void 0 : typeDefinitions.namedTypes) !== null && _b !== void 0 ? _b : null, "", producer);
31
+ }
32
+ else {
33
+ const producer = new TypeProducer_1.TypeProducer(type);
34
+ super(typeDefinitions, "", producer);
35
+ }
28
36
  }
29
37
  getBytes() {
30
38
  return AbiByteOutput_1.AbiByteOutput.serializeLittleEndian((out) => this.getAggregateProducer().write(out));
@@ -1 +1 @@
1
- {"version":3,"file":"StateBuilder.js","sourceRoot":"","sources":["../../../src/main/state/StateBuilder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,gEAA6D;AAE7D,8DAA2D;AAC3D,+DAA4D;AAE5D,MAAa,YAAa,SAAQ,iCAAe;IAC/C,YAAY,WAA+B;;QACzC,KAAK,CACH,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,UAAU,mCAAI,IAAI,EAC/B,EAAE,EACF,IAAI,+BAAc,CAAC,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,cAAc,EAAE,mCAAI,IAAI,EAAE,MAAM,CAAC,CAClE,CAAC;IACJ,CAAC;IAEM,QAAQ;QACb,OAAO,6BAAa,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,CAAC;CACF;AAZD,oCAYC"}
1
+ {"version":3,"file":"StateBuilder.js","sourceRoot":"","sources":["../../../src/main/state/StateBuilder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,gEAA6D;AAE7D,8DAA2D;AAC3D,+DAA4D;AAC5D,0DAAuD;AAGvD,MAAa,YAAa,SAAQ,iCAAe;IAG/C,YAAY,eAAqD,EAAE,IAAe;;QAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,+BAAc,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,cAAc,EAAE,mCAAI,IAAI,EAAE,MAAM,CAAC,CAAC;YACvF,KAAK,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,mCAAI,IAAI,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC3D,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,IAAI,2BAAY,CAAC,IAAK,CAAC,CAAC;YACzC,KAAK,CAAC,eAAe,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,QAAQ;QACb,OAAO,6BAAa,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9F,CAAC;CACF;AAhBD,oCAgBC"}
@@ -1,6 +1,6 @@
1
1
  import { AbstractReader } from "../AbstractReader";
2
2
  import { ContractAbi } from "../model/ContractAbi";
3
- import { AvlTreeMapTypeSpec, MapTypeSpec, SetTypeSpec, TypeSpec } from "../model/Abi";
3
+ import { AvlTreeMapTypeSpec, MapTypeSpec, NamedTypeSpec, SetTypeSpec, TypeSpec } from "../model/Abi";
4
4
  import { ScValue } from "../value/ScValue";
5
5
  import { ScValueMap } from "../value/ScValueMap";
6
6
  import { ScValueSet } from "../value/ScValueSet";
@@ -9,7 +9,7 @@ export declare class StateReader extends AbstractReader {
9
9
  private readonly stateType;
10
10
  private readonly avlTrees;
11
11
  private constructor();
12
- static create(bytes: Buffer, contractAbi: ContractAbi | null, avlTrees?: Buffer): StateReader;
12
+ static create(bytes: Buffer, contractAbi: ContractAbi | NamedTypeSpec[] | null, avlTrees?: Buffer): StateReader;
13
13
  protected readSet(spec: SetTypeSpec): ScValueSet;
14
14
  protected readMap(spec: MapTypeSpec): ScValueMap;
15
15
  protected readAvlTreeMap(typeSpec: AvlTreeMapTypeSpec): ScValueAvlTreeMap;
@@ -50,11 +50,14 @@ class StateReader extends AbstractReader_1.AbstractReader {
50
50
  if (contractAbi === null) {
51
51
  return new StateReader(input, [], null, avlTrees);
52
52
  }
53
- else {
53
+ else if (contractAbi instanceof ContractAbi_1.ContractAbi) {
54
54
  const namedTypes = contractAbi.namedTypes;
55
55
  const stateType = contractAbi.stateType;
56
56
  return new StateReader(input, namedTypes, stateType, avlTrees);
57
57
  }
58
+ else {
59
+ return new StateReader(input, contractAbi, null, avlTrees);
60
+ }
58
61
  }
59
62
  readSet(spec) {
60
63
  const length = this.input.readU32();
@@ -77,7 +80,7 @@ class StateReader extends AbstractReader_1.AbstractReader {
77
80
  readAvlTreeMap(typeSpec) {
78
81
  const treeId = this.input.readI32();
79
82
  if (this.avlTrees === undefined) {
80
- return new ScValueAvlTreeMap_1.ScValueAvlTreeMap(treeId, null);
83
+ return new ScValueAvlTreeMap_1.ScValueAvlTreeMap(treeId, typeSpec, null);
81
84
  }
82
85
  const tree = this.avlTrees.get(treeId);
83
86
  if (tree === undefined) {
@@ -89,7 +92,7 @@ class StateReader extends AbstractReader_1.AbstractReader {
89
92
  const value = new StateReader(valueBytes, this.namedTypes, this.stateType, this.avlTrees).readGeneric(typeSpec.valueType);
90
93
  map.set(key, value);
91
94
  });
92
- return new ScValueAvlTreeMap_1.ScValueAvlTreeMap(treeId, map);
95
+ return new ScValueAvlTreeMap_1.ScValueAvlTreeMap(treeId, typeSpec, map);
93
96
  }
94
97
  readState() {
95
98
  const structRef = this.stateType;
@@ -1 +1 @@
1
- {"version":3,"file":"StateReader.js","sourceRoot":"","sources":["../../../src/main/state/StateReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateReader.js","sourceRoot":"","sources":["../../../src/main/state/StateReader.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,6DAA0D;AAC1D,sDAAmD;AACnD,wCAAqC;AACrC,sDAAmD;AACnD,sCASsB;AACtB,0EAA0E;AAG1E,oDAAiD;AACjD,oDAAiD;AACjD,kEAA+D;AAE/D,MAAa,WAAY,SAAQ,+BAAc;IAI7C,YACE,KAAqC,EACrC,UAA2B,EAC3B,SAA0B,EAC1B,QAAwD;QAExD,IAAI,SAAS,CAAC;QACd,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,SAAS,GAAG,IAAI,0CAAqB,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,IAAI,0CAAqB,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,KAAK,CAAC,IAAI,2BAAY,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAC3B,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,MAAM,CAClB,KAAa,EACb,WAAiD,EACjD,QAAiB;QAEjB,MAAM,KAAK,GAAG,IAAI,0CAAqB,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,WAAW,YAAY,yBAAW,EAAE,CAAC;YAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;YAC1C,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC;YACxC,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAES,OAAO,CAAC,IAAiB;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,GAAG,GAAc,EAAE,CAAC;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,uBAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAES,OAAO,CAAC,IAAiB;QACjC,MAAM,QAAQ,GAAG,IAAI,iBAAO,EAAoB,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,uBAAU,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAES,cAAc,CAAC,QAA4B;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,qCAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,2CAA2C,MAAM,uBAAuB,CAAC,CAAC;QAC5F,CAAC;QACD,MAAM,GAAG,GAA8B,IAAI,iBAAO,EAAoB,CAAC;QACvE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE;YACtC,MAAM,GAAG,GAAG,IAAI,WAAW,CACzB,QAAQ,EACR,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,CACd,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,MAAM,KAAK,GAAG,IAAI,WAAW,CAC3B,UAAU,EACV,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,CACd,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAClC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,qCAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;IAEM,SAAS;QACd,MAAM,SAAS,GAAG,IAAI,CAAC,SAAyB,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAmB,CAAC;QACpE,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAEM,cAAc,CAAC,IAAc;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,QAAgB;QAC1C,MAAM,IAAI,GAAa;YACrB,SAAS,EAAE,eAAS,CAAC,GAAG;YACxB,OAAO,EAAE,EAAE,SAAS,EAAE,eAAS,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,eAAS,CAAC,GAAG,EAAE,EAAE;YACjF,SAAS,EAAE;gBACT,SAAS,EAAE,eAAS,CAAC,MAAM;gBAC3B,SAAS,EAAE;oBACT,SAAS,EAAE,eAAS,CAAC,MAAM;oBAC3B,SAAS,EAAE;wBACT,SAAS,EAAE,eAAS,CAAC,GAAG;wBACxB,OAAO,EAAE;4BACP,SAAS,EAAE,eAAS,CAAC,MAAM;4BAC3B,SAAS,EAAE;gCACT,SAAS,EAAE,eAAS,CAAC,MAAM;gCAC3B,SAAS,EAAE,EAAE,SAAS,EAAE,eAAS,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,eAAS,CAAC,EAAE,EAAE,EAAE;6BAChF;yBACF;wBACD,SAAS,EAAE;4BACT,SAAS,EAAE,eAAS,CAAC,MAAM;4BAC3B,SAAS,EAAE,EAAE,SAAS,EAAE,eAAS,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,eAAS,CAAC,EAAE,EAAE,EAAE;yBAChF;qBACF;iBACF;aACF;SACF,CAAC;QACF,MAAM,QAAQ,GAAgB,IAAI,yBAAW,CAAC,gBAAU,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;YAC/E,SAAS,EAAE,eAAS,CAAC,GAAG;SACzB,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,SAAS;aACN,QAAQ,EAAE;aACV,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAC1B,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAW,CAAC,QAAQ,EAAE,EAAE,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CACxF,CAAC;QACJ,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,UAAmB;QAClD,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,UAAU;aACP,WAAW,EAAE;aACb,UAAW,CAAC,WAAW,EAAE;aACzB,UAAW,CAAC,QAAQ,EAAE;aACtB,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAC1B,IAAI,CAAC,IAAI,CAAC;YACR,GAAG,CAAC,WAAW,EAAE,CAAC,UAAW,CAAC,WAAW,EAAE,CAAC,UAAW,CAAC,UAAU,EAAE;YACpE,KAAK,CAAC,WAAW,EAAE,CAAC,UAAW,CAAC,UAAU,EAAE;SAC7C,CAAC,CACH,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAzJD,kCAyJC"}
@@ -0,0 +1,18 @@
1
+ import { BlockchainStateClient } from "../codegen-lib/BlockchainStateClient";
2
+ import { BlockchainAddress } from "../codegen-lib/BlockchainAddress";
3
+ import { NamedTypeSpec } from "../model/Abi";
4
+ import { ScValueAvlTreeMap } from "./ScValueAvlTreeMap";
5
+ import { AbstractBuilder } from "../builder/AbstractBuilder";
6
+ import { ScValue } from "./ScValue";
7
+ import { Entry } from "../codegen-lib/types";
8
+ export declare class AvlTreeMapReader {
9
+ private readonly stateClient;
10
+ private readonly contractAddress;
11
+ private readonly namedTypes;
12
+ private readonly avlTreeMap;
13
+ constructor(stateClient: BlockchainStateClient, contractAddress: BlockchainAddress, namedTypes: NamedTypeSpec[], avlTreeMap: ScValueAvlTreeMap);
14
+ private createKeyBytes;
15
+ get(keyBuilder: (builder: AbstractBuilder) => void): Promise<ScValue | undefined>;
16
+ getNextN(keyBuilder: ((builder: AbstractBuilder) => void) | undefined, n: number, skip?: number): Promise<Array<Entry<ScValue, ScValue>>>;
17
+ size(): Promise<number>;
18
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (C) 2022 - 2025 Partisia Blockchain Foundation
4
+ *
5
+ * This program is free software: you can redistribute it and/or modify
6
+ * it under the terms of the GNU Affero General Public License as published by
7
+ * the Free Software Foundation, either version 3 of the License, or
8
+ * (at your option) any later version.
9
+ *
10
+ * This program is distributed in the hope that it will be useful,
11
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ * GNU General Public License for more details.
14
+ *
15
+ * You should have received a copy of the GNU Affero General Public License
16
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+ *
18
+ */
19
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
20
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
21
+ return new (P || (P = Promise))(function (resolve, reject) {
22
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
23
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
24
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
25
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
26
+ });
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.AvlTreeMapReader = void 0;
30
+ const StateBuilder_1 = require("../state/StateBuilder");
31
+ const StateReader_1 = require("../state/StateReader");
32
+ class AvlTreeMapReader {
33
+ constructor(stateClient, contractAddress, namedTypes, avlTreeMap) {
34
+ this.stateClient = stateClient;
35
+ this.contractAddress = contractAddress;
36
+ this.namedTypes = namedTypes;
37
+ this.avlTreeMap = avlTreeMap;
38
+ }
39
+ createKeyBytes(keyBuilder) {
40
+ const builder = new StateBuilder_1.StateBuilder(this.namedTypes, this.avlTreeMap.avlType.keyType);
41
+ keyBuilder(builder);
42
+ return builder.getBytes();
43
+ }
44
+ get(keyBuilder) {
45
+ return __awaiter(this, void 0, void 0, function* () {
46
+ const keyBytes = this.createKeyBytes(keyBuilder);
47
+ const valueBytes = yield this.stateClient.getContractStateAvlValue(this.contractAddress, this.avlTreeMap.treeId, keyBytes);
48
+ // Stryker disable next-line BlockStatement
49
+ if (valueBytes === undefined) {
50
+ return undefined;
51
+ }
52
+ else {
53
+ const reader = StateReader_1.StateReader.create(valueBytes, this.namedTypes);
54
+ return reader.readGeneric(this.avlTreeMap.avlType.valueType);
55
+ }
56
+ });
57
+ }
58
+ getNextN(keyBuilder, n, skip) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ const keyBytes = keyBuilder !== undefined ? this.createKeyBytes(keyBuilder) : undefined;
61
+ const nextNBytes = yield this.stateClient.getContractStateAvlNextN(this.contractAddress, this.avlTreeMap.treeId, keyBytes, n, skip);
62
+ return nextNBytes.map((entry) => {
63
+ return {
64
+ key: StateReader_1.StateReader.create(entry.key, this.namedTypes).readGeneric(this.avlTreeMap.avlType.keyType),
65
+ value: StateReader_1.StateReader.create(entry.value, this.namedTypes).readGeneric(this.avlTreeMap.avlType.valueType),
66
+ };
67
+ });
68
+ });
69
+ }
70
+ size() {
71
+ return __awaiter(this, void 0, void 0, function* () {
72
+ return this.stateClient.getContractStateAvlSize(this.contractAddress, this.avlTreeMap.treeId);
73
+ });
74
+ }
75
+ }
76
+ exports.AvlTreeMapReader = AvlTreeMapReader;
77
+ //# sourceMappingURL=AvlTreeMapReader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AvlTreeMapReader.js","sourceRoot":"","sources":["../../../src/main/value/AvlTreeMapReader.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;;;;;;;;;;AAOH,wDAAqD;AAErD,sDAAmD;AAGnD,MAAa,gBAAgB;IAM3B,YACE,WAAkC,EAClC,eAAkC,EAClC,UAA2B,EAC3B,UAA6B;QAE7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAEO,cAAc,CAAC,UAA8C;QACnE,MAAM,OAAO,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACnF,UAAU,CAAC,OAAO,CAAC,CAAC;QACpB,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;IAC5B,CAAC;IAEY,GAAG,CAAC,UAA8C;;YAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAChE,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,QAAQ,CACT,CAAC;YACF,2CAA2C;YAC3C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,OAAO,SAAS,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,GAAG,yBAAW,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC/D,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;KAAA;IAEY,QAAQ,CACnB,UAA4D,EAC5D,CAAS,EACT,IAAa;;YAEb,MAAM,QAAQ,GAAG,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,wBAAwB,CAChE,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,QAAQ,EACR,CAAC,EACD,IAAI,CACL,CAAC;YACF,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC9B,OAAO;oBACL,GAAG,EAAE,yBAAW,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CAC7D,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAChC;oBACD,KAAK,EAAE,yBAAW,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,WAAW,CACjE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAClC;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAEY,IAAI;;YACf,OAAO,IAAI,CAAC,WAAW,CAAC,uBAAuB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChG,CAAC;KAAA;CACF;AApED,4CAoEC"}
@@ -1,10 +1,11 @@
1
1
  import { ScValue } from "./ScValue";
2
2
  import { HashMap } from "../HashMap";
3
- import { TypeIndex } from "../model/Abi";
3
+ import { AvlTreeMapTypeSpec, TypeIndex } from "../model/Abi";
4
4
  export declare class ScValueAvlTreeMap extends ScValue {
5
- treeId: number;
6
- map: HashMap<ScValue, ScValue> | null;
7
- constructor(treeId: number, map: HashMap<ScValue, ScValue> | null);
5
+ readonly treeId: number;
6
+ readonly avlType: AvlTreeMapTypeSpec;
7
+ readonly map: HashMap<ScValue, ScValue> | null;
8
+ constructor(treeId: number, avlType: AvlTreeMapTypeSpec, map: HashMap<ScValue, ScValue> | null);
8
9
  getType(): TypeIndex;
9
10
  mapKeysValues<K, V>(keyMapper: (sc: ScValue) => K, valueMapper: (sc: ScValue) => V): Map<K, V> | undefined;
10
11
  avlTreeMapValue(): ScValueAvlTreeMap;
@@ -21,9 +21,10 @@ exports.ScValueAvlTreeMap = void 0;
21
21
  const ScValue_1 = require("./ScValue");
22
22
  const Abi_1 = require("../model/Abi");
23
23
  class ScValueAvlTreeMap extends ScValue_1.ScValue {
24
- constructor(treeId, map) {
24
+ constructor(treeId, avlType, map) {
25
25
  super();
26
26
  this.treeId = treeId;
27
+ this.avlType = avlType;
27
28
  this.map = map;
28
29
  }
29
30
  getType() {
@@ -1 +1 @@
1
- {"version":3,"file":"ScValueAvlTreeMap.js","sourceRoot":"","sources":["../../../src/main/value/ScValueAvlTreeMap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,uCAAoC;AAEpC,sCAAyC;AAEzC,MAAa,iBAAkB,SAAQ,iBAAO;IAI5C,YAAY,MAAc,EAAE,GAAqC;QAC/D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,OAAO;QACL,OAAO,eAAS,CAAC,UAAU,CAAC;IAC9B,CAAC;IAEM,aAAa,CAClB,SAA6B,EAC7B,WAA+B;QAE/B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA1BD,8CA0BC"}
1
+ {"version":3,"file":"ScValueAvlTreeMap.js","sourceRoot":"","sources":["../../../src/main/value/ScValueAvlTreeMap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,uCAAoC;AAEpC,sCAA6D;AAE7D,MAAa,iBAAkB,SAAQ,iBAAO;IAK5C,YAAY,MAAc,EAAE,OAA2B,EAAE,GAAqC;QAC5F,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,OAAO;QACL,OAAO,eAAS,CAAC,UAAU,CAAC;IAC9B,CAAC;IAEM,aAAa,CAClB,SAA6B,EAC7B,WAA+B;QAE/B,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5F,CAAC;IACH,CAAC;IAEM,eAAe;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AA5BD,8CA4BC"}