Compare commits
	
		
			No commits in common. "30eef43aa5c4ba5eddc5b16a38d8862f7fb1cc27" and "2b6151d12fdbb21bd9069e93c6af8b8f95fd63e3" have entirely different histories.
		
	
	
		
			30eef43aa5
			...
			2b6151d12f
		
	
		
							
								
								
									
										686
									
								
								saved_data.yaml
									
									
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										686
									
								
								saved_data.yaml
									
									
									
									
									
								
							| @ -1,12 +1,80 @@ | |||||||
|  | # SPDX-License-Identifier: Apache-2.0 | ||||||
|  | 
 | ||||||
| accounts: | accounts: | ||||||
|   fY3NNjvFTeR1FBh5nXV3ujX7zZqrm3eBUWGEiG75TK1: |   DXXkYSnhP3ijsHYxkedcuMomEyc122WaAbkDX7SaGuUS: | ||||||
|     balance: 1000000000 |     balance: 20293420000 | ||||||
|     tmp_locked: 0 |     tmp_locked: 0 | ||||||
|     kicked_for: [] |     kicked_for: [] | ||||||
|     last_kick: 1970-01-01T00:00:00Z |     last_kick: 1970-01-01T00:00:00Z | ||||||
|     banned_by: [] |     banned_by: [] | ||||||
|   FBMWVqME3t1i4R6zWyDQGUuiTeruZ1TxLhTmhaEcFypZ: |   FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL: | ||||||
|     balance: 181560160000 |     balance: 25949200000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   Cnkvn3WuHYfTzh1YK1TAv2VD25sNvstJNnQtxjcdQSL7: | ||||||
|  |     balance: 4794480000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS: | ||||||
|  |     balance: 4672207240000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   E3bgXsWvgichXeC6AqULJCZDp7FbEdTxBD67UaYVWf9y: | ||||||
|  |     balance: 21121600000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   HQyGWpiteHbxjszngZvmiX7ZFZAmF6nFjEraBa1M6bbM: | ||||||
|  |     balance: 979410300000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   H21Shi4iE7vgfjWEQNvzmpmBMJSaiZ17PYUcdNoAoKNc: | ||||||
|  |     balance: 976000000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   45Pyv9hRfub43NyRrYv95MhZs1Wrm8sj3RhBvA3F1Bvr: | ||||||
|  |     balance: 1670441080000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   49JBVzmgsQbUURHzAWax2gxo6jmukqbEQzP97YeeNQyu: | ||||||
|  |     balance: 1076960680000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB: | ||||||
|  |     balance: 3271040000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK: | ||||||
|  |     balance: 554454460000 | ||||||
|  |     tmp_locked: 547200000 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   3BNggj8ZTsoSjfAGdPfmcU2Gobm2qcTEBg9iHXEUPe1t: | ||||||
|  |     balance: 9978460000 | ||||||
|  |     tmp_locked: 0 | ||||||
|  |     kicked_for: [] | ||||||
|  |     last_kick: 1970-01-01T00:00:00Z | ||||||
|  |     banned_by: [] | ||||||
|  |   B981xPHmHthfKr15J9uJ64qd9zt2KsdiEuDRR7UUCGWi: | ||||||
|  |     balance: 99980200000 | ||||||
|     tmp_locked: 0 |     tmp_locked: 0 | ||||||
|     kicked_for: [] |     kicked_for: [] | ||||||
|     last_kick: 1970-01-01T00:00:00Z |     last_kick: 1970-01-01T00:00:00Z | ||||||
| @ -23,316 +91,352 @@ accounts: | |||||||
|     kicked_for: [] |     kicked_for: [] | ||||||
|     last_kick: 1970-01-01T00:00:00Z |     last_kick: 1970-01-01T00:00:00Z | ||||||
|     banned_by: [] |     banned_by: [] | ||||||
|   49JBVzmgsQbUURHzAWax2gxo6jmukqbEQzP97YeeNQyu: |   fY3NNjvFTeR1FBh5nXV3ujX7zZqrm3eBUWGEiG75TK1: | ||||||
|     balance: 1076960680000 |     balance: 1000000000 | ||||||
|     tmp_locked: 0 |     tmp_locked: 0 | ||||||
|     kicked_for: [] |     kicked_for: [] | ||||||
|     last_kick: 1970-01-01T00:00:00Z |     last_kick: 1970-01-01T00:00:00Z | ||||||
|     banned_by: [] |     banned_by: [] | ||||||
|   HQyGWpiteHbxjszngZvmiX7ZFZAmF6nFjEraBa1M6bbM: |   FBMWVqME3t1i4R6zWyDQGUuiTeruZ1TxLhTmhaEcFypZ: | ||||||
|     balance: 979410300000 |     balance: 181560160000 | ||||||
|     tmp_locked: 0 |     tmp_locked: 0 | ||||||
|     kicked_for: [] |     kicked_for: [] | ||||||
|     last_kick: 1970-01-01T00:00:00Z |     last_kick: 1970-01-01T00:00:00Z | ||||||
|     banned_by: [] |     banned_by: [] | ||||||
|   E3bgXsWvgichXeC6AqULJCZDp7FbEdTxBD67UaYVWf9y: |   DwfL5iFu32xh2YMCUxg63oEAThLRqehDAumiP9q6zuuX: | ||||||
|     balance: 21121600000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL: |  | ||||||
|     balance: 1156240000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   45Pyv9hRfub43NyRrYv95MhZs1Wrm8sj3RhBvA3F1Bvr: |  | ||||||
|     balance: 933585660000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   H21Shi4iE7vgfjWEQNvzmpmBMJSaiZ17PYUcdNoAoKNc: |  | ||||||
|     balance: 109066280000 |  | ||||||
|     tmp_locked: 453600000 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK: |  | ||||||
|     balance: 2565079420000 |  | ||||||
|     tmp_locked: 547200000 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB: |  | ||||||
|     balance: 7063640000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS: |  | ||||||
|     balance: 13535509680000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   E27C967A84DEAA3339B4D57C1A7321E4906772244BBECCE25356D0EA6F851086: |  | ||||||
|     balance: 100000000000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   DwfL5iFu32xh2YMCUxg63OeaThLRqehDAumiP9q6zuuX: |  | ||||||
|     balance: 74660380000 |     balance: 74660380000 | ||||||
|     tmp_locked: 0 |     tmp_locked: 0 | ||||||
|     kicked_for: [] |     kicked_for: [] | ||||||
|     last_kick: 1970-01-01T00:00:00Z |     last_kick: 1970-01-01T00:00:00Z | ||||||
|     banned_by: [] |     banned_by: [] | ||||||
|   DXXkYSnhP3ijsHYxkedcuMomEyc122WaAbkDX7SaGuUS: |  | ||||||
|     balance: 20293420000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   Bb5Xfkk4fc5i4GiTEgChwMb1ToWDQ5uzGtgD6yKTQYAy: |  | ||||||
|     balance: 99979600000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   5hx2f3odEx6sXqCY6FEAv6bBm3BXdhJ97G6X7uScsLAj: |  | ||||||
|     balance: 94473640000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   3BNggj8ZTsoSjfAGdPfmcU2Gobm2qcTEBg9iHXEUPe1t: |  | ||||||
|     balance: 9978460000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   B981xPHmHthfKr15J9uJ64qd9zt2KsdiEuDRR7UUCGWi: |  | ||||||
|     balance: 99980200000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
|   Cnkvn3WuHYfTzh1YK1TAv2VD25sNvstJNnQtxjcdQSL7: |  | ||||||
|     balance: 11021340000 |  | ||||||
|     tmp_locked: 0 |  | ||||||
|     kicked_for: [] |  | ||||||
|     last_kick: 1970-01-01T00:00:00Z |  | ||||||
|     banned_by: [] |  | ||||||
| operators: | operators: | ||||||
|   x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK: |  | ||||||
|     escrow: 5489633280000 |  | ||||||
|     email: gheo@detee.ltd |  | ||||||
|     banned_users: [] |  | ||||||
|     vm_nodes: |  | ||||||
|     - 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f |  | ||||||
|     - 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 |  | ||||||
|     app_nodes: [] |  | ||||||
|   BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS: |   BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS: | ||||||
|     escrow: 5091906400000 |     escrow: 5096692000000 | ||||||
|     email: first_on_detee@proton.me |     email: first_on_detee@proton.me | ||||||
|     banned_users: [] |     banned_users: [] | ||||||
|     vm_nodes: |     vm_nodes: | ||||||
|     - DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb |       - HiyMp21zaBVbRCjDsD5hEjQnHeHv4e1gpUR6pVfHTKqv | ||||||
|     - 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 |       - 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 | ||||||
|     - Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu |       - Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu | ||||||
|  |       - 4QbUXDM915RUFnHm3NiysLXFLk1WRGZvABwLNzx4tTEW | ||||||
|  |       - DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb | ||||||
|  |     app_nodes: [] | ||||||
|  |   x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK: | ||||||
|  |     escrow: 5499700480000 | ||||||
|  |     email: gheo@detee.ltd | ||||||
|  |     banned_users: [] | ||||||
|  |     vm_nodes: | ||||||
|  |       - 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f | ||||||
|  |       - 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 | ||||||
|     app_nodes: [] |     app_nodes: [] | ||||||
|   7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB: |   7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB: | ||||||
|     escrow: 5500000000000 |     escrow: 888888888899999 | ||||||
|     email: nmohammed@detee.ltd |     email: "" | ||||||
|     banned_users: [] |     banned_users: [] | ||||||
|     vm_nodes: [] |     vm_nodes: [] | ||||||
|     app_nodes: |     app_nodes: | ||||||
|     - BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg |       - BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg | ||||||
| vm_nodes: | vm_nodes: | ||||||
| - public_key: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu |   - public_key: 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 | ||||||
|   operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS |     operator_wallet: x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK | ||||||
|   country: FR |     country: GB | ||||||
|   region: Île-de-France |     region: England | ||||||
|   city: Paris |     city: London | ||||||
|   ip: 156.146.63.215 |     ip: 173.234.17.2 | ||||||
|   avail_mem_mb: 117000 |     avail_mem_mb: 26000 | ||||||
|   avail_vcpus: 40 |     avail_vcpus: 28 | ||||||
|   avail_storage_gbs: 410 |     avail_storage_gbs: 680 | ||||||
|   avail_ipv4: 2 |     avail_ipv4: 2 | ||||||
|   avail_ipv6: 0 |     avail_ipv6: 65516 | ||||||
|   avail_ports: 20000 |     avail_ports: 19999 | ||||||
|   max_ports_per_vm: 5 |     max_ports_per_vm: 5 | ||||||
|   price: 20000 |     price: 20000 | ||||||
|   reports: {} |     reports: {} | ||||||
|   offline_minutes: 0 |     offline_minutes: 0 | ||||||
| - public_key: 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 |   - public_key: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu | ||||||
|   operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS |     operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS | ||||||
|   country: US |     country: FR | ||||||
|   region: California |     region: Île-de-France | ||||||
|   city: San Jose |     city: Paris | ||||||
|   ip: 149.36.48.99 |     ip: 156.146.63.215 | ||||||
|   avail_mem_mb: 121000 |     avail_mem_mb: 123000 | ||||||
|   avail_vcpus: 42 |     avail_vcpus: 46 | ||||||
|   avail_storage_gbs: 400 |     avail_storage_gbs: 440 | ||||||
|   avail_ipv4: 23 |     avail_ipv4: 2 | ||||||
|   avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|   avail_ports: 20000 |     avail_ports: 20000 | ||||||
|   max_ports_per_vm: 5 |     max_ports_per_vm: 5 | ||||||
|   price: 20000 |     price: 20000 | ||||||
|   reports: {} |     reports: {} | ||||||
|   offline_minutes: 0 |     offline_minutes: 0 | ||||||
| - public_key: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb |   - public_key: 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f | ||||||
|   operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS |     operator_wallet: x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK | ||||||
|   country: CA |     country: CA | ||||||
|   region: British Columbia |     region: Quebec | ||||||
|   city: Vancouver |     city: Montréal | ||||||
|   ip: 149.22.95.1 |     ip: 184.107.169.199 | ||||||
|   avail_mem_mb: 106400 |     avail_mem_mb: 30000 | ||||||
|   avail_vcpus: 42 |     avail_vcpus: 31 | ||||||
|   avail_storage_gbs: 400 |     avail_storage_gbs: 700 | ||||||
|   avail_ipv4: 25 |     avail_ipv4: 0 | ||||||
|   avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|   avail_ports: 19999 |     avail_ports: 20000 | ||||||
|   max_ports_per_vm: 5 |     max_ports_per_vm: 5 | ||||||
|   price: 20000 |     price: 18000 | ||||||
|   reports: {} |     reports: {} | ||||||
|   offline_minutes: 0 |     offline_minutes: 0 | ||||||
| - public_key: 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f |   - public_key: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb | ||||||
|   operator_wallet: x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK |     operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS | ||||||
|   country: CA |     country: CA | ||||||
|   region: Quebec |     region: British Columbia | ||||||
|   city: Montréal |     city: Vancouver | ||||||
|   ip: 184.107.169.199 |     ip: 149.22.95.1 | ||||||
|   avail_mem_mb: 29000 |     avail_mem_mb: 109000 | ||||||
|   avail_vcpus: 30 |     avail_vcpus: 45 | ||||||
|   avail_storage_gbs: 700 |     avail_storage_gbs: 400 | ||||||
|   avail_ipv4: 0 |     avail_ipv4: 25 | ||||||
|   avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|   avail_ports: 19999 |     avail_ports: 20000 | ||||||
|   max_ports_per_vm: 5 |     max_ports_per_vm: 5 | ||||||
|   price: 18000 |     price: 20000 | ||||||
|   reports: {} |     reports: {} | ||||||
|   offline_minutes: 0 |     offline_minutes: 0 | ||||||
|  |   - public_key: 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 | ||||||
|  |     operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS | ||||||
|  |     country: US | ||||||
|  |     region: California | ||||||
|  |     city: San Jose | ||||||
|  |     ip: 149.36.48.99 | ||||||
|  |     avail_mem_mb: 120000 | ||||||
|  |     avail_vcpus: 41 | ||||||
|  |     avail_storage_gbs: 390 | ||||||
|  |     avail_ipv4: 23 | ||||||
|  |     avail_ipv6: 0 | ||||||
|  |     avail_ports: 19999 | ||||||
|  |     max_ports_per_vm: 5 | ||||||
|  |     price: 20000 | ||||||
|  |     reports: {} | ||||||
|  |     offline_minutes: 0 | ||||||
|  |   - public_key: HiyMp21zaBVbRCjDsD5hEjQnHeHv4e1gpUR6pVfHTKqv | ||||||
|  |     operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS | ||||||
|  |     country: CA | ||||||
|  |     region: British Columbia | ||||||
|  |     city: Vancouver | ||||||
|  |     ip: 149.22.95.28 | ||||||
|  |     avail_mem_mb: 125000 | ||||||
|  |     avail_vcpus: 46 | ||||||
|  |     avail_storage_gbs: 400 | ||||||
|  |     avail_ipv4: 26 | ||||||
|  |     avail_ipv6: 0 | ||||||
|  |     avail_ports: 20000 | ||||||
|  |     max_ports_per_vm: 5 | ||||||
|  |     price: 20000 | ||||||
|  |     reports: {} | ||||||
|  |     offline_minutes: 0 | ||||||
| vm_contracts: | vm_contracts: | ||||||
| - uuid: dbe09a11-0bcf-472e-9f27-9a4939ea2226 |   - uuid: 958165e3-dea8-407d-8c42-dd17002ef79c | ||||||
|   hostname: detee-fr |     hostname: detee-landing-fr | ||||||
|   admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL |     admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL | ||||||
|   node_pubkey: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu |     node_pubkey: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu | ||||||
|   exposed_ports: [] |     exposed_ports: [] | ||||||
|   public_ipv4: 156.146.63.217 |     public_ipv4: 156.146.63.216 | ||||||
|   public_ipv6: '' |     public_ipv6: "" | ||||||
|   disk_size_gb: 10 |     disk_size_gb: 10 | ||||||
|   vcpus: 4 |     vcpus: 2 | ||||||
|   memory_mb: 4000 |     memory_mb: 3000 | ||||||
|   kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 | ||||||
|   dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b | ||||||
|   created_at: 2025-05-16T11:07:53.903282009Z |     created_at: 2025-02-28T23:19:41.769423466Z | ||||||
|   updated_at: 2025-05-16T11:07:53.903282959Z |     updated_at: 2025-04-12T12:11:58.516768949Z | ||||||
|   price_per_unit: 20000 |     price_per_unit: 20000 | ||||||
|   locked_nano: 24513120000 |     locked_nano: 14875500000 | ||||||
|   collected_at: 2025-06-26T11:32:59.521517733Z |     collected_at: 2025-04-20T00:34:15.461165181Z | ||||||
| - uuid: 338312387c6e4e5ebec015277d27c21d |   - uuid: e807a2fd-cf90-4a14-bc3a-89ce6dc59033 | ||||||
|   hostname: sofenty-staging |     hostname: detee-landing-gb | ||||||
|   admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL |     admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL | ||||||
|   node_pubkey: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb |     node_pubkey: 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 | ||||||
|   exposed_ports: [] |     exposed_ports: [] | ||||||
|   public_ipv4: 149.22.95.3 |     public_ipv4: 173.234.136.154 | ||||||
|   public_ipv6: '' |     public_ipv6: "" | ||||||
|   disk_size_gb: 10 |     disk_size_gb: 10 | ||||||
|   vcpus: 2 |     vcpus: 2 | ||||||
|   memory_mb: 4000 |     memory_mb: 3000 | ||||||
|   kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 | ||||||
|   dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b | ||||||
|   created_at: 2025-06-12T23:20:23.797184848Z |     created_at: 2025-03-06T19:51:39.595163157Z | ||||||
|   updated_at: 2025-06-12T23:20:23.797185855Z |     updated_at: 2025-03-06T19:51:39.595163842Z | ||||||
|   price_per_unit: 20000 |     price_per_unit: 20000 | ||||||
|   locked_nano: 17703920000 |     locked_nano: 14875500000 | ||||||
|   collected_at: 2025-06-26T11:32:59.521538185Z |     collected_at: 2025-04-20T00:34:15.461181545Z | ||||||
| - uuid: 46656273dc964fdeaec2fd1efd49fc12 |   - uuid: 23094406-2307-4332-a642-acee718d0186 | ||||||
|   hostname: sofenty-scraper-bot |     hostname: heroic-door | ||||||
|   admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL |     admin_pubkey: DwfL5iFu32xh2YMCUxg63oEAThLRqehDAumiP9q6zuuX | ||||||
|   node_pubkey: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb |     node_pubkey: 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 | ||||||
|   exposed_ports: |     exposed_ports: | ||||||
|   - 36057 |       - 38288 | ||||||
|   public_ipv4: '' |     public_ipv4: "" | ||||||
|   public_ipv6: '' |     public_ipv6: "" | ||||||
|   disk_size_gb: 10 |     disk_size_gb: 10 | ||||||
|   vcpus: 2 |     vcpus: 1 | ||||||
|   memory_mb: 4000 |     memory_mb: 1000 | ||||||
|   kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     kernel_sha: 14e225e4aaf84cc2e0b5f64206121186ddebc4b378b886da3b2f7515dfd41692 | ||||||
|   dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     dtrfs_sha: 03ce24dbbe917fdd4f6347e61036805ddbdded5044c272bab188ef9333093bee | ||||||
|   created_at: 2025-06-17T11:12:18.659422501Z |     created_at: 2025-03-12T16:28:24.749161605Z | ||||||
|   updated_at: 2025-06-17T11:12:18.659423285Z |     updated_at: 2025-03-12T16:28:24.749162477Z | ||||||
|   price_per_unit: 20000 |     price_per_unit: 20000 | ||||||
|   locked_nano: 14299320000 |     locked_nano: 14134140000 | ||||||
|   collected_at: 2025-06-26T11:32:59.521547200Z |     collected_at: 2025-04-20T00:34:15.461191231Z | ||||||
| - uuid: 1b3365a15fe64b8aa283bb7883c62e09 |   - uuid: 1f49a71c-f68c-4c64-a82e-f50e0ba0b574 | ||||||
|   hostname: detee-us |     hostname: astromech-wrench | ||||||
|   admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL |     admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL | ||||||
|   node_pubkey: 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 |     node_pubkey: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb | ||||||
|   exposed_ports: [] |     exposed_ports: [] | ||||||
|   public_ipv4: 149.36.48.100 |     public_ipv4: 149.22.95.2 | ||||||
|   public_ipv6: '' |     public_ipv6: "" | ||||||
|   disk_size_gb: 10 |     disk_size_gb: 10 | ||||||
|   vcpus: 4 |     vcpus: 2 | ||||||
|   memory_mb: 4000 |     memory_mb: 3000 | ||||||
|   kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     kernel_sha: 3a68709138bed09c16671949cf1f03acee95a08381ba84fc70fb586001fa6767 | ||||||
|   dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     dtrfs_sha: 0bb93443f65c9f4379ed469f94794f5c1bf14d8905b0b2c56a125df4a9ebe83e | ||||||
|   created_at: 2025-06-18T10:51:17.699206021Z |     created_at: 2025-03-20T14:40:25.557753393Z | ||||||
|   updated_at: 2025-06-18T10:51:17.699206835Z |     updated_at: 2025-03-20T14:40:25.557754242Z | ||||||
|   price_per_unit: 20000 |     price_per_unit: 20000 | ||||||
|   locked_nano: 26552160000 |     locked_nano: 11865620000 | ||||||
|   collected_at: 2025-06-26T11:32:59.521554160Z |     collected_at: 2025-04-20T00:34:15.461201690Z | ||||||
| - uuid: b11ad0fcfc194f5490d64f5a72574dc8 |   - uuid: 16577f1c-9867-4a17-80a8-6cf0490f1270 | ||||||
|   hostname: brain-backups |     hostname: sofenty | ||||||
|   admin_pubkey: 45Pyv9hRfub43NyRrYv95MhZs1Wrm8sj3RhBvA3F1Bvr |     admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL | ||||||
|   node_pubkey: 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f |     node_pubkey: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu | ||||||
|   exposed_ports: |     exposed_ports: [] | ||||||
|   - 38175 |     public_ipv4: 156.146.63.217 | ||||||
|   public_ipv4: '' |     public_ipv6: "" | ||||||
|   public_ipv6: '' |     disk_size_gb: 10 | ||||||
|   disk_size_gb: 30 |     vcpus: 2 | ||||||
|   vcpus: 1 |     memory_mb: 3000 | ||||||
|   memory_mb: 1000 |     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 | ||||||
|   kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 | ||||||
|   dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     created_at: 2025-04-07T22:57:57.646151746Z | ||||||
|   created_at: 2025-06-18T13:59:30.713579315Z |     updated_at: 2025-04-07T22:57:57.646152630Z | ||||||
|   updated_at: 2025-06-18T13:59:30.713580515Z |     price_per_unit: 20000 | ||||||
|   price_per_unit: 20000 |     locked_nano: 11867500000 | ||||||
|   locked_nano: 11638260000 |     collected_at: 2025-04-20T00:34:15.461211040Z | ||||||
|   collected_at: 2025-06-26T11:32:59.521562057Z |   - uuid: 4b6e25ca-87ac-478b-8f16-aa8f5c44c704 | ||||||
| - uuid: 89237736b97047beac3611e25e26408e |     hostname: cloaked-mailbox | ||||||
|   hostname: brain-staging |     admin_pubkey: DwfL5iFu32xh2YMCUxg63oEAThLRqehDAumiP9q6zuuX | ||||||
|   admin_pubkey: 45Pyv9hRfub43NyRrYv95MhZs1Wrm8sj3RhBvA3F1Bvr |     node_pubkey: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb | ||||||
|   node_pubkey: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu |     exposed_ports: [] | ||||||
|   exposed_ports: [] |     public_ipv4: 149.22.95.2 | ||||||
|   public_ipv4: 156.146.63.216 |     public_ipv6: "" | ||||||
|   public_ipv6: '' |     disk_size_gb: 30 | ||||||
|   disk_size_gb: 20 |     vcpus: 1 | ||||||
|   vcpus: 2 |     memory_mb: 1000 | ||||||
|   memory_mb: 4000 |     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 | ||||||
|   kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 | ||||||
|   dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     created_at: 2025-04-12T13:44:56.957037550Z | ||||||
|   created_at: 2025-06-18T14:00:48.016735075Z |     updated_at: 2025-04-12T13:44:56.957038546Z | ||||||
|   updated_at: 2025-06-18T14:00:48.016736647Z |     price_per_unit: 20000 | ||||||
|   price_per_unit: 20000 |     locked_nano: 11177760000 | ||||||
|   locked_nano: 32466740000 |     collected_at: 2025-04-20T00:34:15.461219779Z | ||||||
|   collected_at: 2025-06-26T11:32:59.521568755Z |   - uuid: eb1a13ed-d782-4b71-8860-73540129cb7d | ||||||
|  |     hostname: twenty | ||||||
|  |     admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL | ||||||
|  |     node_pubkey: 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 | ||||||
|  |     exposed_ports: [] | ||||||
|  |     public_ipv4: 149.36.48.100 | ||||||
|  |     public_ipv6: "" | ||||||
|  |     disk_size_gb: 10 | ||||||
|  |     vcpus: 4 | ||||||
|  |     memory_mb: 4000 | ||||||
|  |     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 | ||||||
|  |     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 | ||||||
|  |     created_at: 2025-04-15T00:46:35.622165457Z | ||||||
|  |     updated_at: 2025-04-15T00:46:35.622166372Z | ||||||
|  |     price_per_unit: 20000 | ||||||
|  |     locked_nano: 15570720000 | ||||||
|  |     collected_at: 2025-04-20T00:34:15.461230948Z | ||||||
|  |   - uuid: 1bf36309-3774-4825-b023-b2a0ef0405ed | ||||||
|  |     hostname: shadowy-hobo | ||||||
|  |     admin_pubkey: x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK | ||||||
|  |     node_pubkey: 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 | ||||||
|  |     exposed_ports: | ||||||
|  |       - 46393 | ||||||
|  |     public_ipv4: "" | ||||||
|  |     public_ipv6: "" | ||||||
|  |     disk_size_gb: 10 | ||||||
|  |     vcpus: 1 | ||||||
|  |     memory_mb: 1000 | ||||||
|  |     kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 | ||||||
|  |     dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 | ||||||
|  |     created_at: 2025-04-16T20:37:57.176592933Z | ||||||
|  |     updated_at: 2025-04-16T20:37:57.176594069Z | ||||||
|  |     price_per_unit: 20000 | ||||||
|  |     locked_nano: 12730960000 | ||||||
|  |     collected_at: 2025-04-20T00:34:15.461240342Z | ||||||
| app_nodes: | app_nodes: | ||||||
| - node_pubkey: BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg |   - node_pubkey: BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg | ||||||
|   operator_wallet: 7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB |     operator_wallet: 7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB | ||||||
|   country: DE |     country: DE | ||||||
|   region: Hesse |     region: Hesse | ||||||
|   city: Frankfurt am Main |     city: Frankfurt am Main | ||||||
|   ip: 212.95.45.139 |     ip: 212.95.45.139 | ||||||
|   avail_mem_mb: 16000 |     avail_mem_mb: 16000 | ||||||
|   avail_vcpus: 16 |     avail_vcpus: 16 | ||||||
|   avail_storage_mb: 200000 |     avail_storage_mb: 200000 | ||||||
|   avail_no_of_port: 20000 |     avail_no_of_port: 20000 | ||||||
|   max_ports_per_app: 9 |     max_ports_per_app: 9 | ||||||
|   price: 20000 |     price: 20000 | ||||||
|   reports: {} |     offline_minutes: 0 | ||||||
|   offline_minutes: 0 | app_contracts: | ||||||
| app_contracts: [] |   - uuid: e3d01f25-2b2a-410b-80e3-12f44e474334 | ||||||
|  |     package_url: https://registry.detee.ltd/sgx/packages/base_package_2025-04-17_11-01-08.tar.gz | ||||||
|  |     admin_pubkey: H21Shi4iE7vgfjWEQNvzmpmBMJSaiZ17PYUcdNoAoKNc | ||||||
|  |     node_pubkey: BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg | ||||||
|  |     mapped_ports: | ||||||
|  |       - - 27158 | ||||||
|  |         - 34500 | ||||||
|  |       - - 28667 | ||||||
|  |         - 8080 | ||||||
|  |     host_ipv4: 212.95.45.139 | ||||||
|  |     disk_size_mb: 1000 | ||||||
|  |     vcpus: 1 | ||||||
|  |     memory_mb: 1000 | ||||||
|  |     created_at: 2025-04-21T11:27:28.833236909Z | ||||||
|  |     updated_at: 2025-04-21T11:27:28.833237729Z | ||||||
|  |     price_per_unit: 200000 | ||||||
|  |     locked_nano: 121200000 | ||||||
|  |     collected_at: 2025-04-21T11:28:24.905665571Z | ||||||
|  |     hratls_pubkey: 7E0F887AA6BB9104EEC1066F454D4C2D9063D676715F55F919D3FBCEDC63240B | ||||||
|  |     public_package_mr_enclave: | ||||||
|  |       - 52 | ||||||
|  |       - 183 | ||||||
|  |       - 102 | ||||||
|  |       - 210 | ||||||
|  |       - 251 | ||||||
|  |       - 219 | ||||||
|  |       - 218 | ||||||
|  |       - 140 | ||||||
|  |       - 168 | ||||||
|  |       - 118 | ||||||
|  |       - 10 | ||||||
|  |       - 193 | ||||||
|  |       - 98 | ||||||
|  |       - 240 | ||||||
|  |       - 147 | ||||||
|  |       - 124 | ||||||
|  |       - 240 | ||||||
|  |       - 189 | ||||||
|  |       - 46 | ||||||
|  |       - 95 | ||||||
|  |       - 138 | ||||||
|  |       - 172 | ||||||
|  |       - 15 | ||||||
|  |       - 246 | ||||||
|  |       - 227 | ||||||
|  |       - 114 | ||||||
|  |       - 70 | ||||||
|  |       - 159 | ||||||
|  |       - 232 | ||||||
|  |       - 212 | ||||||
|  |       - 9 | ||||||
|  |       - 234 | ||||||
|  |     app_name: diligent-seahorse | ||||||
|  | |||||||
| @ -12,7 +12,7 @@ server="$1" | |||||||
|   exit 1 |   exit 1 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| [[ "$server" == "testnet" ]] && server="brain-testnet" | [[ "$server" == "testnet" ]] && server="root@prod-brain-1" | ||||||
| [[ "$server" == "staging" ]] && server="brain-staging" | [[ "$server" == "staging" ]] && server="brain-staging" | ||||||
| 
 | 
 | ||||||
