@@ -562,13 +562,22 @@ impl WasmQuerier {
562562impl Default for WasmQuerier {
563563 fn default ( ) -> Self {
564564 let handler = Box :: from ( |request : & WasmQuery | -> QuerierResult {
565- let addr = match request {
566- WasmQuery :: Smart { contract_addr, .. } => contract_addr,
567- WasmQuery :: Raw { contract_addr, .. } => contract_addr,
568- WasmQuery :: ContractInfo { contract_addr, .. } => contract_addr,
569- }
570- . clone ( ) ;
571- SystemResult :: Err ( SystemError :: NoSuchContract { addr } )
565+ let err = match request {
566+ WasmQuery :: Smart { contract_addr, .. } => SystemError :: NoSuchContract {
567+ addr : contract_addr. clone ( ) ,
568+ } ,
569+ WasmQuery :: Raw { contract_addr, .. } => SystemError :: NoSuchContract {
570+ addr : contract_addr. clone ( ) ,
571+ } ,
572+ WasmQuery :: ContractInfo { contract_addr, .. } => SystemError :: NoSuchContract {
573+ addr : contract_addr. clone ( ) ,
574+ } ,
575+ #[ cfg( feature = "cosmwasm_1_2" ) ]
576+ WasmQuery :: CodeInfo { code_id, .. } => {
577+ SystemError :: NoSuchCode { code_id : * code_id }
578+ }
579+ } ;
580+ SystemResult :: Err ( err)
572581 } ) ;
573582 Self :: new ( handler)
574583 }
@@ -1381,7 +1390,7 @@ mod tests {
13811390
13821391 let any_addr = "foo" . to_string ( ) ;
13831392
1384- // Query WasmQuery::Raw
1393+ // By default, querier errors for WasmQuery::Raw
13851394 let system_err = querier
13861395 . query ( & WasmQuery :: Raw {
13871396 contract_addr : any_addr. clone ( ) ,
@@ -1393,7 +1402,7 @@ mod tests {
13931402 err => panic ! ( "Unexpected error: {:?}" , err) ,
13941403 }
13951404
1396- // Query WasmQuery::Smart
1405+ // By default, querier errors for WasmQuery::Smart
13971406 let system_err = querier
13981407 . query ( & WasmQuery :: Smart {
13991408 contract_addr : any_addr. clone ( ) ,
@@ -1405,7 +1414,7 @@ mod tests {
14051414 err => panic ! ( "Unexpected error: {:?}" , err) ,
14061415 }
14071416
1408- // Query WasmQuery::ContractInfo
1417+ // By default, querier errors for WasmQuery::ContractInfo
14091418 let system_err = querier
14101419 . query ( & WasmQuery :: ContractInfo {
14111420 contract_addr : any_addr. clone ( ) ,
@@ -1416,6 +1425,18 @@ mod tests {
14161425 err => panic ! ( "Unexpected error: {:?}" , err) ,
14171426 }
14181427
1428+ #[ cfg( feature = "cosmwasm_1_2" ) ]
1429+ {
1430+ // By default, querier errors for WasmQuery::CodeInfo
1431+ let system_err = querier
1432+ . query ( & WasmQuery :: CodeInfo { code_id : 4 } )
1433+ . unwrap_err ( ) ;
1434+ match system_err {
1435+ SystemError :: NoSuchCode { code_id } => assert_eq ! ( code_id, 4 ) ,
1436+ err => panic ! ( "Unexpected error: {:?}" , err) ,
1437+ }
1438+ }
1439+
14191440 querier. update_handler ( |request| {
14201441 let constract1 = Addr :: unchecked ( "contract1" ) ;
14211442 let mut storage1 = HashMap :: < Binary , Binary > :: default ( ) ;
@@ -1469,6 +1490,24 @@ mod tests {
14691490 } )
14701491 }
14711492 }
1493+ #[ cfg( feature = "cosmwasm_1_2" ) ]
1494+ WasmQuery :: CodeInfo { code_id } => {
1495+ use crate :: { CodeInfoResponse , HexBinary } ;
1496+ let code_id = * code_id;
1497+ if code_id == 4 {
1498+ let response = CodeInfoResponse {
1499+ code_id,
1500+ creator : "lalala" . into ( ) ,
1501+ checksum : HexBinary :: from_hex (
1502+ "84cf20810fd429caf58898c3210fcb71759a27becddae08dbde8668ea2f4725d" ,
1503+ )
1504+ . unwrap ( ) ,
1505+ } ;
1506+ SystemResult :: Ok ( ContractResult :: Ok ( to_binary ( & response) . unwrap ( ) ) )
1507+ } else {
1508+ SystemResult :: Err ( SystemError :: NoSuchCode { code_id } )
1509+ }
1510+ }
14721511 }
14731512 } ) ;
14741513
@@ -1525,6 +1564,19 @@ mod tests {
15251564 ) ,
15261565 res => panic ! ( "Unexpected result: {:?}" , res) ,
15271566 }
1567+
1568+ // WasmQuery::ContractInfo
1569+ #[ cfg( feature = "cosmwasm_1_2" ) ]
1570+ {
1571+ let result = querier. query ( & WasmQuery :: CodeInfo { code_id : 4 } ) ;
1572+ match result {
1573+ SystemResult :: Ok ( ContractResult :: Ok ( value) ) => assert_eq ! (
1574+ value,
1575+ br#"{"code_id":4,"creator":"lalala","checksum":"84cf20810fd429caf58898c3210fcb71759a27becddae08dbde8668ea2f4725d"}"#
1576+ ) ,
1577+ res => panic ! ( "Unexpected result: {:?}" , res) ,
1578+ }
1579+ }
15281580 }
15291581
15301582 #[ test]
0 commit comments