@mainsail/contracts 0.0.1-evm.1 → 0.0.1-evm.10
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/contracts/api/api.d.ts +4 -0
- package/distribution/contracts/api/api.d.ts.map +1 -1
- package/distribution/contracts/api/api.js.map +1 -1
- package/distribution/contracts/api-sync.d.ts +0 -1
- package/distribution/contracts/api-sync.d.ts.map +1 -1
- package/distribution/contracts/crypto/block.d.ts +2 -2
- package/distribution/contracts/crypto/block.d.ts.map +1 -1
- package/distribution/contracts/crypto/identities.d.ts +3 -0
- package/distribution/contracts/crypto/identities.d.ts.map +1 -1
- package/distribution/contracts/crypto/networks.d.ts +0 -4
- package/distribution/contracts/crypto/networks.d.ts.map +1 -1
- package/distribution/contracts/crypto/transactions.d.ts +25 -55
- package/distribution/contracts/crypto/transactions.d.ts.map +1 -1
- package/distribution/contracts/database.d.ts +8 -0
- package/distribution/contracts/database.d.ts.map +1 -1
- package/distribution/contracts/evm/contract-service.d.ts +23 -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 +53 -4
- package/distribution/contracts/evm/evm.d.ts.map +1 -1
- package/distribution/contracts/evm/evm.js +1 -2
- package/distribution/contracts/evm/evm.js.map +1 -1
- package/distribution/contracts/evm/gas-fee.d.ts +1 -1
- package/distribution/contracts/evm/gas-fee.d.ts.map +1 -1
- package/distribution/contracts/evm/index.d.ts +2 -0
- package/distribution/contracts/evm/index.d.ts.map +1 -1
- package/distribution/contracts/evm/index.js +2 -0
- package/distribution/contracts/evm/index.js.map +1 -1
- package/distribution/contracts/evm/state.d.ts +4 -0
- package/distribution/contracts/evm/state.d.ts.map +1 -0
- package/distribution/contracts/evm/state.js +2 -0
- package/distribution/contracts/evm/state.js.map +1 -0
- package/distribution/contracts/evm/worker.d.ts +6 -1
- package/distribution/contracts/evm/worker.d.ts.map +1 -1
- package/distribution/contracts/index.d.ts +0 -1
- package/distribution/contracts/index.d.ts.map +1 -1
- package/distribution/contracts/index.js +0 -1
- package/distribution/contracts/index.js.map +1 -1
- package/distribution/contracts/network-generator.d.ts +0 -7
- package/distribution/contracts/network-generator.d.ts.map +1 -1
- package/distribution/contracts/processor.d.ts +4 -8
- package/distribution/contracts/processor.d.ts.map +1 -1
- package/distribution/contracts/serializer.d.ts +1 -1
- package/distribution/contracts/serializer.d.ts.map +1 -1
- package/distribution/contracts/state/index.d.ts +0 -7
- package/distribution/contracts/state/index.d.ts.map +1 -1
- package/distribution/contracts/state/index.js +0 -7
- package/distribution/contracts/state/index.js.map +1 -1
- package/distribution/contracts/state/store.d.ts +3 -17
- package/distribution/contracts/state/store.d.ts.map +1 -1
- package/distribution/contracts/state/wallets.d.ts +5 -105
- package/distribution/contracts/state/wallets.d.ts.map +1 -1
- package/distribution/contracts/state/wallets.js +1 -15
- package/distribution/contracts/state/wallets.js.map +1 -1
- package/distribution/contracts/transaction-pool/client.d.ts +1 -4
- package/distribution/contracts/transaction-pool/client.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/mempool.d.ts +4 -5
- package/distribution/contracts/transaction-pool/mempool.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 +2 -2
- package/distribution/contracts/transaction-pool/sender-mempool.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/sender-state.d.ts +3 -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/worker.d.ts +3 -10
- package/distribution/contracts/transaction-pool/worker.d.ts.map +1 -1
- package/distribution/contracts/transactions.d.ts +9 -27
- package/distribution/contracts/transactions.d.ts.map +1 -1
- package/distribution/contracts/validator-set.d.ts +5 -3
- package/distribution/contracts/validator-set.d.ts.map +1 -1
- package/distribution/contracts/validator.d.ts +1 -1
- package/distribution/contracts/validator.d.ts.map +1 -1
- package/distribution/events.d.ts +2 -1
- package/distribution/events.d.ts.map +1 -1
- package/distribution/events.js +1 -0
- package/distribution/events.js.map +1 -1
- package/distribution/exceptions/crypto.d.ts +5 -6
- package/distribution/exceptions/crypto.d.ts.map +1 -1
- package/distribution/exceptions/crypto.js +3 -4
- package/distribution/exceptions/crypto.js.map +1 -1
- package/distribution/exceptions/pool.d.ts +2 -3
- package/distribution/exceptions/pool.d.ts.map +1 -1
- package/distribution/exceptions/pool.js +1 -1
- package/distribution/exceptions/pool.js.map +1 -1
- package/distribution/exceptions/processor.js +1 -1
- package/distribution/exceptions/processor.js.map +1 -1
- package/distribution/exceptions/validation.d.ts +1 -1
- package/distribution/exceptions/validation.d.ts.map +1 -1
- package/distribution/exceptions/validation.js +2 -2
- package/distribution/exceptions/validation.js.map +1 -1
- package/distribution/identifiers.d.ts +15 -36
- package/distribution/identifiers.d.ts.map +1 -1
- package/distribution/identifiers.js +15 -36
- package/distribution/identifiers.js.map +1 -1
- package/package.json +2 -2
- package/distribution/contracts/fees.d.ts +0 -10
- package/distribution/contracts/fees.d.ts.map +0 -1
- package/distribution/contracts/fees.js +0 -2
- package/distribution/contracts/fees.js.map +0 -1
- package/distribution/contracts/state/attributes.d.ts +0 -22
- package/distribution/contracts/state/attributes.d.ts.map +0 -1
- package/distribution/contracts/state/attributes.js +0 -9
- package/distribution/contracts/state/attributes.js.map +0 -1
- package/distribution/contracts/state/block-state.d.ts +0 -12
- package/distribution/contracts/state/block-state.d.ts.map +0 -1
- package/distribution/contracts/state/block-state.js +0 -2
- package/distribution/contracts/state/block-state.js.map +0 -1
- package/distribution/contracts/state/index-set.d.ts +0 -5
- package/distribution/contracts/state/index-set.d.ts.map +0 -1
- package/distribution/contracts/state/index-set.js +0 -2
- package/distribution/contracts/state/index-set.js.map +0 -1
- package/distribution/contracts/state/repository.d.ts +0 -26
- package/distribution/contracts/state/repository.d.ts.map +0 -1
- package/distribution/contracts/state/repository.js +0 -2
- package/distribution/contracts/state/repository.js.map +0 -1
- package/distribution/contracts/state/service.d.ts +0 -11
- package/distribution/contracts/state/service.d.ts.map +0 -1
- package/distribution/contracts/state/service.js +0 -2
- package/distribution/contracts/state/service.js.map +0 -1
- package/distribution/contracts/state/snapshots.d.ts +0 -13
- package/distribution/contracts/state/snapshots.d.ts.map +0 -1
- package/distribution/contracts/state/snapshots.js +0 -2
- package/distribution/contracts/state/snapshots.js.map +0 -1
- package/distribution/contracts/state/state-verifier.d.ts +0 -4
- package/distribution/contracts/state/state-verifier.d.ts.map +0 -1
- package/distribution/contracts/state/state-verifier.js +0 -2
- package/distribution/contracts/state/state-verifier.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"network-generator.d.ts","sourceRoot":"","sources":["../../source/contracts/network-generator.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,iBAAiB,EAAE,MAAM,CAAC;
|
1
|
+
{"version":3,"file":"network-generator.d.ts","sourceRoot":"","sources":["../../source/contracts/network-generator.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,IAAI,CAAC;IACZ,iBAAiB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,IAAI,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAC/C,gBAAgB,GAChB,cAAc,GACd,aAAa,GACb,mBAAmB,GAAG;IAErB,KAAK,EAAE,MAAM,EAAE,CAAC;IAGhB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;CACf,CAAC;AAEH,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC,GAAG;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;CACrB,CAAC"}
|
@@ -1,14 +1,14 @@
|
|
1
1
|
import { Block, Commit, Transaction } from "./crypto/index.js";
|
2
|
-
import { TransactionReceipt } from "./evm/evm.js";
|
3
|
-
import { Store } from "./state/index.js";
|
2
|
+
import { AccountUpdate, TransactionReceipt } from "./evm/evm.js";
|
4
3
|
export interface ProcessableUnit {
|
5
4
|
readonly height: number;
|
6
5
|
readonly round: number;
|
7
6
|
readonly persist: boolean;
|
8
|
-
readonly store: Store;
|
9
7
|
hasProcessorResult(): boolean;
|
10
8
|
getProcessorResult(): BlockProcessorResult;
|
11
9
|
setProcessorResult(processorResult: BlockProcessorResult): void;
|
10
|
+
setAccountUpdates(accounts: Array<AccountUpdate>): void;
|
11
|
+
getAccountUpdates(): Array<AccountUpdate>;
|
12
12
|
getBlock(): Block;
|
13
13
|
getCommit(): Promise<Commit>;
|
14
14
|
}
|
@@ -25,11 +25,7 @@ export interface BlockProcessorResult {
|
|
25
25
|
gasUsed: number;
|
26
26
|
}
|
27
27
|
export interface TransactionProcessor {
|
28
|
-
process(unit: ProcessableUnit, transaction: Transaction): Promise<
|
29
|
-
}
|
30
|
-
export interface TransactionProcessorResult {
|
31
|
-
readonly gasUsed: number;
|
32
|
-
readonly receipt?: TransactionReceipt;
|
28
|
+
process(unit: ProcessableUnit, transaction: Transaction): Promise<TransactionReceipt>;
|
33
29
|
}
|
34
30
|
export interface Verifier {
|
35
31
|
verify(unit: ProcessableUnit): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../source/contracts/processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../source/contracts/processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjE,MAAM,WAAW,eAAe;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,kBAAkB,IAAI,OAAO,CAAC;IAC9B,kBAAkB,IAAI,oBAAoB,CAAC;IAC3C,kBAAkB,CAAC,eAAe,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAChE,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;IACxD,iBAAiB,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1C,QAAQ,IAAI,KAAK,CAAC;IAClB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACvB,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,cAAc;IAC9B,OAAO,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC9D,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACpC,OAAO,CAAC,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtF;AAED,MAAM,WAAW,QAAQ;IACxB,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
2
2
|
import { ByteBuffer } from "@mainsail/utils";
|
3
3
|
export type MandatoryPropertyType = "hash" | "publicKey" | "hex" | "signature" | "transactions" | "consensusSignature" | "validatorSet";
|
4
|
-
export type OptionalPropertyType = "uint8" | "uint16" | "uint32" | "uint48" | "uint64" | "address" | "bigint" | "blockId";
|
4
|
+
export type OptionalPropertyType = "uint8" | "uint16" | "uint32" | "uint48" | "uint64" | "uint256" | "address" | "bigint" | "blockId";
|
5
5
|
export type SerializationSchema = {
|
6
6
|
type: MandatoryPropertyType;
|
7
7
|
} | {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../source/contracts/serializer.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAC9B,MAAM,GACN,WAAW,GACX,KAAK,GACL,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,cAAc,CAAC;AAElB,MAAM,MAAM,oBAAoB,GAC7B,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEb,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEpH,MAAM,WAAW,0BAA0B;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,qBAAqB,GAC9B;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,4BAA4B;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElF,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,4BAA4B,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvG"}
|
1
|
+
{"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../source/contracts/serializer.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,MAAM,qBAAqB,GAC9B,MAAM,GACN,WAAW,GACX,KAAK,GACL,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,cAAc,CAAC;AAElB,MAAM,MAAM,oBAAoB,GAC7B,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,SAAS,GACT,QAAQ,GACR,SAAS,CAAC;AAEb,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,EAAE,qBAAqB,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEpH,MAAM,WAAW,0BAA0B;IAC1C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,MAAM,qBAAqB,GAC9B;IAAE,IAAI,EAAE,qBAAqB,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,oBAAoB,CAAC;IAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEnD,MAAM,WAAW,4BAA4B;IAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IAC1B,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAElF,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,EAAE,aAAa,EAAE,4BAA4B,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACvG"}
|
@@ -1,11 +1,4 @@
|
|
1
|
-
export * from "./attributes.js";
|
2
|
-
export * from "./block-state.js";
|
3
|
-
export * from "./index-set.js";
|
4
|
-
export * from "./repository.js";
|
5
|
-
export * from "./service.js";
|
6
|
-
export * from "./snapshots.js";
|
7
1
|
export * from "./state.js";
|
8
|
-
export * from "./state-verifier.js";
|
9
2
|
export * from "./store.js";
|
10
3
|
export * from "./wallets.js";
|
11
4
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
@@ -1,11 +1,4 @@
|
|
1
|
-
export * from "./attributes.js";
|
2
|
-
export * from "./block-state.js";
|
3
|
-
export * from "./index-set.js";
|
4
|
-
export * from "./repository.js";
|
5
|
-
export * from "./service.js";
|
6
|
-
export * from "./snapshots.js";
|
7
1
|
export * from "./state.js";
|
8
|
-
export * from "./state-verifier.js";
|
9
2
|
export * from "./store.js";
|
10
3
|
export * from "./wallets.js";
|
11
4
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
@@ -1,27 +1,13 @@
|
|
1
1
|
import { Block, Commit, CommitHandler } from "../crypto/index.js";
|
2
|
-
import { JsonObject } from "../types/index.js";
|
3
|
-
import { StateRepositoryChange } from "./repository.js";
|
4
|
-
import { WalletRepository, WalletRepositoryChange } from "./wallets.js";
|
5
|
-
export type StoreChange = {
|
6
|
-
walletRepository: WalletRepositoryChange;
|
7
|
-
store: StateRepositoryChange;
|
8
|
-
};
|
9
2
|
export interface Store extends CommitHandler {
|
10
|
-
readonly walletRepository: WalletRepository;
|
11
3
|
getGenesisCommit(): Commit;
|
12
4
|
setGenesisCommit(block: Commit): void;
|
13
|
-
getLastHeight(): number;
|
14
5
|
getLastBlock(): Block;
|
15
6
|
setLastBlock(block: Block): void;
|
7
|
+
setHeight(height: number): void;
|
8
|
+
getHeight(): number;
|
9
|
+
setTotalRound(totalRound: number): void;
|
16
10
|
getTotalRound(): number;
|
17
|
-
hasAttribute(key: string): boolean;
|
18
|
-
getAttribute<T>(key: string): T;
|
19
|
-
setAttribute<T>(key: string, value: T): void;
|
20
|
-
commitChanges(): void;
|
21
|
-
toJson(): JsonObject;
|
22
|
-
fromJson(data: JsonObject): void;
|
23
|
-
changesToJson(): StoreChange;
|
24
|
-
applyChanges(changes: StoreChange): void;
|
25
11
|
}
|
26
12
|
export type StoreFactory = (originalStore?: Store) => Store;
|
27
13
|
//# sourceMappingURL=store.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAElE,MAAM,WAAW,KAAM,SAAQ,aAAa;IAC3C,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,YAAY,IAAI,KAAK,CAAC;IACtB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEjC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,IAAI,MAAM,CAAC;IAEpB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,aAAa,IAAI,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC"}
|
@@ -1,32 +1,6 @@
|
|
1
1
|
import { BigNumber } from "@mainsail/utils";
|
2
|
-
|
3
|
-
import { BlockData, MultiSignatureAsset } from "../crypto/index.js";
|
4
|
-
import { StateRepository, StateRepositoryChange } from "./repository.js";
|
5
|
-
export interface WalletIndex {
|
6
|
-
has(key: string): boolean;
|
7
|
-
get(key: string): Wallet | undefined;
|
8
|
-
set(key: string, wallet: Wallet): void;
|
9
|
-
forget(key: string): void;
|
10
|
-
entries(): ReadonlyArray<[string, Wallet]>;
|
11
|
-
values(): ReadonlyArray<Wallet>;
|
12
|
-
keys(): string[];
|
13
|
-
size(): number;
|
14
|
-
clear(): void;
|
15
|
-
}
|
16
|
-
export declare enum WalletIndexes {
|
17
|
-
Addresses = "addresses",
|
18
|
-
PublicKeys = "publicKeys",
|
19
|
-
Usernames = "usernames",
|
20
|
-
Resignations = "resignations",
|
21
|
-
Validators = "validators"
|
22
|
-
}
|
23
|
-
export interface WalletChange extends StateRepositoryChange {
|
24
|
-
address: string;
|
25
|
-
}
|
26
|
-
export interface Wallet extends Omit<StateRepository, "fromJson" | "commitChanges" | "changesToJson"> {
|
2
|
+
export interface Wallet {
|
27
3
|
getAddress(): string;
|
28
|
-
getPublicKey(): string | undefined;
|
29
|
-
setPublicKey(publicKey: string): void;
|
30
4
|
getBalance(): BigNumber;
|
31
5
|
setBalance(balance: BigNumber): void;
|
32
6
|
increaseBalance(balance: BigNumber): Wallet;
|
@@ -35,86 +9,12 @@ export interface Wallet extends Omit<StateRepository, "fromJson" | "commitChange
|
|
35
9
|
setNonce(nonce: BigNumber): void;
|
36
10
|
increaseNonce(): void;
|
37
11
|
decreaseNonce(): void;
|
38
|
-
isValidator(): boolean;
|
39
|
-
hasVoted(): boolean;
|
40
|
-
hasMultiSignature(): boolean;
|
41
|
-
clone(walletRepository: WalletRepository): Wallet;
|
42
|
-
getOriginal(): Wallet;
|
43
|
-
fromJson(data: JsonObject): Wallet;
|
44
|
-
commitChanges(walletRepository: WalletRepository): void;
|
45
|
-
changesToJson(): WalletChange;
|
46
|
-
toString(): string;
|
47
12
|
}
|
48
13
|
export interface ValidatorWallet {
|
49
|
-
|
50
|
-
|
51
|
-
getConsensusPublicKey(): string;
|
52
|
-
getVoteBalance(): BigNumber;
|
53
|
-
getRank(): number;
|
54
|
-
setRank(rank: number): void;
|
55
|
-
unsetRank(): void;
|
56
|
-
getApproval(): number;
|
57
|
-
setApproval(approval: number): void;
|
58
|
-
unsetApproval(): void;
|
59
|
-
isResigned(): boolean;
|
60
|
-
toString(): string;
|
61
|
-
}
|
62
|
-
export type WalletFactory = (address: string, walletRepository: WalletRepository, wallet?: Wallet) => Wallet;
|
63
|
-
export type ValidatorWalletFactory = (wallet: Wallet) => ValidatorWallet;
|
64
|
-
export interface WalletValidatorAttributes {
|
65
|
-
username: string;
|
14
|
+
address: string;
|
15
|
+
blsPublicKey: string;
|
66
16
|
voteBalance: BigNumber;
|
67
|
-
|
68
|
-
|
69
|
-
round?: number;
|
70
|
-
resigned?: boolean;
|
71
|
-
}
|
72
|
-
export type WalletMultiSignatureAttributes = MultiSignatureAsset & {
|
73
|
-
legacy?: boolean;
|
74
|
-
};
|
75
|
-
export type WalletRepositoryChange = {
|
76
|
-
wallets: WalletChange[];
|
77
|
-
indexes: {
|
78
|
-
[index: string]: {
|
79
|
-
forgets: string[];
|
80
|
-
sets: Record<string, string>;
|
81
|
-
};
|
82
|
-
};
|
83
|
-
};
|
84
|
-
export interface WalletRepository {
|
85
|
-
allByAddress(): ReadonlyArray<Wallet>;
|
86
|
-
allByPublicKey(): ReadonlyArray<Wallet>;
|
87
|
-
allValidators(): ReadonlyArray<Wallet>;
|
88
|
-
allByIndex(indexName: string): ReadonlyArray<Wallet>;
|
89
|
-
findByAddress(address: string): Wallet;
|
90
|
-
findByPublicKey(publicKey: string): Promise<Wallet>;
|
91
|
-
findByUsername(username: string): Wallet;
|
92
|
-
findByIndex(index: string, key: string): Wallet;
|
93
|
-
hasByAddress(address: string): boolean;
|
94
|
-
hasByPublicKey(publicKey: string): boolean;
|
95
|
-
hasByUsername(username: string): boolean;
|
96
|
-
hasByIndex(indexName: string, key: string): boolean;
|
97
|
-
getIndex(name: string): WalletIndex;
|
98
|
-
setOnIndex(index: string, key: string, wallet: Wallet): void;
|
99
|
-
forgetOnIndex(index: string, key: string): void;
|
100
|
-
sizeOfIndex(index: string): number;
|
101
|
-
setDirtyWallet(wallet: Wallet): void;
|
102
|
-
getDirtyWallets(): IterableIterator<Wallet>;
|
103
|
-
commitChanges(): void;
|
104
|
-
changesToJson(): WalletRepositoryChange;
|
105
|
-
applyChanges(changes: WalletRepositoryChange): void;
|
106
|
-
}
|
107
|
-
export type WalletRepositoryFactory = (originalWalletRepository?: WalletRepository) => WalletRepository;
|
108
|
-
export type WalletRepositoryBySenderFactory = (originalWalletRepository: WalletRepository, publicKey: string) => Promise<WalletRepository>;
|
109
|
-
export declare enum SearchScope {
|
110
|
-
Wallets = 0,
|
111
|
-
Validators = 1,
|
112
|
-
Locks = 2,
|
113
|
-
Entities = 3
|
114
|
-
}
|
115
|
-
export interface SearchContext<T = any> {
|
116
|
-
query: Record<string, string[]>;
|
117
|
-
entries: ReadonlyArray<T>;
|
118
|
-
defaultOrder: string[];
|
17
|
+
votersCount: number;
|
18
|
+
isResigned: boolean;
|
119
19
|
}
|
120
20
|
//# sourceMappingURL=wallets.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/wallets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,MAAM,WAAW,MAAM;IACtB,UAAU,IAAI,MAAM,CAAC;IAErB,UAAU,IAAI,SAAS,CAAC;IACxB,UAAU,CAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IACrC,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5C,eAAe,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAAC;IAE5C,QAAQ,IAAI,SAAS,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAC;IACjC,aAAa,IAAI,IAAI,CAAC;IACtB,aAAa,IAAI,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,SAAS,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACpB"}
|
@@ -1,16 +1,2 @@
|
|
1
|
-
export
|
2
|
-
(function (WalletIndexes) {
|
3
|
-
WalletIndexes["Addresses"] = "addresses";
|
4
|
-
WalletIndexes["PublicKeys"] = "publicKeys";
|
5
|
-
WalletIndexes["Usernames"] = "usernames";
|
6
|
-
WalletIndexes["Resignations"] = "resignations";
|
7
|
-
WalletIndexes["Validators"] = "validators";
|
8
|
-
})(WalletIndexes || (WalletIndexes = {}));
|
9
|
-
export var SearchScope;
|
10
|
-
(function (SearchScope) {
|
11
|
-
SearchScope[SearchScope["Wallets"] = 0] = "Wallets";
|
12
|
-
SearchScope[SearchScope["Validators"] = 1] = "Validators";
|
13
|
-
SearchScope[SearchScope["Locks"] = 2] = "Locks";
|
14
|
-
SearchScope[SearchScope["Entities"] = 3] = "Entities";
|
15
|
-
})(SearchScope || (SearchScope = {}));
|
1
|
+
export {};
|
16
2
|
//# sourceMappingURL=wallets.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../../source/contracts/state/wallets.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../../source/contracts/state/wallets.ts"],"names":[],"mappings":""}
|
@@ -1,10 +1,7 @@
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
2
|
-
import { CommitHandler
|
2
|
+
import { CommitHandler } from "../crypto/index.js";
|
3
3
|
export interface Client extends CommitHandler {
|
4
|
-
setFailedTransactions(transactions: Transaction[]): void;
|
5
4
|
getTransactionBytes(): Promise<Buffer[]>;
|
6
|
-
listSnapshots(): Promise<number[]>;
|
7
|
-
importSnapshot(height: number): Promise<void>;
|
8
5
|
getStatus(): Promise<{
|
9
6
|
height: number;
|
10
7
|
version: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC5C,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D"}
|
@@ -2,13 +2,12 @@ import { Transaction } from "../crypto/index.js";
|
|
2
2
|
import { SenderMempool } from "./sender-mempool.js";
|
3
3
|
export interface Mempool {
|
4
4
|
getSize(): number;
|
5
|
-
hasSenderMempool(
|
6
|
-
getSenderMempool(
|
5
|
+
hasSenderMempool(address: string): boolean;
|
6
|
+
getSenderMempool(address: string): SenderMempool;
|
7
7
|
getSenderMempools(): Iterable<SenderMempool>;
|
8
8
|
addTransaction(transaction: Transaction): Promise<void>;
|
9
|
-
removeTransaction(
|
10
|
-
|
11
|
-
fixInvalidStates(): Promise<Transaction[]>;
|
9
|
+
removeTransaction(address: string, id: string): Promise<Transaction[]>;
|
10
|
+
reAddTransactions(addresses: string[]): Promise<Transaction[]>;
|
12
11
|
flush(): void;
|
13
12
|
}
|
14
13
|
//# sourceMappingURL=mempool.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mempool.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/mempool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,OAAO;IACvB,OAAO,IAAI,MAAM,CAAC;IAElB,gBAAgB,CAAC,
|
1
|
+
{"version":3,"file":"mempool.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/mempool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,OAAO;IACvB,OAAO,IAAI,MAAM,CAAC;IAElB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAC3C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;IACjD,iBAAiB,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE7C,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACvE,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE/D,KAAK,IAAI,IAAI,CAAC;CACd"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Transaction
|
1
|
+
import { Transaction } from "../crypto/index.js";
|
2
2
|
export type QueryPredicate = (transaction: Transaction) => Promise<boolean>;
|
3
3
|
export interface Query {
|
4
4
|
getAll(): QueryIterable;
|
@@ -9,10 +9,6 @@ export interface Query {
|
|
9
9
|
export interface QueryIterable {
|
10
10
|
wherePredicate(predicate: QueryPredicate): QueryIterable;
|
11
11
|
whereId(id: string): QueryIterable;
|
12
|
-
whereType(type: TransactionType | number): QueryIterable;
|
13
|
-
whereTypeGroup(typeGroup: TransactionTypeGroup | number): QueryIterable;
|
14
|
-
whereVersion(version: number): QueryIterable;
|
15
|
-
whereKind(transaction: Transaction): QueryIterable;
|
16
12
|
has(): Promise<boolean>;
|
17
13
|
first(): Promise<Transaction>;
|
18
14
|
all(): Promise<Transaction[]>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,
|
1
|
+
{"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,cAAc,GAAG,CAAC,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE5E,MAAM,WAAW,KAAK;IACrB,MAAM,IAAI,aAAa,CAAC;IACxB,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,aAAa,CAAC;IACvD,qBAAqB,IAAI,aAAa,CAAC;IACvC,sBAAsB,IAAI,aAAa,CAAC;CACxC;AAED,MAAM,WAAW,aAAa;IAC7B,cAAc,CAAC,SAAS,EAAE,cAAc,GAAG,aAAa,CAAC;IACzD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,CAAC;IAEnC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,GAAG,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC9B"}
|
@@ -6,7 +6,7 @@ export interface SenderMempool {
|
|
6
6
|
getFromLatest(): Iterable<Transaction>;
|
7
7
|
addTransaction(transaction: Transaction): Promise<void>;
|
8
8
|
removeTransaction(id: string): Transaction[];
|
9
|
-
|
9
|
+
reAddTransactions(): Promise<Transaction[]>;
|
10
10
|
}
|
11
|
-
export type SenderMempoolFactory = (
|
11
|
+
export type SenderMempoolFactory = (address: string) => Promise<SenderMempool>;
|
12
12
|
//# sourceMappingURL=sender-mempool.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sender-mempool.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/sender-mempool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,WAAW,aAAa;IAC7B,YAAY,IAAI,OAAO,CAAC;IACxB,OAAO,IAAI,MAAM,CAAC;IAElB,eAAe,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzC,aAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEvC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7C,
|
1
|
+
{"version":3,"file":"sender-mempool.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/sender-mempool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,WAAW,aAAa;IAC7B,YAAY,IAAI,OAAO,CAAC;IACxB,OAAO,IAAI,MAAM,CAAC;IAElB,eAAe,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzC,aAAa,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEvC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,EAAE,CAAC;IAC7C,iBAAiB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC5C;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC"}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
import { Transaction } from "../crypto/transactions.js";
|
2
2
|
export interface SenderState {
|
3
|
-
configure(
|
3
|
+
configure(address: string): Promise<SenderState>;
|
4
|
+
reset(): Promise<void>;
|
4
5
|
apply(transaction: Transaction): Promise<void>;
|
6
|
+
revert(transaction: Transaction): void;
|
5
7
|
}
|
6
8
|
//# sourceMappingURL=sender-state.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sender-state.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/sender-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,
|
1
|
+
{"version":3,"file":"sender-state.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/sender-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,MAAM,WAAW,WAAW;IAC3B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CACvC"}
|
@@ -1,9 +1,9 @@
|
|
1
|
-
import {
|
1
|
+
import { Transaction } from "../crypto/index.js";
|
2
2
|
export interface Service {
|
3
3
|
getPoolSize(): number;
|
4
4
|
addTransaction(transaction: Transaction): Promise<void>;
|
5
5
|
reAddTransactions(): Promise<void>;
|
6
|
-
commit(
|
6
|
+
commit(sendersAddresses: string[]): Promise<void>;
|
7
7
|
flush(): Promise<void>;
|
8
8
|
}
|
9
9
|
//# sourceMappingURL=service.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,WAAW,OAAO;IACvB,WAAW,IAAI,MAAM,CAAC;IAEtB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
|
@@ -1,23 +1,17 @@
|
|
1
1
|
/// <reference types="node" resolution-mode="require"/>
|
2
|
-
import { CommitHandler
|
2
|
+
import { CommitHandler } from "../crypto/index.js";
|
3
3
|
import { EventListener } from "../kernel/index.js";
|
4
4
|
import { EventCallback, Subprocess } from "../kernel/ipc.js";
|
5
|
-
import { StoreChange } from "../state/index.js";
|
6
5
|
import { KeyValuePair } from "../types/index.js";
|
7
6
|
export interface WorkerFlags extends KeyValuePair {
|
8
7
|
}
|
9
8
|
export interface WorkerScriptHandler {
|
10
9
|
boot(flags: WorkerFlags): Promise<void>;
|
11
10
|
getTransactions(): Promise<string[]>;
|
12
|
-
|
13
|
-
commit(data: {
|
14
|
-
block: string;
|
15
|
-
failedTransactions: string[];
|
16
|
-
store: StoreChange;
|
17
|
-
}): Promise<void>;
|
11
|
+
commit(height: number, sendersAddresses: string[]): Promise<void>;
|
18
12
|
setPeer(ip: string): Promise<void>;
|
19
13
|
forgetPeer(ip: string): Promise<void>;
|
20
|
-
start(): Promise<void>;
|
14
|
+
start(height: number): Promise<void>;
|
21
15
|
reloadWebhooks(): Promise<void>;
|
22
16
|
}
|
23
17
|
export type WorkerFactory = () => Worker;
|
@@ -26,7 +20,6 @@ export type WorkerSubprocessFactory = () => WorkerSubprocess;
|
|
26
20
|
export interface Worker extends Omit<WorkerScriptHandler, "commit" | "getTransactions">, CommitHandler, EventListener {
|
27
21
|
getQueueSize(): number;
|
28
22
|
kill(): Promise<number>;
|
29
|
-
setFailedTransactions(transactions: Transaction[]): void;
|
30
23
|
getTransactionBytes(): Promise<Buffer[]>;
|
31
24
|
registerEventHandler(event: string, callback: EventCallback<any>): void;
|
32
25
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/worker.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/worker.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,WAAY,SAAQ,YAAY;CAAG;AAEpD,MAAM,WAAW,mBAAmB;IACnC,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxC,eAAe,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC;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,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,iBAAiB,CAAC,EAAE,aAAa,EAAE,aAAa;IACpH,YAAY,IAAI,MAAM,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;CACxE"}
|
@@ -1,52 +1,37 @@
|
|
1
1
|
import { MultiSignatureAsset, Transaction, TransactionConstructor, TransactionData } from "./crypto/index.js";
|
2
2
|
import { BlockContext, CommitKey, Instance, TransactionReceipt } from "./evm/index.js";
|
3
|
-
import {
|
3
|
+
import { Wallet } from "./state/index.js";
|
4
4
|
export type TransactionHandlerConstructor = new () => TransactionHandler;
|
5
5
|
export type TransactionHandlerContext = {
|
6
|
-
walletRepository: WalletRepository;
|
7
6
|
evm: {
|
8
7
|
instance: Instance;
|
9
8
|
blockContext: BlockContext;
|
10
9
|
};
|
11
10
|
};
|
12
|
-
export interface TransactionApplyResult {
|
13
|
-
gasUsed: number;
|
14
|
-
receipt?: TransactionReceipt;
|
15
|
-
}
|
16
11
|
export interface TransactionHandler {
|
17
|
-
verify(
|
18
|
-
throwIfCannotBeApplied(
|
19
|
-
|
20
|
-
apply(context: TransactionHandlerContext, transaction: Transaction): Promise<TransactionApplyResult>;
|
21
|
-
applyToSender(context: TransactionHandlerContext, transaction: Transaction): Promise<TransactionApplyResult>;
|
22
|
-
applyToRecipient(context: TransactionHandlerContext, transaction: Transaction): Promise<TransactionApplyResult>;
|
12
|
+
verify(transaction: Transaction): Promise<boolean>;
|
13
|
+
throwIfCannotBeApplied(transaction: Transaction, sender: Wallet): Promise<void>;
|
14
|
+
apply(context: TransactionHandlerContext, transaction: Transaction): Promise<TransactionReceipt>;
|
23
15
|
emitEvents(transaction: Transaction): void;
|
24
16
|
verifySignatures(wallet: Wallet, transaction: TransactionData, multiSignature?: MultiSignatureAsset): Promise<boolean>;
|
25
17
|
getConstructor(): TransactionConstructor;
|
26
18
|
dependencies(): ReadonlyArray<TransactionHandlerConstructor>;
|
27
|
-
walletAttributes(): ReadonlyArray<{
|
28
|
-
name: string;
|
29
|
-
type: AttributeType;
|
30
|
-
}>;
|
31
19
|
isActivated(): Promise<boolean>;
|
32
20
|
}
|
33
21
|
export interface TransactionHandlerRegistry {
|
34
22
|
initialize(): void;
|
35
23
|
getRegisteredHandlers(): TransactionHandler[];
|
36
|
-
getRegisteredHandlerByType(
|
24
|
+
getRegisteredHandlerByType(type: number, version?: number): TransactionHandler;
|
37
25
|
getActivatedHandlers(): Promise<TransactionHandler[]>;
|
38
|
-
getActivatedHandlerByType(
|
26
|
+
getActivatedHandlerByType(type: number, version?: number): Promise<TransactionHandler>;
|
39
27
|
getActivatedHandlerForData(transactionData: TransactionData): Promise<TransactionHandler>;
|
40
28
|
}
|
41
29
|
export interface TransactionHandlerProvider {
|
42
30
|
isRegistrationRequired(): boolean;
|
43
31
|
registerHandlers(): void;
|
44
32
|
}
|
45
|
-
export interface InternalTransactionType {
|
46
|
-
toString(): string;
|
47
|
-
}
|
48
33
|
export interface TransactionTypeFactory {
|
49
|
-
initialize(transactionTypes: Map<
|
34
|
+
initialize(transactionTypes: Map<number, TransactionConstructor>): any;
|
50
35
|
create(data: TransactionData): Transaction;
|
51
36
|
get(type: number, typeGroup?: number, version?: number): TransactionConstructor;
|
52
37
|
}
|
@@ -54,14 +39,11 @@ export interface TransactionValidatorContext {
|
|
54
39
|
commitKey: CommitKey;
|
55
40
|
gasLimit: number;
|
56
41
|
timestamp: number;
|
57
|
-
|
42
|
+
generatorAddress: string;
|
58
43
|
}
|
59
44
|
export interface TransactionValidator {
|
60
45
|
getEvm(): Instance;
|
61
|
-
validate(context: TransactionValidatorContext, transaction: Transaction): Promise<
|
62
|
-
}
|
63
|
-
export interface TransactionValidatorResult {
|
64
|
-
readonly gasUsed: number;
|
46
|
+
validate(context: TransactionValidatorContext, transaction: Transaction): Promise<TransactionReceipt>;
|
65
47
|
}
|
66
48
|
export type TransactionValidatorFactory = () => TransactionValidator;
|
67
49
|
//# sourceMappingURL=transactions.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../source/contracts/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../source/contracts/transactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9G,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,MAAM,6BAA6B,GAAG,UAAU,kBAAkB,CAAC;AAEzE,MAAM,MAAM,yBAAyB,GAAG;IACvC,GAAG,EAAE;QACJ,QAAQ,EAAE,QAAQ,CAAC;QACnB,YAAY,EAAE,YAAY,CAAC;KAC3B,CAAC;CACF,CAAC;AAEF,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEnD,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhF,KAAK,CAAC,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEjG,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAE3C,gBAAgB,CACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,eAAe,EAC5B,cAAc,CAAC,EAAE,mBAAmB,GAClC,OAAO,CAAC,OAAO,CAAC,CAAC;IAGpB,cAAc,IAAI,sBAAsB,CAAC;IAEzC,YAAY,IAAI,aAAa,CAAC,6BAA6B,CAAC,CAAC;IAE7D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,0BAA0B;IAC1C,UAAU,IAAI,IAAI,CAAC;IAEnB,qBAAqB,IAAI,kBAAkB,EAAE,CAAC;IAE9C,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAE/E,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEtD,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEvF,0BAA0B,CAAC,eAAe,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC1F;AAED,MAAM,WAAW,0BAA0B;IAC1C,sBAAsB,IAAI,OAAO,CAAC;IAElC,gBAAgB,IAAI,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACtC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,OAAE;IAElE,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,WAAW,CAAC;IAE3C,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,sBAAsB,CAAC;CAChF;AAED,MAAM,WAAW,2BAA2B;IAC3C,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACpC,MAAM,IAAI,QAAQ,CAAC;IACnB,QAAQ,CAAC,OAAO,EAAE,2BAA2B,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtG;AAED,MAAM,MAAM,2BAA2B,GAAG,MAAM,oBAAoB,CAAC"}
|
@@ -1,9 +1,11 @@
|
|
1
1
|
import { CommitHandler } from "./crypto/commit.js";
|
2
|
-
import {
|
2
|
+
import { ValidatorWallet } from "./state/index.js";
|
3
3
|
export interface Service extends CommitHandler {
|
4
|
-
restore(
|
4
|
+
restore(): Promise<void>;
|
5
5
|
getActiveValidators(): ValidatorWallet[];
|
6
|
+
getAllValidators(): ValidatorWallet[];
|
7
|
+
getDirtyValidators(): ValidatorWallet[];
|
6
8
|
getValidator(validatorIndex: number): ValidatorWallet;
|
7
|
-
|
9
|
+
getValidatorIndexByWalletAddress(walletAddress: string): number;
|
8
10
|
}
|
9
11
|
//# sourceMappingURL=validator-set.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validator-set.d.ts","sourceRoot":"","sources":["../../source/contracts/validator-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"validator-set.d.ts","sourceRoot":"","sources":["../../source/contracts/validator-set.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC7C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,mBAAmB,IAAI,eAAe,EAAE,CAAC;IACzC,gBAAgB,IAAI,eAAe,EAAE,CAAC;IACtC,kBAAkB,IAAI,eAAe,EAAE,CAAC;IACxC,YAAY,CAAC,cAAc,EAAE,MAAM,GAAG,eAAe,CAAC;IACtD,gCAAgC,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;CAChE"}
|
@@ -6,7 +6,7 @@ export interface ValidatorKeyPair {
|
|
6
6
|
export interface Validator {
|
7
7
|
configure(keyPair: ValidatorKeyPair): Validator;
|
8
8
|
getConsensusPublicKey(): string;
|
9
|
-
prepareBlock(
|
9
|
+
prepareBlock(generatorAddress: string, round: number, timestamp: number): Promise<Block>;
|
10
10
|
propose(validatorIndex: number, round: number, validRound: number | undefined, block: Block, lockProof?: AggregatedSignature): Promise<Proposal>;
|
11
11
|
prevote(validatorIndex: number, height: number, round: number, blockId: string | undefined): Promise<Prevote>;
|
12
12
|
precommit(validatorIndex: number, height: number, round: number, blockId: string | undefined): Promise<Precommit>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../source/contracts/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtG,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACzB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,qBAAqB,IAAI,MAAM,CAAC;IAChC,YAAY,CAAC,
|
1
|
+
{"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../source/contracts/validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEtG,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,SAAS;IACzB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAChD,qBAAqB,IAAI,MAAM,CAAC;IAChC,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IACzF,OAAO,CACN,cAAc,EAAE,MAAM,EACtB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,KAAK,EAAE,KAAK,EACZ,SAAS,CAAC,EAAE,mBAAmB,GAC7B,OAAO,CAAC,QAAQ,CAAC,CAAC;IACrB,OAAO,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9G,SAAS,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CAClH;AAED,MAAM,WAAW,mBAAmB;IACnC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACvD,qBAAqB,IAAI,IAAI,CAAC;CAC9B"}
|