@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.
Files changed (132) hide show
  1. package/distribution/constants/environment-variables.d.ts +2 -2
  2. package/distribution/constants/environment-variables.d.ts.map +1 -1
  3. package/distribution/constants/environment-variables.js +15 -4
  4. package/distribution/constants/environment-variables.js.map +1 -1
  5. package/distribution/contracts/{api.d.ts → api/api.d.ts} +3 -1
  6. package/distribution/contracts/api/api.d.ts.map +1 -0
  7. package/distribution/contracts/api/api.js.map +1 -0
  8. package/distribution/contracts/api/index.d.ts +3 -0
  9. package/distribution/contracts/api/index.d.ts.map +1 -0
  10. package/distribution/contracts/api/index.js +3 -0
  11. package/distribution/contracts/api/index.js.map +1 -0
  12. package/distribution/contracts/api/rpc.d.ts +39 -0
  13. package/distribution/contracts/api/rpc.d.ts.map +1 -0
  14. package/distribution/contracts/api/rpc.js +9 -0
  15. package/distribution/contracts/api/rpc.js.map +1 -0
  16. package/distribution/contracts/crypto/block.d.ts +1 -1
  17. package/distribution/contracts/crypto/block.d.ts.map +1 -1
  18. package/distribution/contracts/crypto/index.d.ts +1 -0
  19. package/distribution/contracts/crypto/index.d.ts.map +1 -1
  20. package/distribution/contracts/crypto/index.js +1 -0
  21. package/distribution/contracts/crypto/index.js.map +1 -1
  22. package/distribution/contracts/crypto/networks.d.ts +1 -0
  23. package/distribution/contracts/crypto/networks.d.ts.map +1 -1
  24. package/distribution/contracts/crypto/transactions.d.ts +5 -5
  25. package/distribution/contracts/crypto/transactions.d.ts.map +1 -1
  26. package/distribution/contracts/crypto/validator.d.ts +2 -1
  27. package/distribution/contracts/crypto/validator.d.ts.map +1 -1
  28. package/distribution/contracts/crypto/worker.d.ts +27 -0
  29. package/distribution/contracts/crypto/worker.d.ts.map +1 -0
  30. package/distribution/contracts/crypto/worker.js +2 -0
  31. package/distribution/contracts/crypto/worker.js.map +1 -0
  32. package/distribution/contracts/index.d.ts +2 -1
  33. package/distribution/contracts/index.d.ts.map +1 -1
  34. package/distribution/contracts/index.js +2 -1
  35. package/distribution/contracts/index.js.map +1 -1
  36. package/distribution/contracts/kernel/application.d.ts +1 -0
  37. package/distribution/contracts/kernel/application.d.ts.map +1 -1
  38. package/distribution/contracts/kernel/index.d.ts +1 -0
  39. package/distribution/contracts/kernel/index.d.ts.map +1 -1
  40. package/distribution/contracts/kernel/index.js +1 -0
  41. package/distribution/contracts/kernel/index.js.map +1 -1
  42. package/distribution/contracts/kernel/ipc.d.ts +35 -0
  43. package/distribution/contracts/kernel/ipc.d.ts.map +1 -0
  44. package/distribution/contracts/kernel/ipc.js +2 -0
  45. package/distribution/contracts/kernel/ipc.js.map +1 -0
  46. package/distribution/contracts/p2p/broadcaster.d.ts +1 -2
  47. package/distribution/contracts/p2p/broadcaster.d.ts.map +1 -1
  48. package/distribution/contracts/p2p/endpoints.d.ts +0 -9
  49. package/distribution/contracts/p2p/endpoints.d.ts.map +1 -1
  50. package/distribution/contracts/p2p/index.d.ts +1 -0
  51. package/distribution/contracts/p2p/index.d.ts.map +1 -1
  52. package/distribution/contracts/p2p/index.js +1 -0
  53. package/distribution/contracts/p2p/index.js.map +1 -1
  54. package/distribution/contracts/p2p/peer-communicator.d.ts +0 -1
  55. package/distribution/contracts/p2p/peer-communicator.d.ts.map +1 -1
  56. package/distribution/contracts/p2p/tx-pool-node.d.ts +10 -0
  57. package/distribution/contracts/p2p/tx-pool-node.d.ts.map +1 -0
  58. package/distribution/contracts/p2p/tx-pool-node.js +2 -0
  59. package/distribution/contracts/p2p/tx-pool-node.js.map +1 -0
  60. package/distribution/contracts/state/index.d.ts +0 -1
  61. package/distribution/contracts/state/index.d.ts.map +1 -1
  62. package/distribution/contracts/state/index.js +0 -1
  63. package/distribution/contracts/state/index.js.map +1 -1
  64. package/distribution/contracts/state/repository.d.ts +15 -3
  65. package/distribution/contracts/state/repository.d.ts.map +1 -1
  66. package/distribution/contracts/state/service.d.ts +2 -1
  67. package/distribution/contracts/state/service.d.ts.map +1 -1
  68. package/distribution/contracts/state/snapshots.d.ts +7 -2
  69. package/distribution/contracts/state/snapshots.d.ts.map +1 -1
  70. package/distribution/contracts/state/store.d.ts +8 -1
  71. package/distribution/contracts/state/store.d.ts.map +1 -1
  72. package/distribution/contracts/state/wallets.d.ts +18 -3
  73. package/distribution/contracts/state/wallets.d.ts.map +1 -1
  74. package/distribution/contracts/state/wallets.js.map +1 -1
  75. package/distribution/contracts/transaction-pool/broadcaster.d.ts +38 -0
  76. package/distribution/contracts/transaction-pool/broadcaster.d.ts.map +1 -0
  77. package/distribution/contracts/transaction-pool/broadcaster.js +6 -0
  78. package/distribution/contracts/transaction-pool/broadcaster.js.map +1 -0
  79. package/distribution/contracts/transaction-pool/client.d.ts +13 -0
  80. package/distribution/contracts/transaction-pool/client.d.ts.map +1 -0
  81. package/distribution/contracts/transaction-pool/client.js +2 -0
  82. package/distribution/contracts/transaction-pool/client.js.map +1 -0
  83. package/distribution/contracts/transaction-pool/index.d.ts +3 -1
  84. package/distribution/contracts/transaction-pool/index.d.ts.map +1 -1
  85. package/distribution/contracts/transaction-pool/index.js +3 -1
  86. package/distribution/contracts/transaction-pool/index.js.map +1 -1
  87. package/distribution/contracts/transaction-pool/mempool.d.ts +2 -1
  88. package/distribution/contracts/transaction-pool/mempool.d.ts.map +1 -1
  89. package/distribution/contracts/transaction-pool/sender-mempool.d.ts +2 -2
  90. package/distribution/contracts/transaction-pool/sender-mempool.d.ts.map +1 -1
  91. package/distribution/contracts/transaction-pool/sender-state.d.ts +0 -1
  92. package/distribution/contracts/transaction-pool/sender-state.d.ts.map +1 -1
  93. package/distribution/contracts/transaction-pool/service.d.ts +2 -4
  94. package/distribution/contracts/transaction-pool/service.d.ts.map +1 -1
  95. package/distribution/contracts/transaction-pool/worker.d.ts +33 -0
  96. package/distribution/contracts/transaction-pool/worker.d.ts.map +1 -0
  97. package/distribution/contracts/transaction-pool/worker.js +2 -0
  98. package/distribution/contracts/transaction-pool/worker.js.map +1 -0
  99. package/distribution/contracts/transactions.d.ts +5 -2
  100. package/distribution/contracts/transactions.d.ts.map +1 -1
  101. package/distribution/contracts/webhooks.d.ts +24 -0
  102. package/distribution/contracts/webhooks.d.ts.map +1 -0
  103. package/distribution/contracts/webhooks.js +2 -0
  104. package/distribution/contracts/webhooks.js.map +1 -0
  105. package/distribution/events.d.ts +82 -0
  106. package/distribution/events.d.ts.map +1 -0
  107. package/distribution/events.js +96 -0
  108. package/distribution/events.js.map +1 -0
  109. package/distribution/exceptions/processor.d.ts +3 -0
  110. package/distribution/exceptions/processor.d.ts.map +1 -1
  111. package/distribution/exceptions/processor.js +5 -0
  112. package/distribution/exceptions/processor.js.map +1 -1
  113. package/distribution/identifiers.d.ts +31 -5
  114. package/distribution/identifiers.d.ts.map +1 -1
  115. package/distribution/identifiers.js +32 -6
  116. package/distribution/identifiers.js.map +1 -1
  117. package/distribution/index.d.ts +1 -0
  118. package/distribution/index.d.ts.map +1 -1
  119. package/distribution/index.js +1 -0
  120. package/distribution/index.js.map +1 -1
  121. package/package.json +2 -2
  122. package/distribution/contracts/api.d.ts.map +0 -1
  123. package/distribution/contracts/api.js.map +0 -1
  124. package/distribution/contracts/state/transaction-validator.d.ts +0 -6
  125. package/distribution/contracts/state/transaction-validator.d.ts.map +0 -1
  126. package/distribution/contracts/state/transaction-validator.js +0 -2
  127. package/distribution/contracts/state/transaction-validator.js.map +0 -1
  128. package/distribution/contracts/transaction-pool/collator.d.ts +0 -5
  129. package/distribution/contracts/transaction-pool/collator.d.ts.map +0 -1
  130. package/distribution/contracts/transaction-pool/collator.js +0 -2
  131. package/distribution/contracts/transaction-pool/collator.js.map +0 -1
  132. /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"}