| cargo build --release --bin brain | cargo build --release --bin brain | ||||||
|  | |||||||
| @ -50,6 +50,7 @@ pub const ID_ALPHABET: [char; 62] = [ | |||||||
| ]; | ]; | ||||||
| 
 | 
 | ||||||
| pub const TOKEN_DECIMAL: u64 = 1_000_000_000; | pub const TOKEN_DECIMAL: u64 = 1_000_000_000; | ||||||
|  | pub const MIN_ESCROW: u64 = 5000 * TOKEN_DECIMAL; | ||||||
| 
 | 
 | ||||||
| pub const APP_DAEMON_TIMEOUT: u64 = 20; | pub const APP_DAEMON_TIMEOUT: u64 = 20; | ||||||
| pub const VM_DAEMON_TIMEOUT: u64 = 10; | pub const VM_DAEMON_TIMEOUT: u64 = 10; | ||||||
|  | |||||||
| @ -618,9 +618,9 @@ impl From<&old_brain::BrainData> for Vec<AppNode> { | |||||||
|                 region: old_node.region.clone(), |                 region: old_node.region.clone(), | ||||||
|                 city: old_node.city.clone(), |                 city: old_node.city.clone(), | ||||||
|                 ip: old_node.ip.clone(), |                 ip: old_node.ip.clone(), | ||||||
|                 avail_mem_mib: old_node.avail_mem_mb, |                 avail_mem_mib: old_node.avail_mem_mib, | ||||||
|                 avail_vcpus: old_node.avail_vcpus, |                 avail_vcpus: old_node.avail_vcpus, | ||||||
|                 avail_storage_mib: old_node.avail_storage_mb, |                 avail_storage_mib: old_node.avail_storage_mib, | ||||||
|                 avail_ports: old_node.avail_no_of_port, |                 avail_ports: old_node.avail_no_of_port, | ||||||
|                 max_ports_per_app: old_node.max_ports_per_app, |                 max_ports_per_app: old_node.max_ports_per_app, | ||||||
|                 price: old_node.price, |                 price: old_node.price, | ||||||
| @ -654,9 +654,9 @@ impl From<&old_brain::BrainData> for Vec<ActiveApp> { | |||||||
|                 app_node: RecordId::from((APP_NODE, old_c.node_pubkey.clone())), |                 app_node: RecordId::from((APP_NODE, old_c.node_pubkey.clone())), | ||||||
|                 mapped_ports, |                 mapped_ports, | ||||||
|                 host_ipv4: old_c.host_ipv4.clone(), |                 host_ipv4: old_c.host_ipv4.clone(), | ||||||
|                 disk_size_mib: old_c.disk_size_mb, |                 disk_size_mib: old_c.disk_size_mib, | ||||||
|                 vcpus: old_c.vcpus, |                 vcpus: old_c.vcpus, | ||||||
|                 memory_mib: old_c.memory_mb, |                 memory_mib: old_c.memory_mib, | ||||||
|                 price_per_unit: old_c.price_per_unit, |                 price_per_unit: old_c.price_per_unit, | ||||||
|                 locked_nano: old_c.locked_nano, |                 locked_nano: old_c.locked_nano, | ||||||
|                 created_at: old_c.created_at.into(), |                 created_at: old_c.created_at.into(), | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| // SPDX-License-Identifier: Apache-2.0
 | // SPDX-License-Identifier: Apache-2.0
 | ||||||
| 
 | 
 | ||||||
| use super::Error; | use super::Error; | ||||||
| use crate::constants::{ACCOUNT, BAN, KICK, TOKEN_DECIMAL, VM_NODE}; | use crate::constants::{ACCOUNT, BAN, KICK, MIN_ESCROW, VM_NODE}; | ||||||
| use crate::db::prelude::*; | use crate::db::prelude::*; | ||||||
| use crate::old_brain; | use crate::old_brain; | ||||||
| use serde::{Deserialize, Serialize}; | use serde::{Deserialize, Serialize}; | ||||||
| @ -61,7 +61,9 @@ impl Account { | |||||||
|         email: &str, |         email: &str, | ||||||
|         escrow: u64, |         escrow: u64, | ||||||
|     ) -> Result<(), Error> { |     ) -> Result<(), Error> { | ||||||
|         let escrow = escrow * TOKEN_DECIMAL; |         if escrow < MIN_ESCROW { | ||||||
|  |             return Err(Error::MinimalEscrow); | ||||||
|  |         } | ||||||
|         let mut op_account = Self::get(db, wallet).await?; |         let mut op_account = Self::get(db, wallet).await?; | ||||||
|         let op_total_balance = op_account.balance.saturating_add(op_account.escrow); |         let op_total_balance = op_account.balance.saturating_add(op_account.escrow); | ||||||
|         if op_total_balance < escrow { |         if op_total_balance < escrow { | ||||||
|  | |||||||
| @ -5,8 +5,8 @@ pub mod general; | |||||||
| pub mod vm; | pub mod vm; | ||||||
| 
 | 
 | ||||||
| use crate::constants::{ | use crate::constants::{ | ||||||
|     APP_NODE, DB_SCHEMA_FILES, DEFAULT_ENDPOINT, DELETED_APP, DELETED_VM, NEW_APP_REQ, NEW_VM_REQ, |     APP_NODE, DB_SCHEMA_FILES, DEFAULT_ENDPOINT, DELETED_APP, DELETED_VM, MIN_ESCROW, NEW_APP_REQ, | ||||||
|     UPDATE_VM_REQ, |     NEW_VM_REQ, UPDATE_VM_REQ, | ||||||
| }; | }; | ||||||
| use crate::old_brain; | use crate::old_brain; | ||||||
| use prelude::*; | use prelude::*; | ||||||
| @ -33,6 +33,8 @@ pub enum Error { | |||||||
|     UnknownTable(String), |     UnknownTable(String), | ||||||
|     #[error("Daemon channel got closed: {0}")] |     #[error("Daemon channel got closed: {0}")] | ||||||
|     AppDaemonConnection(#[from] tokio::sync::mpsc::error::SendError<AppDaemonMsg>), |     AppDaemonConnection(#[from] tokio::sync::mpsc::error::SendError<AppDaemonMsg>), | ||||||
|  |     #[error("Minimum escrow amount is {MIN_ESCROW}")] | ||||||
|  |     MinimalEscrow, | ||||||
|     #[error("Insufficient funds, deposit more tokens")] |     #[error("Insufficient funds, deposit more tokens")] | ||||||
|     InsufficientFunds, |     InsufficientFunds, | ||||||
|     #[error("Contract not found")] |     #[error("Contract not found")] | ||||||
| @ -99,7 +101,7 @@ pub async fn migration0( | |||||||
|     println!("Inserting vm nodes..."); |     println!("Inserting vm nodes..."); | ||||||
|     let _: Vec<VmNode> = db.insert(()).content(vm_nodes).await?; |     let _: Vec<VmNode> = db.insert(()).content(vm_nodes).await?; | ||||||
|     println!("Inserting app nodes..."); |     println!("Inserting app nodes..."); | ||||||
|     let _: Vec<AppNode> = db.insert(()).content(app_nodes).await.unwrap(); |     let _: Vec<AppNode> = db.insert(()).content(app_nodes).await?; | ||||||
|     println!("Inserting active vm contracts..."); |     println!("Inserting active vm contracts..."); | ||||||
|     let _: Vec<ActiveVm> = db.insert(()).relation(active_vm).await?; |     let _: Vec<ActiveVm> = db.insert(()).relation(active_vm).await?; | ||||||
|     println!("Inserting app contracts..."); |     println!("Inserting app contracts..."); | ||||||
|  | |||||||
							
								
								
									
										20
									
								
								src/db/vm.rs
									
									
									
									
									
								
							
							
								
								
								
								
								
									
									
								
							
						
						
									
										20
									
								
								src/db/vm.rs
									
									
									
									
									
								
							| @ -334,7 +334,7 @@ impl WrappedMeasurement { | |||||||
|             _ => NEW_VM_REQ, |             _ => NEW_VM_REQ, | ||||||
|         }; |         }; | ||||||
|         let mut resp = db |         let mut resp = db | ||||||
|             .query(format!("live select error from {table} where id = {table}:{vm_id};")) |             .query(format!("live select error from {table} where id = {NEW_VM_REQ}:{vm_id};")) | ||||||
|             .query(format!( |             .query(format!( | ||||||
|                 "live select * from measurement_args where id = measurement_args:{vm_id};" |                 "live select * from measurement_args where id = measurement_args:{vm_id};" | ||||||
|             )) |             )) | ||||||
| @ -744,7 +744,6 @@ impl UpdateVmReq { | |||||||
|         } |         } | ||||||
|         let contract = contract.unwrap(); |         let contract = contract.unwrap(); | ||||||
|         let mem_per_cpu = contract.memory_mib / contract.vcpus; |         let mem_per_cpu = contract.memory_mib / contract.vcpus; | ||||||
|         let disk_per_cpu = contract.disk_size_mib / contract.vcpus; |  | ||||||
|         self.vm_node = contract.vm_node; |         self.vm_node = contract.vm_node; | ||||||
| 
 | 
 | ||||||
|         if !((self.vcpus != 0 && contract.vcpus != self.vcpus) |         if !((self.vcpus != 0 && contract.vcpus != self.vcpus) | ||||||
| @ -755,19 +754,13 @@ impl UpdateVmReq { | |||||||
|             return Ok(Some(false)); |             return Ok(Some(false)); | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         // Do not allow user to unbalance node resources
 |         // Do not allow user to unbalance memory and CPU on the node
 | ||||||
|         if self.vcpus == 0 { |         if self.vcpus == 0 { | ||||||
|             self.vcpus = self.memory_mib / mem_per_cpu; |             self.vcpus = self.memory_mib / mem_per_cpu; | ||||||
|         } |         } | ||||||
|         if self.memory_mib == 0 { |         if self.memory_mib == 0 { | ||||||
|             self.memory_mib = self.vcpus * mem_per_cpu; |             self.memory_mib = self.vcpus * mem_per_cpu; | ||||||
|         } |         } | ||||||
|         if self.vcpus == 0 { |  | ||||||
|             self.vcpus = self.disk_size_mib / disk_per_cpu; |  | ||||||
|         } |  | ||||||
|         if self.disk_size_mib == 0 { |  | ||||||
|             self.disk_size_mib = self.vcpus * disk_per_cpu; |  | ||||||
|         } |  | ||||||
| 
 | 
 | ||||||
|         let _: Vec<Self> = db.insert(UPDATE_VM_REQ).relation(self).await?; |         let _: Vec<Self> = db.insert(UPDATE_VM_REQ).relation(self).await?; | ||||||
|         Ok(Some(true)) |         Ok(Some(true)) | ||||||
| @ -779,7 +772,6 @@ impl UpdateVmReq { | |||||||
|             error: String, |             error: String, | ||||||
|         } |         } | ||||||
|         let _: Option<Self> = db.update((UPDATE_VM_REQ, id)).merge(UpdateVmError { error }).await?; |         let _: Option<Self> = db.update((UPDATE_VM_REQ, id)).merge(UpdateVmError { error }).await?; | ||||||
|         let _: Option<Self> = db.delete((UPDATE_VM_REQ, id)).await?; |  | ||||||
|         Ok(()) |         Ok(()) | ||||||
|     } |     } | ||||||
| } | } | ||||||
| @ -1021,9 +1013,9 @@ impl From<&old_brain::BrainData> for Vec<VmNode> { | |||||||
|                 region: old_node.region.clone(), |                 region: old_node.region.clone(), | ||||||
|                 city: old_node.city.clone(), |                 city: old_node.city.clone(), | ||||||
|                 ip: old_node.ip.clone(), |                 ip: old_node.ip.clone(), | ||||||
|                 avail_mem_mib: old_node.avail_mem_mb, |                 avail_mem_mib: old_node.avail_mem_mib, | ||||||
|                 avail_vcpus: old_node.avail_vcpus, |                 avail_vcpus: old_node.avail_vcpus, | ||||||
|                 avail_storage_mib: old_node.avail_storage_gbs * 1024, |                 avail_storage_mib: old_node.avail_storage_mib, | ||||||
|                 avail_ipv4: old_node.avail_ipv4, |                 avail_ipv4: old_node.avail_ipv4, | ||||||
|                 avail_ipv6: old_node.avail_ipv6, |                 avail_ipv6: old_node.avail_ipv6, | ||||||
|                 avail_ports: old_node.avail_ports, |                 avail_ports: old_node.avail_ports, | ||||||
| @ -1053,9 +1045,9 @@ impl From<&old_brain::BrainData> for Vec<ActiveVm> { | |||||||
|                 mapped_ports, |                 mapped_ports, | ||||||
|                 public_ipv4: old_c.public_ipv4.clone(), |                 public_ipv4: old_c.public_ipv4.clone(), | ||||||
|                 public_ipv6: old_c.public_ipv6.clone(), |                 public_ipv6: old_c.public_ipv6.clone(), | ||||||
|                 disk_size_mib: old_c.disk_size_gb * 1024, |                 disk_size_mib: old_c.disk_size_mib, | ||||||
|                 vcpus: old_c.vcpus, |                 vcpus: old_c.vcpus, | ||||||
|                 memory_mib: old_c.memory_mb, |                 memory_mib: old_c.memory_mib, | ||||||
|                 dtrfs_sha: old_c.dtrfs_sha.clone(), |                 dtrfs_sha: old_c.dtrfs_sha.clone(), | ||||||
|                 kernel_sha: old_c.kernel_sha.clone(), |                 kernel_sha: old_c.kernel_sha.clone(), | ||||||
|                 price_per_unit: old_c.price_per_unit, |                 price_per_unit: old_c.price_per_unit, | ||||||
|  | |||||||
| @ -115,7 +115,7 @@ impl BrainGeneralCli for GeneralCliServer { | |||||||
|         log::info!("Regitering new operator: {req:?}"); |         log::info!("Regitering new operator: {req:?}"); | ||||||
|         match db::Account::operator_reg(&self.db, &req.pubkey, &req.email, req.escrow).await { |         match db::Account::operator_reg(&self.db, &req.pubkey, &req.email, req.escrow).await { | ||||||
|             Ok(()) => Ok(Response::new(Empty {})), |             Ok(()) => Ok(Response::new(Empty {})), | ||||||
|             Err(e) if matches!(e, db::Error::InsufficientFunds) => { |             Err(e) if matches!(e, db::Error::InsufficientFunds | db::Error::MinimalEscrow) => { | ||||||
|                 Err(Status::failed_precondition(e.to_string())) |                 Err(Status::failed_precondition(e.to_string())) | ||||||
|             } |             } | ||||||
|             Err(e) => { |             Err(e) => { | ||||||
|  | |||||||
| @ -37,9 +37,9 @@ pub struct VmNode { | |||||||
|     pub region: String, |     pub region: String, | ||||||
|     pub city: String, |     pub city: String, | ||||||
|     pub ip: String, |     pub ip: String, | ||||||
|     pub avail_mem_mb: u32, |     pub avail_mem_mib: u32, | ||||||
|     pub avail_vcpus: u32, |     pub avail_vcpus: u32, | ||||||
|     pub avail_storage_gbs: u32, |     pub avail_storage_mib: u32, | ||||||
|     pub avail_ipv4: u32, |     pub avail_ipv4: u32, | ||||||
|     pub avail_ipv6: u32, |     pub avail_ipv6: u32, | ||||||
|     pub avail_ports: u32, |     pub avail_ports: u32, | ||||||
| @ -60,9 +60,9 @@ pub struct VmContract { | |||||||
|     pub exposed_ports: Vec<u32>, |     pub exposed_ports: Vec<u32>, | ||||||
|     pub public_ipv4: String, |     pub public_ipv4: String, | ||||||
|     pub public_ipv6: String, |     pub public_ipv6: String, | ||||||
|     pub disk_size_gb: u32, |     pub disk_size_mib: u32, | ||||||
|     pub vcpus: u32, |     pub vcpus: u32, | ||||||
|     pub memory_mb: u32, |     pub memory_mib: u32, | ||||||
|     pub kernel_sha: String, |     pub kernel_sha: String, | ||||||
|     pub dtrfs_sha: String, |     pub dtrfs_sha: String, | ||||||
|     pub created_at: chrono::DateTime<Utc>, |     pub created_at: chrono::DateTime<Utc>, | ||||||
| @ -82,9 +82,9 @@ pub struct AppContract { | |||||||
|     pub node_pubkey: String, |     pub node_pubkey: String, | ||||||
|     pub mapped_ports: Vec<(u16, u16)>, |     pub mapped_ports: Vec<(u16, u16)>, | ||||||
|     pub host_ipv4: String, |     pub host_ipv4: String, | ||||||
|     pub disk_size_mb: u32, |     pub disk_size_mib: u32, | ||||||
|     pub vcpus: u32, |     pub vcpus: u32, | ||||||
|     pub memory_mb: u32, |     pub memory_mib: u32, | ||||||
|     pub created_at: chrono::DateTime<Utc>, |     pub created_at: chrono::DateTime<Utc>, | ||||||
|     pub updated_at: chrono::DateTime<Utc>, |     pub updated_at: chrono::DateTime<Utc>, | ||||||
|     // price per unit per minute
 |     // price per unit per minute
 | ||||||
| @ -105,9 +105,9 @@ pub struct AppNode { | |||||||
|     pub region: String, |     pub region: String, | ||||||
|     pub city: String, |     pub city: String, | ||||||
|     pub ip: String, |     pub ip: String, | ||||||
|     pub avail_mem_mb: u32, |     pub avail_mem_mib: u32, | ||||||
|     pub avail_vcpus: u32, |     pub avail_vcpus: u32, | ||||||
|     pub avail_storage_mb: u32, |     pub avail_storage_mib: u32, | ||||||
|     pub avail_no_of_port: u32, |     pub avail_no_of_port: u32, | ||||||
|     pub max_ports_per_app: u32, |     pub max_ports_per_app: u32, | ||||||
|     // nanotokens per unit per minute
 |     // nanotokens per unit per minute
 | ||||||
|  | |||||||
| @ -22,9 +22,7 @@ FOR $contract IN (select * from active_vm fetch out) { | |||||||
|             $amount_due |             $amount_due | ||||||
|         }; |         }; | ||||||
|         UPDATE $operator.id SET escrow -= $compensation; |         UPDATE $operator.id SET escrow -= $compensation; | ||||||
|         UPDATE $contract.id SET |         UPDATE $contract.in SET balance += $compensation; | ||||||
|             locked_nano += $compensation, |  | ||||||
|             collected_at = time::now(); |  | ||||||
|     }; |     }; | ||||||
|     IF $amount_paid >= $contract.locked_nano { |     IF $amount_paid >= $contract.locked_nano { | ||||||
|         fn::delete_vm($contract.id); |         fn::delete_vm($contract.id); | ||||||
|  | |||||||
| @ -180,9 +180,9 @@ vm_nodes: | |||||||
|     region: England |     region: England | ||||||
|     city: London |     city: London | ||||||
|     ip: 173.234.17.2 |     ip: 173.234.17.2 | ||||||
|     avail_mem_mb: 26000 |     avail_mem_mib: 26000 | ||||||
|     avail_vcpus: 28 |     avail_vcpus: 28 | ||||||
|     avail_storage_gbs: 680 |     avail_storage_mib: 680 | ||||||
|     avail_ipv4: 2 |     avail_ipv4: 2 | ||||||
|     avail_ipv6: 65516 |     avail_ipv6: 65516 | ||||||
|     avail_ports: 19999 |     avail_ports: 19999 | ||||||
| @ -196,9 +196,9 @@ vm_nodes: | |||||||
|     region: Île-de-France |     region: Île-de-France | ||||||
|     city: Paris |     city: Paris | ||||||
|     ip: 156.146.63.215 |     ip: 156.146.63.215 | ||||||
|     avail_mem_mb: 123000 |     avail_mem_mib: 123000 | ||||||
|     avail_vcpus: 46 |     avail_vcpus: 46 | ||||||
|     avail_storage_gbs: 440 |     avail_storage_mib: 440 | ||||||
|     avail_ipv4: 2 |     avail_ipv4: 2 | ||||||
|     avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|     avail_ports: 20000 |     avail_ports: 20000 | ||||||
| @ -212,9 +212,9 @@ vm_nodes: | |||||||
|     region: Quebec |     region: Quebec | ||||||
|     city: Montréal |     city: Montréal | ||||||
|     ip: 184.107.169.199 |     ip: 184.107.169.199 | ||||||
|     avail_mem_mb: 30000 |     avail_mem_mib: 30000 | ||||||
|     avail_vcpus: 31 |     avail_vcpus: 31 | ||||||
|     avail_storage_gbs: 700 |     avail_storage_mib: 700 | ||||||
|     avail_ipv4: 0 |     avail_ipv4: 0 | ||||||
|     avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|     avail_ports: 20000 |     avail_ports: 20000 | ||||||
| @ -228,9 +228,9 @@ vm_nodes: | |||||||
|     region: British Columbia |     region: British Columbia | ||||||
|     city: Vancouver |     city: Vancouver | ||||||
|     ip: 149.22.95.1 |     ip: 149.22.95.1 | ||||||
|     avail_mem_mb: 109000 |     avail_mem_mib: 109000 | ||||||
|     avail_vcpus: 45 |     avail_vcpus: 45 | ||||||
|     avail_storage_gbs: 400 |     avail_storage_mib: 400 | ||||||
|     avail_ipv4: 25 |     avail_ipv4: 25 | ||||||
|     avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|     avail_ports: 20000 |     avail_ports: 20000 | ||||||
| @ -244,9 +244,9 @@ vm_nodes: | |||||||
|     region: California |     region: California | ||||||
|     city: San Jose |     city: San Jose | ||||||
|     ip: 149.36.48.99 |     ip: 149.36.48.99 | ||||||
|     avail_mem_mb: 120000 |     avail_mem_mib: 120000 | ||||||
|     avail_vcpus: 41 |     avail_vcpus: 41 | ||||||
|     avail_storage_gbs: 390 |     avail_storage_mib: 390 | ||||||
|     avail_ipv4: 23 |     avail_ipv4: 23 | ||||||
|     avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|     avail_ports: 19999 |     avail_ports: 19999 | ||||||
| @ -260,9 +260,9 @@ vm_nodes: | |||||||
|     region: British Columbia |     region: British Columbia | ||||||
|     city: Vancouver |     city: Vancouver | ||||||
|     ip: 149.22.95.28 |     ip: 149.22.95.28 | ||||||
|     avail_mem_mb: 125000 |     avail_mem_mib: 125000 | ||||||
|     avail_vcpus: 46 |     avail_vcpus: 46 | ||||||
|     avail_storage_gbs: 400 |     avail_storage_mib: 400 | ||||||
|     avail_ipv4: 26 |     avail_ipv4: 26 | ||||||
|     avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|     avail_ports: 20000 |     avail_ports: 20000 | ||||||
| @ -277,9 +277,9 @@ vm_nodes: | |||||||
|     region: England |     region: England | ||||||
|     city: London |     city: London | ||||||
|     ip: 193.234.17.2 |     ip: 193.234.17.2 | ||||||
|     avail_mem_mb: 28000 |     avail_mem_mib: 28000 | ||||||
|     avail_vcpus: 24 |     avail_vcpus: 24 | ||||||
|     avail_storage_gbs: 1680 |     avail_storage_mib: 1680 | ||||||
|     avail_ipv4: 1 |     avail_ipv4: 1 | ||||||
|     avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|     avail_ports: 19999 |     avail_ports: 19999 | ||||||
| @ -293,9 +293,9 @@ vm_nodes: | |||||||
|     region: England |     region: England | ||||||
|     city: London |     city: London | ||||||
|     ip: 193.234.17.2 |     ip: 193.234.17.2 | ||||||
|     avail_mem_mb: 28000 |     avail_mem_mib: 28000 | ||||||
|     avail_vcpus: 24 |     avail_vcpus: 24 | ||||||
|     avail_storage_gbs: 1680 |     avail_storage_mib: 1680 | ||||||
|     avail_ipv4: 1 |     avail_ipv4: 1 | ||||||
|     avail_ipv6: 0 |     avail_ipv6: 0 | ||||||
|     avail_ports: 19999 |     avail_ports: 19999 | ||||||
| @ -312,9 +312,9 @@ vm_contracts: | |||||||
|     exposed_ports: [] |     exposed_ports: [] | ||||||
|     public_ipv4: 156.146.63.216 |     public_ipv4: 156.146.63.216 | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 2 |     vcpus: 2 | ||||||
|     memory_mb: 3000 |     memory_mib: 3000 | ||||||
|     kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 |     kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 | ||||||
|     dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b |     dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b | ||||||
|     created_at: 2025-02-28T23:19:41.769423466Z |     created_at: 2025-02-28T23:19:41.769423466Z | ||||||
| @ -329,9 +329,9 @@ vm_contracts: | |||||||
|     exposed_ports: [] |     exposed_ports: [] | ||||||
|     public_ipv4: 173.234.136.154 |     public_ipv4: 173.234.136.154 | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 2 |     vcpus: 2 | ||||||
|     memory_mb: 3000 |     memory_mib: 3000 | ||||||
|     kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 |     kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 | ||||||
|     dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b |     dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b | ||||||
|     created_at: 2025-03-06T19:51:39.595163157Z |     created_at: 2025-03-06T19:51:39.595163157Z | ||||||
| @ -347,9 +347,9 @@ vm_contracts: | |||||||
|       - 38288 |       - 38288 | ||||||
|     public_ipv4: "" |     public_ipv4: "" | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 1 |     vcpus: 1 | ||||||
|     memory_mb: 1000 |     memory_mib: 1000 | ||||||
|     kernel_sha: 14e225e4aaf84cc2e0b5f64206121186ddebc4b378b886da3b2f7515dfd41692 |     kernel_sha: 14e225e4aaf84cc2e0b5f64206121186ddebc4b378b886da3b2f7515dfd41692 | ||||||
|     dtrfs_sha: 03ce24dbbe917fdd4f6347e61036805ddbdded5044c272bab188ef9333093bee |     dtrfs_sha: 03ce24dbbe917fdd4f6347e61036805ddbdded5044c272bab188ef9333093bee | ||||||
|     created_at: 2025-03-12T16:28:24.749161605Z |     created_at: 2025-03-12T16:28:24.749161605Z | ||||||
| @ -364,9 +364,9 @@ vm_contracts: | |||||||
|     exposed_ports: [] |     exposed_ports: [] | ||||||
|     public_ipv4: 149.22.95.2 |     public_ipv4: 149.22.95.2 | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 2 |     vcpus: 2 | ||||||
|     memory_mb: 3000 |     memory_mib: 3000 | ||||||
|     kernel_sha: 3a68709138bed09c16671949cf1f03acee95a08381ba84fc70fb586001fa6767 |     kernel_sha: 3a68709138bed09c16671949cf1f03acee95a08381ba84fc70fb586001fa6767 | ||||||
|     dtrfs_sha: 0bb93443f65c9f4379ed469f94794f5c1bf14d8905b0b2c56a125df4a9ebe83e |     dtrfs_sha: 0bb93443f65c9f4379ed469f94794f5c1bf14d8905b0b2c56a125df4a9ebe83e | ||||||
|     created_at: 2025-03-20T14:40:25.557753393Z |     created_at: 2025-03-20T14:40:25.557753393Z | ||||||
| @ -381,9 +381,9 @@ vm_contracts: | |||||||
|     exposed_ports: [] |     exposed_ports: [] | ||||||
|     public_ipv4: 156.146.63.217 |     public_ipv4: 156.146.63.217 | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 2 |     vcpus: 2 | ||||||
|     memory_mb: 3000 |     memory_mib: 3000 | ||||||
|     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 |     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 | ||||||
|     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 |     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 | ||||||
|     created_at: 2025-04-07T22:57:57.646151746Z |     created_at: 2025-04-07T22:57:57.646151746Z | ||||||
| @ -398,9 +398,9 @@ vm_contracts: | |||||||
|     exposed_ports: [] |     exposed_ports: [] | ||||||
|     public_ipv4: 149.22.95.2 |     public_ipv4: 149.22.95.2 | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 30 |     disk_size_mib: 30 | ||||||
|     vcpus: 1 |     vcpus: 1 | ||||||
|     memory_mb: 1000 |     memory_mib: 1000 | ||||||
|     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 |     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 | ||||||
|     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 |     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 | ||||||
|     created_at: 2025-04-12T13:44:56.957037550Z |     created_at: 2025-04-12T13:44:56.957037550Z | ||||||
| @ -415,9 +415,9 @@ vm_contracts: | |||||||
|     exposed_ports: [] |     exposed_ports: [] | ||||||
|     public_ipv4: 149.36.48.100 |     public_ipv4: 149.36.48.100 | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 4 |     vcpus: 4 | ||||||
|     memory_mb: 4000 |     memory_mib: 4000 | ||||||
|     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 |     kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 | ||||||
|     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 |     dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 | ||||||
|     created_at: 2025-04-15T00:46:35.622165457Z |     created_at: 2025-04-15T00:46:35.622165457Z | ||||||
| @ -433,9 +433,9 @@ vm_contracts: | |||||||
|       - 46393 |       - 46393 | ||||||
|     public_ipv4: "" |     public_ipv4: "" | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 1 |     vcpus: 1 | ||||||
|     memory_mb: 1000 |     memory_mib: 1000 | ||||||
|     kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 | ||||||
|     dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 | ||||||
|     created_at: 2025-04-16T20:37:57.176592933Z |     created_at: 2025-04-16T20:37:57.176592933Z | ||||||
| @ -452,9 +452,9 @@ vm_contracts: | |||||||
|       - 46393 |       - 46393 | ||||||
|     public_ipv4: "" |     public_ipv4: "" | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 1 |     vcpus: 1 | ||||||
|     memory_mb: 1000 |     memory_mib: 1000 | ||||||
|     kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 | ||||||
|     dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 | ||||||
|     created_at: 2025-04-16T20:37:57.176592933Z |     created_at: 2025-04-16T20:37:57.176592933Z | ||||||
| @ -470,9 +470,9 @@ vm_contracts: | |||||||
|       - 46393 |       - 46393 | ||||||
|     public_ipv4: "" |     public_ipv4: "" | ||||||
|     public_ipv6: "" |     public_ipv6: "" | ||||||
|     disk_size_gb: 10240 |     disk_size_mib: 10240 | ||||||
|     vcpus: 1 |     vcpus: 1 | ||||||
|     memory_mb: 1000 |     memory_mib: 1000 | ||||||
|     kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 |     kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 | ||||||
|     dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 |     dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 | ||||||
|     created_at: 2025-04-16T20:37:57.176592933Z |     created_at: 2025-04-16T20:37:57.176592933Z | ||||||
| @ -488,9 +488,9 @@ app_nodes: | |||||||
|     region: Hesse |     region: Hesse | ||||||
|     city: Frankfurt am Main |     city: Frankfurt am Main | ||||||
|     ip: 212.95.45.139 |     ip: 212.95.45.139 | ||||||
|     avail_mem_mb: 16000 |     avail_mem_mib: 16000 | ||||||
|     avail_vcpus: 16 |     avail_vcpus: 16 | ||||||
|     avail_storage_mb: 200000 |     avail_storage_mib: 200000 | ||||||
|     avail_no_of_port: 20000 |     avail_no_of_port: 20000 | ||||||
|     max_ports_per_app: 9 |     max_ports_per_app: 9 | ||||||
|     price: 20000 |     price: 20000 | ||||||
| @ -506,9 +506,9 @@ app_contracts: | |||||||
|       - - 28667 |       - - 28667 | ||||||
|         - 8080 |         - 8080 | ||||||
|     host_ipv4: 212.95.45.139 |     host_ipv4: 212.95.45.139 | ||||||
|     disk_size_mb: 1000 |     disk_size_mib: 1000 | ||||||
|     vcpus: 1 |     vcpus: 1 | ||||||
|     memory_mb: 1000 |     memory_mib: 1000 | ||||||
|     created_at: 2025-04-21T11:27:28.833236909Z |     created_at: 2025-04-21T11:27:28.833236909Z | ||||||
|     updated_at: 2025-04-21T11:27:28.833237729Z |     updated_at: 2025-04-21T11:27:28.833237729Z | ||||||
|     price_per_unit: 200000 |     price_per_unit: 200000 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user