@mainsail/contracts 0.0.1-alpha.18 → 0.0.1-alpha.19
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/environment-variables.d.ts +2 -2
- package/distribution/constants/environment-variables.d.ts.map +1 -1
- package/distribution/constants/environment-variables.js +15 -4
- package/distribution/constants/environment-variables.js.map +1 -1
- package/distribution/contracts/{api.d.ts → api/api.d.ts} +3 -1
- package/distribution/contracts/api/api.d.ts.map +1 -0
- package/distribution/contracts/api/api.js.map +1 -0
- package/distribution/contracts/api/index.d.ts +3 -0
- package/distribution/contracts/api/index.d.ts.map +1 -0
- package/distribution/contracts/api/index.js +3 -0
- package/distribution/contracts/api/index.js.map +1 -0
- package/distribution/contracts/api/rpc.d.ts +39 -0
- package/distribution/contracts/api/rpc.d.ts.map +1 -0
- package/distribution/contracts/api/rpc.js +9 -0
- package/distribution/contracts/api/rpc.js.map +1 -0
- package/distribution/contracts/crypto/block.d.ts +1 -1
- package/distribution/contracts/crypto/block.d.ts.map +1 -1
- package/distribution/contracts/crypto/index.d.ts +1 -0
- package/distribution/contracts/crypto/index.d.ts.map +1 -1
- package/distribution/contracts/crypto/index.js +1 -0
- package/distribution/contracts/crypto/index.js.map +1 -1
- package/distribution/contracts/crypto/networks.d.ts +1 -0
- package/distribution/contracts/crypto/networks.d.ts.map +1 -1
- package/distribution/contracts/crypto/transactions.d.ts +5 -5
- package/distribution/contracts/crypto/transactions.d.ts.map +1 -1
- package/distribution/contracts/crypto/validator.d.ts +2 -1
- package/distribution/contracts/crypto/validator.d.ts.map +1 -1
- package/distribution/contracts/crypto/worker.d.ts +27 -0
- package/distribution/contracts/crypto/worker.d.ts.map +1 -0
- package/distribution/contracts/crypto/worker.js +2 -0
- package/distribution/contracts/crypto/worker.js.map +1 -0
- package/distribution/contracts/index.d.ts +2 -1
- package/distribution/contracts/index.d.ts.map +1 -1
- package/distribution/contracts/index.js +2 -1
- package/distribution/contracts/index.js.map +1 -1
- package/distribution/contracts/kernel/application.d.ts +1 -0
- package/distribution/contracts/kernel/application.d.ts.map +1 -1
- package/distribution/contracts/kernel/index.d.ts +1 -0
- package/distribution/contracts/kernel/index.d.ts.map +1 -1
- package/distribution/contracts/kernel/index.js +1 -0
- package/distribution/contracts/kernel/index.js.map +1 -1
- package/distribution/contracts/kernel/ipc.d.ts +35 -0
- package/distribution/contracts/kernel/ipc.d.ts.map +1 -0
- package/distribution/contracts/kernel/ipc.js +2 -0
- package/distribution/contracts/kernel/ipc.js.map +1 -0
- package/distribution/contracts/p2p/broadcaster.d.ts +1 -2
- package/distribution/contracts/p2p/broadcaster.d.ts.map +1 -1
- package/distribution/contracts/p2p/endpoints.d.ts +0 -9
- package/distribution/contracts/p2p/endpoints.d.ts.map +1 -1
- package/distribution/contracts/p2p/index.d.ts +1 -0
- package/distribution/contracts/p2p/index.d.ts.map +1 -1
- package/distribution/contracts/p2p/index.js +1 -0
- package/distribution/contracts/p2p/index.js.map +1 -1
- package/distribution/contracts/p2p/peer-communicator.d.ts +0 -1
- package/distribution/contracts/p2p/peer-communicator.d.ts.map +1 -1
- package/distribution/contracts/p2p/tx-pool-node.d.ts +10 -0
- package/distribution/contracts/p2p/tx-pool-node.d.ts.map +1 -0
- package/distribution/contracts/p2p/tx-pool-node.js +2 -0
- package/distribution/contracts/p2p/tx-pool-node.js.map +1 -0
- package/distribution/contracts/state/index.d.ts +0 -1
- package/distribution/contracts/state/index.d.ts.map +1 -1
- package/distribution/contracts/state/index.js +0 -1
- package/distribution/contracts/state/index.js.map +1 -1
- package/distribution/contracts/state/repository.d.ts +15 -3
- package/distribution/contracts/state/repository.d.ts.map +1 -1
- package/distribution/contracts/state/service.d.ts +2 -1
- package/distribution/contracts/state/service.d.ts.map +1 -1
- package/distribution/contracts/state/snapshots.d.ts +7 -2
- package/distribution/contracts/state/snapshots.d.ts.map +1 -1
- package/distribution/contracts/state/store.d.ts +8 -1
- package/distribution/contracts/state/store.d.ts.map +1 -1
- package/distribution/contracts/state/wallets.d.ts +18 -3
- package/distribution/contracts/state/wallets.d.ts.map +1 -1
- package/distribution/contracts/state/wallets.js.map +1 -1
- package/distribution/contracts/transaction-pool/broadcaster.d.ts +38 -0
- package/distribution/contracts/transaction-pool/broadcaster.d.ts.map +1 -0
- package/distribution/contracts/transaction-pool/broadcaster.js +6 -0
- package/distribution/contracts/transaction-pool/broadcaster.js.map +1 -0
- package/distribution/contracts/transaction-pool/client.d.ts +13 -0
- package/distribution/contracts/transaction-pool/client.d.ts.map +1 -0
- package/distribution/contracts/transaction-pool/client.js +2 -0
- package/distribution/contracts/transaction-pool/client.js.map +1 -0
- package/distribution/contracts/transaction-pool/index.d.ts +3 -1
- package/distribution/contracts/transaction-pool/index.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/index.js +3 -1
- package/distribution/contracts/transaction-pool/index.js.map +1 -1
- package/distribution/contracts/transaction-pool/mempool.d.ts +2 -1
- package/distribution/contracts/transaction-pool/mempool.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 +0 -1
- package/distribution/contracts/transaction-pool/sender-state.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/service.d.ts +2 -4
- package/distribution/contracts/transaction-pool/service.d.ts.map +1 -1
- package/distribution/contracts/transaction-pool/worker.d.ts +33 -0
- package/distribution/contracts/transaction-pool/worker.d.ts.map +1 -0
- package/distribution/contracts/transaction-pool/worker.js +2 -0
- package/distribution/contracts/transaction-pool/worker.js.map +1 -0
- package/distribution/contracts/transactions.d.ts +5 -2
- package/distribution/contracts/transactions.d.ts.map +1 -1
- package/distribution/contracts/webhooks.d.ts +24 -0
- package/distribution/contracts/webhooks.d.ts.map +1 -0
- package/distribution/contracts/webhooks.js +2 -0
- package/distribution/contracts/webhooks.js.map +1 -0
- package/distribution/events.d.ts +82 -0
- package/distribution/events.d.ts.map +1 -0
- package/distribution/events.js +96 -0
- package/distribution/events.js.map +1 -0
- package/distribution/exceptions/processor.d.ts +3 -0
- package/distribution/exceptions/processor.d.ts.map +1 -1
- package/distribution/exceptions/processor.js +5 -0
- package/distribution/exceptions/processor.js.map +1 -1
- package/distribution/identifiers.d.ts +31 -5
- package/distribution/identifiers.d.ts.map +1 -1
- package/distribution/identifiers.js +32 -6
- package/distribution/identifiers.js.map +1 -1
- package/distribution/index.d.ts +1 -0
- package/distribution/index.d.ts.map +1 -1
- package/distribution/index.js +1 -0
- package/distribution/index.js.map +1 -1
- package/package.json +2 -2
- package/distribution/contracts/api.d.ts.map +0 -1
- package/distribution/contracts/api.js.map +0 -1
- package/distribution/contracts/state/transaction-validator.d.ts +0 -6
- package/distribution/contracts/state/transaction-validator.d.ts.map +0 -1
- package/distribution/contracts/state/transaction-validator.js +0 -2
- package/distribution/contracts/state/transaction-validator.js.map +0 -1
- package/distribution/contracts/transaction-pool/collator.d.ts +0 -5
- package/distribution/contracts/transaction-pool/collator.d.ts.map +0 -1
- package/distribution/contracts/transaction-pool/collator.js +0 -2
- package/distribution/contracts/transaction-pool/collator.js.map +0 -1
- /package/distribution/contracts/{api.js → api/api.js} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/p2p/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/p2p/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC"}
|
@@ -5,7 +5,6 @@ export type EmitOptions = {
|
|
5
5
|
timeout: number;
|
6
6
|
};
|
7
7
|
export interface PeerCommunicator {
|
8
|
-
postTransactions(peer: Peer, transactions: Buffer[]): Promise<void>;
|
9
8
|
postProposal(peer: Peer, proposal: Buffer): Promise<void>;
|
10
9
|
postPrevote(peer: Peer, prevote: Buffer): Promise<void>;
|
11
10
|
postPrecommit(peer: Peer, prevote: Buffer): Promise<void>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"peer-communicator.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/peer-communicator.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,
|
1
|
+
{"version":3,"file":"peer-communicator.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/peer-communicator.ts"],"names":[],"mappings":";AAAA,OAAO,EACN,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAChC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC,QAAQ,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACtD,SAAS,CACR,IAAI,EAAE,IAAI,EACV,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,EAC7D,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAClF"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export interface TxPoolNode {
|
2
|
+
readonly url: string;
|
3
|
+
readonly ip: string;
|
4
|
+
readonly port: number;
|
5
|
+
}
|
6
|
+
export type TxPoolNodeFactory = (ip: string) => TxPoolNode;
|
7
|
+
export interface TxPoolNodeVerifier {
|
8
|
+
verify(node: TxPoolNode): Promise<boolean>;
|
9
|
+
}
|
10
|
+
//# sourceMappingURL=tx-pool-node.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tx-pool-node.d.ts","sourceRoot":"","sources":["../../../source/contracts/p2p/tx-pool-node.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,UAAU,CAAC;AAE3D,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3C"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"tx-pool-node.js","sourceRoot":"","sources":["../../../source/contracts/p2p/tx-pool-node.ts"],"names":[],"mappings":""}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/state/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC"}
|
@@ -1,5 +1,12 @@
|
|
1
1
|
import { JsonObject } from "type-fest";
|
2
|
-
|
2
|
+
import { AttributeRepository } from "./attributes.js";
|
3
|
+
export interface StateRepositoryChange {
|
4
|
+
set: {
|
5
|
+
[key: string]: JsonObject;
|
6
|
+
};
|
7
|
+
forget: string[];
|
8
|
+
}
|
9
|
+
export interface StateRepository {
|
3
10
|
isChanged(): boolean;
|
4
11
|
hasAttribute(key: string): boolean;
|
5
12
|
getAttribute<T = any>(key: string, defaultValue?: T): T;
|
@@ -7,8 +14,13 @@ export interface Repository {
|
|
7
14
|
setAttribute<T = any>(key: string, value: T): void;
|
8
15
|
forgetAttribute(key: string): void;
|
9
16
|
isClone(): boolean;
|
10
|
-
commitChanges(
|
17
|
+
commitChanges(): void;
|
11
18
|
toJson(): JsonObject;
|
12
|
-
fromJson(data: JsonObject):
|
19
|
+
fromJson(data: JsonObject): StateRepository;
|
20
|
+
changesToJson(): StateRepositoryChange;
|
21
|
+
applyChanges(changes: StateRepositoryChange): void;
|
22
|
+
}
|
23
|
+
export interface StateRepositoryFactory {
|
24
|
+
(attributeRepository: AttributeRepository, originalRepository?: StateRepository, initialData?: Record<string, unknown>): StateRepository;
|
13
25
|
}
|
14
26
|
//# sourceMappingURL=repository.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,MAAM,WAAW,UAAU;
|
1
|
+
{"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/repository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACrC,GAAG,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAAC;KAC1B,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC/B,SAAS,IAAI,OAAO,CAAC;IAErB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACxD,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACrC,YAAY,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACnD,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,OAAO,IAAI,OAAO,CAAC;IACnB,aAAa,IAAI,IAAI,CAAC;IAEtB,MAAM,IAAI,UAAU,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAAC;IAE5C,aAAa,IAAI,qBAAqB,CAAC;IACvC,YAAY,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAC;CACnD;AAED,MAAM,WAAW,sBAAsB;IACtC,CACC,mBAAmB,EAAE,mBAAmB,EACxC,kBAAkB,CAAC,EAAE,eAAe,EACpC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,eAAe,CAAC;CACnB"}
|
@@ -5,6 +5,7 @@ export interface Service extends CommitHandler {
|
|
5
5
|
getStore(): Store;
|
6
6
|
createStoreClone(): Store;
|
7
7
|
createWalletRepositoryBySender(publicKey: string): Promise<WalletRepository>;
|
8
|
-
|
8
|
+
export(height: number): Promise<void>;
|
9
|
+
restore(height: number): Promise<void>;
|
9
10
|
}
|
10
11
|
//# sourceMappingURL=service.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC7C,QAAQ,IAAI,KAAK,CAAC;IAClB,gBAAgB,IAAI,KAAK,CAAC;IAC1B,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7E,OAAO,CAAC,
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,MAAM,WAAW,OAAQ,SAAQ,aAAa;IAC7C,QAAQ,IAAI,KAAK,CAAC;IAClB,gBAAgB,IAAI,KAAK,CAAC;IAC1B,8BAA8B,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC7E,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC"}
|
@@ -1,8 +1,13 @@
|
|
1
1
|
import { Store } from "./store.js";
|
2
2
|
export interface Exporter {
|
3
|
-
export(store: Store): Promise<void>;
|
3
|
+
export(store: Store, path: string): Promise<void>;
|
4
4
|
}
|
5
5
|
export interface Importer {
|
6
|
-
import(
|
6
|
+
import(store: Store, path: string): Promise<void>;
|
7
|
+
}
|
8
|
+
export interface SnapshotService {
|
9
|
+
listSnapshots(): Promise<number[]>;
|
10
|
+
export(store: Store): Promise<void>;
|
11
|
+
import(height: number, store: Store): Promise<void>;
|
7
12
|
}
|
8
13
|
//# sourceMappingURL=snapshots.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,WAAW,QAAQ;IACxB,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"snapshots.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/snapshots.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,WAAW,QAAQ;IACxB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,QAAQ;IACxB,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,eAAe;IAC/B,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD"}
|
@@ -1,6 +1,11 @@
|
|
1
1
|
import { Block, Commit, CommitHandler } from "../crypto/index.js";
|
2
2
|
import { JsonObject } from "../types/index.js";
|
3
|
-
import {
|
3
|
+
import { StateRepositoryChange } from "./repository.js";
|
4
|
+
import { WalletRepository, WalletRepositoryChange } from "./wallets.js";
|
5
|
+
export type StoreChange = {
|
6
|
+
walletRepository: WalletRepositoryChange;
|
7
|
+
store: StateRepositoryChange;
|
8
|
+
};
|
4
9
|
export interface Store extends CommitHandler {
|
5
10
|
readonly walletRepository: WalletRepository;
|
6
11
|
getGenesisCommit(): Commit;
|
@@ -15,6 +20,8 @@ export interface Store extends CommitHandler {
|
|
15
20
|
commitChanges(): void;
|
16
21
|
toJson(): JsonObject;
|
17
22
|
fromJson(data: JsonObject): void;
|
23
|
+
changesToJson(): StoreChange;
|
24
|
+
applyChanges(changes: StoreChange): void;
|
18
25
|
}
|
19
26
|
export type StoreFactory = (originalStore?: Store) => Store;
|
20
27
|
//# 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;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,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;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAExE,MAAM,MAAM,WAAW,GAAG;IACzB,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,KAAK,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF,MAAM,WAAW,KAAM,SAAQ,aAAa;IAC3C,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAE5C,gBAAgB,IAAI,MAAM,CAAC;IAC3B,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,aAAa,IAAI,MAAM,CAAC;IACxB,YAAY,IAAI,KAAK,CAAC;IACtB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEjC,aAAa,IAAI,MAAM,CAAC;IAExB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC;IAChC,YAAY,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAE7C,aAAa,IAAI,IAAI,CAAC;IAEtB,MAAM,IAAI,UAAU,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IAEjC,aAAa,IAAI,WAAW,CAAC;IAC7B,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { BigNumber } from "@mainsail/utils";
|
2
2
|
import { JsonObject } from "type-fest";
|
3
3
|
import { BlockData, MultiSignatureAsset } from "../crypto/index.js";
|
4
|
-
import {
|
4
|
+
import { StateRepository, StateRepositoryChange } from "./repository.js";
|
5
5
|
export interface WalletIndex {
|
6
6
|
has(key: string): boolean;
|
7
7
|
get(key: string): Wallet | undefined;
|
@@ -20,7 +20,10 @@ export declare enum WalletIndexes {
|
|
20
20
|
Resignations = "resignations",
|
21
21
|
Validators = "validators"
|
22
22
|
}
|
23
|
-
export interface
|
23
|
+
export interface WalletChange extends StateRepositoryChange {
|
24
|
+
address: string;
|
25
|
+
}
|
26
|
+
export interface Wallet extends Omit<StateRepository, "fromJson" | "commitChanges" | "changesToJson"> {
|
24
27
|
getAddress(): string;
|
25
28
|
getPublicKey(): string | undefined;
|
26
29
|
setPublicKey(publicKey: string): void;
|
@@ -39,6 +42,7 @@ export interface Wallet extends Omit<Repository, "fromJson" | "commitChanges"> {
|
|
39
42
|
getOriginal(): Wallet;
|
40
43
|
fromJson(data: JsonObject): Wallet;
|
41
44
|
commitChanges(walletRepository: WalletRepository): void;
|
45
|
+
changesToJson(): WalletChange;
|
42
46
|
toString(): string;
|
43
47
|
}
|
44
48
|
export interface ValidatorWallet {
|
@@ -55,7 +59,7 @@ export interface ValidatorWallet {
|
|
55
59
|
isResigned(): boolean;
|
56
60
|
toString(): string;
|
57
61
|
}
|
58
|
-
export type WalletFactory = (address: string, walletRepository: WalletRepository) => Wallet;
|
62
|
+
export type WalletFactory = (address: string, walletRepository: WalletRepository, wallet?: Wallet) => Wallet;
|
59
63
|
export type ValidatorWalletFactory = (wallet: Wallet) => ValidatorWallet;
|
60
64
|
export interface WalletValidatorAttributes {
|
61
65
|
username: string;
|
@@ -68,6 +72,15 @@ export interface WalletValidatorAttributes {
|
|
68
72
|
export type WalletMultiSignatureAttributes = MultiSignatureAsset & {
|
69
73
|
legacy?: boolean;
|
70
74
|
};
|
75
|
+
export type WalletRepositoryChange = {
|
76
|
+
wallets: WalletChange[];
|
77
|
+
indexes: {
|
78
|
+
[index: string]: {
|
79
|
+
forgets: string[];
|
80
|
+
sets: Record<string, string>;
|
81
|
+
};
|
82
|
+
};
|
83
|
+
};
|
71
84
|
export interface WalletRepository {
|
72
85
|
allByAddress(): ReadonlyArray<Wallet>;
|
73
86
|
allByPublicKey(): ReadonlyArray<Wallet>;
|
@@ -88,6 +101,8 @@ export interface WalletRepository {
|
|
88
101
|
setDirtyWallet(wallet: Wallet): void;
|
89
102
|
getDirtyWallets(): IterableIterator<Wallet>;
|
90
103
|
commitChanges(): void;
|
104
|
+
changesToJson(): WalletRepositoryChange;
|
105
|
+
applyChanges(changes: WalletRepositoryChange): void;
|
91
106
|
}
|
92
107
|
export type WalletRepositoryFactory = (originalWalletRepository?: WalletRepository) => WalletRepository;
|
93
108
|
export type WalletRepositoryBySenderFactory = (originalWalletRepository: WalletRepository, publicKey: string) => Promise<WalletRepository>;
|
@@ -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;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,
|
1
|
+
{"version":3,"file":"wallets.d.ts","sourceRoot":"","sources":["../../../source/contracts/state/wallets.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../../source/contracts/state/wallets.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACxB,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,8CAA6B,CAAA;IAC7B,0CAAyB,CAAA;AAC1B,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;
|
1
|
+
{"version":3,"file":"wallets.js","sourceRoot":"","sources":["../../../source/contracts/state/wallets.ts"],"names":[],"mappings":"AAoBA,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACxB,wCAAuB,CAAA;IACvB,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,8CAA6B,CAAA;IAC7B,0CAAyB,CAAA;AAC1B,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAkHD,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACtB,mDAAO,CAAA;IACP,yDAAU,CAAA;IACV,+CAAK,CAAA;IACL,qDAAQ,CAAA;AACT,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { Dayjs } from "dayjs";
|
2
|
+
import { Transaction } from "../crypto/index.js";
|
3
|
+
export declare enum PeerProtocol {
|
4
|
+
Http = 0,
|
5
|
+
Https = 1
|
6
|
+
}
|
7
|
+
export interface PeerBroadcast {
|
8
|
+
ip: string;
|
9
|
+
port: number;
|
10
|
+
protocol: PeerProtocol;
|
11
|
+
}
|
12
|
+
export interface Peer {
|
13
|
+
readonly url: string;
|
14
|
+
readonly port: number;
|
15
|
+
readonly protocol: PeerProtocol;
|
16
|
+
readonly ip: string;
|
17
|
+
version: string | undefined;
|
18
|
+
latency: number | undefined;
|
19
|
+
lastPinged: Dayjs | undefined;
|
20
|
+
errorCount: number;
|
21
|
+
recentlyPinged(): boolean;
|
22
|
+
toBroadcast(): PeerBroadcast;
|
23
|
+
}
|
24
|
+
export type PeerFactory = (ip: string) => Peer;
|
25
|
+
export interface PeerRepository {
|
26
|
+
getPeers(): Peer[];
|
27
|
+
getPeer(ip: string): Peer;
|
28
|
+
setPeer(ip: string): void;
|
29
|
+
forgetPeer(ip: string): void;
|
30
|
+
hasPeer(ip: string): boolean;
|
31
|
+
}
|
32
|
+
export interface PeerCommunicator {
|
33
|
+
postTransactions(peer: Peer, transactions: Transaction[]): Promise<void>;
|
34
|
+
}
|
35
|
+
export interface Broadcaster {
|
36
|
+
broadcastTransactions(transactions: Transaction[]): Promise<void>;
|
37
|
+
}
|
38
|
+
//# sourceMappingURL=broadcaster.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"broadcaster.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/broadcaster.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAE9B,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,oBAAY,YAAY;IACvB,IAAI,IAAI;IACR,KAAK,IAAI;CACT;AAED,MAAM,WAAW,aAAa;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,IAAI;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5B,UAAU,EAAE,KAAK,GAAG,SAAS,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IAEnB,cAAc,IAAI,OAAO,CAAC;IAC1B,WAAW,IAAI,aAAa,CAAC;CAC7B;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;AAE/C,MAAM,WAAW,cAAc;IAC9B,QAAQ,IAAI,IAAI,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAChC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,WAAW;IAC3B,qBAAqB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"broadcaster.js","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/broadcaster.ts"],"names":[],"mappings":"AAIA,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACvB,+CAAQ,CAAA;IACR,iDAAS,CAAA;AACV,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
2
|
+
import { CommitHandler, Transaction } from "../crypto/index.js";
|
3
|
+
export interface Client extends CommitHandler {
|
4
|
+
setFailedTransactions(transactions: Transaction[]): void;
|
5
|
+
getTransactionBytes(): Promise<Buffer[]>;
|
6
|
+
listSnapshots(): Promise<number[]>;
|
7
|
+
importSnapshot(height: number): Promise<void>;
|
8
|
+
getStatus(): Promise<{
|
9
|
+
height: number;
|
10
|
+
version: string;
|
11
|
+
}>;
|
12
|
+
}
|
13
|
+
//# sourceMappingURL=client.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC5C,qBAAqB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACzD,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,SAAS,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/client.ts"],"names":[],"mappings":""}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
export * from "./
|
1
|
+
export * from "./broadcaster.js";
|
2
|
+
export * from "./client.js";
|
2
3
|
export * from "./dynamic-fee-matcher.js";
|
3
4
|
export * from "./expiration-service.js";
|
4
5
|
export * from "./mempool.js";
|
@@ -8,4 +9,5 @@ export * from "./sender-mempool.js";
|
|
8
9
|
export * from "./sender-state.js";
|
9
10
|
export * from "./service.js";
|
10
11
|
export * from "./storage.js";
|
12
|
+
export * from "./worker.js";
|
11
13
|
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
@@ -1,4 +1,5 @@
|
|
1
|
-
export * from "./
|
1
|
+
export * from "./broadcaster.js";
|
2
|
+
export * from "./client.js";
|
2
3
|
export * from "./dynamic-fee-matcher.js";
|
3
4
|
export * from "./expiration-service.js";
|
4
5
|
export * from "./mempool.js";
|
@@ -8,4 +9,5 @@ export * from "./sender-mempool.js";
|
|
8
9
|
export * from "./sender-state.js";
|
9
10
|
export * from "./service.js";
|
10
11
|
export * from "./storage.js";
|
12
|
+
export * from "./worker.js";
|
11
13
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,0BAA0B,CAAC;AACzC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Transaction } from "../crypto/
|
1
|
+
import { Transaction } from "../crypto/index.js";
|
2
2
|
import { SenderMempool } from "./sender-mempool.js";
|
3
3
|
export interface Mempool {
|
4
4
|
getSize(): number;
|
@@ -8,6 +8,7 @@ export interface Mempool {
|
|
8
8
|
addTransaction(transaction: Transaction): Promise<void>;
|
9
9
|
removeTransaction(senderPublicKey: string, id: string): Promise<Transaction[]>;
|
10
10
|
removeForgedTransaction(senderPublicKey: string, id: string): Promise<Transaction[]>;
|
11
|
+
fixInvalidStates(): Promise<Transaction[]>;
|
11
12
|
flush(): void;
|
12
13
|
}
|
13
14
|
//# 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,
|
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,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC;IACnD,gBAAgB,CAAC,eAAe,EAAE,MAAM,GAAG,aAAa,CAAC;IACzD,iBAAiB,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;IAE7C,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/E,uBAAuB,CAAC,eAAe,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAErF,gBAAgB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE3C,KAAK,IAAI,IAAI,CAAC;CACd"}
|
@@ -5,8 +5,8 @@ export interface SenderMempool {
|
|
5
5
|
getFromEarliest(): Iterable<Transaction>;
|
6
6
|
getFromLatest(): Iterable<Transaction>;
|
7
7
|
addTransaction(transaction: Transaction): Promise<void>;
|
8
|
-
removeTransaction(id: string):
|
9
|
-
removeForgedTransaction(id: string):
|
8
|
+
removeTransaction(id: string): Transaction[];
|
9
|
+
removeForgedTransaction(id: string): Transaction | undefined;
|
10
10
|
}
|
11
11
|
export type SenderMempoolFactory = (publicKey: 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,
|
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,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAAC;CAC7D;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC"}
|
@@ -2,6 +2,5 @@ import { Transaction } from "../crypto/transactions.js";
|
|
2
2
|
export interface SenderState {
|
3
3
|
configure(publicKey: string): Promise<SenderState>;
|
4
4
|
apply(transaction: Transaction): Promise<void>;
|
5
|
-
revert(transaction: Transaction): Promise<void>;
|
6
5
|
}
|
7
6
|
//# 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,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,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,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACnD,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C"}
|
@@ -1,11 +1,9 @@
|
|
1
|
-
import { Transaction } from "../crypto/
|
1
|
+
import { Block, 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
|
-
|
7
|
-
removeForgedTransaction(transaction: Transaction): Promise<void>;
|
8
|
-
cleanUp(): Promise<void>;
|
6
|
+
commit(block: Block, failedTransactionIds: string[]): Promise<void>;
|
9
7
|
flush(): Promise<void>;
|
10
8
|
}
|
11
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,WAAW,EAAE,MAAM,
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAExD,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,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
2
|
+
import { CommitHandler, Transaction } from "../crypto/index.js";
|
3
|
+
import { EventListener } from "../kernel/index.js";
|
4
|
+
import { EventCallback, Subprocess } from "../kernel/ipc.js";
|
5
|
+
import { StoreChange } from "../state/index.js";
|
6
|
+
import { KeyValuePair } from "../types/index.js";
|
7
|
+
export interface WorkerFlags extends KeyValuePair {
|
8
|
+
}
|
9
|
+
export interface WorkerScriptHandler {
|
10
|
+
boot(flags: WorkerFlags): Promise<void>;
|
11
|
+
getTransactions(): Promise<string[]>;
|
12
|
+
importSnapshot(height: number): Promise<void>;
|
13
|
+
commit(data: {
|
14
|
+
block: string;
|
15
|
+
failedTransactions: string[];
|
16
|
+
store: StoreChange;
|
17
|
+
}): Promise<void>;
|
18
|
+
setPeer(ip: string): Promise<void>;
|
19
|
+
forgetPeer(ip: string): Promise<void>;
|
20
|
+
start(): Promise<void>;
|
21
|
+
reloadWebhooks(): Promise<void>;
|
22
|
+
}
|
23
|
+
export type WorkerFactory = () => Worker;
|
24
|
+
export type WorkerSubprocess = Subprocess<WorkerScriptHandler>;
|
25
|
+
export type WorkerSubprocessFactory = () => WorkerSubprocess;
|
26
|
+
export interface Worker extends Omit<WorkerScriptHandler, "commit" | "getTransactions">, CommitHandler, EventListener {
|
27
|
+
getQueueSize(): number;
|
28
|
+
kill(): Promise<number>;
|
29
|
+
setFailedTransactions(transactions: Transaction[]): void;
|
30
|
+
getTransactionBytes(): Promise<Buffer[]>;
|
31
|
+
registerEventHandler(event: string, callback: EventCallback<any>): void;
|
32
|
+
}
|
33
|
+
//# sourceMappingURL=worker.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/worker.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,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,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,WAAW,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,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,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,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,qBAAqB,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACzD,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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../source/contracts/transaction-pool/worker.ts"],"names":[],"mappings":""}
|
@@ -1,5 +1,4 @@
|
|
1
1
|
import { MultiSignatureAsset, Transaction, TransactionConstructor, TransactionData } from "./crypto/index.js";
|
2
|
-
import { EventDispatcher } from "./kernel/events.js";
|
3
2
|
import { AttributeType, Wallet, WalletRepository } from "./state/index.js";
|
4
3
|
export type TransactionHandlerConstructor = new () => TransactionHandler;
|
5
4
|
export interface TransactionHandler {
|
@@ -7,7 +6,7 @@ export interface TransactionHandler {
|
|
7
6
|
throwIfCannotBeApplied(walletRepository: WalletRepository, transaction: Transaction, sender: Wallet): Promise<void>;
|
8
7
|
apply(walletRepository: WalletRepository, transaction: Transaction): Promise<void>;
|
9
8
|
applyToSender(walletRepository: WalletRepository, transaction: Transaction): Promise<void>;
|
10
|
-
emitEvents(transaction: Transaction
|
9
|
+
emitEvents(transaction: Transaction): void;
|
11
10
|
throwIfCannotEnterPool(walletRepository: WalletRepository, transaction: Transaction): Promise<void>;
|
12
11
|
verifySignatures(wallet: Wallet, transaction: TransactionData, multiSignature?: MultiSignatureAsset): Promise<boolean>;
|
13
12
|
getConstructor(): TransactionConstructor;
|
@@ -39,4 +38,8 @@ export interface TransactionTypeFactory {
|
|
39
38
|
create(data: TransactionData): Transaction;
|
40
39
|
get(type: number, typeGroup?: number, version?: number): TransactionConstructor;
|
41
40
|
}
|
41
|
+
export interface TransactionValidator {
|
42
|
+
validate(transaction: Transaction): Promise<void>;
|
43
|
+
}
|
44
|
+
export type TransactionValidatorFactory = () => TransactionValidator;
|
42
45
|
//# 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,
|
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,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE3E,MAAM,MAAM,6BAA6B,GAAG,UAAU,kBAAkB,CAAC;AAEzE,MAAM,WAAW,kBAAkB;IAClC,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEvF,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpH,KAAK,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnF,aAAa,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3F,UAAU,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IAE3C,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpG,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,gBAAgB,IAAI,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,aAAa,CAAA;KAAE,CAAC,CAAC;IAEzE,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhC,gBAAgB,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9F;AAED,MAAM,WAAW,0BAA0B;IAC1C,UAAU,IAAI,IAAI,CAAC;IAEnB,qBAAqB,IAAI,kBAAkB,EAAE,CAAC;IAE9C,0BAA0B,CAAC,YAAY,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,kBAAkB,CAAC;IAExG,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IAEtD,yBAAyB,CAAC,YAAY,EAAE,uBAAuB,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEhH,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;AAGD,MAAM,WAAW,uBAAuB;IAGvC,QAAQ,IAAI,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACtC,UAAU,CAAC,gBAAgB,EAAE,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,sBAAsB,CAAC,CAAC,OAAE;IAEhG,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,oBAAoB;IACpC,QAAQ,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClD;AAED,MAAM,MAAM,2BAA2B,GAAG,MAAM,oBAAoB,CAAC"}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
export interface Webhook {
|
2
|
+
id?: string;
|
3
|
+
token?: string;
|
4
|
+
event: string;
|
5
|
+
target: string;
|
6
|
+
enabled: boolean;
|
7
|
+
conditions: Array<{
|
8
|
+
key: string;
|
9
|
+
value: any;
|
10
|
+
condition: string;
|
11
|
+
}>;
|
12
|
+
}
|
13
|
+
export interface Database {
|
14
|
+
boot(): void;
|
15
|
+
restore(): void;
|
16
|
+
all(): Webhook[];
|
17
|
+
hasById(id: string): boolean;
|
18
|
+
findById(id: string): Webhook | undefined;
|
19
|
+
findByEvent(event: string): Webhook[];
|
20
|
+
create(data: Webhook): Webhook;
|
21
|
+
update(id: string, data: Webhook): Webhook | undefined;
|
22
|
+
destroy(id: string): Webhook | undefined;
|
23
|
+
}
|
24
|
+
//# sourceMappingURL=webhooks.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../source/contracts/webhooks.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,KAAK,CAAC;QACjB,GAAG,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,GAAG,CAAC;QACX,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACxB,IAAI,IAAI,IAAI,CAAC;IACb,OAAO,IAAI,IAAI,CAAC;IAChB,GAAG,IAAI,OAAO,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IAC1C,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;IACtC,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IAC/B,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACvD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACzC"}
|