@@ -22,4 +22,5 @@ export * from "./peer-verifier.js";
22
22
  export * from "./server.js";
23
23
  export * from "./service.js";
24
24
  export * from "./state.js";
25
+ export * from "./tx-pool-node.js";
25
26
  //# sourceMappingURL=index.js.map
@@ -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,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,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"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=tx-pool-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-pool-node.js","sourceRoot":"","sources":["../../../source/contracts/p2p/tx-pool-node.ts"],"names":[],"mappings":""}
@@ -7,6 +7,5 @@ export * from "./snapshots.js";
7
7
  export * from "./state.js";
8
8
  export * from "./state-verifier.js";
9
9
  export * from "./store.js";
10
- export * from "./transaction-validator.js";
11
10
  export * from "./wallets.js";
12
11
  //# 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,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,4BAA4B,CAAC;AAC3C,cAAc,cAAc,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"}
@@ -7,6 +7,5 @@ export * from "./snapshots.js";
7
7
  export * from "./state.js";
8
8
  export * from "./state-verifier.js";
9
9
  export * from "./store.js";
10
- export * from "./transaction-validator.js";
11
10
  export * from "./wallets.js";
12
11
  //# sourceMappingURL=index.js.map
@@ -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,4BAA4B,CAAC;AAC3C,cAAc,cAAc,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
- export interface Repository {
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(commitChanges: Repository): void;
17
+ commitChanges(): void;
11
18
  toJson(): JsonObject;
12
- fromJson(data: JsonObject): Repository;
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;IAC1B,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,CAAC,aAAa,EAAE,UAAU,GAAG,IAAI,CAAC;IAE/C,MAAM,IAAI,UAAU,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAAC;CACvC"}
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
- restore(maxHeight: number): Promise<void>;
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,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C"}
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(maxHeight: number, store: Store): Promise<void>;
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;CACpC;AAED,MAAM,WAAW,QAAQ;IACxB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD"}
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 { WalletRepository } from "./wallets.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
+ };
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;AAEhD,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;CACjC;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,EAAE,KAAK,KAAK,KAAK,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 { Repository } from "./repository.js";
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 Wallet extends Omit<Repository, "fromJson" | "commitChanges"> {
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":"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"}
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;AA+FD,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"}
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,6 @@
1
+ export var PeerProtocol;
2
+ (function (PeerProtocol) {
3
+ PeerProtocol[PeerProtocol["Http"] = 0] = "Http";
4
+ PeerProtocol[PeerProtocol["Https"] = 1] = "Https";
5
+ })(PeerProtocol || (PeerProtocol = {}));
6
+ //# sourceMappingURL=broadcaster.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=client.js.map
@@ -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 "./collator.js";
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,eAAe,CAAC;AAC9B,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"}
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 "./collator.js";
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,eAAe,CAAC;AAC9B,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"}
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/transactions.js";
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,2BAA2B,CAAC;AACxD,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,KAAK,IAAI,IAAI,CAAC;CACd"}
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): Promise<Transaction[]>;
9
- removeForgedTransaction(id: string): Promise<Transaction[]>;
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,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IACtD,uBAAuB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;CAC5D;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,CAAC,CAAC"}
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;IAC/C,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD"}
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/transactions.js";
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
- removeTransaction(transaction: Transaction): Promise<void>;
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,2BAA2B,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,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB"}
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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=worker.js.map
@@ -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, emitter: EventDispatcher): void;
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,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,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,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI,CAAC;IAErE,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"}
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../source/contracts/transactions.ts"],"names":[],"mappings":"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"}
@@ -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"}