diff --git a/saved_data.yaml b/saved_data.yaml index adfb0b7..fc0b6c6 100644 --- a/saved_data.yaml +++ b/saved_data.yaml @@ -1,80 +1,12 @@ -# SPDX-License-Identifier: Apache-2.0 - accounts: - DXXkYSnhP3ijsHYxkedcuMomEyc122WaAbkDX7SaGuUS: - balance: 20293420000 + fY3NNjvFTeR1FBh5nXV3ujX7zZqrm3eBUWGEiG75TK1: + balance: 1000000000 tmp_locked: 0 kicked_for: [] last_kick: 1970-01-01T00:00:00Z banned_by: [] - FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL: - 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 + FBMWVqME3t1i4R6zWyDQGUuiTeruZ1TxLhTmhaEcFypZ: + balance: 181560160000 tmp_locked: 0 kicked_for: [] last_kick: 1970-01-01T00:00:00Z @@ -91,352 +23,316 @@ accounts: kicked_for: [] last_kick: 1970-01-01T00:00:00Z banned_by: [] - fY3NNjvFTeR1FBh5nXV3ujX7zZqrm3eBUWGEiG75TK1: - balance: 1000000000 + 49JBVzmgsQbUURHzAWax2gxo6jmukqbEQzP97YeeNQyu: + balance: 1076960680000 tmp_locked: 0 kicked_for: [] last_kick: 1970-01-01T00:00:00Z banned_by: [] - FBMWVqME3t1i4R6zWyDQGUuiTeruZ1TxLhTmhaEcFypZ: - balance: 181560160000 + HQyGWpiteHbxjszngZvmiX7ZFZAmF6nFjEraBa1M6bbM: + balance: 979410300000 tmp_locked: 0 kicked_for: [] last_kick: 1970-01-01T00:00:00Z banned_by: [] - DwfL5iFu32xh2YMCUxg63oEAThLRqehDAumiP9q6zuuX: + E3bgXsWvgichXeC6AqULJCZDp7FbEdTxBD67UaYVWf9y: + 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 tmp_locked: 0 kicked_for: [] last_kick: 1970-01-01T00:00:00Z 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: - BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS: - escrow: 5096692000000 - email: first_on_detee@proton.me - banned_users: [] - vm_nodes: - - HiyMp21zaBVbRCjDsD5hEjQnHeHv4e1gpUR6pVfHTKqv - - 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 - - Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu - - 4QbUXDM915RUFnHm3NiysLXFLk1WRGZvABwLNzx4tTEW - - DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb - app_nodes: [] x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK: - escrow: 5499700480000 + escrow: 5489633280000 email: gheo@detee.ltd banned_users: [] vm_nodes: - - 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f - - 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 + - 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f + - 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 + app_nodes: [] + BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS: + escrow: 5091906400000 + email: first_on_detee@proton.me + banned_users: [] + vm_nodes: + - DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb + - 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 + - Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu app_nodes: [] 7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB: - escrow: 888888888899999 - email: "" + escrow: 5500000000000 + email: nmohammed@detee.ltd banned_users: [] vm_nodes: [] app_nodes: - - BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg + - BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg vm_nodes: - - public_key: 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 - operator_wallet: x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK - country: GB - region: England - city: London - ip: 173.234.17.2 - avail_mem_mb: 26000 - avail_vcpus: 28 - avail_storage_gbs: 680 - avail_ipv4: 2 - avail_ipv6: 65516 - avail_ports: 19999 - max_ports_per_vm: 5 - price: 20000 - reports: {} - offline_minutes: 0 - - public_key: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu - operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS - country: FR - region: Île-de-France - city: Paris - ip: 156.146.63.215 - avail_mem_mb: 123000 - avail_vcpus: 46 - avail_storage_gbs: 440 - avail_ipv4: 2 - avail_ipv6: 0 - avail_ports: 20000 - max_ports_per_vm: 5 - price: 20000 - reports: {} - offline_minutes: 0 - - public_key: 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f - operator_wallet: x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK - country: CA - region: Quebec - city: Montréal - ip: 184.107.169.199 - avail_mem_mb: 30000 - avail_vcpus: 31 - avail_storage_gbs: 700 - avail_ipv4: 0 - avail_ipv6: 0 - avail_ports: 20000 - max_ports_per_vm: 5 - price: 18000 - reports: {} - offline_minutes: 0 - - public_key: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb - operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS - country: CA - region: British Columbia - city: Vancouver - ip: 149.22.95.1 - avail_mem_mb: 109000 - avail_vcpus: 45 - avail_storage_gbs: 400 - avail_ipv4: 25 - avail_ipv6: 0 - avail_ports: 20000 - max_ports_per_vm: 5 - price: 20000 - reports: {} - 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 +- public_key: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu + operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS + country: FR + region: Île-de-France + city: Paris + ip: 156.146.63.215 + avail_mem_mb: 117000 + avail_vcpus: 40 + avail_storage_gbs: 410 + avail_ipv4: 2 + avail_ipv6: 0 + avail_ports: 20000 + max_ports_per_vm: 5 + price: 20000 + reports: {} + offline_minutes: 0 +- public_key: 3zRxiGRnf46vd3zAEmpaYBJocTV9oJB6yXf5GZFR1Sq4 + operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS + country: US + region: California + city: San Jose + ip: 149.36.48.99 + avail_mem_mb: 121000 + avail_vcpus: 42 + avail_storage_gbs: 400 + avail_ipv4: 23 + avail_ipv6: 0 + avail_ports: 20000 + max_ports_per_vm: 5 + price: 20000 + reports: {} + offline_minutes: 0 +- public_key: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb + operator_wallet: BFopWmwcZAMF1h2PFECZNdEucdZfnZZ32p6R9ZaBiVsS + country: CA + region: British Columbia + city: Vancouver + ip: 149.22.95.1 + avail_mem_mb: 106400 + avail_vcpus: 42 + avail_storage_gbs: 400 + avail_ipv4: 25 + avail_ipv6: 0 + avail_ports: 19999 + max_ports_per_vm: 5 + price: 20000 + reports: {} + offline_minutes: 0 +- public_key: 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f + operator_wallet: x52w7jARC5erhWWK65VZmjdGXzBK6ZDgfv1A283d8XK + country: CA + region: Quebec + city: Montréal + ip: 184.107.169.199 + avail_mem_mb: 29000 + avail_vcpus: 30 + avail_storage_gbs: 700 + avail_ipv4: 0 + avail_ipv6: 0 + avail_ports: 19999 + max_ports_per_vm: 5 + price: 18000 + reports: {} + offline_minutes: 0 vm_contracts: - - uuid: 958165e3-dea8-407d-8c42-dd17002ef79c - hostname: detee-landing-fr - admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL - node_pubkey: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu - exposed_ports: [] - public_ipv4: 156.146.63.216 - public_ipv6: "" - disk_size_gb: 10 - vcpus: 2 - memory_mb: 3000 - kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 - dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b - created_at: 2025-02-28T23:19:41.769423466Z - updated_at: 2025-04-12T12:11:58.516768949Z - price_per_unit: 20000 - locked_nano: 14875500000 - collected_at: 2025-04-20T00:34:15.461165181Z - - uuid: e807a2fd-cf90-4a14-bc3a-89ce6dc59033 - hostname: detee-landing-gb - admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL - node_pubkey: 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 - exposed_ports: [] - public_ipv4: 173.234.136.154 - public_ipv6: "" - disk_size_gb: 10 - vcpus: 2 - memory_mb: 3000 - kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 - dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b - created_at: 2025-03-06T19:51:39.595163157Z - updated_at: 2025-03-06T19:51:39.595163842Z - price_per_unit: 20000 - locked_nano: 14875500000 - collected_at: 2025-04-20T00:34:15.461181545Z - - uuid: 23094406-2307-4332-a642-acee718d0186 - hostname: heroic-door - admin_pubkey: DwfL5iFu32xh2YMCUxg63oEAThLRqehDAumiP9q6zuuX - node_pubkey: 7Xw3RxbP5pvfjZ8U6yA3HHVSS9YXjKH5Vkas3JRbQYd9 - exposed_ports: - - 38288 - public_ipv4: "" - public_ipv6: "" - disk_size_gb: 10 - vcpus: 1 - memory_mb: 1000 - kernel_sha: 14e225e4aaf84cc2e0b5f64206121186ddebc4b378b886da3b2f7515dfd41692 - dtrfs_sha: 03ce24dbbe917fdd4f6347e61036805ddbdded5044c272bab188ef9333093bee - created_at: 2025-03-12T16:28:24.749161605Z - updated_at: 2025-03-12T16:28:24.749162477Z - price_per_unit: 20000 - locked_nano: 14134140000 - collected_at: 2025-04-20T00:34:15.461191231Z - - uuid: 1f49a71c-f68c-4c64-a82e-f50e0ba0b574 - hostname: astromech-wrench - admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL - node_pubkey: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb - exposed_ports: [] - public_ipv4: 149.22.95.2 - public_ipv6: "" - disk_size_gb: 10 - vcpus: 2 - memory_mb: 3000 - kernel_sha: 3a68709138bed09c16671949cf1f03acee95a08381ba84fc70fb586001fa6767 - dtrfs_sha: 0bb93443f65c9f4379ed469f94794f5c1bf14d8905b0b2c56a125df4a9ebe83e - created_at: 2025-03-20T14:40:25.557753393Z - updated_at: 2025-03-20T14:40:25.557754242Z - price_per_unit: 20000 - locked_nano: 11865620000 - collected_at: 2025-04-20T00:34:15.461201690Z - - uuid: 16577f1c-9867-4a17-80a8-6cf0490f1270 - hostname: sofenty - admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL - node_pubkey: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu - exposed_ports: [] - public_ipv4: 156.146.63.217 - public_ipv6: "" - disk_size_gb: 10 - vcpus: 2 - memory_mb: 3000 - kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 - dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 - created_at: 2025-04-07T22:57:57.646151746Z - updated_at: 2025-04-07T22:57:57.646152630Z - price_per_unit: 20000 - locked_nano: 11867500000 - collected_at: 2025-04-20T00:34:15.461211040Z - - uuid: 4b6e25ca-87ac-478b-8f16-aa8f5c44c704 - hostname: cloaked-mailbox - admin_pubkey: DwfL5iFu32xh2YMCUxg63oEAThLRqehDAumiP9q6zuuX - node_pubkey: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb - exposed_ports: [] - public_ipv4: 149.22.95.2 - public_ipv6: "" - disk_size_gb: 30 - vcpus: 1 - memory_mb: 1000 - kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 - dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 - created_at: 2025-04-12T13:44:56.957037550Z - updated_at: 2025-04-12T13:44:56.957038546Z - price_per_unit: 20000 - locked_nano: 11177760000 - collected_at: 2025-04-20T00:34:15.461219779Z - - 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 +- uuid: dbe09a11-0bcf-472e-9f27-9a4939ea2226 + hostname: detee-fr + admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL + node_pubkey: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu + exposed_ports: [] + public_ipv4: 156.146.63.217 + public_ipv6: '' + disk_size_gb: 10 + vcpus: 4 + memory_mb: 4000 + kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 + dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 + created_at: 2025-05-16T11:07:53.903282009Z + updated_at: 2025-05-16T11:07:53.903282959Z + price_per_unit: 20000 + locked_nano: 24513120000 + collected_at: 2025-06-26T11:32:59.521517733Z +- uuid: 338312387c6e4e5ebec015277d27c21d + hostname: sofenty-staging + admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL + node_pubkey: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb + exposed_ports: [] + public_ipv4: 149.22.95.3 + public_ipv6: '' + disk_size_gb: 10 + vcpus: 2 + memory_mb: 4000 + kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 + dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 + created_at: 2025-06-12T23:20:23.797184848Z + updated_at: 2025-06-12T23:20:23.797185855Z + price_per_unit: 20000 + locked_nano: 17703920000 + collected_at: 2025-06-26T11:32:59.521538185Z +- uuid: 46656273dc964fdeaec2fd1efd49fc12 + hostname: sofenty-scraper-bot + admin_pubkey: FHuecMbeC1PfjkW2JKyoicJAuiU7khgQT16QUB3Q1XdL + node_pubkey: DgkbsrwttkZXvzxY5kDwQQoDd79GLmZ5tc7fYJUFkQQb + exposed_ports: + - 36057 + public_ipv4: '' + public_ipv6: '' + disk_size_gb: 10 + vcpus: 2 + memory_mb: 4000 + kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 + dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 + created_at: 2025-06-17T11:12:18.659422501Z + updated_at: 2025-06-17T11:12:18.659423285Z + price_per_unit: 20000 + locked_nano: 14299320000 + collected_at: 2025-06-26T11:32:59.521547200Z +- uuid: 1b3365a15fe64b8aa283bb7883c62e09 + hostname: detee-us + 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: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 + dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 + created_at: 2025-06-18T10:51:17.699206021Z + updated_at: 2025-06-18T10:51:17.699206835Z + price_per_unit: 20000 + locked_nano: 26552160000 + collected_at: 2025-06-26T11:32:59.521554160Z +- uuid: b11ad0fcfc194f5490d64f5a72574dc8 + hostname: brain-backups + admin_pubkey: 45Pyv9hRfub43NyRrYv95MhZs1Wrm8sj3RhBvA3F1Bvr + node_pubkey: 2Uf5pxhxKTUm6gRMnpbJHYDuyA6BWUfFsdmPyWfbMV1f + exposed_ports: + - 38175 + public_ipv4: '' + public_ipv6: '' + disk_size_gb: 30 + vcpus: 1 + memory_mb: 1000 + kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 + dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 + created_at: 2025-06-18T13:59:30.713579315Z + updated_at: 2025-06-18T13:59:30.713580515Z + price_per_unit: 20000 + locked_nano: 11638260000 + collected_at: 2025-06-26T11:32:59.521562057Z +- uuid: 89237736b97047beac3611e25e26408e + hostname: brain-staging + admin_pubkey: 45Pyv9hRfub43NyRrYv95MhZs1Wrm8sj3RhBvA3F1Bvr + node_pubkey: Du3UfPSUUZmA5thQmc9Vrxdy7UimpygcpDsQNnwRQPtu + exposed_ports: [] + public_ipv4: 156.146.63.216 + public_ipv6: '' + disk_size_gb: 20 + vcpus: 2 + memory_mb: 4000 + kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 + dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 + created_at: 2025-06-18T14:00:48.016735075Z + updated_at: 2025-06-18T14:00:48.016736647Z + price_per_unit: 20000 + locked_nano: 32466740000 + collected_at: 2025-06-26T11:32:59.521568755Z app_nodes: - - node_pubkey: BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg - operator_wallet: 7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB - country: DE - region: Hesse - city: Frankfurt am Main - ip: 212.95.45.139 - avail_mem_mb: 16000 - avail_vcpus: 16 - avail_storage_mb: 200000 - avail_no_of_port: 20000 - max_ports_per_app: 9 - price: 20000 - offline_minutes: 0 -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 +- node_pubkey: BiqoPUEoAxYxMRXUmyofoS9H1TBQgQqvLJ6MbWh88AQg + operator_wallet: 7V3rEuh6j8VuwMVB5PyGqWKLmjJ4fYSv6WtrTL51NZTB + country: DE + region: Hesse + city: Frankfurt am Main + ip: 212.95.45.139 + avail_mem_mb: 16000 + avail_vcpus: 16 + avail_storage_mb: 200000 + avail_no_of_port: 20000 + max_ports_per_app: 9 + price: 20000 + reports: {} + offline_minutes: 0 +app_contracts: [] diff --git a/scripts/deploy.sh b/scripts/deploy.sh index 210fcd8..6fe41cc 100755 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -12,7 +12,7 @@ server="$1" exit 1 } -[[ "$server" == "testnet" ]] && server="root@prod-brain-1" +[[ "$server" == "testnet" ]] && server="brain-testnet" [[ "$server" == "staging" ]] && server="brain-staging" cargo build --release --bin brain diff --git a/src/constants.rs b/src/constants.rs index f1e314d..e41996d 100644 --- a/src/constants.rs +++ b/src/constants.rs @@ -50,7 +50,6 @@ pub const ID_ALPHABET: [char; 62] = [ ]; 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 VM_DAEMON_TIMEOUT: u64 = 10; diff --git a/src/db/app.rs b/src/db/app.rs index 77de30c..08c1dde 100644 --- a/src/db/app.rs +++ b/src/db/app.rs @@ -618,9 +618,9 @@ impl From<&old_brain::BrainData> for Vec { region: old_node.region.clone(), city: old_node.city.clone(), ip: old_node.ip.clone(), - avail_mem_mib: old_node.avail_mem_mib, + avail_mem_mib: old_node.avail_mem_mb, avail_vcpus: old_node.avail_vcpus, - avail_storage_mib: old_node.avail_storage_mib, + avail_storage_mib: old_node.avail_storage_mb, avail_ports: old_node.avail_no_of_port, max_ports_per_app: old_node.max_ports_per_app, price: old_node.price, @@ -654,9 +654,9 @@ impl From<&old_brain::BrainData> for Vec { app_node: RecordId::from((APP_NODE, old_c.node_pubkey.clone())), mapped_ports, host_ipv4: old_c.host_ipv4.clone(), - disk_size_mib: old_c.disk_size_mib, + disk_size_mib: old_c.disk_size_mb, vcpus: old_c.vcpus, - memory_mib: old_c.memory_mib, + memory_mib: old_c.memory_mb, price_per_unit: old_c.price_per_unit, locked_nano: old_c.locked_nano, created_at: old_c.created_at.into(), diff --git a/src/db/general.rs b/src/db/general.rs index bf533f4..afe8b3d 100644 --- a/src/db/general.rs +++ b/src/db/general.rs @@ -1,7 +1,7 @@ // SPDX-License-Identifier: Apache-2.0 use super::Error; -use crate::constants::{ACCOUNT, BAN, KICK, MIN_ESCROW, VM_NODE}; +use crate::constants::{ACCOUNT, BAN, KICK, TOKEN_DECIMAL, VM_NODE}; use crate::db::prelude::*; use crate::old_brain; use serde::{Deserialize, Serialize}; @@ -61,9 +61,7 @@ impl Account { email: &str, escrow: u64, ) -> Result<(), Error> { - if escrow < MIN_ESCROW { - return Err(Error::MinimalEscrow); - } + let escrow = escrow * TOKEN_DECIMAL; let mut op_account = Self::get(db, wallet).await?; let op_total_balance = op_account.balance.saturating_add(op_account.escrow); if op_total_balance < escrow { diff --git a/src/db/mod.rs b/src/db/mod.rs index 4caef7b..b6a3f42 100644 --- a/src/db/mod.rs +++ b/src/db/mod.rs @@ -5,8 +5,8 @@ pub mod general; pub mod vm; use crate::constants::{ - APP_NODE, DB_SCHEMA_FILES, DEFAULT_ENDPOINT, DELETED_APP, DELETED_VM, MIN_ESCROW, NEW_APP_REQ, - NEW_VM_REQ, UPDATE_VM_REQ, + APP_NODE, DB_SCHEMA_FILES, DEFAULT_ENDPOINT, DELETED_APP, DELETED_VM, NEW_APP_REQ, NEW_VM_REQ, + UPDATE_VM_REQ, }; use crate::old_brain; use prelude::*; @@ -33,8 +33,6 @@ pub enum Error { UnknownTable(String), #[error("Daemon channel got closed: {0}")] AppDaemonConnection(#[from] tokio::sync::mpsc::error::SendError), - #[error("Minimum escrow amount is {MIN_ESCROW}")] - MinimalEscrow, #[error("Insufficient funds, deposit more tokens")] InsufficientFunds, #[error("Contract not found")] @@ -101,7 +99,7 @@ pub async fn migration0( println!("Inserting vm nodes..."); let _: Vec = db.insert(()).content(vm_nodes).await?; println!("Inserting app nodes..."); - let _: Vec = db.insert(()).content(app_nodes).await?; + let _: Vec = db.insert(()).content(app_nodes).await.unwrap(); println!("Inserting active vm contracts..."); let _: Vec = db.insert(()).relation(active_vm).await?; println!("Inserting app contracts..."); diff --git a/src/db/vm.rs b/src/db/vm.rs index 3d4fef7..17ccd91 100644 --- a/src/db/vm.rs +++ b/src/db/vm.rs @@ -334,7 +334,7 @@ impl WrappedMeasurement { _ => NEW_VM_REQ, }; let mut resp = db - .query(format!("live select error from {table} where id = {NEW_VM_REQ}:{vm_id};")) + .query(format!("live select error from {table} where id = {table}:{vm_id};")) .query(format!( "live select * from measurement_args where id = measurement_args:{vm_id};" )) @@ -744,6 +744,7 @@ impl UpdateVmReq { } let contract = contract.unwrap(); 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; if !((self.vcpus != 0 && contract.vcpus != self.vcpus) @@ -754,13 +755,19 @@ impl UpdateVmReq { return Ok(Some(false)); } - // Do not allow user to unbalance memory and CPU on the node + // Do not allow user to unbalance node resources if self.vcpus == 0 { self.vcpus = self.memory_mib / mem_per_cpu; } if self.memory_mib == 0 { 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 = db.insert(UPDATE_VM_REQ).relation(self).await?; Ok(Some(true)) @@ -772,6 +779,7 @@ impl UpdateVmReq { error: String, } let _: Option = db.update((UPDATE_VM_REQ, id)).merge(UpdateVmError { error }).await?; + let _: Option = db.delete((UPDATE_VM_REQ, id)).await?; Ok(()) } } @@ -1013,9 +1021,9 @@ impl From<&old_brain::BrainData> for Vec { region: old_node.region.clone(), city: old_node.city.clone(), ip: old_node.ip.clone(), - avail_mem_mib: old_node.avail_mem_mib, + avail_mem_mib: old_node.avail_mem_mb, avail_vcpus: old_node.avail_vcpus, - avail_storage_mib: old_node.avail_storage_mib, + avail_storage_mib: old_node.avail_storage_gbs * 1024, avail_ipv4: old_node.avail_ipv4, avail_ipv6: old_node.avail_ipv6, avail_ports: old_node.avail_ports, @@ -1045,9 +1053,9 @@ impl From<&old_brain::BrainData> for Vec { mapped_ports, public_ipv4: old_c.public_ipv4.clone(), public_ipv6: old_c.public_ipv6.clone(), - disk_size_mib: old_c.disk_size_mib, + disk_size_mib: old_c.disk_size_gb * 1024, vcpus: old_c.vcpus, - memory_mib: old_c.memory_mib, + memory_mib: old_c.memory_mb, dtrfs_sha: old_c.dtrfs_sha.clone(), kernel_sha: old_c.kernel_sha.clone(), price_per_unit: old_c.price_per_unit, diff --git a/src/grpc/general.rs b/src/grpc/general.rs index 24ac1fc..c8c51ef 100644 --- a/src/grpc/general.rs +++ b/src/grpc/general.rs @@ -115,7 +115,7 @@ impl BrainGeneralCli for GeneralCliServer { log::info!("Regitering new operator: {req:?}"); match db::Account::operator_reg(&self.db, &req.pubkey, &req.email, req.escrow).await { Ok(()) => Ok(Response::new(Empty {})), - Err(e) if matches!(e, db::Error::InsufficientFunds | db::Error::MinimalEscrow) => { + Err(e) if matches!(e, db::Error::InsufficientFunds) => { Err(Status::failed_precondition(e.to_string())) } Err(e) => { diff --git a/src/old_brain.rs b/src/old_brain.rs index cae6efc..d4dc2ee 100644 --- a/src/old_brain.rs +++ b/src/old_brain.rs @@ -37,9 +37,9 @@ pub struct VmNode { pub region: String, pub city: String, pub ip: String, - pub avail_mem_mib: u32, + pub avail_mem_mb: u32, pub avail_vcpus: u32, - pub avail_storage_mib: u32, + pub avail_storage_gbs: u32, pub avail_ipv4: u32, pub avail_ipv6: u32, pub avail_ports: u32, @@ -60,9 +60,9 @@ pub struct VmContract { pub exposed_ports: Vec, pub public_ipv4: String, pub public_ipv6: String, - pub disk_size_mib: u32, + pub disk_size_gb: u32, pub vcpus: u32, - pub memory_mib: u32, + pub memory_mb: u32, pub kernel_sha: String, pub dtrfs_sha: String, pub created_at: chrono::DateTime, @@ -82,9 +82,9 @@ pub struct AppContract { pub node_pubkey: String, pub mapped_ports: Vec<(u16, u16)>, pub host_ipv4: String, - pub disk_size_mib: u32, + pub disk_size_mb: u32, pub vcpus: u32, - pub memory_mib: u32, + pub memory_mb: u32, pub created_at: chrono::DateTime, pub updated_at: chrono::DateTime, // price per unit per minute @@ -105,9 +105,9 @@ pub struct AppNode { pub region: String, pub city: String, pub ip: String, - pub avail_mem_mib: u32, + pub avail_mem_mb: u32, pub avail_vcpus: u32, - pub avail_storage_mib: u32, + pub avail_storage_mb: u32, pub avail_no_of_port: u32, pub max_ports_per_app: u32, // nanotokens per unit per minute diff --git a/surql/timer.sql b/surql/timer.sql index 8161abf..7b40a59 100644 --- a/surql/timer.sql +++ b/surql/timer.sql @@ -22,7 +22,9 @@ FOR $contract IN (select * from active_vm fetch out) { $amount_due }; UPDATE $operator.id SET escrow -= $compensation; - UPDATE $contract.in SET balance += $compensation; + UPDATE $contract.id SET + locked_nano += $compensation, + collected_at = time::now(); }; IF $amount_paid >= $contract.locked_nano { fn::delete_vm($contract.id); diff --git a/tests/mock_data.yaml b/tests/mock_data.yaml index caf0ac5..574ebaa 100644 --- a/tests/mock_data.yaml +++ b/tests/mock_data.yaml @@ -180,9 +180,9 @@ vm_nodes: region: England city: London ip: 173.234.17.2 - avail_mem_mib: 26000 + avail_mem_mb: 26000 avail_vcpus: 28 - avail_storage_mib: 680 + avail_storage_gbs: 680 avail_ipv4: 2 avail_ipv6: 65516 avail_ports: 19999 @@ -196,9 +196,9 @@ vm_nodes: region: Île-de-France city: Paris ip: 156.146.63.215 - avail_mem_mib: 123000 + avail_mem_mb: 123000 avail_vcpus: 46 - avail_storage_mib: 440 + avail_storage_gbs: 440 avail_ipv4: 2 avail_ipv6: 0 avail_ports: 20000 @@ -212,9 +212,9 @@ vm_nodes: region: Quebec city: Montréal ip: 184.107.169.199 - avail_mem_mib: 30000 + avail_mem_mb: 30000 avail_vcpus: 31 - avail_storage_mib: 700 + avail_storage_gbs: 700 avail_ipv4: 0 avail_ipv6: 0 avail_ports: 20000 @@ -228,9 +228,9 @@ vm_nodes: region: British Columbia city: Vancouver ip: 149.22.95.1 - avail_mem_mib: 109000 + avail_mem_mb: 109000 avail_vcpus: 45 - avail_storage_mib: 400 + avail_storage_gbs: 400 avail_ipv4: 25 avail_ipv6: 0 avail_ports: 20000 @@ -244,9 +244,9 @@ vm_nodes: region: California city: San Jose ip: 149.36.48.99 - avail_mem_mib: 120000 + avail_mem_mb: 120000 avail_vcpus: 41 - avail_storage_mib: 390 + avail_storage_gbs: 390 avail_ipv4: 23 avail_ipv6: 0 avail_ports: 19999 @@ -260,9 +260,9 @@ vm_nodes: region: British Columbia city: Vancouver ip: 149.22.95.28 - avail_mem_mib: 125000 + avail_mem_mb: 125000 avail_vcpus: 46 - avail_storage_mib: 400 + avail_storage_gbs: 400 avail_ipv4: 26 avail_ipv6: 0 avail_ports: 20000 @@ -277,9 +277,9 @@ vm_nodes: region: England city: London ip: 193.234.17.2 - avail_mem_mib: 28000 + avail_mem_mb: 28000 avail_vcpus: 24 - avail_storage_mib: 1680 + avail_storage_gbs: 1680 avail_ipv4: 1 avail_ipv6: 0 avail_ports: 19999 @@ -293,9 +293,9 @@ vm_nodes: region: England city: London ip: 193.234.17.2 - avail_mem_mib: 28000 + avail_mem_mb: 28000 avail_vcpus: 24 - avail_storage_mib: 1680 + avail_storage_gbs: 1680 avail_ipv4: 1 avail_ipv6: 0 avail_ports: 19999 @@ -312,9 +312,9 @@ vm_contracts: exposed_ports: [] public_ipv4: 156.146.63.216 public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 2 - memory_mib: 3000 + memory_mb: 3000 kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b created_at: 2025-02-28T23:19:41.769423466Z @@ -329,9 +329,9 @@ vm_contracts: exposed_ports: [] public_ipv4: 173.234.136.154 public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 2 - memory_mib: 3000 + memory_mb: 3000 kernel_sha: 3ec4fc5aa5729f515967ec71be4a851622785c0080f7191b1b07717149840151 dtrfs_sha: 3f6b3e5740f249eedfb2f7248c521a551be8b2676f7fcb040f3f3bc840a5004b created_at: 2025-03-06T19:51:39.595163157Z @@ -347,9 +347,9 @@ vm_contracts: - 38288 public_ipv4: "" public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 1 - memory_mib: 1000 + memory_mb: 1000 kernel_sha: 14e225e4aaf84cc2e0b5f64206121186ddebc4b378b886da3b2f7515dfd41692 dtrfs_sha: 03ce24dbbe917fdd4f6347e61036805ddbdded5044c272bab188ef9333093bee created_at: 2025-03-12T16:28:24.749161605Z @@ -364,9 +364,9 @@ vm_contracts: exposed_ports: [] public_ipv4: 149.22.95.2 public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 2 - memory_mib: 3000 + memory_mb: 3000 kernel_sha: 3a68709138bed09c16671949cf1f03acee95a08381ba84fc70fb586001fa6767 dtrfs_sha: 0bb93443f65c9f4379ed469f94794f5c1bf14d8905b0b2c56a125df4a9ebe83e created_at: 2025-03-20T14:40:25.557753393Z @@ -381,9 +381,9 @@ vm_contracts: exposed_ports: [] public_ipv4: 156.146.63.217 public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 2 - memory_mib: 3000 + memory_mb: 3000 kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 created_at: 2025-04-07T22:57:57.646151746Z @@ -398,9 +398,9 @@ vm_contracts: exposed_ports: [] public_ipv4: 149.22.95.2 public_ipv6: "" - disk_size_mib: 30 + disk_size_gb: 30 vcpus: 1 - memory_mib: 1000 + memory_mb: 1000 kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 created_at: 2025-04-12T13:44:56.957037550Z @@ -415,9 +415,9 @@ vm_contracts: exposed_ports: [] public_ipv4: 149.36.48.100 public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 4 - memory_mib: 4000 + memory_mb: 4000 kernel_sha: e49c8587287b21df7600c04326fd7393524453918c14d67f73757dc769a13542 dtrfs_sha: b5f408d00e2b93dc594fed3a7f2466a9878802ff1c7ae502247471cd06728a45 created_at: 2025-04-15T00:46:35.622165457Z @@ -433,9 +433,9 @@ vm_contracts: - 46393 public_ipv4: "" public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 1 - memory_mib: 1000 + memory_mb: 1000 kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 created_at: 2025-04-16T20:37:57.176592933Z @@ -452,9 +452,9 @@ vm_contracts: - 46393 public_ipv4: "" public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 1 - memory_mib: 1000 + memory_mb: 1000 kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 created_at: 2025-04-16T20:37:57.176592933Z @@ -470,9 +470,9 @@ vm_contracts: - 46393 public_ipv4: "" public_ipv6: "" - disk_size_mib: 10240 + disk_size_gb: 10240 vcpus: 1 - memory_mib: 1000 + memory_mb: 1000 kernel_sha: e765e56166ef321b53399b9638584d1279821dbe3d46191c1f66bbaa075e7919 dtrfs_sha: d207644ee60d54009b6ecdfb720e2ec251cde31774dd249fcc7435aca0377990 created_at: 2025-04-16T20:37:57.176592933Z @@ -488,9 +488,9 @@ app_nodes: region: Hesse city: Frankfurt am Main ip: 212.95.45.139 - avail_mem_mib: 16000 + avail_mem_mb: 16000 avail_vcpus: 16 - avail_storage_mib: 200000 + avail_storage_mb: 200000 avail_no_of_port: 20000 max_ports_per_app: 9 price: 20000 @@ -506,9 +506,9 @@ app_contracts: - - 28667 - 8080 host_ipv4: 212.95.45.139 - disk_size_mib: 1000 + disk_size_mb: 1000 vcpus: 1 - memory_mib: 1000 + memory_mb: 1000 created_at: 2025-04-21T11:27:28.833236909Z updated_at: 2025-04-21T11:27:28.833237729Z price_per_unit: 200000