Commit Graph

156 Commits

Author SHA1 Message Date
Eduard S
04276a4d2a Merge pull request #241 from hermeznetwork/feature/statedb-tests-up
ProcessTxs fees collct update & tests, and other:
2020-10-30 14:22:52 +01:00
laisolizq
aa6cb6f818 API add bids endpoint 2020-10-28 18:11:52 +01:00
arnaucube
2338b6b90b ProcessTxs fees collct update & tests, and other:
- Update StateDB ProcessTxs fees collection
- Update ProcessTxs tests to last StateDB & Til changes
- Til Blockchain L2Txs remove Nonce generation, update tests accordingly
- Update Til Set to test fees
2020-10-28 17:21:12 +01:00
Eduard S
90db8a1106 Merge pull request #236 from hermeznetwork/refactor/api-txs
Refactor/api txs
2020-10-28 14:48:44 +01:00
Eduard S
4eb2972b1b Add collectedFees in TxProcessor, update sync test
- In Synchronizer test, test all tx types
2020-10-28 14:24:14 +01:00
Arnau B
a329d894d2 Refactor api txs 2020-10-28 12:16:35 +01:00
laisolizq
decc4996ee Merge pull request #235 from hermeznetwork/feature/api-coordinator-refactor
API Coordinator Refactor
2020-10-28 10:20:44 +01:00
Eduard S
558de2737e Test L2Txs, ExitTree in synchronizer 2020-10-27 17:59:18 +01:00
ToniRamirezM
b521a77fc5 API Coordinator Refactor 2020-10-27 17:44:22 +01:00
arnaucube
1203ab3865 TxSelector include L1CoordinatorTxs in selections 2020-10-27 17:25:41 +01:00
arnaucube
aaa71a6b11 StateDB store Idxs with TokenID at the db-key 2020-10-27 17:24:10 +01:00
Eduard S
d6d1a9c898 Merge pull request #231 from hermeznetwork/feature/statedb-createdaccounts
ProcessTxs return an array of created accounts
2020-10-27 13:51:45 +01:00
arnaucube
e09092732e Group ProcessTxs output 2020-10-27 13:48:07 +01:00
laisolizq
bc34f3456b API Update tokens endpoint 2020-10-27 13:23:01 +01:00
arnaucube
0ff3fb5ae7 ProcessTxs return an array of created accounts 2020-10-27 12:50:16 +01:00
a_bennassar
b320069e75 Merge pull request #229 from hermeznetwork/feature/api-getstate
Add struct get state endpoint
2020-10-27 12:30:40 +01:00
laisolizq
82ee7c6aa7 Add struct get state endpoint 2020-10-27 12:27:04 +01:00
arnaucube
8f24aa93c9 Add ProcessTxs send fees to Coordinator accounts 2020-10-27 10:28:32 +01:00
Eduard S
b5222303c2 Update Synchroinzer and tests
- Test L1UserTxs in Synchronizer
- Test Batches in Synchronizer
- Add last_idx in `TABLE batch` in HistoryDB
- Minor updates in til to satisfy blockchain constraints
2020-10-26 16:22:40 +01:00
Arnau B
28c0164525 Impl api get batch(es) 2020-10-26 12:42:05 +01:00
Arnau B
7c8f380637 Add apitypes to avoid parsing from/to DB 2020-10-26 12:41:55 +01:00
Eduard S
0e5aad4767 Merge pull request #219 from hermeznetwork/feature/api-account-creation
Impl account creation auth endpoints
2020-10-26 11:22:32 +01:00
arnaucube
1e71d7f19e Add fees subtraction on TxProcessors 2020-10-23 18:13:12 +02:00
Arnau B
ede6c33a18 Impl account creation auth endpoints 2020-10-23 13:05:20 +02:00
arnaucube
0ac6c0ecbb Add TxTypeTransferToEthAddr&ToBJJ to StateDB & Til
Add TxTypeTransferToEthAddr&ToBJJ to StateDB & Til
resolves #203, resolves #209
2020-10-23 11:42:39 +02:00
Eduard S
4dbfedee49 In til, process L1UserTxs when defined, not in batch 2020-10-22 16:13:57 +02:00
Eduard S
827e917fa0 Update missing parts, improve til, and more
- Node
	- Updated configuration to initialize the interface to all the smart
	  contracts
- Common
	- Moved BlockData and BatchData types to common so that they can be
	  shared among: historydb, til and synchronizer
	- Remove hash.go (it was never used)
	- Remove slot.go (it was never used)
	- Remove smartcontractparams.go (it was never used, and appropriate
	  structs are defined in `eth/`)
	- Comment state / status method until requirements of this method are
	  properly defined, and move it to Synchronizer
- Synchronizer
	- Simplify `Sync` routine to only sync one block per call, and return
	  useful information.
	- Use BlockData and BatchData from common
	- Check that events belong to the expected block hash
	- In L1Batch, query L1UserTxs from HistoryDB
	- Fill ERC20 token information
	- Test AddTokens with test.Client
- HistryDB
	- Use BlockData and BatchData from common
	- Add `GetAllTokens` method
	- Uncomment and update GetL1UserTxs (with corresponding tests)
