@partisiablockchain/abi-client 0.0.0 → 3.30.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/README.md +14 -0
- package/package.json +29 -2
- package/target/main/AbstractReader.d.ts +31 -0
- package/target/main/AbstractReader.js +190 -0
- package/target/main/AbstractReader.js.map +1 -0
- package/target/main/BigEndianReader.d.ts +15 -0
- package/target/main/BigEndianReader.js +41 -0
- package/target/main/BigEndianReader.js.map +1 -0
- package/target/main/HashMap.d.ts +16 -0
- package/target/main/HashMap.js +74 -0
- package/target/main/HashMap.js.map +1 -0
- package/target/main/RealBinderInvocationDeserialization.d.ts +2 -0
- package/target/main/RealBinderInvocationDeserialization.js +22 -0
- package/target/main/RealBinderInvocationDeserialization.js.map +1 -0
- package/target/main/TransactionAndEventDeserialization.d.ts +2 -0
- package/target/main/TransactionAndEventDeserialization.js +22 -0
- package/target/main/TransactionAndEventDeserialization.js.map +1 -0
- package/target/main/abioutput/AbiOutput.d.ts +84 -0
- package/target/main/abioutput/AbiOutput.js +20 -0
- package/target/main/abioutput/AbiOutput.js.map +1 -0
- package/target/main/abioutput/AbiOutputBits.d.ts +21 -0
- package/target/main/abioutput/AbiOutputBits.js +67 -0
- package/target/main/abioutput/AbiOutputBits.js.map +1 -0
- package/target/main/abioutput/AbiOutputBytes.d.ts +22 -0
- package/target/main/abioutput/AbiOutputBytes.js +69 -0
- package/target/main/abioutput/AbiOutputBytes.js.map +1 -0
- package/target/main/builder/AbstractBuilder.d.ts +50 -0
- package/target/main/builder/AbstractBuilder.js +306 -0
- package/target/main/builder/AbstractBuilder.js.map +1 -0
- package/target/main/builder/AddressProducer.d.ts +8 -0
- package/target/main/builder/AddressProducer.js +34 -0
- package/target/main/builder/AddressProducer.js.map +1 -0
- package/target/main/builder/BlsPublicKeyProducer.d.ts +8 -0
- package/target/main/builder/BlsPublicKeyProducer.js +34 -0
- package/target/main/builder/BlsPublicKeyProducer.js.map +1 -0
- package/target/main/builder/BlsSignatureProducer.d.ts +8 -0
- package/target/main/builder/BlsSignatureProducer.js +34 -0
- package/target/main/builder/BlsSignatureProducer.js.map +1 -0
- package/target/main/builder/EnumVariantProducer.d.ts +15 -0
- package/target/main/builder/EnumVariantProducer.js +48 -0
- package/target/main/builder/EnumVariantProducer.js.map +1 -0
- package/target/main/builder/HashProducer.d.ts +8 -0
- package/target/main/builder/HashProducer.js +34 -0
- package/target/main/builder/HashProducer.js.map +1 -0
- package/target/main/builder/MapProducer.d.ts +15 -0
- package/target/main/builder/MapProducer.js +64 -0
- package/target/main/builder/MapProducer.js.map +1 -0
- package/target/main/builder/OptionProducer.d.ts +14 -0
- package/target/main/builder/OptionProducer.js +53 -0
- package/target/main/builder/OptionProducer.js.map +1 -0
- package/target/main/builder/PublicKeyProducer.d.ts +8 -0
- package/target/main/builder/PublicKeyProducer.js +34 -0
- package/target/main/builder/PublicKeyProducer.js.map +1 -0
- package/target/main/builder/SignatureProducer.d.ts +8 -0
- package/target/main/builder/SignatureProducer.js +34 -0
- package/target/main/builder/SignatureProducer.js.map +1 -0
- package/target/main/builder/StructProducer.d.ts +16 -0
- package/target/main/builder/StructProducer.js +62 -0
- package/target/main/builder/StructProducer.js.map +1 -0
- package/target/main/builder/VecProducer.d.ts +13 -0
- package/target/main/builder/VecProducer.js +46 -0
- package/target/main/builder/VecProducer.js.map +1 -0
- package/target/main/index.d.ts +56 -0
- package/target/main/index.js +136 -0
- package/target/main/index.js.map +1 -0
- package/target/main/parser/AbiParser.d.ts +25 -0
- package/target/main/parser/AbiParser.js +267 -0
- package/target/main/parser/AbiParser.js.map +1 -0
- package/target/main/parser/Configuration.d.ts +12 -0
- package/target/main/parser/Configuration.js +134 -0
- package/target/main/parser/Configuration.js.map +1 -0
- package/target/main/parser/ContractAbi.d.ts +17 -0
- package/target/main/parser/ContractAbi.js +60 -0
- package/target/main/parser/ContractAbi.js.map +1 -0
- package/target/main/parser/FnKinds.d.ts +64 -0
- package/target/main/parser/FnKinds.js +57 -0
- package/target/main/parser/FnKinds.js.map +1 -0
- package/target/main/parser/RustSyntaxPrettyPrinter.d.ts +44 -0
- package/target/main/parser/RustSyntaxPrettyPrinter.js +295 -0
- package/target/main/parser/RustSyntaxPrettyPrinter.js.map +1 -0
- package/target/main/parser/TypeSpecStringifier.d.ts +12 -0
- package/target/main/parser/TypeSpecStringifier.js +80 -0
- package/target/main/parser/TypeSpecStringifier.js.map +1 -0
- package/target/main/rpc/FnRpcBuilder.d.ts +10 -0
- package/target/main/rpc/FnRpcBuilder.js +36 -0
- package/target/main/rpc/FnRpcBuilder.js.map +1 -0
- package/target/main/rpc/FnRpcProducer.d.ts +18 -0
- package/target/main/rpc/FnRpcProducer.js +93 -0
- package/target/main/rpc/FnRpcProducer.js.map +1 -0
- package/target/main/rpc/JsonRpcConverter.d.ts +10 -0
- package/target/main/rpc/JsonRpcConverter.js +35 -0
- package/target/main/rpc/JsonRpcConverter.js.map +1 -0
- package/target/main/rpc/RealBinderInvocationReader.d.ts +51 -0
- package/target/main/rpc/RealBinderInvocationReader.js +274 -0
- package/target/main/rpc/RealBinderInvocationReader.js.map +1 -0
- package/target/main/rpc/RpcReader.d.ts +22 -0
- package/target/main/rpc/RpcReader.js +97 -0
- package/target/main/rpc/RpcReader.js.map +1 -0
- package/target/main/rpc/RpcValueFn.d.ts +9 -0
- package/target/main/rpc/RpcValueFn.js +34 -0
- package/target/main/rpc/RpcValueFn.js.map +1 -0
- package/target/main/state/RustSyntaxStatePrinter.d.ts +15 -0
- package/target/main/state/RustSyntaxStatePrinter.js +185 -0
- package/target/main/state/RustSyntaxStatePrinter.js.map +1 -0
- package/target/main/state/StateBuilder.d.ts +7 -0
- package/target/main/state/StateBuilder.js +37 -0
- package/target/main/state/StateBuilder.js.map +1 -0
- package/target/main/state/StateReader.d.ts +25 -0
- package/target/main/state/StateReader.js +138 -0
- package/target/main/state/StateReader.js.map +1 -0
- package/target/main/transaction/ExecutedTransaction.d.ts +21 -0
- package/target/main/transaction/ExecutedTransaction.js +20 -0
- package/target/main/transaction/ExecutedTransaction.js.map +1 -0
- package/target/main/transaction/TransactionBuilder.d.ts +8 -0
- package/target/main/transaction/TransactionBuilder.js +48 -0
- package/target/main/transaction/TransactionBuilder.js.map +1 -0
- package/target/main/transaction/TransactionReader.d.ts +20 -0
- package/target/main/transaction/TransactionReader.js +73 -0
- package/target/main/transaction/TransactionReader.js.map +1 -0
- package/target/main/types/Abi.d.ts +167 -0
- package/target/main/types/Abi.js +76 -0
- package/target/main/types/Abi.js.map +1 -0
- package/target/main/types/AbiVersion.d.ts +9 -0
- package/target/main/types/AbiVersion.js +48 -0
- package/target/main/types/AbiVersion.js.map +1 -0
- package/target/main/types/AggregateProducer.d.ts +7 -0
- package/target/main/types/AggregateProducer.js +20 -0
- package/target/main/types/AggregateProducer.js.map +1 -0
- package/target/main/types/BlockchainAddress.d.ts +9 -0
- package/target/main/types/BlockchainAddress.js +43 -0
- package/target/main/types/BlockchainAddress.js.map +1 -0
- package/target/main/types/BlockchainPublicKey.d.ts +9 -0
- package/target/main/types/BlockchainPublicKey.js +43 -0
- package/target/main/types/BlockchainPublicKey.js.map +1 -0
- package/target/main/types/BlsPublicKey.d.ts +9 -0
- package/target/main/types/BlsPublicKey.js +43 -0
- package/target/main/types/BlsPublicKey.js.map +1 -0
- package/target/main/types/BlsSignature.d.ts +9 -0
- package/target/main/types/BlsSignature.js +43 -0
- package/target/main/types/BlsSignature.js.map +1 -0
- package/target/main/types/DocumentationFunction.d.ts +7 -0
- package/target/main/types/DocumentationFunction.js +32 -0
- package/target/main/types/DocumentationFunction.js.map +1 -0
- package/target/main/types/DocumentationNamedType.d.ts +6 -0
- package/target/main/types/DocumentationNamedType.js +31 -0
- package/target/main/types/DocumentationNamedType.js.map +1 -0
- package/target/main/types/EnumTypeSpec.d.ts +6 -0
- package/target/main/types/EnumTypeSpec.js +33 -0
- package/target/main/types/EnumTypeSpec.js.map +1 -0
- package/target/main/types/FileAbi.d.ts +13 -0
- package/target/main/types/FileAbi.js +36 -0
- package/target/main/types/FileAbi.js.map +1 -0
- package/target/main/types/FnAbi.d.ts +12 -0
- package/target/main/types/FnAbi.js +33 -0
- package/target/main/types/FnAbi.js.map +1 -0
- package/target/main/types/Hash.d.ts +9 -0
- package/target/main/types/Hash.js +43 -0
- package/target/main/types/Hash.js.map +1 -0
- package/target/main/types/Producer.d.ts +4 -0
- package/target/main/types/Producer.js +20 -0
- package/target/main/types/Producer.js.map +1 -0
- package/target/main/types/Signature.d.ts +9 -0
- package/target/main/types/Signature.js +43 -0
- package/target/main/types/Signature.js.map +1 -0
- package/target/main/types/StructTypeSpec.d.ts +8 -0
- package/target/main/types/StructTypeSpec.js +34 -0
- package/target/main/types/StructTypeSpec.js.map +1 -0
- package/target/main/util/BufferUtil.d.ts +3 -0
- package/target/main/util/BufferUtil.js +34 -0
- package/target/main/util/BufferUtil.js.map +1 -0
- package/target/main/util/NumberToHex.d.ts +1 -0
- package/target/main/util/NumberToHex.js +29 -0
- package/target/main/util/NumberToHex.js.map +1 -0
- package/target/main/value/JsonValueConverter.d.ts +6 -0
- package/target/main/value/JsonValueConverter.js +153 -0
- package/target/main/value/JsonValueConverter.js.map +1 -0
- package/target/main/value/ScValue.d.ts +38 -0
- package/target/main/value/ScValue.js +81 -0
- package/target/main/value/ScValue.js.map +1 -0
- package/target/main/value/ScValueAddress.d.ts +10 -0
- package/target/main/value/ScValueAddress.js +40 -0
- package/target/main/value/ScValueAddress.js.map +1 -0
- package/target/main/value/ScValueAvlTreeMap.d.ts +11 -0
- package/target/main/value/ScValueAvlTreeMap.js +42 -0
- package/target/main/value/ScValueAvlTreeMap.js.map +1 -0
- package/target/main/value/ScValueBlsPublicKey.d.ts +10 -0
- package/target/main/value/ScValueBlsPublicKey.js +40 -0
- package/target/main/value/ScValueBlsPublicKey.js.map +1 -0
- package/target/main/value/ScValueBlsSignature.d.ts +10 -0
- package/target/main/value/ScValueBlsSignature.js +40 -0
- package/target/main/value/ScValueBlsSignature.js.map +1 -0
- package/target/main/value/ScValueBool.d.ts +8 -0
- package/target/main/value/ScValueBool.js +36 -0
- package/target/main/value/ScValueBool.js.map +1 -0
- package/target/main/value/ScValueEnum.d.ts +10 -0
- package/target/main/value/ScValueEnum.js +37 -0
- package/target/main/value/ScValueEnum.js.map +1 -0
- package/target/main/value/ScValueHash.d.ts +10 -0
- package/target/main/value/ScValueHash.js +40 -0
- package/target/main/value/ScValueHash.js.map +1 -0
- package/target/main/value/ScValueMap.d.ts +12 -0
- package/target/main/value/ScValueMap.js +45 -0
- package/target/main/value/ScValueMap.js.map +1 -0
- package/target/main/value/ScValueNumber.d.ts +11 -0
- package/target/main/value/ScValueNumber.js +53 -0
- package/target/main/value/ScValueNumber.js.map +1 -0
- package/target/main/value/ScValueOption.d.ts +10 -0
- package/target/main/value/ScValueOption.js +44 -0
- package/target/main/value/ScValueOption.js.map +1 -0
- package/target/main/value/ScValuePublicKey.d.ts +10 -0
- package/target/main/value/ScValuePublicKey.js +40 -0
- package/target/main/value/ScValuePublicKey.js.map +1 -0
- package/target/main/value/ScValueSet.d.ts +11 -0
- package/target/main/value/ScValueSet.js +45 -0
- package/target/main/value/ScValueSet.js.map +1 -0
- package/target/main/value/ScValueSignature.d.ts +10 -0
- package/target/main/value/ScValueSignature.js +40 -0
- package/target/main/value/ScValueSignature.js.map +1 -0
- package/target/main/value/ScValueSizedByteArray.d.ts +9 -0
- package/target/main/value/ScValueSizedByteArray.js +36 -0
- package/target/main/value/ScValueSizedByteArray.js.map +1 -0
- package/target/main/value/ScValueString.d.ts +8 -0
- package/target/main/value/ScValueString.js +36 -0
- package/target/main/value/ScValueString.js.map +1 -0
- package/target/main/value/ScValueStruct.d.ts +11 -0
- package/target/main/value/ScValueStruct.js +43 -0
- package/target/main/value/ScValueStruct.js.map +1 -0
- package/target/main/value/ScValueVector.d.ts +15 -0
- package/target/main/value/ScValueVector.js +67 -0
- package/target/main/value/ScValueVector.js.map +1 -0
- package/target/main/value/ValueJson.d.ts +23 -0
- package/target/main/value/ValueJson.js +20 -0
- package/target/main/value/ValueJson.js.map +1 -0
- package/target/main/zk/ZkInputBuilder.d.ts +9 -0
- package/target/main/zk/ZkInputBuilder.js +47 -0
- package/target/main/zk/ZkInputBuilder.js.map +1 -0
- package/target/main/zk/ZkInputProducer.d.ts +20 -0
- package/target/main/zk/ZkInputProducer.js +57 -0
- package/target/main/zk/ZkInputProducer.js.map +1 -0
package/README.md
CHANGED
|
@@ -1 +1,15 @@
|
|
|
1
1
|
# The TypeScript ABI client
|
|
2
|
+
|
|
3
|
+
## Common testing framework with Java
|
|
4
|
+
This library gets its tests genereated by abi-client library.
|
|
5
|
+
Read more [here](https://gitlab.com/partisiablockchain/language/abi-client/-/blob/main/src/test/java/com/partisiablockchain/language/abiclient/commontests/README.md).
|
|
6
|
+
|
|
7
|
+
## Setup
|
|
8
|
+
|
|
9
|
+
Requires: `tsc`, `npm`
|
|
10
|
+
|
|
11
|
+
Install dependencies with: `npm i`
|
|
12
|
+
|
|
13
|
+
To build: `npm run build`
|
|
14
|
+
|
|
15
|
+
To test : `npm run test`
|
package/package.json
CHANGED
|
@@ -1,13 +1,36 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@partisiablockchain/abi-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.30.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"license": "AGPL-3.0",
|
|
6
6
|
"dependencies": {
|
|
7
|
+
"@types/bn.js": "^5.1.0",
|
|
8
|
+
"@types/elliptic": "^6.4.14",
|
|
9
|
+
"bn.js": "^5.2.0",
|
|
10
|
+
"hash.js": "^1.1.7",
|
|
11
|
+
"prettier": "^2.6.2",
|
|
12
|
+
"@secata-public/bitmanipulation-ts": "3.0.6"
|
|
7
13
|
},
|
|
8
14
|
"devDependencies": {
|
|
15
|
+
"@stryker-mutator/core": "^6.1.2",
|
|
16
|
+
"@stryker-mutator/jest-runner": "^6.1.2",
|
|
17
|
+
"@stryker-mutator/typescript-checker": "^6.1.2",
|
|
18
|
+
"@types/jest": "^27.4.0",
|
|
19
|
+
"@types/node": "^16.11.21",
|
|
20
|
+
"@typescript-eslint/eslint-plugin": "^5.21.0",
|
|
21
|
+
"eslint": "^8.14.0",
|
|
22
|
+
"eslint-plugin-import": "^2.26.0",
|
|
23
|
+
"jest": "^27.4.7",
|
|
24
|
+
"jest-fetch-mock": "^3.0.3",
|
|
25
|
+
"ts-jest": "^27.1.3",
|
|
26
|
+
"typescript": "^4.6.2"
|
|
9
27
|
},
|
|
10
28
|
"scripts": {
|
|
29
|
+
"test": "npx jest",
|
|
30
|
+
"lint": "npx eslint src --max-warnings 0",
|
|
31
|
+
"stryker": "stryker run",
|
|
32
|
+
"build": "npx tsc",
|
|
33
|
+
"prettier": "npx prettier --print-width 100 --tab-width 2 --quote-props as-needed --trailing-comma es5 --bracket-same-line --prose-wrap preserve --end-of-line lf --write src"
|
|
11
34
|
},
|
|
12
35
|
"publishConfig": {
|
|
13
36
|
"access": "public",
|
|
@@ -17,5 +40,9 @@
|
|
|
17
40
|
"target/main"
|
|
18
41
|
],
|
|
19
42
|
"main": "target/main/index.js",
|
|
20
|
-
"types": "target/main/index.d.ts"
|
|
43
|
+
"types": "target/main/index.d.ts",
|
|
44
|
+
"prettier": {
|
|
45
|
+
"printWidth": 100,
|
|
46
|
+
"endOfLine": "auto"
|
|
47
|
+
}
|
|
21
48
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ByteInput } from "@secata-public/bitmanipulation-ts";
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
import { AvlTreeMapTypeSpec, MapTypeSpec, NamedTypeRef, NamedTypeSpec, NumericTypeIndex, OptionTypeSpec, SetTypeSpec, SimpleTypeIndex, TypeSpec, VecTypeSpec } from "./types/Abi";
|
|
4
|
+
import { EnumTypeSpec } from "./types/EnumTypeSpec";
|
|
5
|
+
import { StructTypeSpec } from "./types/StructTypeSpec";
|
|
6
|
+
import { ScValue } from "./value/ScValue";
|
|
7
|
+
import { ScValueEnum } from "./value/ScValueEnum";
|
|
8
|
+
import { ScValueMap } from "./value/ScValueMap";
|
|
9
|
+
import { ScValueOption } from "./value/ScValueOption";
|
|
10
|
+
import { ScValueSet } from "./value/ScValueSet";
|
|
11
|
+
import { ScValueSizedByteArray } from "./value/ScValueSizedByteArray";
|
|
12
|
+
import { ScValueStruct } from "./value/ScValueStruct";
|
|
13
|
+
import { ScValueVector } from "./value/ScValueVector";
|
|
14
|
+
import { ScValueAvlTreeMap } from "./value/ScValueAvlTreeMap";
|
|
15
|
+
export declare abstract class AbstractReader {
|
|
16
|
+
protected readonly input: ByteInput;
|
|
17
|
+
protected readonly namedTypes: NamedTypeSpec[];
|
|
18
|
+
protected constructor(input: ByteInput, namedTypes: NamedTypeSpec[]);
|
|
19
|
+
readGeneric(spec: TypeSpec): ScValue;
|
|
20
|
+
readSimpleType(typeIndex: SimpleTypeIndex): ScValue;
|
|
21
|
+
protected readNumber(typeIndex: NumericTypeIndex): BN | number;
|
|
22
|
+
protected readOptional(option: OptionTypeSpec): ScValueOption;
|
|
23
|
+
protected readVec(spec: VecTypeSpec): ScValueVector;
|
|
24
|
+
protected readSizedByteArray(length: number): ScValueSizedByteArray;
|
|
25
|
+
readNamedType(spec: NamedTypeRef): ScValueStruct | ScValueEnum;
|
|
26
|
+
readStruct(typeSpec: StructTypeSpec): ScValueStruct;
|
|
27
|
+
protected readEnum(typeSpec: EnumTypeSpec): ScValueEnum;
|
|
28
|
+
protected abstract readMap(spec: MapTypeSpec): ScValueMap;
|
|
29
|
+
protected abstract readSet(spec: SetTypeSpec): ScValueSet;
|
|
30
|
+
protected abstract readAvlTreeMap(typeSpec: AvlTreeMapTypeSpec): ScValueAvlTreeMap;
|
|
31
|
+
}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2022 - 2023 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.AbstractReader = void 0;
|
|
21
|
+
const Abi_1 = require("./types/Abi");
|
|
22
|
+
const StructTypeSpec_1 = require("./types/StructTypeSpec");
|
|
23
|
+
const ScValueAddress_1 = require("./value/ScValueAddress");
|
|
24
|
+
const ScValueBool_1 = require("./value/ScValueBool");
|
|
25
|
+
const ScValueEnum_1 = require("./value/ScValueEnum");
|
|
26
|
+
const ScValueNumber_1 = require("./value/ScValueNumber");
|
|
27
|
+
const ScValueOption_1 = require("./value/ScValueOption");
|
|
28
|
+
const ScValueSizedByteArray_1 = require("./value/ScValueSizedByteArray");
|
|
29
|
+
const ScValueString_1 = require("./value/ScValueString");
|
|
30
|
+
const ScValueStruct_1 = require("./value/ScValueStruct");
|
|
31
|
+
const ScValueVector_1 = require("./value/ScValueVector");
|
|
32
|
+
const ScValueHash_1 = require("./value/ScValueHash");
|
|
33
|
+
const ScValuePublicKey_1 = require("./value/ScValuePublicKey");
|
|
34
|
+
const ScValueSignature_1 = require("./value/ScValueSignature");
|
|
35
|
+
const ScValueBlsPublicKey_1 = require("./value/ScValueBlsPublicKey");
|
|
36
|
+
const ScValueBlsSignature_1 = require("./value/ScValueBlsSignature");
|
|
37
|
+
class AbstractReader {
|
|
38
|
+
constructor(input, namedTypes) {
|
|
39
|
+
this.input = input;
|
|
40
|
+
this.namedTypes = namedTypes;
|
|
41
|
+
}
|
|
42
|
+
readGeneric(spec) {
|
|
43
|
+
const typeIndex = spec.typeIndex;
|
|
44
|
+
if (typeIndex === Abi_1.TypeIndex.Map) {
|
|
45
|
+
return this.readMap(spec);
|
|
46
|
+
}
|
|
47
|
+
else if (typeIndex === Abi_1.TypeIndex.Set) {
|
|
48
|
+
return this.readSet(spec);
|
|
49
|
+
}
|
|
50
|
+
else if (typeIndex === Abi_1.TypeIndex.Named) {
|
|
51
|
+
return this.readNamedType(spec);
|
|
52
|
+
}
|
|
53
|
+
else if (typeIndex === Abi_1.TypeIndex.Vec) {
|
|
54
|
+
return this.readVec(spec);
|
|
55
|
+
}
|
|
56
|
+
else if (typeIndex === Abi_1.TypeIndex.Option) {
|
|
57
|
+
return this.readOptional(spec);
|
|
58
|
+
}
|
|
59
|
+
else if (typeIndex === Abi_1.TypeIndex.SizedByteArray) {
|
|
60
|
+
return this.readSizedByteArray(spec.length);
|
|
61
|
+
}
|
|
62
|
+
else if (typeIndex === Abi_1.TypeIndex.AvlTreeMap) {
|
|
63
|
+
return this.readAvlTreeMap(spec);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return this.readSimpleType(typeIndex);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
readSimpleType(typeIndex) {
|
|
70
|
+
if (typeIndex === Abi_1.TypeIndex.String) {
|
|
71
|
+
const value = this.input.readString();
|
|
72
|
+
return new ScValueString_1.ScValueString(value);
|
|
73
|
+
}
|
|
74
|
+
else if (typeIndex === Abi_1.TypeIndex.bool) {
|
|
75
|
+
const value = this.input.readU8();
|
|
76
|
+
return new ScValueBool_1.ScValueBool(value !== 0);
|
|
77
|
+
}
|
|
78
|
+
else if (typeIndex === Abi_1.TypeIndex.Address) {
|
|
79
|
+
const value = this.input.readBytes(ScValueAddress_1.ScValueAddress.ADDRESS_LENGTH);
|
|
80
|
+
return new ScValueAddress_1.ScValueAddress(value);
|
|
81
|
+
}
|
|
82
|
+
else if (typeIndex === Abi_1.TypeIndex.Hash) {
|
|
83
|
+
const value = this.input.readBytes(ScValueHash_1.ScValueHash.HASH_LENGTH);
|
|
84
|
+
return new ScValueHash_1.ScValueHash(value);
|
|
85
|
+
}
|
|
86
|
+
else if (typeIndex === Abi_1.TypeIndex.PublicKey) {
|
|
87
|
+
const value = this.input.readBytes(ScValuePublicKey_1.ScValuePublicKey.PUBLIC_KEY_LENGTH);
|
|
88
|
+
return new ScValuePublicKey_1.ScValuePublicKey(value);
|
|
89
|
+
}
|
|
90
|
+
else if (typeIndex === Abi_1.TypeIndex.Signature) {
|
|
91
|
+
const value = this.input.readBytes(ScValueSignature_1.ScValueSignature.SIGNATURE_LENGTH);
|
|
92
|
+
return new ScValueSignature_1.ScValueSignature(value);
|
|
93
|
+
}
|
|
94
|
+
else if (typeIndex === Abi_1.TypeIndex.BlsPublicKey) {
|
|
95
|
+
const value = this.input.readBytes(ScValueBlsPublicKey_1.ScValueBlsPublicKey.BLS_PUBLIC_KEY_LENGTH);
|
|
96
|
+
return new ScValueBlsPublicKey_1.ScValueBlsPublicKey(value);
|
|
97
|
+
}
|
|
98
|
+
else if (typeIndex === Abi_1.TypeIndex.BlsSignature) {
|
|
99
|
+
const value = this.input.readBytes(ScValueBlsSignature_1.ScValueBlsSignature.BLS_SIGNATURE_LENGTH);
|
|
100
|
+
return new ScValueBlsSignature_1.ScValueBlsSignature(value);
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
return new ScValueNumber_1.ScValueNumber(typeIndex, this.readNumber(typeIndex));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
readNumber(typeIndex) {
|
|
107
|
+
if (typeIndex === Abi_1.TypeIndex.u8) {
|
|
108
|
+
return this.input.readU8();
|
|
109
|
+
}
|
|
110
|
+
else if (typeIndex === Abi_1.TypeIndex.i8) {
|
|
111
|
+
return this.input.readI8();
|
|
112
|
+
}
|
|
113
|
+
else if (typeIndex === Abi_1.TypeIndex.u16) {
|
|
114
|
+
return this.input.readU16();
|
|
115
|
+
}
|
|
116
|
+
else if (typeIndex === Abi_1.TypeIndex.i16) {
|
|
117
|
+
return this.input.readI16();
|
|
118
|
+
}
|
|
119
|
+
else if (typeIndex === Abi_1.TypeIndex.u32) {
|
|
120
|
+
return this.input.readU32();
|
|
121
|
+
}
|
|
122
|
+
else if (typeIndex === Abi_1.TypeIndex.i32) {
|
|
123
|
+
return this.input.readI32();
|
|
124
|
+
}
|
|
125
|
+
else if (typeIndex === Abi_1.TypeIndex.u64) {
|
|
126
|
+
return this.input.readU64();
|
|
127
|
+
}
|
|
128
|
+
else if (typeIndex === Abi_1.TypeIndex.i64) {
|
|
129
|
+
return this.input.readI64();
|
|
130
|
+
}
|
|
131
|
+
else if (typeIndex === Abi_1.TypeIndex.u128) {
|
|
132
|
+
return this.input.readUnsignedBigInteger(16);
|
|
133
|
+
}
|
|
134
|
+
else if (typeIndex === Abi_1.TypeIndex.u256) {
|
|
135
|
+
return this.input.readUnsignedBigInteger(32);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return this.input.readSignedBigInteger(16);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
readOptional(option) {
|
|
142
|
+
const hasElement = this.input.readBoolean();
|
|
143
|
+
if (hasElement) {
|
|
144
|
+
return new ScValueOption_1.ScValueOption(this.readGeneric(option.valueType));
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
return new ScValueOption_1.ScValueOption(null);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
readVec(spec) {
|
|
151
|
+
const length = this.input.readU32();
|
|
152
|
+
const vec = [];
|
|
153
|
+
for (let i = 0; i < length; i++) {
|
|
154
|
+
vec.push(this.readGeneric(spec.valueType));
|
|
155
|
+
}
|
|
156
|
+
return new ScValueVector_1.ScValueVector(vec);
|
|
157
|
+
}
|
|
158
|
+
readSizedByteArray(length) {
|
|
159
|
+
return new ScValueSizedByteArray_1.ScValueSizedByteArray(this.input.readBytes(length));
|
|
160
|
+
}
|
|
161
|
+
readNamedType(spec) {
|
|
162
|
+
const typeSpec = this.namedTypes[spec.index];
|
|
163
|
+
if (typeSpec instanceof StructTypeSpec_1.StructTypeSpec) {
|
|
164
|
+
return this.readStruct(typeSpec);
|
|
165
|
+
}
|
|
166
|
+
else {
|
|
167
|
+
return this.readEnum(typeSpec);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
readStruct(typeSpec) {
|
|
171
|
+
const fieldsMap = new Map();
|
|
172
|
+
for (const field of typeSpec.fields) {
|
|
173
|
+
const value = this.readGeneric(field.type);
|
|
174
|
+
fieldsMap.set(field.name, value);
|
|
175
|
+
}
|
|
176
|
+
return new ScValueStruct_1.ScValueStruct(typeSpec.name, fieldsMap);
|
|
177
|
+
}
|
|
178
|
+
readEnum(typeSpec) {
|
|
179
|
+
const discriminant = this.input.readU8();
|
|
180
|
+
for (const variant of typeSpec.variants) {
|
|
181
|
+
if (variant.discriminant === discriminant) {
|
|
182
|
+
const typeSpec = this.namedTypes[variant.def.index];
|
|
183
|
+
return new ScValueEnum_1.ScValueEnum(typeSpec.name, this.readStruct(typeSpec));
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
throw new Error(`Undefined EnumVariant ${discriminant} used in ${typeSpec.name}`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
exports.AbstractReader = AbstractReader;
|
|
190
|
+
//# sourceMappingURL=AbstractReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbstractReader.js","sourceRoot":"","sources":["../../src/main/AbstractReader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { AbstractReader } from "./AbstractReader";
|
|
3
|
+
import { TypeSpec } from "./types/Abi";
|
|
4
|
+
import { ScValueMap } from "./value/ScValueMap";
|
|
5
|
+
import { ScValueSet } from "./value/ScValueSet";
|
|
6
|
+
import { ContractAbi } from "./parser/ContractAbi";
|
|
7
|
+
import { ScValue } from "./value/ScValue";
|
|
8
|
+
import { ScValueAvlTreeMap } from "./value/ScValueAvlTreeMap";
|
|
9
|
+
export declare class BigEndianReader extends AbstractReader {
|
|
10
|
+
constructor(input: Buffer, contract: ContractAbi);
|
|
11
|
+
read(type: TypeSpec): ScValue;
|
|
12
|
+
protected readMap(): ScValueMap;
|
|
13
|
+
protected readSet(): ScValueSet;
|
|
14
|
+
protected readAvlTreeMap(): ScValueAvlTreeMap;
|
|
15
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2022 - 2023 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.BigEndianReader = void 0;
|
|
21
|
+
const AbstractReader_1 = require("./AbstractReader");
|
|
22
|
+
const bitmanipulation_ts_1 = require("@secata-public/bitmanipulation-ts");
|
|
23
|
+
class BigEndianReader extends AbstractReader_1.AbstractReader {
|
|
24
|
+
constructor(input, contract) {
|
|
25
|
+
super(new bitmanipulation_ts_1.BigEndianByteInput(input), contract.namedTypes);
|
|
26
|
+
}
|
|
27
|
+
read(type) {
|
|
28
|
+
return this.readGeneric(type);
|
|
29
|
+
}
|
|
30
|
+
readMap() {
|
|
31
|
+
throw new Error("Type Map is not supported in rpc");
|
|
32
|
+
}
|
|
33
|
+
readSet() {
|
|
34
|
+
throw new Error("Type Set is not supported in rpc");
|
|
35
|
+
}
|
|
36
|
+
readAvlTreeMap() {
|
|
37
|
+
throw new Error("Type AvlTreeMap is not supported in rpc");
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.BigEndianReader = BigEndianReader;
|
|
41
|
+
//# sourceMappingURL=BigEndianReader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BigEndianReader.js","sourceRoot":"","sources":["../../src/main/BigEndianReader.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,qDAAkD;AAClD,0EAAuE;AAQvE,MAAa,eAAgB,SAAQ,+BAAc;IACjD,YAAY,KAAa,EAAE,QAAqB;QAC9C,KAAK,CAAC,IAAI,uCAAkB,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;IAC5D,CAAC;IAEM,IAAI,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,OAAO;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAES,OAAO;QACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAES,cAAc;QACtB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;CACF;AApBD,0CAoBC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class HashMap<K, V> implements Map<K, V> {
|
|
2
|
+
private elements;
|
|
3
|
+
constructor(entries?: Array<[K, V]>);
|
|
4
|
+
readonly [Symbol.toStringTag]: string;
|
|
5
|
+
size: number;
|
|
6
|
+
[Symbol.iterator](): IterableIterator<[K, V]>;
|
|
7
|
+
clear(): void;
|
|
8
|
+
delete(key: K): boolean;
|
|
9
|
+
entries(): IterableIterator<[K, V]>;
|
|
10
|
+
forEach(callbackfn: (value: V, key: K, map: Map<K, V>) => void): void;
|
|
11
|
+
get(key: K): V | undefined;
|
|
12
|
+
has(key: K): boolean;
|
|
13
|
+
keys(): IterableIterator<K>;
|
|
14
|
+
set(key: K, value: V): this;
|
|
15
|
+
values(): IterableIterator<V>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2022 - 2023 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.HashMap = void 0;
|
|
21
|
+
class HashMap {
|
|
22
|
+
constructor(entries) {
|
|
23
|
+
if (typeof entries === "undefined") {
|
|
24
|
+
this.elements = new Map();
|
|
25
|
+
this.size = 0;
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const newEntries = entries.map(([k, v]) => [
|
|
29
|
+
JSON.stringify(k),
|
|
30
|
+
[k, v],
|
|
31
|
+
]);
|
|
32
|
+
this.elements = new Map(newEntries);
|
|
33
|
+
this.size = this.elements.size;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
[(Symbol.toStringTag, Symbol.iterator)]() {
|
|
37
|
+
return this.elements.values();
|
|
38
|
+
}
|
|
39
|
+
clear() {
|
|
40
|
+
this.elements = new Map();
|
|
41
|
+
this.size = 0;
|
|
42
|
+
}
|
|
43
|
+
delete(key) {
|
|
44
|
+
const b = this.elements.delete(JSON.stringify(key));
|
|
45
|
+
this.size = this.elements.size;
|
|
46
|
+
return b;
|
|
47
|
+
}
|
|
48
|
+
entries() {
|
|
49
|
+
return this.elements.values();
|
|
50
|
+
}
|
|
51
|
+
forEach(callbackfn) {
|
|
52
|
+
this.elements.forEach(([k, v]) => callbackfn(v, k, this));
|
|
53
|
+
}
|
|
54
|
+
get(key) {
|
|
55
|
+
const x = this.elements.get(JSON.stringify(key));
|
|
56
|
+
return x !== undefined ? x[1] : undefined;
|
|
57
|
+
}
|
|
58
|
+
has(key) {
|
|
59
|
+
return this.elements.has(JSON.stringify(key));
|
|
60
|
+
}
|
|
61
|
+
keys() {
|
|
62
|
+
throw new Error("Not implemented");
|
|
63
|
+
}
|
|
64
|
+
set(key, value) {
|
|
65
|
+
this.elements.set(JSON.stringify(key), [key, value]);
|
|
66
|
+
this.size = this.elements.size;
|
|
67
|
+
return this;
|
|
68
|
+
}
|
|
69
|
+
values() {
|
|
70
|
+
throw new Error("Not implemented");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.HashMap = HashMap;
|
|
74
|
+
//# sourceMappingURL=HashMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HashMap.js","sourceRoot":"","sources":["../../src/main/HashMap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEH,MAAa,OAAO;IAGlB,YAAY,OAAuB;QACjC,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE;YAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;SACf;aAAM;YACL,MAAM,UAAU,GAA4B,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;gBAClE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBACjB,CAAC,CAAC,EAAE,CAAC,CAAC;aACP,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAiB,UAAU,CAAC,CAAC;YACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;SAChC;IACH,CAAC;IAKD,EAHU,MAAM,CAAC,WAAW,EAG3B,MAAM,CAAC,QAAQ,EAAC;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,GAAM;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,UAAsD;QAC5D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,GAAG,CAAC,GAAM;QACR,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5C,CAAC;IAED,GAAG,CAAC,GAAM;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,CAAC;IAED,IAAI;QACF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IAED,GAAG,CAAC,GAAM,EAAE,KAAQ;QAClB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACF;AAjED,0BAiEC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2022 - 2023 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.REAL_BINDER_ABI = void 0;
|
|
21
|
+
exports.REAL_BINDER_ABI = Buffer.from("50424341424909050005020000000006010000000f5368617265436f6d6d69746d656e740000000400000006686173685f311300000006686173685f321300000006686173685f331300000006686173685f34130200000009426174636854797065000000020000020100030100000009496e7075744d61736b000000000100000006547269706c6500000000010000000d436f6e7472616374537461746500000000010000000b536563726574566172496400000001000000067261775f696403000000130200000016636f6d6d69745f726573756c745f7661726961626c650000000000020000000f6f6e5f636861696e5f6f75747075740100000002000000096f75747075745f696403000000067368617265730e010200000013756e61626c655f746f5f63616c63756c61746502000000010000000d63616c63756c6174655f666f720402000000116f70656e5f6d61736b65645f696e70757403000000020000000b7661726961626c655f6964030000000c6d61736b65645f696e7075740e01020000001e7a65726f5f6b6e6f776c656467655f696e7075745f6f66665f636861696e040000000300000010696e7075745f6269745f6c656e6774680e030000001073686172655f636f6d6d69746d656e740000000000037270630e01020000001d7a65726f5f6b6e6f776c656467655f696e7075745f6f6e5f636861696e050000000400000010696e7075745f6269745f6c656e6774680e080000001073686172655f7075626c69635f6b65791400000010656e637279707465645f7368617265730e01000000037270630e01020000000c72656a6563745f696e70757406000000010000000b7661726961626c655f69640302000000136f70656e5f757365725f7661726961626c6573070000000300000005636f756e74030000000c7661726961626c655f69647303000000166164646974696f6e616c5f696e666f726d6174696f6e0e01020000001a6f70656e5f757365725f7661726961626c65735f7368617265730800000002000000096f75747075745f696403000000067368617265730e01020000000f6f70656e5f696e766f636174696f6e0900000001000000037270630e0102000000196164645f6174746573746174696f6e5f7369676e61747572650a0000000200000002696403000000097369676e61747572651502000000186765745f636f6d7075746174696f6e5f646561646c696e650b0000000002000000136f6e5f636f6d707574655f636f6d706c6574650c00000001000000036964730e0802000000176f6e5f6174746573746174696f6e5f636f6d706c6574650e000000010000000269640802000000136f6e5f7661726961626c65735f6f70656e65640d00000001000000036964730e0802000000146f6e5f7661726961626c655f696e7075747465640f000000010000000b7661726961626c655f696408020000000b6164645f6261746368657312000000020000000a62617463685f7479706500010000000862617463685f696408020000001e657874656e645f7a6b5f636f6d7075746174696f6e5f646561646c696e651300000004000000146d735f7065725f6761735f6e756d657261746f7204000000166d735f7065725f6761735f64656e6f6d696e61746f72040000000d6d696e5f657874656e73696f6e040000000d6d61785f657874656e73696f6e04010000000a696e697469616c697a65ffffffff0f000000000004", "hex");
|
|
22
|
+
//# sourceMappingURL=RealBinderInvocationDeserialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RealBinderInvocationDeserialization.js","sourceRoot":"","sources":["../../src/main/RealBinderInvocationDeserialization.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEU,QAAA,eAAe,GAAW,MAAM,CAAC,IAAI,CAChD,4+EAA4+E,EAC5+E,KAAK,CACN,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2022 - 2023 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.TRANSACTION_AND_EVENT_ABI = void 0;
|
|
21
|
+
exports.TRANSACTION_AND_EVENT_ABI = Buffer.from("UEJDQUJJCQAABQEAAAAANgEAAAARU2lnbmVkVHJhbnNhY3Rpb24AAAACAAAACXNpZ25hdHVyZRUAAAAKaW5uZXJfcGFydAABAQAAAAlJbm5lclBhcnQAAAACAAAABGNvcmUAAgAAAAt0cmFuc2FjdGlvbgADAQAAABNDb3JlVHJhbnNhY3Rpb25QYXJ0AAAAAwAAAAVub25jZQkAAAANdmFsaWRfdG9fdGltZQkAAAAEY29zdAkBAAAAH0ludGVyYWN0V2l0aENvbnRyYWN0VHJhbnNhY3Rpb24AAAACAAAAC2NvbnRyYWN0X2lkDQAAAAdwYXlsb2FkDgEBAAAAD0V4ZWN1dGFibGVFdmVudAAAAAIAAAAMb3JpZ2luX3NoYXJkEgsAAAARZXZlbnRfdHJhbnNhY3Rpb24ABQEAAAAQRXZlbnRUcmFuc2FjdGlvbgAAAAcAAAAEaGFzaBMAAAALaW5uZXJfZXZlbnQABgAAAAtzaGFyZF9yb3V0ZQAvAAAADGNvbW1pdHRlZV9pZAkAAAASZ292ZXJuYW5jZV92ZXJzaW9uCQAAAAZoZWlnaHQBAAAAD3JldHVybl9lbnZlbG9wZRIAMAIAAAAKSW5uZXJFdmVudAAAAAQAAAcBAAgCAAkDAAoBAAAAC1RyYW5zYWN0aW9uAAAAAQAAABFpbm5lcl90cmFuc2FjdGlvbgALAQAAAAhDYWxsYmFjawAAAAEAAAAUY2FsbGJhY2tfdG9fY29udHJhY3QADAEAAAAGU3lzdGVtAAAAAQAAABJpbm5lcl9zeXN0ZW1fZXZlbnQADQEAAAAEU3luYwAAAAEAAAAKc3luY19ldmVudAAsAQAAABBJbm5lclRyYW5zYWN0aW9uAAAAAwAAAARmcm9tDQAAAARjb3N0CQAAAAt0cmFuc2FjdGlvbgAxAQAAABJDYWxsYmFja1RvQ29udHJhY3QAAAAFAAAAB2FkZHJlc3MNAAAAE2NhbGxiYWNrX2lkZW50aWZpZXITAAAABGZyb20NAAAABGNvc3QJAAAADGNhbGxiYWNrX3JwYw4BAgAAABBJbm5lclN5c3RlbUV2ZW50AAAADAAADgEADwIAEAMAEQQAEgUAEwYAFAcAFQgAFgkAFwoAGAsAGQEAAAANQ3JlYXRlQWNjb3VudAAAAAEAAAAUY3JlYXRlX2FjY291bnRfZXZlbnQAGgEAAAAOQ2hlY2tFeGlzdGVuY2UAAAABAAAAFWNoZWNrX2V4aXN0ZW5jZV9ldmVudAAbAQAAAApTZXRGZWF0dXJlAAAAAQAAABFzZXRfZmVhdHVyZV9ldmVudAAcAQAAABZVcGRhdGVMb2NhbFBsdWdpblN0YXRlAAAAAQAAAB91cGRhdGVfbG9jYWxfcGx1Z2luX3N0YXRlX2V2ZW50AB0BAAAAF1VwZGF0ZUdsb2JhbFBsdWdpblN0YXRlAAAAAQAAACB1cGRhdGVfZ2xvYmFsX3BsdWdpbl9zdGF0ZV9ldmVudAAjAQAAAAxVcGRhdGVQbHVnaW4AAAABAAAAE3VwZGF0ZV9wbHVnaW5fZXZlbnQAJQEAAAAIQ2FsbGJhY2sAAAABAAAADmNhbGxiYWNrX2V2ZW50ACYBAAAAC0NyZWF0ZVNoYXJkAAAAAQAAABJjcmVhdGVfc2hhcmRfZXZlbnQAJwEAAAALUmVtb3ZlU2hhcmQAAAABAAAAEnJlbW92ZV9zaGFyZF9ldmVudAAoAQAAABxVcGRhdGVDb250ZXh0RnJlZVBsdWdpblN0YXRlAAAAAQAAACB1cGRhdGVfY29udGV4dF9mcmVlX3BsdWdpbl9zdGF0ZQApAQAAABVVcGdyYWRlU3lzdGVtQ29udHJhY3QAAAABAAAAHXVwZ3JhZGVfc3lzdGVtX2NvbnRyYWN0X2V2ZW50ACoBAAAADlJlbW92ZUNvbnRyYWN0AAAAAQAAAA9yZW1vdmVfY29udHJhY3QAKwEAAAASQ3JlYXRlQWNjb3VudEV2ZW50AAAAAQAAAAl0b19jcmVhdGUNAQAAABNDaGVja0V4aXN0ZW5jZUV2ZW50AAAAAQAAABtjb250cmFjdF9vcl9hY2NvdW50X2FkZHJlc3MNAQAAAA9TZXRGZWF0dXJlRXZlbnQAAAACAAAAA2tleQsAAAAFdmFsdWUSCwEAAAAbVXBkYXRlTG9jYWxQbHVnaW5TdGF0ZUV2ZW50AAAAAgAAABFjaGFpbl9wbHVnaW5fdHlwZQAfAAAABnVwZGF0ZQAeAQAAABZMb2NhbFBsdWdpblN0YXRlVXBkYXRlAAAAAgAAAAdjb250ZXh0DQAAAANycGMOAQIAAAAPQ2hhaW5QbHVnaW5UeXBlAAAAAwAAIAEAIQIAIgEAAAAHQWNjb3VudAAAAAABAAAACUNvbnNlbnN1cwAAAAABAAAAB1JvdXRpbmcAAAAAAQAAABxVcGRhdGVHbG9iYWxQbHVnaW5TdGF0ZUV2ZW50AAAAAgAAABFjaGFpbl9wbHVnaW5fdHlwZQAfAAAABnVwZGF0ZQAkAQAAABdHbG9iYWxQbHVnaW5TdGF0ZVVwZGF0ZQAAAAEAAAADcnBjDgEBAAAAEVVwZGF0ZVBsdWdpbkV2ZW50AAAAAwAAABFjaGFpbl9wbHVnaW5fdHlwZQAfAAAAA2phchIOAQAAAAppbnZvY2F0aW9uDgEBAAAADUNhbGxiYWNrRXZlbnQAAAAEAAAAD3JldHVybl9lbnZlbG9wZQAwAAAAFWNvbXBsZXRlZF90cmFuc2FjdGlvbhMAAAAHc3VjY2VzcwwAAAAMcmV0dXJuX3ZhbHVlDgEBAAAAEENyZWF0ZVNoYXJkRXZlbnQAAAABAAAACHNoYXJkX2lkCwEAAAAQUmVtb3ZlU2hhcmRFdmVudAAAAAEAAAAIc2hhcmRfaWQLAQAAABxVcGRhdGVDb250ZXh0RnJlZVBsdWdpblN0YXRlAAAAAgAAABFjaGFpbl9wbHVnaW5fdHlwZQAfAAAAA3JwYw4BAQAAABpVcGdyYWRlU3lzdGVtQ29udHJhY3RFdmVudAAAAAUAAAAMY29udHJhY3RfamFyDgEAAAAKYmluZGVyX2phcg4BAAAAA2FiaQ4BAAAAA3JwYw4BAAAAEGNvbnRyYWN0X2FkZHJlc3MNAQAAAA5SZW1vdmVDb250cmFjdAAAAAEAAAAIY29udHJhY3QNAQAAAAlTeW5jRXZlbnQAAAADAAAACGFjY291bnRzDgAtAAAACWNvbnRyYWN0cw4ALgAAAA1zdGF0ZV9zdG9yYWdlDgEBAAAAD0FjY291bnRUcmFuc2ZlcgAAAAIAAAAHYWRkcmVzcw0AAAAFbm9uY2UJAQAAABBDb250cmFjdFRyYW5zZmVyAAAAAwAAAAdhZGRyZXNzDQAAABNjb250cmFjdF9zdGF0ZV9oYXNoEwAAABFwbHVnaW5fc3RhdGVfaGFzaBMBAAAAClNoYXJkUm91dGUAAAACAAAADHRhcmdldF9zaGFyZBILAAAABW5vbmNlCQEAAAAOUmV0dXJuRW52ZWxvcGUAAAABAAAACGNvbnRyYWN0DQIAAAALVHJhbnNhY3Rpb24AAAACAAAyAQAzAQAAAA5EZXBsb3lDb250cmFjdAAAAAEAAAAbY3JlYXRlX2NvbnRyYWN0X3RyYW5zYWN0aW9uADQBAAAAEEludGVyYWN0Q29udHJhY3QAAAABAAAAImludGVyYWN0X3dpdGhfY29udHJhY3RfdHJhbnNhY3Rpb24AAwEAAAAZQ3JlYXRlQ29udHJhY3RUcmFuc2FjdGlvbgAAAAUAAAAHYWRkcmVzcw0AAAAKYmluZGVyX2phcg4BAAAADGNvbnRyYWN0X2phcg4BAAAAA2FiaQ4BAAAAA3JwYw4BAQAAAA1Db250cmFjdFN0YXRlAAAAAAAAAAEBAAAACmluaXRpYWxpemX/////DwAAAAAANQ==", "base64");
|
|
22
|
+
//# sourceMappingURL=TransactionAndEventDeserialization.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TransactionAndEventDeserialization.js","sourceRoot":"","sources":["../../src/main/TransactionAndEventDeserialization.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG;;;AAEU,QAAA,yBAAyB,GAAW,MAAM,CAAC,IAAI,CAC1D,k6HAAk6H,EACl6H,QAAQ,CACT,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import BN from "bn.js";
|
|
3
|
+
export interface AbiOutput {
|
|
4
|
+
/**
|
|
5
|
+
* Writes a byte array.
|
|
6
|
+
*
|
|
7
|
+
* @param values the byte array to write to the stream
|
|
8
|
+
*/
|
|
9
|
+
writeBytes(values: Buffer): void;
|
|
10
|
+
/**
|
|
11
|
+
* Writes a boolean.
|
|
12
|
+
*
|
|
13
|
+
* @param value the boolean to write to the stream
|
|
14
|
+
*/
|
|
15
|
+
writeBoolean(value: boolean): void;
|
|
16
|
+
/**
|
|
17
|
+
* Writes a signed 8-bit number.
|
|
18
|
+
*
|
|
19
|
+
* @param value the number to write to the stream
|
|
20
|
+
*/
|
|
21
|
+
writeI8(value: number): void;
|
|
22
|
+
/**
|
|
23
|
+
* Writes a signed 16-bit number.
|
|
24
|
+
*
|
|
25
|
+
* @param value the number to write to the stream
|
|
26
|
+
*/
|
|
27
|
+
writeI16(value: number): void;
|
|
28
|
+
/**
|
|
29
|
+
* Writes a signed 32-bit number.
|
|
30
|
+
*
|
|
31
|
+
* @param value the number to write to the stream
|
|
32
|
+
*/
|
|
33
|
+
writeI32(value: number): void;
|
|
34
|
+
/**
|
|
35
|
+
* Writes a signed 64-bit number.
|
|
36
|
+
*
|
|
37
|
+
* @param value the BN to write to the stream
|
|
38
|
+
*/
|
|
39
|
+
writeI64(value: BN): void;
|
|
40
|
+
/**
|
|
41
|
+
* Writes a signed BN.
|
|
42
|
+
*
|
|
43
|
+
* @param value the BN to write to the stream
|
|
44
|
+
* @param noBytes the number of bytes to write
|
|
45
|
+
*/
|
|
46
|
+
writeSignedBN(value: BN, noBytes: number): void;
|
|
47
|
+
/**
|
|
48
|
+
* Writes an unsigned 8-bit number.
|
|
49
|
+
*
|
|
50
|
+
* @param value the number to write to the stream
|
|
51
|
+
*/
|
|
52
|
+
writeU8(value: number): void;
|
|
53
|
+
/**
|
|
54
|
+
* Writes an unsigned 16-bit number.
|
|
55
|
+
*
|
|
56
|
+
* @param value the number to write to the stream
|
|
57
|
+
*/
|
|
58
|
+
writeU16(value: number): void;
|
|
59
|
+
/**
|
|
60
|
+
* Writes an unsigned 32-bit number.
|
|
61
|
+
*
|
|
62
|
+
* @param value the number to write to the stream
|
|
63
|
+
*/
|
|
64
|
+
writeU32(value: number): void;
|
|
65
|
+
/**
|
|
66
|
+
* Writes an unsigned 64-bit number.
|
|
67
|
+
*
|
|
68
|
+
* @param value the BN to write to the stream
|
|
69
|
+
*/
|
|
70
|
+
writeU64(value: BN): void;
|
|
71
|
+
/**
|
|
72
|
+
* Writes an unsigned BN.
|
|
73
|
+
*
|
|
74
|
+
* @param value the BN to write to the stream
|
|
75
|
+
* @param noBytes the number of bytes to write
|
|
76
|
+
*/
|
|
77
|
+
writeUnsignedBN(value: BN, noBytes: number): void;
|
|
78
|
+
/**
|
|
79
|
+
* Writes a string.
|
|
80
|
+
*
|
|
81
|
+
* @param value the string to write to the stream
|
|
82
|
+
*/
|
|
83
|
+
writeString(value: string): void;
|
|
84
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (C) 2022 - 2023 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
|
+
//# sourceMappingURL=AbiOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AbiOutput.js","sourceRoot":"","sources":["../../../src/main/abioutput/AbiOutput.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;GAgBG"}
|