whyrusleeping
b2d425b891
TEMP: accept miner address from cli
2019-08-16 12:39:13 -07:00
whyrusleeping
f7dc253669
(mostly) proper ticket generation
2019-08-16 12:39:13 -07:00
whyrusleeping
e9d1f3e7c9
WIP: base mining on power and VRFs
2019-08-16 12:39:12 -07:00
Łukasz Magiera
3327781e60
chain: Better ReadState
2019-08-16 04:33:59 +02:00
Łukasz Magiera
760ebc341f
storageminer: Split PaymentVerify into 2 methods
2019-08-15 22:57:14 +02:00
Łukasz Magiera
eb962940bd
deals: wire up PaymentVerify
2019-08-15 17:04:40 +02:00
Łukasz Magiera
4c5ffb185e
deals: setup payment channel for deals
2019-08-15 02:28:52 +02:00
Łukasz Magiera
baf4fbe309
sectorstore: Address review feetback
2019-08-15 00:46:15 +02:00
Łukasz Magiera
e6493afd46
move poller to sector store
2019-08-14 23:34:43 +02:00
Łukasz Magiera
399f91940b
Sector store
2019-08-14 22:27:32 +02:00
Whyrusleeping
e050d56594
Merge pull request #132 from filecoin-project/feat/paych-manager
...
Implement payment channel manager
2019-08-13 12:13:23 -07:00
whyrusleeping
47efaece60
address review feedback
2019-08-13 11:47:40 -07:00
Łukasz Magiera
3a7a21ee83
Merge pull request #134 from filecoin-project/feat/more-deals
...
More deals progress
2019-08-13 19:32:58 +02:00
whyrusleeping
12acee5242
add payment channel CLI and finish up commands
2019-08-12 21:27:54 -07:00
Łukasz Magiera
9733e1f011
deals: use GetWorkerAddr
2019-08-13 01:54:53 +02:00
whyrusleeping
c986267a2e
finish up initial api calls
2019-08-12 12:51:01 -07:00
whyrusleeping
ae34757e2a
pull chain call into its own method and fix paych module
2019-08-12 11:30:20 -07:00
whyrusleeping
6d52abcb2e
WIP: wiring up the payment channel manager to the api
2019-08-12 10:54:17 -07:00
whyrusleeping
6979c28e05
Add API interface for payment channels and a few tests
2019-08-12 10:12:51 -07:00
Łukasz Magiera
2229fae79d
pond: basic state inspection
2019-08-10 03:54:52 +02:00
Łukasz Magiera
f99c8e032d
pond: +1k button for addresses
2019-08-09 17:59:12 +02:00
whyrusleeping
28ef081d0e
use wallet has instead of list
2019-08-08 10:56:14 -07:00
whyrusleeping
959fe371b0
move storage miner keys to full node
2019-08-08 10:56:14 -07:00
Łukasz Magiera
b2c3434bcd
deals: Upstream bitswap changes
2019-08-08 19:16:41 +02:00
Łukasz Magiera
2114e8f555
deals: Show proposal cid in cli
2019-08-07 20:20:04 -07:00
Łukasz Magiera
3e2d04a540
deals: Use temp files for AddPiece
2019-08-07 20:02:05 -07:00
Łukasz Magiera
7423327b26
deals: Use real data in client
2019-08-07 20:01:51 -07:00
Łukasz Magiera
c79cb7bf31
deals: Almost sealing client data
2019-08-07 20:01:51 -07:00
Łukasz Magiera
b65041cac1
deals: Sending initial proposal works
2019-08-07 20:01:22 -07:00
Łukasz Magiera
549e7db12f
deals: Implement basic handshake logic
2019-08-07 20:01:22 -07:00
Łukasz Magiera
ad9e433232
Start implementing storage deals
2019-08-07 20:00:49 -07:00
whyrusleeping
ba0d648546
sealing garbage data into a sector that gets accepted by the chain works!
2019-08-07 18:16:58 -07:00
whyrusleeping
5c32725510
sector commitments make it all the way to the chain
2019-08-07 16:22:35 -07:00
whyrusleeping
b7c6333fef
implement sector commitments and proof verification
2019-08-06 23:35:57 -07:00
Łukasz Magiera
b1aee461ae
Merge pull request #110 from filecoin-project/feat/pond-storage-miners
...
Storage Miners in Pond
2019-08-06 18:11:51 +02:00
Whyrusleeping
3e768742a2
Merge pull request #113 from filecoin-project/feat/bls-spec-change-refactor
...
refactoring to accomodate the bls message changes in the spec
2019-08-05 12:09:01 -07:00
Whyrusleeping
c18711b3f9
Merge pull request #105 from filecoin-project/feat/multisig
...
Implement multisig
2019-08-05 12:08:32 -07:00
Jakub Sztandera
9577348422
Dual impl
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-08-03 13:26:35 +02:00
Łukasz Magiera
282654bf7b
pond: storage miner init
2019-08-02 16:15:14 +02:00
whyrusleeping
ff3433baa1
fix chain progression after restarting process
2019-08-01 23:46:14 -07:00
whyrusleeping
e5f4c75ca4
fix up the tests and cli
2019-08-01 20:51:34 -07:00
whyrusleeping
dc7c0fcabe
refactoring to accomodate the bls message changes in the spec
2019-08-01 18:19:22 -07:00
Łukasz Magiera
cfc3ac795d
Fix tests
2019-08-01 16:26:12 +02:00
Łukasz Magiera
542f645c28
gofmt
2019-08-01 16:20:50 +02:00
Łukasz Magiera
9ae450620a
Cleanup node/modules
2019-08-01 16:19:53 +02:00
Łukasz Magiera
6a4b9a6515
More separation for storage types in di modules
2019-08-01 16:14:16 +02:00
Łukasz Magiera
0f2334f513
chain sync: rebase 'fixes'
2019-07-31 10:43:14 -07:00
Łukasz Magiera
cdf0e0c858
chain: Test 'manual' sync
2019-07-31 10:43:13 -07:00
Łukasz Magiera
412a168151
chain: more work on chain sync, sync testing
2019-07-31 10:43:13 -07:00
Łukasz Magiera
9ef5e1266e
chain: Test basinc sync on generated chain
2019-07-31 10:43:13 -07:00
Łukasz Magiera
a656aea7fe
chain: WIP Generated node sync test
2019-07-31 10:43:13 -07:00
Łukasz Magiera
006fbe556f
Use correct ctx for SectorBuilder/Miner
2019-07-31 19:01:04 +02:00
Łukasz Magiera
d8bd222cb1
Optional tipset param for ChainCall
2019-07-31 18:54:28 +02:00
whyrusleeping
ee224e5b21
Implement 'storage miner' module, wire up a few bits it needs to start
2019-07-29 17:46:56 -07:00
whyrusleeping
259b38eb55
move sectorbuilder DI stuff to Online option
2019-07-29 12:11:55 -07:00
whyrusleeping
b83ff6b9dc
Wire up sector builder commands through the api
2019-07-29 12:08:47 -07:00
whyrusleeping
4fb4835b35
can we store it? YES WE CAN
2019-07-29 12:08:47 -07:00
whyrusleeping
f1432826d5
start integrating sector builder
2019-07-29 12:08:05 -07:00
whyrusleeping
0c67d66198
Make message wait work and use it for the storage-miner init
2019-07-29 11:58:30 -07:00
whyrusleeping
fa5e27d7b9
finish wiring up message wait
2019-07-29 11:57:48 -07:00
Whyrusleeping
54c78877bb
Merge pull request #104 from filecoin-project/feat/chain-notifs
...
expose head change notifications through api
2019-07-29 11:36:04 -07:00
whyrusleeping
03f653b88e
expose head change notifications through api
2019-07-28 12:19:33 -07:00
whyrusleeping
71baa5cbfe
implement chain generator
2019-07-26 13:47:29 -07:00
Jakub Sztandera
0e35240fe9
Wire in context to VMContext
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-26 21:01:02 +02:00
Łukasz Magiera
590b5f0299
Allocate funds in testing.MakeGenesis
2019-07-26 14:51:32 +02:00
whyrusleeping
78da356752
pull more things apart
2019-07-26 13:49:30 +02:00
Łukasz Magiera
12baee0e57
Use xerrors
2019-07-26 13:45:25 +02:00
whyrusleeping
2facece1f6
improve errors a bit
2019-07-25 20:26:29 -07:00
Łukasz Magiera
a565598b25
Merge remote-tracking branch 'origin/master' into feat/pond
2019-07-26 03:58:13 +02:00
whyrusleeping
e09ad3d65c
Refactor out more types into types package, and pull genesis block code into gen package
2019-07-25 16:35:47 -07:00
Łukasz Magiera
45ddd8e590
Don't pannic on walletDefAddr with no addrs
2019-07-26 01:26:40 +02:00
Łukasz Magiera
583f4e02cb
pond: ConnMgr: DisconAll, syncing
2019-07-25 23:52:16 +02:00
Whyrusleeping
663cdbe167
Merge pull request #74 from filecoin-project/feat/payment-channels
...
implement initial payment channel actor
2019-07-25 13:49:52 -07:00
Łukasz Magiera
7ae8f31218
Merge pull request #79 from filecoin-project/fix/hello-close
...
close stream after writing in hello
2019-07-25 13:51:58 +02:00
Łukasz Magiera
515fbd41c2
Use go-car for genesis file
2019-07-25 13:46:48 +02:00
Łukasz Magiera
99acdbade0
Better error message when genesis is missing
2019-07-25 01:32:44 +02:00
Łukasz Magiera
16c1dc5268
Fix imports in node_test
2019-07-25 01:25:33 +02:00
Łukasz Magiera
f2abb33933
Generate single genesis in tests
2019-07-25 01:23:06 +02:00
Łukasz Magiera
8d58c0a2fd
Only set genesis once
2019-07-25 01:12:22 +02:00
whyrusleeping
859471aeaf
implement initial payment channel actor
2019-07-24 15:45:12 -07:00
whyrusleeping
d06898e354
close stream after writing in hello
2019-07-24 15:16:47 -07:00
whyrusleeping
69d21d39a0
fix chainstore default option
2019-07-24 15:04:31 -07:00
whyrusleeping
4b76a06224
address code review
2019-07-24 14:46:54 -07:00
Łukasz Magiera
4fa9e45eb7
repo: check for config in exists
2019-07-24 13:20:00 +02:00
Łukasz Magiera
81d7c30fac
Couple lint fixes
2019-07-24 03:16:17 +02:00
Łukasz Magiera
33dc14c9f2
Move API implementations to a separate package
2019-07-24 03:13:56 +02:00
Łukasz Magiera
c6b4fadba1
Fix permissions after split and rebase
2019-07-24 03:10:26 +02:00
Łukasz Magiera
772dd6c549
Implement storage miner API in node
2019-07-24 02:58:31 +02:00
Łukasz Magiera
f0e807dabb
Fix jsonrpc client after splitting apis
2019-07-24 02:40:19 +02:00
Łukasz Magiera
eda03095b0
Separate API for storageminer
2019-07-24 02:09:34 +02:00
Łukasz Magiera
d0cbf02d36
Don't build full API in storage miner
2019-07-24 01:48:59 +02:00
Łukasz Magiera
8d529d1ae7
gofmt
2019-07-24 01:47:36 +02:00
Łukasz Magiera
4c8b028887
Return error form Repo.Exists
2019-07-24 01:47:36 +02:00
Łukasz Magiera
fe147ce90d
StorageMiner node type
2019-07-24 01:47:36 +02:00
Łukasz Magiera
b41763d8cf
Fix secret loading in tests
2019-07-24 00:38:52 +02:00
Łukasz Magiera
5be0ecadd1
gofmt
2019-07-24 00:38:52 +02:00
Łukasz Magiera
0aadddb6c8
auth: Load JWT secret once
2019-07-24 00:38:52 +02:00
Łukasz Magiera
3c9f88d043
auth: Actually generate API secrets
2019-07-24 00:38:52 +02:00
Łukasz Magiera
a88be8d1df
auth: Store token in repo
2019-07-24 00:38:52 +02:00
Łukasz Magiera
309ecc4052
auth: Put auth methods in API
2019-07-24 00:37:05 +02:00
Łukasz Magiera
fa4bf5178a
auth: Restructure for getting tokens form keystore
2019-07-24 00:37:05 +02:00
whyrusleeping
5fb59c06bd
add a getblock command
2019-07-22 17:54:27 -07:00
whyrusleeping
3f0c7f37f9
fix serialization issues
2019-07-20 16:37:38 -07:00
whyrusleeping
05b8158285
implement a few of the TODOs
2019-07-20 16:37:37 -07:00
whyrusleeping
9a7823ab84
WIP: create miner command, stubbed out methods
2019-07-20 16:37:37 -07:00
whyrusleeping
f0841203a3
add a command to check wallet balance
2019-07-18 13:26:04 -07:00
Jakub Sztandera
935e4e8da7
Move KeyStore into separate module
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-18 18:10:53 +02:00
Jakub Sztandera
5ee7ba8420
Fix tests
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-18 17:52:48 +02:00
Jakub Sztandera
710f87fdf4
Integrate keystore with chain/wallet
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-18 17:41:30 +02:00
Jakub Sztandera
cb9bf4200c
Move KeyStore into types
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-18 16:57:49 +02:00
Jakub Sztandera
902ea18686
Add keystore to the repo
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-18 16:01:39 +02:00
Whyrusleeping
35905cb3fe
Merge pull request #31 from filecoin-project/feat/wsrpc
...
JsonRPC over WebSockets
2019-07-16 09:36:32 -07:00
Łukasz Magiera
0fa47c6dfa
Lint fixes
2019-07-16 18:07:08 +02:00
Łukasz Magiera
d30d9a30bc
Fix test node setup
2019-07-16 18:02:51 +02:00
Łukasz Magiera
3fca70f112
Fix rpcBuilder in node_test
2019-07-15 18:28:00 +02:00
Łukasz Magiera
041598dbb6
Use extracted go-filestore
2019-07-15 17:08:18 +02:00
Łukasz Magiera
1f6629e978
Basic ClientListImports
2019-07-15 16:18:47 +02:00
Łukasz Magiera
cec4918cd9
Make client import actually work
2019-07-15 16:17:34 +02:00
Łukasz Magiera
97c61d4ce5
Client import
2019-07-15 16:17:34 +02:00
whyrusleeping
1a929d0f73
add wallet new and list commands
2019-07-12 17:41:32 -07:00
Jakub Sztandera
46a93d2448
Add more tests to repo
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-12 17:51:38 +02:00
Whyrusleeping
3f61488e3c
Merge pull request #17 from filecoin-project/feat/mining-1
...
Implement basic mining logic
2019-07-11 10:09:15 -07:00
Łukasz Magiera
cd16e3e597
Fix lint warnings
2019-07-11 13:52:07 +02:00
Łukasz Magiera
ffafc056ee
fsrepo: check dsErr before returning datastore
2019-07-11 13:48:21 +02:00
whyrusleeping
13ba6d938b
Remove unused variable
2019-07-10 21:56:39 -07:00
whyrusleeping
d381025ccc
Implement initial mining logic
2019-07-10 19:36:43 -07:00
whyrusleeping
e09a379c3b
add mpool pending command
2019-07-10 12:20:16 -07:00
Łukasz Magiera
1f97ad2c2e
Use repo libp2p identiny
2019-07-10 19:43:19 +02:00
Łukasz Magiera
e639670195
cli: use repo api endpoint
2019-07-10 19:28:49 +02:00
Łukasz Magiera
1f8c3f4145
repo: update Datastore, Init
2019-07-10 19:09:57 +02:00
Łukasz Magiera
ba456be68f
Merge remote-tracking branch 'origin/master' into feat/repo-daemon
2019-07-10 18:52:49 +02:00
Łukasz Magiera
14d515da3b
Wire up memrepo
2019-07-10 17:38:35 +02:00
Jakub Sztandera
ed54a30109
fix lint
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-10 17:14:29 +02:00
Jakub Sztandera
d484e4ffb9
Run tests and fix some bugs
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-10 17:11:10 +02:00
Jakub Sztandera
8cd484a8b0
Change lint options
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-10 15:42:18 +02:00
Jakub Sztandera
898454ca9a
Introduce fsrepo
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-10 15:42:18 +02:00
Łukasz Magiera
0aacd4048c
Merge pull request #12 from filecoin-project/test/net
...
Wire up tests
2019-07-10 15:10:17 +02:00
Łukasz Magiera
5ed695a84a
Expose some node settings
2019-07-10 15:06:04 +02:00
Łukasz Magiera
4797e6a473
Don't import mocknet in builder.go
2019-07-10 15:03:40 +02:00
Łukasz Magiera
fb62c6d442
Merge pull request #11 from filecoin-project/feat/some-chain-cli
...
Some chain CLI & API
2019-07-09 22:21:31 +02:00
Jakub Sztandera
34b6da7f0c
Make config fields public
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-09 21:38:05 +02:00
Jakub Sztandera
51f38e0542
Add missing comment
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-09 20:20:42 +02:00
Jakub Sztandera
9248b462dd
Fix spelling
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-09 20:19:54 +02:00
Jakub Sztandera
2b62bb6eab
Add tests
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-09 20:11:50 +02:00
Jakub Sztandera
195cf4f84d
Implement memrepo
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-09 19:50:48 +02:00
Łukasz Magiera
cb3554735a
Some chain CLI & API
2019-07-09 19:05:44 +02:00
Łukasz Magiera
0a9ef94da5
Test connecting two nodes
2019-07-09 19:03:36 +02:00
Łukasz Magiera
4ac8eba59e
Test API through jsonrpc
2019-07-09 18:36:40 +02:00
Łukasz Magiera
ba846e9bfb
Wire up node API to tests
2019-07-09 18:27:07 +02:00
Łukasz Magiera
271c268e28
disable natPortMap for now
2019-07-09 16:30:54 +02:00
Łukasz Magiera
5b04fbb505
config: default to random ports for now
2019-07-09 15:46:55 +02:00
Łukasz Magiera
7069d57432
Fix multiaddr json unmarshalling in NetAddrsListen
2019-07-09 15:35:32 +02:00
Jakub Sztandera
f9a34b3f9c
Cleanup lint
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-09 14:46:06 +02:00
Łukasz Magiera
d852b3f7ef
API struct instead of DI magic
2019-07-09 12:58:13 +02:00
Łukasz Magiera
797ef4e0c9
Actually implement NetConnect
2019-07-08 23:14:59 +02:00
Łukasz Magiera
9a244ebdf8
Addrs listen api
2019-07-08 23:01:15 +02:00
Łukasz Magiera
cdca2ff2c7
Some net commands / apis
2019-07-08 21:07:16 +02:00
Jakub Sztandera
4df601ea6a
Fix imports and range reference warnings
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-08 17:14:36 +02:00
Łukasz Magiera
d1eb9073d1
Pubsub for blocks/messages
2019-07-08 16:07:09 +02:00
Łukasz Magiera
e162b5395c
Construct enough to run hello
2019-07-08 15:36:53 +02:00
Łukasz Magiera
9299ba5fa6
Fix imports
2019-07-08 14:46:30 +02:00
Łukasz Magiera
4ef4721820
Move json/cbor rpc to lib
2019-07-08 13:02:02 +02:00
Łukasz Magiera
67902da2eb
Merge remote-tracking branch 'origin/master' into feat/f2-chain
2019-07-08 12:47:19 +02:00
Łukasz Magiera
2987d04efa
chain: Fix most build errors
2019-07-05 16:47:03 +02:00
Łukasz Magiera
65de28dbdb
Merge remote-tracking branch 'origin/feat/hello-parts' into feat/f2-chain
2019-07-05 16:35:23 +02:00
Jakub Sztandera
71dfa38032
Update linter
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-05 13:21:54 +02:00
Łukasz Magiera
fd7daf4a31
Fix import ordering
2019-07-05 12:06:28 +02:00
Łukasz Magiera
e78c378021
constructor: Add doc strings
2019-07-04 23:09:49 +02:00
Łukasz Magiera
de604065fb
Rewrite constructor to functional opts
2019-07-04 19:34:06 +02:00
Jakub Sztandera
adcd87abb0
Small cleanup
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-04 16:47:46 +02:00
Jakub Sztandera
f08263662f
Use config for listen addresses in libp2p
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-04 14:04:39 +02:00
Jakub Sztandera
808a1e9deb
Add skeleton of a config
...
Took way longer than it should had because I was researching exisiting
options.
As it turns out, nothing nice exists that would handle:
- Multiple overridiable config files
- Defaults provided in a struct
- Output in a struct
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-04 11:25:28 +02:00
Łukasz Magiera
2b906efa1e
hello: Invohe RunHello
2019-07-03 19:41:54 +02:00
Łukasz Magiera
fdde4db217
hello: Move from f2
2019-07-03 19:39:07 +02:00
Jakub Sztandera
217cb247a5
Move to Warnf
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-03 14:30:21 +02:00
Jakub Sztandera
2a350c6e82
Use zap
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-03 13:55:52 +02:00
Łukasz Magiera
0f8f61fc7b
more lint fixes
2019-07-02 19:45:03 +02:00
Łukasz Magiera
4fcdd4a400
Address some lint warnings
2019-07-02 15:05:43 +02:00
Łukasz Magiera
7fdd369283
Address review
2019-07-02 14:40:25 +02:00
Jakub Sztandera
5736ac1d9d
go fmt
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-01 23:11:34 +02:00
Łukasz Magiera
088c1e7860
Confgure PNet
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-01 23:11:33 +02:00
Łukasz Magiera
0779e7dc00
Build libp2p node
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-01 23:11:33 +02:00
Łukasz Magiera
63627e863e
Import libp2p modules
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-01 23:11:33 +02:00
Łukasz Magiera
795621ed27
Node builder structure
...
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2019-07-01 23:11:33 +02:00