@mainsail/contracts 0.0.1-evm.3 → 0.0.1-evm.31
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/distribution/constants/channels.d.ts.map +1 -1
- package/distribution/constants/channels.js +1 -1
- package/distribution/constants/channels.js.map +1 -1
- package/distribution/constants/environment-variables.d.ts +4 -2
- package/distribution/constants/environment-variables.d.ts.map +1 -1
- package/distribution/constants/environment-variables.js +105 -116
- package/distribution/constants/environment-variables.js.map +1 -1
- package/distribution/contracts/api/api.d.ts +4 -4
- package/distribution/contracts/api/api.d.ts.map +1 -1
- package/distribution/contracts/api/api.js.map +1 -1
- package/distribution/contracts/api/rpc.d.ts +1 -1
- package/distribution/contracts/api/rpc.d.ts.map +1 -1
- package/distribution/contracts/api-sync.d.ts +1 -2
- package/distribution/contracts/api-sync.d.ts.map +1 -1
- package/distribution/contracts/blockchain-utils.d.ts +19 -0
- package/distribution/contracts/blockchain-utils.d.ts.map +1 -0
- package/distribution/contracts/blockchain-utils.js +2 -0
- package/distribution/contracts/blockchain-utils.js.map +1 -0
- package/distribution/contracts/consensus/consensus.d.ts +12 -13
- package/distribution/contracts/consensus/consensus.d.ts.map +1 -1
- package/distribution/contracts/consensus-storage.d.ts +6 -5
- package/distribution/contracts/consensus-storage.d.ts.map +1 -1
- package/distribution/contracts/crypto/block.d.ts +25 -34
- package/distribution/contracts/crypto/block.d.ts.map +1 -1
- package/distribution/contracts/crypto/commit-handler.d.ts +5 -0
- package/distribution/contracts/crypto/commit-handler.d.ts.map +1 -0
- package/distribution/contracts/crypto/commit-handler.js +2 -0
- package/distribution/contracts/crypto/commit-handler.js.map +1 -0
- package/distribution/contracts/crypto/commit.d.ts +0 -6
- package/distribution/contracts/crypto/commit.d.ts.map +1 -1
- package/distribution/contracts/crypto/config.d.ts +2 -1
- package/distribution/contracts/crypto/config.d.ts.map +1 -1
- package/distribution/contracts/crypto/crypto.d.ts +0 -1
- package/distribution/contracts/crypto/crypto.d.ts.map +1 -1
- package/distribution/contracts/crypto/hash.d.ts +0 -1
- package/distribution/contracts/crypto/hash.d.ts.map +1 -1
- package/distribution/contracts/crypto/identities.d.ts +9 -2
- package/distribution/contracts/crypto/identities.d.ts.map +1 -1
- package/distribution/contracts/crypto/index.d.ts +2 -1
- package/distribution/contracts/crypto/index.d.ts.map +1 -1
- package/distribution/contracts/crypto/index.js +2 -1
- package/distribution/contracts/crypto/index.js.map +1 -1
- package/distribution/contracts/crypto/legacy.d.ts +10 -0
- package/distribution/contracts/crypto/legacy.d.ts.map +1 -0
- package/distribution/contracts/crypto/legacy.js +2 -0
- package/distribution/contracts/crypto/legacy.js.map +1 -0
- package/distribution/contracts/crypto/messages.d.ts +13 -16
- package/distribution/contracts/crypto/messages.d.ts.map +1 -1
- package/distribution/contracts/crypto/networks.d.ts +10 -6
- package/distribution/contracts/crypto/networks.d.ts.map +1 -1
- package/distribution/contracts/crypto/transactions.d.ts +50 -88
- package/distribution/contracts/crypto/transactions.d.ts.map +1 -1
- package/distribution/contracts/crypto/worker.d.ts +3 -1
- package/distribution/contracts/crypto/worker.d.ts.map +1 -1
- package/distribution/contracts/database.d.ts +22 -9
- package/distribution/contracts/database.d.ts.map +1 -1
- package/distribution/contracts/evm/contract-service.d.ts +33 -0
- package/distribution/contracts/evm/contract-service.d.ts.map +1 -0
- package/distribution/contracts/evm/contract-service.js +2 -0
- package/distribution/contracts/evm/contract-service.js.map +1 -0
- package/distribution/contracts/evm/evm.d.ts +100 -32
- package/distribution/contracts/evm/evm.d.ts.map +1 -1
- package/distribution/contracts/evm/evm.js +0 -5
- package/distribution/contracts/evm/evm.js.map +1 -1
- package/distribution/contracts/evm/index.d.ts +3 -1
- package/distribution/contracts/evm/index.d.ts.map +1 -1
- package/distribution/contracts/evm/index.js +3 -1
- package/distribution/contracts/evm/index.js.map +1 -1
- package/distribution/contracts/evm/instance.d.ts +30 -0
- package/distribution/contracts/evm/instance.d.ts.map +1 -0
- package/distribution/contracts/evm/instance.js +2 -0
- package/distribution/contracts/evm/instance.js.map +1 -0
- package/distribution/contracts/evm/storage.d.ts +13 -0
- package/distribution/contracts/evm/storage.d.ts.map +1 -0
- package/distribution/contracts/evm/storage.js +2 -0
- package/distribution/contracts/evm/storage.js.map +1 -0
- package/distribution/contracts/evm/worker.d.ts +4 -6
- package/distribution/contracts/evm/worker.d.ts.map +1 -1
- package/distribution/contracts/index.d.ts +3 -2
- package/distribution/contracts/index.d.ts.map +1 -1
- package/distribution/contracts/index.js +3 -2
- package/distribution/contracts/index.js.map +1 -1
- package/distribution/contracts/kernel/application.d.ts +10 -10
- package/distribution/contracts/kernel/application.d.ts.map +1 -1
- package/distribution/contracts/kernel/container.d.ts +1 -1
- package/distribution/contracts/kernel/container.d.ts.map +1 -1
- package/distribution/contracts/kernel/filesystem.d.ts +0 -2
- package/distribution/contracts/kernel/filesystem.d.ts.map +1 -1
- package/distribution/contracts/kernel/index.d.ts +1 -1
- package/distribution/contracts/kernel/index.d.ts.map +1 -1
- package/distribution/contracts/kernel/index.js +1 -1
- package/distribution/contracts/kernel/index.js.map +1 -1
- package/distribution/contracts/kernel/ipc.d.ts +6 -6
- package/distribution/contracts/kernel/ipc.d.ts.map +1 -1
- package/distribution/contracts/kernel/log.d.ts +1 -0
- package/distribution/contracts/kernel/log.d.ts.map +1 -1
- package/distribution/contracts/kernel/pipeline.d.ts +6 -6
- package/distribution/contracts/kernel/pipeline.d.ts.map +1 -1
- package/distribution/contracts/kernel/queue.d.ts +0 -1
- package/distribution/contracts/kernel/queue.d.ts.map +1 -1
- package/distribution/contracts/network-generator.d.ts +21 -2
- package/distribution/contracts/network-generator.d.ts.map +1 -1
- package/distribution/contracts/p2p/endpoints.d.ts +5 -9
- package/distribution/contracts/p2p/endpoints.d.ts.map +1 -1
- package/distribution/contracts/p2p/header.d.ts +3 -3
- package/distribution/contracts/p2p/header.d.ts.map +1 -1
- package/distribution/contracts/p2p/peer-communicator.d.ts +2 -3
- package/distribution/contracts/p2p/peer-communicator.d.ts.map +1 -1
- package/distribution/contracts/p2p/peer.d.ts +5 -5
- package/distribution/contracts/p2p/peer.d.ts.map +1 -1
- package/distribution/contracts/p2p/service.d.ts +1 -1
- package/distribution/contracts/p2p/service.d.ts.map +1 -1
- package/distribution/contracts/processor/block-processor-result.d.ts +7 -0
- package/distribution/contracts/processor/block-processor-result.d.ts.map +1 -0
- package/distribution/contracts/processor/block-processor-result.js +2 -0
- package/distribution/contracts/processor/block-processor-result.js.map +1 -0
- package/distribution/contracts/processor/block-processor.d.ts +7 -0
- package/distribution/contracts/processor/block-processor.d.ts.map +1 -0
- package/distribution/contracts/processor/block-processor.js +2 -0
- package/distribution/contracts/processor/block-processor.js.map +1 -0
- package/distribution/contracts/processor/handler.d.ts +5 -0
- package/distribution/contracts/processor/handler.d.ts.map +1 -0
- package/distribution/contracts/processor/handler.js +2 -0
- package/distribution/contracts/processor/handler.js.map +1 -0
- package/distribution/contracts/processor/index.d.ts +7 -0
- package/distribution/contracts/processor/index.d.ts.map +1 -0
- package/distribution/contracts/processor/index.js +7 -0
- package/distribution/contracts/processor/index.js.map +1 -0
- package/distribution/contracts/processor/processable-unit.d.ts +16 -0
- package/distribution/contracts/processor/processable-unit.d.ts.map +1 -0
- package/distribution/contracts/processor/processable-unit.js +2 -0
- package/distribution/contracts/processor/processable-unit.js.map +1 -0
- package/distribution/contracts/processor/transaction-processor.d.ts +7 -0
- package/distribution/contracts/processor/transaction-processor.d.ts.map +1 -0
- package/distribution/contracts/processor/transaction-processor.js +2 -0
- package/distribution/contracts/processor/transaction-processor.js.map +1 -0
- package/distribution/contracts/processor/verifier.d.ts +5 -0
- package/distribution/contracts/processor/verifier.d.ts.map +1 -0
- package/distribution/contracts/processor/verifier.js +2 -0
- package/distribution/contracts/processor/verifier.js.map +1 -0
- package/distribution/contracts/serializer.d.ts +1 -2
- package/distribution/contracts/serializer.d.ts.map +1 -1
- package/distribution/contracts/snapshot.d.ts +58 -0
- package/distribution/contracts/snapshot.d.ts.map +1 -0
- package/distribution/contracts/snapshot.js +2 -0
- package/distribution/contracts/snapshot.js.map +1 -0
- package/distribution/contracts/state/store.d.ts +3 -2
- package/distribution/contracts/state/store.d.ts.map +1 -1
- package/distribution/contracts/state/wallets.d.ts +6 -0
- package/distribution/contracts/state/wallets.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/client.d.ts +1 -5
- package/distribution/contracts/transaction-pool/client.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/index.d.ts +0 -2
- package/distribution/contracts/transaction-pool/index.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/index.js +0 -2
- package/distribution/contracts/transaction-pool/index.js.map +1 -1
- package/distribution/contracts/transaction-pool/mempool.d.ts +1 -2
- package/distribution/contracts/transaction-pool/mempool.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/processor.d.ts +0 -1
- package/distribution/contracts/transaction-pool/processor.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/query.d.ts +1 -5
- package/distribution/contracts/transaction-pool/query.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/sender-mempool.d.ts +6 -3
- package/distribution/contracts/transaction-pool/sender-mempool.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/sender-state.d.ts +6 -1
- package/distribution/contracts/transaction-pool/sender-state.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/service.d.ts +2 -2
- package/distribution/contracts/transaction-pool/service.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/storage.d.ts +5 -6
- package/distribution/contracts/transaction-pool/storage.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/worker.d.ts +5 -10
- package/distribution/contracts/transaction-pool/worker.d.ts.map +1 -1
- package/distribution/contracts/transactions.d.ts +5 -10
- package/distribution/contracts/transactions.d.ts.map +1 -1
- package/distribution/contracts/types/container.d.ts +1 -1
- package/distribution/contracts/types/container.d.ts.map +1 -1
- package/distribution/contracts/types/index.d.ts +4 -2
- package/distribution/contracts/types/index.d.ts.map +1 -1
- package/distribution/contracts/validator-set.d.ts +4 -2
- package/distribution/contracts/validator-set.d.ts.map +1 -1
- package/distribution/contracts/validator.d.ts +2 -2
- package/distribution/contracts/validator.d.ts.map +1 -1
- package/distribution/events.d.ts +5 -1
- package/distribution/events.d.ts.map +1 -1
- package/distribution/events.js +5 -0
- package/distribution/events.js.map +1 -1
- package/distribution/exceptions/consensus.d.ts +1 -1
- package/distribution/exceptions/consensus.d.ts.map +1 -1
- package/distribution/exceptions/consensus.js +2 -2
- package/distribution/exceptions/consensus.js.map +1 -1
- package/distribution/exceptions/crypto.d.ts +14 -9
- package/distribution/exceptions/crypto.d.ts.map +1 -1
- package/distribution/exceptions/crypto.js +17 -7
- package/distribution/exceptions/crypto.js.map +1 -1
- package/distribution/exceptions/p2p.js +1 -1
- package/distribution/exceptions/p2p.js.map +1 -1
- package/distribution/exceptions/pool.d.ts +6 -10
- package/distribution/exceptions/pool.d.ts.map +1 -1
- package/distribution/exceptions/pool.js +22 -20
- package/distribution/exceptions/pool.js.map +1 -1
- package/distribution/exceptions/processor.d.ts +27 -0
- package/distribution/exceptions/processor.d.ts.map +1 -1
- package/distribution/exceptions/processor.js +52 -7
- package/distribution/exceptions/processor.js.map +1 -1
- package/distribution/exceptions/rpc.js +1 -0
- package/distribution/exceptions/rpc.js.map +1 -1
- package/distribution/exceptions/runtime.d.ts.map +1 -1
- package/distribution/exceptions/runtime.js +1 -0
- package/distribution/exceptions/runtime.js.map +1 -1
- package/distribution/identifiers.d.ts +37 -12
- package/distribution/identifiers.d.ts.map +1 -1
- package/distribution/identifiers.js +37 -12
- package/distribution/identifiers.js.map +1 -1
- package/distribution/index.d.ts +1 -1
- package/distribution/index.d.ts.map +1 -1
- package/distribution/index.js +1 -1
- package/distribution/index.js.map +1 -1
- package/distribution/{utils.d.ts → utilities.d.ts} +1 -1
- package/distribution/utilities.d.ts.map +1 -0
- package/distribution/utilities.js +2 -0
- package/distribution/utilities.js.map +1 -0
- package/package.json +12 -12
- package/distribution/contracts/crypto/enums.d.ts +0 -17
- package/distribution/contracts/crypto/enums.d.ts.map +0 -1
- package/distribution/contracts/crypto/enums.js +0 -20
- package/distribution/contracts/crypto/enums.js.map +0 -1
- package/distribution/contracts/evm/gas-fee.d.ts +0 -10
- package/distribution/contracts/evm/gas-fee.d.ts.map +0 -1
- package/distribution/contracts/evm/gas-fee.js +0 -2
- package/distribution/contracts/evm/gas-fee.js.map +0 -1
- package/distribution/contracts/processor.d.ts +0 -33
- package/distribution/contracts/processor.d.ts.map +0 -1
- package/distribution/contracts/processor.js +0 -2
- package/distribution/contracts/processor.js.map +0 -1
- package/distribution/contracts/proposer.d.ts +0 -5
- package/distribution/contracts/proposer.d.ts.map +0 -1
- package/distribution/contracts/proposer.js +0 -2
- package/distribution/contracts/proposer.js.map +0 -1
- package/distribution/contracts/transaction-pool/dynamic-fee-matcher.d.ts +0 -6
- package/distribution/contracts/transaction-pool/dynamic-fee-matcher.d.ts.map +0 -1
- package/distribution/contracts/transaction-pool/dynamic-fee-matcher.js +0 -2
- package/distribution/contracts/transaction-pool/dynamic-fee-matcher.js.map +0 -1
- package/distribution/contracts/transaction-pool/expiration-service.d.ts +0 -7
- package/distribution/contracts/transaction-pool/expiration-service.d.ts.map +0 -1
- package/distribution/contracts/transaction-pool/expiration-service.js +0 -2
- package/distribution/contracts/transaction-pool/expiration-service.js.map +0 -1
- package/distribution/utils.d.ts.map +0 -1
- package/distribution/utils.js +0 -2
- package/distribution/utils.js.map +0 -1
|
@@ -1,135 +1,97 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import type { KeyPair } from "./identities.js";
|
|
1
|
+
import { BigNumber } from "@mainsail/utils";
|
|
2
|
+
import type { EcdsaSignature, KeyPair } from "./identities.js";
|
|
4
3
|
import type { SchemaValidationResult } from "./validator.js";
|
|
5
4
|
export interface Transaction {
|
|
6
|
-
readonly
|
|
7
|
-
readonly typeGroup: number;
|
|
8
|
-
readonly type: number;
|
|
5
|
+
readonly hash: string;
|
|
9
6
|
readonly key: string;
|
|
10
7
|
data: TransactionData;
|
|
11
8
|
serialized: Buffer;
|
|
12
|
-
assetSize(): number;
|
|
13
|
-
serialize(options?: SerializeOptions): Promise<ByteBuffer>;
|
|
14
|
-
deserialize(buf: ByteBuffer): Promise<void>;
|
|
15
|
-
hasVendorField(): boolean;
|
|
16
9
|
}
|
|
17
10
|
export type TransactionSchema = Record<string, any>;
|
|
18
|
-
export interface TransactionAsset {
|
|
19
|
-
[custom: string]: any;
|
|
20
|
-
signature?: {
|
|
21
|
-
publicKey: string;
|
|
22
|
-
};
|
|
23
|
-
validatorPublicKey?: string;
|
|
24
|
-
username?: string;
|
|
25
|
-
votes?: string[];
|
|
26
|
-
unvotes?: string[];
|
|
27
|
-
multiSignatureLegacy?: MultiSignatureLegacyAsset;
|
|
28
|
-
multiSignature?: MultiSignatureAsset;
|
|
29
|
-
payments?: MultiPaymentItem[];
|
|
30
|
-
evmCall?: EvmCallAsset;
|
|
31
|
-
}
|
|
32
|
-
export interface EvmCallAsset {
|
|
33
|
-
payload: string;
|
|
34
|
-
gasLimit: number;
|
|
35
|
-
}
|
|
36
11
|
export interface TransactionData {
|
|
37
|
-
version: number;
|
|
38
12
|
network: number;
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
timestamp: number;
|
|
42
|
-
nonce: BigNumber;
|
|
13
|
+
from: string;
|
|
14
|
+
senderLegacyAddress?: string;
|
|
43
15
|
senderPublicKey: string;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
16
|
+
to?: string;
|
|
17
|
+
value: BigNumber;
|
|
18
|
+
gasPrice: number;
|
|
19
|
+
gasLimit: number;
|
|
20
|
+
nonce: BigNumber;
|
|
21
|
+
data: string;
|
|
22
|
+
hash: string;
|
|
23
|
+
v?: number;
|
|
24
|
+
r?: string;
|
|
25
|
+
s?: string;
|
|
26
|
+
legacySecondSignature?: string;
|
|
27
|
+
transactionIndex?: number;
|
|
56
28
|
gasUsed?: number;
|
|
29
|
+
blockHash?: string;
|
|
30
|
+
blockNumber?: number;
|
|
57
31
|
}
|
|
58
32
|
export interface TransactionJson {
|
|
59
|
-
version?: number;
|
|
60
33
|
network?: number;
|
|
61
|
-
|
|
62
|
-
type: number;
|
|
63
|
-
timestamp?: number;
|
|
64
|
-
nonce?: string;
|
|
34
|
+
from: string;
|
|
65
35
|
senderPublicKey: string;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
}
|
|
82
|
-
export interface MultiSignatureLegacyAsset {
|
|
83
|
-
min: number;
|
|
84
|
-
lifetime: number;
|
|
85
|
-
keysgroup: string[];
|
|
86
|
-
}
|
|
87
|
-
export interface MultiSignatureAsset {
|
|
88
|
-
min: number;
|
|
89
|
-
publicKeys: string[];
|
|
90
|
-
}
|
|
91
|
-
export interface VoteAsset {
|
|
92
|
-
votes: string[];
|
|
93
|
-
unvotes: string[];
|
|
36
|
+
to?: string;
|
|
37
|
+
value: string;
|
|
38
|
+
gasLimit: number;
|
|
39
|
+
gasPrice: number;
|
|
40
|
+
nonce: string;
|
|
41
|
+
data: string;
|
|
42
|
+
hash?: string;
|
|
43
|
+
timestamp?: number;
|
|
44
|
+
v?: number;
|
|
45
|
+
r?: string;
|
|
46
|
+
s?: string;
|
|
47
|
+
transactionIndex?: number;
|
|
48
|
+
gasUsed?: number;
|
|
49
|
+
blockHash?: string;
|
|
50
|
+
blockNumber?: number;
|
|
94
51
|
}
|
|
95
52
|
export interface SerializeOptions {
|
|
96
53
|
excludeSignature?: boolean;
|
|
97
|
-
|
|
54
|
+
}
|
|
55
|
+
export interface TransactionCryptoData {
|
|
56
|
+
readonly hash: string;
|
|
57
|
+
readonly publicKey: string;
|
|
58
|
+
readonly address: string;
|
|
59
|
+
readonly legacyAddress?: string;
|
|
60
|
+
readonly schemaError?: any;
|
|
98
61
|
}
|
|
99
62
|
export interface TransactionServiceProvider {
|
|
100
63
|
register(): Promise<void>;
|
|
101
64
|
}
|
|
102
65
|
export interface TransactionVerifier {
|
|
103
|
-
verifySignatures(transaction: TransactionData, multiSignature: MultiSignatureAsset): Promise<boolean>;
|
|
104
66
|
verifyHash(data: TransactionData): Promise<boolean>;
|
|
105
|
-
verifySchema(data: Omit<TransactionData, "
|
|
67
|
+
verifySchema(data: Omit<TransactionData, "hash">, strict?: boolean): Promise<SchemaValidationResult>;
|
|
68
|
+
verifyLegacySecondSignature(data: TransactionData, legacySecondPublicKey: string): Promise<boolean>;
|
|
106
69
|
}
|
|
107
70
|
export interface TransactionSigner {
|
|
108
|
-
sign(transaction: TransactionData, keys: KeyPair, options?: SerializeOptions): Promise<
|
|
109
|
-
|
|
71
|
+
sign(transaction: TransactionData, keys: KeyPair, options?: SerializeOptions): Promise<EcdsaSignature>;
|
|
72
|
+
legacySecondSign(transaction: TransactionData, keys: KeyPair, options?: SerializeOptions): Promise<string>;
|
|
110
73
|
}
|
|
111
74
|
export interface TransactionSerializer {
|
|
112
|
-
getBytes(transaction: TransactionData, options?: SerializeOptions): Promise<Buffer>;
|
|
113
75
|
serialize(transaction: Transaction, options?: SerializeOptions): Promise<Buffer>;
|
|
114
76
|
}
|
|
115
77
|
export interface TransactionDeserializer {
|
|
116
|
-
deserialize(serialized:
|
|
117
|
-
deserializeCommon(transaction: TransactionData, buf: ByteBuffer): void;
|
|
78
|
+
deserialize(serialized: Buffer): Promise<Transaction>;
|
|
118
79
|
}
|
|
119
80
|
export interface TransactionFactory {
|
|
120
81
|
fromHex(hex: string): Promise<Transaction>;
|
|
121
82
|
fromBytes(buff: Buffer, strict?: boolean): Promise<Transaction>;
|
|
122
83
|
fromJson(json: TransactionJson): Promise<Transaction>;
|
|
123
84
|
fromData(data: TransactionData, strict?: boolean): Promise<Transaction>;
|
|
85
|
+
computeCryptoData(data: TransactionData): Promise<TransactionCryptoData>;
|
|
124
86
|
}
|
|
125
87
|
export type TransactionConstructor = any;
|
|
126
88
|
export interface TransactionRegistry {
|
|
127
89
|
registerTransactionType(constructor: TransactionConstructor): void;
|
|
128
90
|
deregisterTransactionType(constructor: TransactionConstructor): void;
|
|
129
91
|
}
|
|
130
|
-
export interface
|
|
92
|
+
export interface TransactionUtilities {
|
|
131
93
|
toBytes(data: TransactionData): Promise<Buffer>;
|
|
132
94
|
toHash(transaction: TransactionData, options?: SerializeOptions): Promise<Buffer>;
|
|
133
|
-
|
|
95
|
+
getHash(transaction: Transaction): Promise<string>;
|
|
134
96
|
}
|
|
135
97
|
//# sourceMappingURL=transactions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/transactions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/transactions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import { BlockFactory
|
|
1
|
+
import { BlockFactory } from "../crypto/block.js";
|
|
2
|
+
import { PublicKeyFactory, Signature } from "../crypto/identities.js";
|
|
3
|
+
import { TransactionFactory } from "../crypto/transactions.js";
|
|
2
4
|
import { Requests, Subprocess } from "../kernel/ipc.js";
|
|
3
5
|
import { KeyValuePair } from "../types/index.js";
|
|
4
6
|
export interface WorkerFlags extends KeyValuePair {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../source/contracts/crypto/worker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,WAAY,SAAQ,YAAY;IAChD,oBAAoB,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,kBAAkB,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAC/C,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,eAAe,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAC5C,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GACrC,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrC,YAAY,CAAC,CAAC,SAAS,QAAQ,CAAC,YAAY,CAAC,EAC5C,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,kBAAkB,CAAC,CAAC,SAAS,QAAQ,CAAC,kBAAkB,CAAC,EACxD,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAC9C,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,gBAAgB,CAAC,CAAC,SAAS,QAAQ,CAAC,gBAAgB,CAAC,EACpD,MAAM,EAAE,CAAC,EACT,GAAG,UAAU,EAAE,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;AAE/D,MAAM,MAAM,uBAAuB,GAAG,MAAM,gBAAgB,CAAC;AAE7D,MAAM,WAAW,MAAO,SAAQ,mBAAmB;IAClD,YAAY,IAAI,MAAM,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IAC1B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B"}
|
|
@@ -1,14 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Block, BlockHeader, Commit, CommitHandler, Transaction } from "./crypto/index.js";
|
|
2
|
+
import { ProcessableUnit } from "./processor/index.js";
|
|
3
|
+
export interface State {
|
|
4
|
+
blockNumber: number;
|
|
5
|
+
totalRound: number;
|
|
6
|
+
}
|
|
7
|
+
export interface DatabaseService extends CommitHandler {
|
|
8
|
+
initialize(): Promise<void>;
|
|
9
|
+
isEmpty(): Promise<boolean>;
|
|
10
|
+
getState(): State;
|
|
11
|
+
getCommit(blockNumber: number): Promise<Commit | undefined>;
|
|
12
|
+
getCommitByHash(blockHash: string): Promise<Commit | undefined>;
|
|
13
|
+
getLastCommit(): Promise<Commit>;
|
|
14
|
+
hasCommitByHash(blockHash: string): Promise<boolean>;
|
|
7
15
|
findCommitBuffers(start: number, end: number): Promise<Buffer[]>;
|
|
8
16
|
readCommits(start: number, end: number): AsyncGenerator<Commit>;
|
|
17
|
+
getBlock(blockNumber: number): Promise<Block | undefined>;
|
|
18
|
+
getBlockByHash(blockHash: string): Promise<Block | undefined>;
|
|
9
19
|
findBlocks(start: number, end: number): Promise<Block[]>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
20
|
+
getBlockHeader(blockNumber: number): Promise<BlockHeader | undefined>;
|
|
21
|
+
getBlockHeaderByHash(blockHash: string): Promise<BlockHeader | undefined>;
|
|
22
|
+
getTransactionByHash(transactionHash: string): Promise<Transaction | undefined>;
|
|
23
|
+
getTransactionByBlockHashAndIndex(blockHash: string, index: number): Promise<Transaction | undefined>;
|
|
24
|
+
getTransactionByBlockNumberAndIndex(blockNumber: number, index: number): Promise<Transaction | undefined>;
|
|
25
|
+
onCommit(unit: ProcessableUnit): Promise<void>;
|
|
13
26
|
}
|
|
14
27
|
//# sourceMappingURL=database.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../source/contracts/database.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../source/contracts/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,WAAW,KAAK;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE5B,QAAQ,IAAI,KAAK,CAAC;IAElB,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC5D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAChE,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrD,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACjE,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IAEhE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC1D,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC;IAC9D,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzD,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACtE,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE1E,oBAAoB,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAChF,iCAAiC,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IACtG,mCAAmC,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAAC;IAE1G,QAAQ,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { BigNumber } from "@mainsail/utils";
|
|
2
|
+
import { ValidatorWallet } from "../state/wallets.js";
|
|
3
|
+
export interface DeployerContract {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly address: string;
|
|
6
|
+
readonly proxy?: "UUPS";
|
|
7
|
+
readonly implementations: {
|
|
8
|
+
address: string;
|
|
9
|
+
abi: Record<string, any>;
|
|
10
|
+
}[];
|
|
11
|
+
readonly activeImplementation?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface Vote {
|
|
14
|
+
validatorAddress: string;
|
|
15
|
+
voterAddress: string;
|
|
16
|
+
}
|
|
17
|
+
export interface ValidatorRoundValidator {
|
|
18
|
+
readonly voteBalance: BigNumber;
|
|
19
|
+
readonly address: string;
|
|
20
|
+
}
|
|
21
|
+
export interface ValidatorRound {
|
|
22
|
+
readonly round: number;
|
|
23
|
+
readonly roundHeight: number;
|
|
24
|
+
readonly validators: ValidatorRoundValidator[];
|
|
25
|
+
}
|
|
26
|
+
export interface ConsensusContractService {
|
|
27
|
+
getRoundValidators(): Promise<ValidatorWallet[]>;
|
|
28
|
+
getAllValidators(): Promise<ValidatorWallet[]>;
|
|
29
|
+
getVotesCount(): Promise<number>;
|
|
30
|
+
getVotes(): AsyncIterable<Vote>;
|
|
31
|
+
getValidatorRounds(): AsyncIterable<ValidatorRound>;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=contract-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-service.d.ts","sourceRoot":"","sources":["../../../source/contracts/evm/contract-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,EAAE,CAAC;IAC1E,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACvC;AAED,MAAM,WAAW,IAAI;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,uBAAuB,EAAE,CAAC;CAC/C;AAED,MAAM,WAAW,wBAAwB;IACxC,kBAAkB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IACjD,gBAAgB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAC;IAC/C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACjC,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,kBAAkB,IAAI,aAAa,CAAC,cAAc,CAAC,CAAC;CACpD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contract-service.js","sourceRoot":"","sources":["../../../source/contracts/evm/contract-service.ts"],"names":[],"mappings":""}
|
|
@@ -1,46 +1,67 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { CommitHandler } from "../crypto/commit.js";
|
|
3
|
-
export declare enum EvmMode {
|
|
4
|
-
Ephemeral = 0,
|
|
5
|
-
Persistent = 1
|
|
6
|
-
}
|
|
7
1
|
export interface GenesisInfo {
|
|
8
2
|
readonly account: string;
|
|
9
3
|
readonly deployerAccount: string;
|
|
10
4
|
readonly validatorContract: string;
|
|
5
|
+
readonly usernameContract: string;
|
|
6
|
+
readonly initialBlockNumber: bigint;
|
|
11
7
|
readonly initialSupply: bigint;
|
|
12
8
|
}
|
|
13
|
-
export interface Instance extends CommitHandler {
|
|
14
|
-
prepareNextCommit(context: PrepareNextCommitContext): Promise<void>;
|
|
15
|
-
process(txContext: TransactionContext): Promise<ProcessResult>;
|
|
16
|
-
view(viewContext: TransactionViewContext): Promise<ViewResult>;
|
|
17
|
-
initializeGenesis(commit: GenesisInfo): Promise<void>;
|
|
18
|
-
getAccountInfo(address: string): Promise<AccountInfo>;
|
|
19
|
-
calculateTopValidators(context: CalculateTopValidatorsContext): Promise<void>;
|
|
20
|
-
updateRewardsAndVotes(context: UpdateRewardsAndVotesContext): Promise<void>;
|
|
21
|
-
stateHash(commitKey: CommitKey, currentHash: string): Promise<string>;
|
|
22
|
-
codeAt(address: string): Promise<string>;
|
|
23
|
-
storageAt(address: string, slot: bigint): Promise<string>;
|
|
24
|
-
mode(): EvmMode;
|
|
25
|
-
}
|
|
26
9
|
export interface ProcessResult {
|
|
27
10
|
readonly receipt: TransactionReceipt;
|
|
28
|
-
|
|
11
|
+
}
|
|
12
|
+
export interface SimulateResult {
|
|
13
|
+
readonly receipt: TransactionReceipt;
|
|
29
14
|
}
|
|
30
15
|
export interface ViewResult {
|
|
31
16
|
readonly success: boolean;
|
|
32
17
|
readonly output?: Buffer;
|
|
33
18
|
}
|
|
34
|
-
export interface
|
|
19
|
+
export interface PreverifyTransactionResult {
|
|
20
|
+
readonly success: boolean;
|
|
21
|
+
readonly initialGasUsed: bigint;
|
|
22
|
+
readonly error?: string;
|
|
35
23
|
}
|
|
24
|
+
export type CommitResult = Record<string, any>;
|
|
36
25
|
export interface AccountInfo {
|
|
37
26
|
readonly nonce: bigint;
|
|
38
27
|
readonly balance: bigint;
|
|
39
28
|
}
|
|
29
|
+
export interface AccountInfoExtended extends AccountInfo {
|
|
30
|
+
readonly address: string;
|
|
31
|
+
readonly legacyAttributes: LegacyAttributes;
|
|
32
|
+
}
|
|
33
|
+
export interface ImportLegacyColdWallet {
|
|
34
|
+
readonly address: string;
|
|
35
|
+
readonly balance: bigint;
|
|
36
|
+
readonly legacyAttributes: LegacyAttributes;
|
|
37
|
+
}
|
|
38
|
+
export interface LegacyColdWallet {
|
|
39
|
+
readonly address: string;
|
|
40
|
+
readonly balance: bigint;
|
|
41
|
+
readonly legacyAttributes: LegacyAttributes;
|
|
42
|
+
readonly mergeInfo?: AccountMergeInfo;
|
|
43
|
+
}
|
|
44
|
+
export interface AccountMergeInfo {
|
|
45
|
+
readonly address: string;
|
|
46
|
+
readonly txHash: string;
|
|
47
|
+
}
|
|
48
|
+
export interface LegacyAttributes {
|
|
49
|
+
readonly secondPublicKey?: string;
|
|
50
|
+
readonly multiSignature?: LegacyMultiSignatureAttribute;
|
|
51
|
+
}
|
|
52
|
+
export interface LegacyMultiSignatureAttribute {
|
|
53
|
+
readonly min: number;
|
|
54
|
+
readonly publicKeys: string[];
|
|
55
|
+
}
|
|
40
56
|
export interface AccountUpdate {
|
|
41
57
|
readonly address: string;
|
|
42
58
|
readonly balance: bigint;
|
|
43
59
|
readonly nonce: bigint;
|
|
60
|
+
readonly vote?: string;
|
|
61
|
+
readonly unvote?: string;
|
|
62
|
+
readonly username?: string;
|
|
63
|
+
readonly usernameResigned: boolean;
|
|
64
|
+
readonly legacyMergeInfo?: AccountMergeInfo;
|
|
44
65
|
}
|
|
45
66
|
export interface AccountUpdateContext {
|
|
46
67
|
readonly account: string;
|
|
@@ -50,25 +71,69 @@ export interface AccountUpdateContext {
|
|
|
50
71
|
export interface PrepareNextCommitContext {
|
|
51
72
|
readonly commitKey: CommitKey;
|
|
52
73
|
}
|
|
74
|
+
export interface PreverifyTransactionContext {
|
|
75
|
+
readonly from: string;
|
|
76
|
+
readonly legacyAddress?: string;
|
|
77
|
+
/** Omit recipient when deploying a contract */
|
|
78
|
+
readonly to?: string;
|
|
79
|
+
readonly gasLimit: bigint;
|
|
80
|
+
readonly value: bigint;
|
|
81
|
+
readonly gasPrice: bigint;
|
|
82
|
+
readonly nonce: bigint;
|
|
83
|
+
readonly data: Buffer;
|
|
84
|
+
readonly txHash: string;
|
|
85
|
+
readonly index?: number;
|
|
86
|
+
readonly specId: SpecId;
|
|
87
|
+
readonly blockGasLimit: bigint;
|
|
88
|
+
}
|
|
53
89
|
export interface TransactionContext {
|
|
54
|
-
readonly
|
|
90
|
+
readonly from: string;
|
|
91
|
+
readonly legacyAddress?: string;
|
|
55
92
|
/** Omit recipient when deploying a contract */
|
|
56
|
-
readonly
|
|
93
|
+
readonly to?: string;
|
|
57
94
|
readonly gasLimit: bigint;
|
|
58
95
|
readonly value: bigint;
|
|
59
|
-
readonly gasPrice
|
|
96
|
+
readonly gasPrice: bigint;
|
|
60
97
|
readonly nonce: bigint;
|
|
61
98
|
readonly data: Buffer;
|
|
62
99
|
readonly blockContext: BlockContext;
|
|
63
100
|
readonly txHash: string;
|
|
64
|
-
readonly
|
|
101
|
+
readonly index?: number;
|
|
102
|
+
readonly specId: SpecId;
|
|
103
|
+
}
|
|
104
|
+
export interface TransactionSimulateContext {
|
|
105
|
+
readonly from: string;
|
|
106
|
+
/** Omit recipient when deploying a contract */
|
|
107
|
+
readonly to?: string;
|
|
108
|
+
readonly gasLimit: bigint;
|
|
109
|
+
readonly value: bigint;
|
|
110
|
+
readonly gasPrice: bigint;
|
|
111
|
+
readonly nonce: bigint;
|
|
112
|
+
readonly data: Buffer;
|
|
113
|
+
readonly blockContext: BlockContext;
|
|
65
114
|
readonly specId: SpecId;
|
|
66
115
|
}
|
|
67
116
|
export interface TransactionViewContext {
|
|
68
|
-
readonly
|
|
69
|
-
readonly
|
|
117
|
+
readonly from: string;
|
|
118
|
+
readonly to: string;
|
|
70
119
|
readonly data: Buffer;
|
|
71
120
|
readonly specId: SpecId;
|
|
121
|
+
readonly gasLimit?: bigint;
|
|
122
|
+
}
|
|
123
|
+
export interface GetAccountsResult {
|
|
124
|
+
readonly nextOffset?: bigint;
|
|
125
|
+
readonly accounts: AccountInfoExtended[];
|
|
126
|
+
}
|
|
127
|
+
export interface GetLegacyColdWalletsResult {
|
|
128
|
+
readonly nextOffset?: bigint;
|
|
129
|
+
readonly wallets: LegacyColdWallet[];
|
|
130
|
+
}
|
|
131
|
+
export interface GetReceiptsResult {
|
|
132
|
+
readonly nextOffset?: bigint;
|
|
133
|
+
readonly receipts: TransactionReceipt[];
|
|
134
|
+
}
|
|
135
|
+
export interface GetReceiptResult {
|
|
136
|
+
readonly receipt?: TransactionReceipt;
|
|
72
137
|
}
|
|
73
138
|
export interface BlockContext {
|
|
74
139
|
readonly commitKey: CommitKey;
|
|
@@ -76,11 +141,11 @@ export interface BlockContext {
|
|
|
76
141
|
readonly timestamp: bigint;
|
|
77
142
|
readonly validatorAddress: string;
|
|
78
143
|
}
|
|
79
|
-
export interface
|
|
144
|
+
export interface CalculateRoundValidatorsContext {
|
|
80
145
|
readonly commitKey: CommitKey;
|
|
81
146
|
readonly timestamp: bigint;
|
|
82
147
|
readonly validatorAddress: string;
|
|
83
|
-
readonly
|
|
148
|
+
readonly roundValidators: bigint;
|
|
84
149
|
readonly specId: SpecId;
|
|
85
150
|
}
|
|
86
151
|
export interface UpdateRewardsAndVotesContext {
|
|
@@ -91,16 +156,19 @@ export interface UpdateRewardsAndVotesContext {
|
|
|
91
156
|
readonly specId: SpecId;
|
|
92
157
|
}
|
|
93
158
|
export interface CommitKey {
|
|
94
|
-
readonly
|
|
159
|
+
readonly blockNumber: bigint;
|
|
95
160
|
readonly round: bigint;
|
|
161
|
+
readonly blockHash?: string;
|
|
96
162
|
}
|
|
97
163
|
export interface TransactionReceipt {
|
|
98
164
|
readonly gasUsed: bigint;
|
|
99
165
|
readonly gasRefunded: bigint;
|
|
100
|
-
readonly
|
|
101
|
-
readonly
|
|
166
|
+
readonly status: number;
|
|
167
|
+
readonly contractAddress?: string;
|
|
102
168
|
readonly logs: any;
|
|
103
169
|
readonly output?: Buffer;
|
|
170
|
+
readonly blockNumber?: bigint;
|
|
171
|
+
readonly txHash?: string;
|
|
104
172
|
}
|
|
105
173
|
export declare enum SpecId {
|
|
106
174
|
SHANGHAI = "Shanghai",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../source/contracts/evm/evm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../source/contracts/evm/evm.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
export var EvmMode;
|
|
2
|
-
(function (EvmMode) {
|
|
3
|
-
EvmMode[EvmMode["Ephemeral"] = 0] = "Ephemeral";
|
|
4
|
-
EvmMode[EvmMode["Persistent"] = 1] = "Persistent";
|
|
5
|
-
})(EvmMode || (EvmMode = {}));
|
|
6
1
|
// Supported EVM specs
|
|
7
2
|
// https://github.com/ethereum/execution-specs
|
|
8
3
|
export var SpecId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../source/contracts/evm/evm.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../source/contracts/evm/evm.ts"],"names":[],"mappings":"AA2MA,sBAAsB;AACtB,8CAA8C;AAC9C,MAAM,CAAN,IAAY,MAGX;AAHD,WAAY,MAAM;IACjB,+BAAqB,CAAA;IACrB,2BAAiB,CAAA;AAClB,CAAC,EAHW,MAAM,KAAN,MAAM,QAGjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/evm/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { CommitHandler } from "../crypto/commit-handler.js";
|
|
2
|
+
import { AccountInfo, AccountInfoExtended, CalculateRoundValidatorsContext, CommitKey, GenesisInfo, GetAccountsResult, GetLegacyColdWalletsResult, GetReceiptResult, GetReceiptsResult, ImportLegacyColdWallet, LegacyAttributes, PrepareNextCommitContext, PreverifyTransactionContext, PreverifyTransactionResult, ProcessResult, SimulateResult, TransactionContext, TransactionReceipt, TransactionSimulateContext, TransactionViewContext, UpdateRewardsAndVotesContext, ViewResult } from "./evm.js";
|
|
3
|
+
export interface Instance extends CommitHandler {
|
|
4
|
+
prepareNextCommit(context: PrepareNextCommitContext): Promise<void>;
|
|
5
|
+
preverifyTransaction(txContext: PreverifyTransactionContext): Promise<PreverifyTransactionResult>;
|
|
6
|
+
process(txContext: TransactionContext): Promise<ProcessResult>;
|
|
7
|
+
simulate(txContext: TransactionSimulateContext): Promise<SimulateResult>;
|
|
8
|
+
view(viewContext: TransactionViewContext): Promise<ViewResult>;
|
|
9
|
+
initializeGenesis(commit: GenesisInfo): Promise<void>;
|
|
10
|
+
getAccountInfo(address: string, height?: bigint): Promise<AccountInfo>;
|
|
11
|
+
getAccountInfoExtended(address: string, legacyAddress?: string): Promise<AccountInfoExtended>;
|
|
12
|
+
importAccountInfos(infos: AccountInfoExtended[]): Promise<void>;
|
|
13
|
+
importLegacyColdWallets(wallets: ImportLegacyColdWallet[]): Promise<void>;
|
|
14
|
+
getAccounts(offset: bigint, limit: bigint): Promise<GetAccountsResult>;
|
|
15
|
+
getLegacyAttributes(address: string, legacyAddress?: string): Promise<LegacyAttributes | undefined | null>;
|
|
16
|
+
getLegacyColdWallets(offset: bigint, limit: bigint): Promise<GetLegacyColdWalletsResult>;
|
|
17
|
+
getReceipts(offset: bigint, limit: bigint): Promise<GetReceiptsResult>;
|
|
18
|
+
getReceiptsByBlockNumber(blockNumber: bigint): Promise<Record<string, TransactionReceipt>>;
|
|
19
|
+
getReceipt(height: bigint, txHash: string): Promise<GetReceiptResult>;
|
|
20
|
+
calculateRoundValidators(context: CalculateRoundValidatorsContext): Promise<void>;
|
|
21
|
+
updateRewardsAndVotes(context: UpdateRewardsAndVotesContext): Promise<void>;
|
|
22
|
+
logsBloom(commitKey: CommitKey): Promise<string>;
|
|
23
|
+
stateRoot(commitKey: CommitKey, currentHash: string): Promise<string>;
|
|
24
|
+
codeAt(address: string, height?: bigint): Promise<string>;
|
|
25
|
+
storageAt(address: string, slot: bigint): Promise<string>;
|
|
26
|
+
snapshot(commitKey: CommitKey): Promise<void>;
|
|
27
|
+
rollback(commitKey: CommitKey): Promise<void>;
|
|
28
|
+
dispose(): Promise<void>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=instance.d.ts.map
|