- Til
	- Rename all instances of RegisterToken to AddToken (to follow the smart
	  contract implementation naming)
	- Use BlockData and BatchData from common
		- Move testL1CoordinatorTxs and testL2Txs to a separate struct
		  from BatchData in Context
	- Start Context with BatchNum = 1 (which the protocol defines to be the
	  first batchNum)
	- In every Batch, set StateRoot and ExitRoot to a non-nil big.Int
	  (zero).
	- In all L1Txs, if LoadAmount is not used, set it to 0; if Amount is not
	  used, set it to 0; so that no *big.Int is nil.
	- In L1UserTx, don't set BatchNum, because when L1UserTxs are created
	  and obtained by the synchronizer, the BatchNum is not known yet (it's
	  a synchronizer job to set it)
	- In L1UserTxs, set `UserOrigin` and set `ToForgeL1TxsNum`.
2020-10-22 15:20:51 +02:00
Eduard S
24bca9e3b0 Merge pull request #216 from hermeznetwork/feature/batch-total-fee
Calulate total collected batch fee and fix merkleproof api format
2020-10-22 14:28:49 +02:00
ToniRamirezM
f314498a26 Coordinators methods for API 2020-10-22 13:29:38 +02:00
Arnau B
f77ea04c2e Calulate total collected batch fee and fix merkleproof api format 2020-10-22 12:59:15 +02:00
Arnau B
006bbf3321 Implement tx pool endpoints 2020-10-21 16:34:54 +02:00
arnaucube
265bdf23e3 Rename Transakcio to Til for a easier usage
Rename Transakcio to Til for a easier usage, also change til.TestContext
to til.Context, and til.NewTestContext to til.NewContext.
2020-10-21 15:17:22 +02:00
arnau
6a8b454368 Merge pull request #211 from hermeznetwork/feature/update-general
Feature/update general
2020-10-21 13:06:09 +02:00
Eduard S
54562c0367 Implement CalcFeeAmount, Resolve #140 2020-10-21 12:25:15 +02:00
arnau
edb466c996 Merge pull request #208 from hermeznetwork/feature/debugapi
Extend statedb and use prefixes, add debugapi
2020-10-21 11:39:42 +02:00
Eduard S
4d90cd9a02 Merge pull request #207 from hermeznetwork/feature/tkcio-l1queues
Add L1UserTxs queues system to Transakcio
2020-10-20 17:48:48 +02:00
arnaucube
e89f89102c Add L1 Queues system for tx generation in Trnskcio 2020-10-20 17:43:57 +02:00
Eduard S
44c70dfbcb Replace cp -r in StateDB by checkpoints, Resolve #93 2020-10-20 14:52:46 +02:00
Eduard S
88ddbbcddc Delete tmp folders from tests, Resolve #105 2020-10-20 13:13:10 +02:00
Eduard S
96ceb014bf Implement an eficient memory storage, Resolve #120 2020-10-20 13:13:05 +02:00
Eduard S
6afbda5302 Extend statedb and use prefixes, add debugapi
In statedb:
- Store all values using prefixes for keys to allow iteration
- Add methods MTGetRoot, GetAccounts

Implement debugapi, an http server with debugging endpoints:
- debugAPI.GET("sdb/batchnum", a.handleCurrentBatch)
- debugAPI.GET("sdb/mtroot", a.handleMTRoot)
- debugAPI.GET("sdb/accounts", a.handleAccounts)
- debugAPI.GET("sdb/accounts/:Idx", a.handleAccount)
2020-10-19 13:53:39 +02:00
a_bennassar
eb54162fb8 Merge pull request #204 from hermeznetwork/feature/api-gettokens
Add get tokens endpoint
2020-10-19 11:20:41 +02:00
laisolizq
043710112d Add get tokens endpoint 2020-10-19 10:14:18 +02:00
Eduard S
b6ebbbaf95 Merge pull request #199 from hermeznetwork/feature/tkcio-tokenregister
Add transakcio Token Register instructions parser
2020-10-15 18:34:34 +02:00
arnaucube
a6006ebde7 Add transakcio Token Register instructions parser 2020-10-15 18:06:11 +02:00
a_bennassar
98255b99be Merge pull request #200 from hermeznetwork/feature/api-gettoken
Add get token endpoint
2020-10-15 15:14:18 +02:00
laisolizq
63a4f3c8b6 Add get token endpoint 2020-10-15 14:25:04 +02:00
arnaucube
d7a1ba19b9 Fix PoolL2Tx.RqTxCompressedData 2020-10-14 18:30:58 +02:00
arnaucube
17ff917a20 Add transakcio coordinator tx instruction feature
Transakcio:
- Transaction generation to fail when Transfer to an account that don't exist (not created yet)
- Add CreateAccountDepositCoordinator instruction feature
- Updated lang.go instruction type parser approach for more simplicity of code
- Remove `*testing.T` from transactions generation methods, use `log.Fatal` instead
2020-10-14 17:17:28 +02:00
Eduard S
250f1aa119 Merge pull request #194 from hermeznetwork/feature/txsel-noncesorting0
Add TxSel Nonce sort. Fix surplus from refactors
2020-10-14 11:45:46 +02:00