diff --git a/mysticeti.nim b/mysticeti.nim index 6a4d692..e8f26c7 100644 --- a/mysticeti.nim +++ b/mysticeti.nim @@ -59,7 +59,3 @@ export signing.`$` import ./mysticeti/dependencies/hashing export hashing.`$` - -import ./mysticeti/dependencies/transacting - -export transacting.Transaction diff --git a/mysticeti/blocks/blck.nim b/mysticeti/blocks/blck.nim index 805f463..abbd42f 100644 --- a/mysticeti/blocks/blck.nim +++ b/mysticeti/blocks/blck.nim @@ -8,7 +8,7 @@ type author: CommitteeMember round: uint64 parents: seq[BlockId[Dependencies]] - transactions: seq[Transaction[Dependencies]] + transactions: seq[Dependencies.Transaction] func calculateId(blck: var Block) = type Dependencies = Block.Dependencies @@ -21,7 +21,7 @@ func new*[Dependencies]( author: CommitteeMember, round: uint64, parents: seq[BlockId[Dependencies]], - transactions: seq[Transaction[Dependencies]] + transactions: seq[Dependencies.Transaction] ): auto = var blck = Block[Dependencies]( author: author, diff --git a/mysticeti/dependencies.nim b/mysticeti/dependencies.nim index a1df009..8ef98c5 100644 --- a/mysticeti/dependencies.nim +++ b/mysticeti/dependencies.nim @@ -1,14 +1,12 @@ import ./dependencies/hashing import ./dependencies/signing -import ./dependencies/transacting export hashing export signing -export transacting type Dependencies*[ Hashing, Signing, - Transacting, + Transaction, Serialization ] = object diff --git a/mysticeti/dependencies/transacting.nim b/mysticeti/dependencies/transacting.nim deleted file mode 100644 index cdb9d45..0000000 --- a/mysticeti/dependencies/transacting.nim +++ /dev/null @@ -1,3 +0,0 @@ -type - Transaction*[Dependencies] = Dependencies.Transacting.Transaction - Transacting*[Transaction] = object diff --git a/mysticeti/validator.nim b/mysticeti/validator.nim index f04f2d8..1a37c53 100644 --- a/mysticeti/validator.nim +++ b/mysticeti/validator.nim @@ -75,7 +75,7 @@ func addBlock(validator: Validator, signedBlock: SignedBlock) = validator.updateSkipped(signedBlock.blck) validator.updateCertified(signedBlock.blck) -proc propose*(validator: Validator, transactions: seq[Transaction]): auto = +proc propose*[Transaction](validator: Validator, transactions: seq[Transaction]): auto = type Block = blocks.Block[Validator.Dependencies] type SignedBlock = blocks.SignedBlock[Validator.Dependencies] let round = validator.rounds.latest diff --git a/tests/mysticeti/examples.nim b/tests/mysticeti/examples.nim index 6119dd5..05e674e 100644 --- a/tests/mysticeti/examples.nim +++ b/tests/mysticeti/examples.nim @@ -7,9 +7,6 @@ import mysticeti/dependencies proc example*(T: type SomeInteger): T = rand(T) -proc example*(T: type Transaction): T = - T.init(T.Dependencies.Transacting.Transaction.example) - proc example*(T: type Identity): T = T.init() @@ -33,8 +30,9 @@ proc example*( author = CommitteeMember.example, round = uint64.example ): T = + type Transaction = T.Dependencies.Transaction let parents = seq[BlockId[T.Dependencies]].example - let transactions = seq[Transaction[T.Dependencies]].example + let transactions = seq[Transaction].example T.new(author, round, parents, transactions) proc example*( diff --git a/tests/mysticeti/mocks.nim b/tests/mysticeti/mocks.nim index b4b0ef0..a8db004 100644 --- a/tests/mysticeti/mocks.nim +++ b/tests/mysticeti/mocks.nim @@ -1,17 +1,17 @@ import mysticeti/dependencies import ./mocks/signing import ./mocks/hashing -import ./mocks/transacting +import ./mocks/transaction import ./mocks/serialization export signing export hashing -export transacting +export transaction export serialization type MockDependencies* = Dependencies[ MockHashing, MockSigning, - MockTransacting, + MockTransaction, MockSerialization ] diff --git a/tests/mysticeti/mocks/serialization.nim b/tests/mysticeti/mocks/serialization.nim index e4821c6..4f4c3e3 100644 --- a/tests/mysticeti/mocks/serialization.nim +++ b/tests/mysticeti/mocks/serialization.nim @@ -1,6 +1,6 @@ import std/json import mysticeti -import ./transacting +import ./transaction type MockSerialization* = object @@ -14,7 +14,7 @@ proc `%`*(id: BlockId): JsonNode = "hash": $id.hash } -proc `%`*(transaction: MockTransacting.Transaction): JsonNode = +proc `%`*(transaction: MockTransaction): JsonNode = %*{ "nonce": transaction.nonce } diff --git a/tests/mysticeti/mocks/transacting.nim b/tests/mysticeti/mocks/transaction.nim similarity index 63% rename from tests/mysticeti/mocks/transacting.nim rename to tests/mysticeti/mocks/transaction.nim index e9c934e..e86ce8b 100644 --- a/tests/mysticeti/mocks/transacting.nim +++ b/tests/mysticeti/mocks/transaction.nim @@ -1,10 +1,8 @@ import std/random -import mysticeti/dependencies/transacting type - MockTransaction = object + MockTransaction* = object nonce: int - MockTransacting* = Transacting[MockTransaction] proc nonce*(transaction: MockTransaction): int = transaction.nonce diff --git a/tests/mysticeti/simulator.nim b/tests/mysticeti/simulator.nim index 7f5a9e3..00d47ed 100644 --- a/tests/mysticeti/simulator.nim +++ b/tests/mysticeti/simulator.nim @@ -5,7 +5,7 @@ import mysticeti/blocks type Validator = mysticeti.Validator[MockDependencies] type Committee = mysticeti.Committee[MockDependencies] type Identity = mysticeti.Identity[MockDependencies] -type Transaction = mysticeti.Transaction[MockDependencies] +type Transaction = MockDependencies.Transaction type SignedBlock = blocks.SignedBlock[MockDependencies] type NetworkSimulator* = object diff --git a/tests/mysticeti/testBlocks.nim b/tests/mysticeti/testBlocks.nim index e756fe6..c71246d 100644 --- a/tests/mysticeti/testBlocks.nim +++ b/tests/mysticeti/testBlocks.nim @@ -8,7 +8,7 @@ suite "Blocks": type Block = mysticeti.Block[MockDependencies] type BlockId = mysticeti.BlockId[MockDependencies] type Identity = mysticeti.Identity[MockDependencies] - type Transaction = mysticeti.Transaction[MockDependencies] + type Transaction = MockDependencies.Transaction type Hash = hashing.Hash[MockDependencies] type Serialization = MockDependencies.Serialization diff --git a/tests/mysticeti/validator/testValidator.nim b/tests/mysticeti/validator/testValidator.nim index bb69e6b..56bbeb6 100644 --- a/tests/mysticeti/validator/testValidator.nim +++ b/tests/mysticeti/validator/testValidator.nim @@ -4,7 +4,7 @@ import mysticeti type Validator = mysticeti.Validator[MockDependencies] type Identity = mysticeti.Identity[MockDependencies] type Committee = mysticeti.Committee[MockDependencies] -type Transaction = mysticeti.Transaction[MockDependencies] +type Transaction = MockDependencies.Transaction suite "Validator": diff --git a/tests/mysticeti/validator/testValidatorNetwork.nim b/tests/mysticeti/validator/testValidatorNetwork.nim index ea4424a..8dc8b02 100644 --- a/tests/mysticeti/validator/testValidatorNetwork.nim +++ b/tests/mysticeti/validator/testValidatorNetwork.nim @@ -10,7 +10,7 @@ suite "Validator Network": type Validator = mysticeti.Validator[MockDependencies] type Committee = mysticeti.Committee[MockDependencies] type Identity = mysticeti.Identity[MockDependencies] - type Transaction = mysticeti.Transaction[MockDependencies] + type Transaction = MockDependencies.Transaction type Block = blocks.Block[MockDependencies] type BlockId = blocks.BlockId[MockDependencies] type Hash = hashing.Hash[MockDependencies]