diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 0d4a4802c6..b9a13fdb28 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -91,3 +91,4 @@ jobs: uses: fluencelabs/flox/.github/workflows/tests.yml@main with: nox-image: "${{ needs.nox-snapshot.outputs.nox-image }}" + ref: deal-lifecycle diff --git a/crates/nox-tests/tests/builtin.rs b/crates/nox-tests/tests/builtin.rs index 5ae2705e17..82541a108d 100644 --- a/crates/nox-tests/tests/builtin.rs +++ b/crates/nox-tests/tests/builtin.rs @@ -2317,7 +2317,7 @@ async fn aliases_restart() { #[tokio::test] async fn subnet_resolve() { - let expected_request = r#"{"jsonrpc":"2.0","id":0,"method":"eth_call","params":[{"data":"0xf3b6a45d","to":"0x6dD1aFfe90415C61AeDf5c0ACcA9Cf5fD5031517"},"latest"]}"#; + let expected_request = r#"{"jsonrpc":"2.0","id":0,"method":"eth_call","params":[{"data":"0x4b66a309","to":"0x9DcaFca9B88f49d91c38a32E7d9A86a7d9a37B04"},"latest"]}"#; let expected_request: serde_json::Value = serde_json::from_str(expected_request).expect("parse expected_request as json"); @@ -2325,7 +2325,7 @@ async fn subnet_resolve() { { "jsonrpc": "2.0", "id": 0, - "result": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000032b7083358039745e731fb9809204d9304b48797406593e180b4e5a762a47321400000000000000000000000000000000000000000000000000000000000000012623d2cc0692ce6cb68ab094f95daa06a92a36f3cf7190e9baf7dd61562899f4a510574bbf0159ca28b7fb191d252346d1a32f853a3f0b1c9c5e59e28cfd546c0000000000000000000000000b9b9ac40dc527ea6a98110b796b0007074d49dd0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000004fdbfb375f013a592c50174ad241c67a4cf1b9ec81c902900b75f801f83cd2657a00000000000000000000000000000000000000000000000000000000000000022623d2cc0692ce6cb68ab094f95daa06a92a36f3cf7190e9baf7dd61562899f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b9b9ac40dc527ea6a98110b796b0007074d49dd0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000004fec7c6fea91d971bc7c5ed340ec86265bb93386fff248e842a1a69a94b58d2d9e00000000000000000000000000000000000000000000000000000000000000032623d2cc0692ce6cb68ab094f95daa06a92a36f3cf7190e9baf7dd61562899f400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000b9b9ac40dc527ea6a98110b796b0007074d49dd0000000000000000000000000000000000000000000000000de0b6b3a7640000000000000000000000000000000000000000000000000000000000000000004f" + "result": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000153aadfa1d6cd4c8a18f7eb26bd0b83ca10b664845cd72e2dd871f78b2006f5a7b5ecc6c89e9c2add9a9d3b08e7c8ed2155d980e48870b72cfb9c5c16a088ebfb0a510f7418603d18c14fd3e6dbc2bf4ce5b2e9ef3dac15428a9b31a7bf5a11a8000000000000000000000000627e730fd1361e6ffcee236dac08f82eaa8ac7cd0000000000000000000000000000000000000000000000000de0b6b3a76400000000000000000000000000000000000000000000000000000000000006c16216" } "#; @@ -2378,9 +2378,9 @@ async fn subnet_resolve() { r#" (seq (seq - (call relay ("subnet" "resolve") ["6dD1aFfe90415C61AeDf5c0ACcA9Cf5fD5031517"] subnet1) + (call relay ("subnet" "resolve") ["9DcaFca9B88f49d91c38a32E7d9A86a7d9a37B04"] subnet1) (seq - (call relay ("subnet" "resolve") ["0x6dD1aFfe90415C61AeDf5c0ACcA9Cf5fD5031517"] subnet2) + (call relay ("subnet" "resolve") ["0x9DcaFca9B88f49d91c38a32E7d9A86a7d9a37B04"] subnet2) (call relay ("subnet" "resolve") ["invalid_deal_id"] invalid) ) ) @@ -2419,20 +2419,11 @@ async fn subnet_resolve() { pats, vec![ ( - "0x2b7083358039745e731fb9809204d9304b48797406593e180b4e5a762a473214", - "12D3KooWCPFLtcLwzT1k4gsacu3gkM2gYJTXdnTSfsPFZ67FrD4F", - vec!["12D3KooWLvhtdbBuFTzxvDXUGYcyxyeZrab1tZWEY4YY8K6PTjTH".to_string()], - ), - ( - "0xdbfb375f013a592c50174ad241c67a4cf1b9ec81c902900b75f801f83cd2657a", - "12D3KooWCPFLtcLwzT1k4gsacu3gkM2gYJTXdnTSfsPFZ67FrD4F", - vec![], - ), - ( - "0xec7c6fea91d971bc7c5ed340ec86265bb93386fff248e842a1a69a94b58d2d9e", - "12D3KooWCPFLtcLwzT1k4gsacu3gkM2gYJTXdnTSfsPFZ67FrD4F", - vec![], + "0x53aadfa1d6cd4c8a18f7eb26bd0b83ca10b664845cd72e2dd871f78b2006f5a7", + "12D3KooWN4XNKgu76nwB7iKUXmE4FKCA5Ycak6SbSqLTaWo2nFsQ", + vec!["12D3KooWAWdwEujemZN1LQ87bPKSeAvDA1yMGistnL4yF8awuUqV".to_string()], ), + // TODO: add more nodes in subnet later ] ); diff --git a/crates/subnet-resolver/src/resolve.rs b/crates/subnet-resolver/src/resolve.rs index 73b2034b1e..b8f4e28408 100644 --- a/crates/subnet-resolver/src/resolve.rs +++ b/crates/subnet-resolver/src/resolve.rs @@ -19,8 +19,6 @@ pub fn parse_chain_data(data: &str) -> Result, ChainDataError> { let signature: ParamType = Array(Box::new(Tuple(vec![ // bytes32 id FixedBytes(32), - // uint256 index - Uint(256), // bytes32 peerId FixedBytes(32), // bytes32 workerId @@ -64,9 +62,6 @@ fn decode_pats(data: String) -> Result, ResolveSubnetError> { let pat_id = next_opt(&mut tuple, "pat_id", Token::into_fixed_bytes)?; let pat_id = hex::encode(pat_id); - // skip 'index' field - let mut tuple = tuple.skip(1); - let peer_id = next_opt(&mut tuple, "compute_peer_id", Token::into_fixed_bytes)?; let peer_id = parse_peer_id(peer_id) .map_err(|e| ResolveSubnetError::InvalidPeerId(e, "compute_peer_id"))?; @@ -106,10 +101,10 @@ pub fn validate_deal_id(deal_id: String) -> Result { pub fn resolve_subnet(deal_id: String, api_endpoint: &str) -> SubnetResolveResult { let res: Result<_, ResolveSubnetError> = try { let deal_id = validate_deal_id(deal_id)?; - // Description of the `getPATs` function from the `chain.workers` smart contract on chain + // Description of the `getComputeUnits` function from the `chain.workers` smart contract on chain #[allow(deprecated)] let input = Function { - name: String::from("getPATs"), + name: String::from("getComputeUnits"), inputs: vec![], outputs: vec![], constant: None,