Skip to content

Commit 57d384a

Browse files
committed
Rename functions
1 parent 10cc0be commit 57d384a

File tree

10 files changed

+95
-58
lines changed

10 files changed

+95
-58
lines changed

cairo/src/cairo_fact_registry.cairo

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,21 @@ use starknet::ContractAddress;
44

55
#[starknet::interface]
66
pub trait ICairoFactRegistry<TContractState> {
7+
// ========= Main function for end user ========= //
8+
9+
/// Whether given fact is valid (mocked or verified).
10+
fn isCairoFactValid(self: @TContractState, fact_hash: felt252, is_mocked: bool) -> bool;
11+
12+
// ========= Fact registry with real verification ========= //
13+
714
/// Whether given fact was verified (not necessarily stored locally).
8-
fn isCairoFactValid(self: @TContractState, fact_hash: felt252) -> bool;
15+
fn isCairoVerifiedFactValid(self: @TContractState, fact_hash: felt252) -> bool;
916

1017
/// Returns address of the contract that stores verified facts.
11-
fn getCairoFactRegistryExternalContract(self: @TContractState) -> ContractAddress;
18+
fn getCairoVerifiedFactRegistryContract(self: @TContractState) -> ContractAddress;
1219

1320
/// Sets address of the contract that stores verified facts.
14-
fn setCairoFactRegistryExternalContract(
21+
fn setCairoVerifiedFactRegistryContract(
1522
ref self: TContractState, fallback_address: ContractAddress,
1623
);
1724

@@ -23,7 +30,7 @@ pub trait ICairoFactRegistry<TContractState> {
2330

2431
// ========= For internal use in grower and data processor ========= //
2532

26-
fn isCairoFactValidForInternal(self: @TContractState, fact_hash: felt252) -> bool;
33+
fn isCairoVerifiedFactValidForInternal(self: @TContractState, fact_hash: felt252) -> bool;
2734

2835
fn isMockedForInternal(self: @TContractState) -> bool;
2936

@@ -94,18 +101,26 @@ pub mod cairo_fact_registry_component {
94101
+Drop<TContractState>,
95102
impl Ownable: OwnableComponent::HasComponent<TContractState>,
96103
> of ICairoFactRegistry<ComponentState<TContractState>> {
97-
fn isCairoFactValid(self: @ComponentState<TContractState>, fact_hash: felt252) -> bool {
104+
fn isCairoFactValid(self: @ComponentState<TContractState>, fact_hash: felt252, is_mocked: bool) -> bool {
105+
if is_mocked {
106+
self.mocked_facts.entry(fact_hash).read()
107+
} else {
108+
self.isCairoVerifiedFactValid(fact_hash)
109+
}
110+
}
111+
112+
fn isCairoVerifiedFactValid(self: @ComponentState<TContractState>, fact_hash: felt252) -> bool {
98113
Integrity::from_address(self.fallback_contract.read())
99114
.is_fact_hash_valid_with_security(fact_hash, 96)
100115
}
101116

102-
fn getCairoFactRegistryExternalContract(
117+
fn getCairoVerifiedFactRegistryContract(
103118
self: @ComponentState<TContractState>,
104119
) -> ContractAddress {
105120
self.fallback_contract.read()
106121
}
107122

108-
fn setCairoFactRegistryExternalContract(
123+
fn setCairoVerifiedFactRegistryContract(
109124
ref self: ComponentState<TContractState>, fallback_address: ContractAddress,
110125
) {
111126
get_dep_component!(@self, Ownable).assert_only_owner();
@@ -134,14 +149,10 @@ pub mod cairo_fact_registry_component {
134149

135150
// ========= For internal use in grower and data processor ========= //
136151

137-
fn isCairoFactValidForInternal(
152+
fn isCairoVerifiedFactValidForInternal(
138153
self: @ComponentState<TContractState>, fact_hash: felt252,
139154
) -> bool {
140-
if self.is_mocked_for_internal.read() {
141-
self.mocked_facts.entry(fact_hash).read()
142-
} else {
143-
self.isCairoFactValid(fact_hash)
144-
}
155+
self.isCairoFactValid(fact_hash, self.is_mocked_for_internal.read())
145156
}
146157

147158
fn isMockedForInternal(self: @ComponentState<TContractState>) -> bool {

cairo/src/data_processor.cairo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ pub mod data_processor_component {
233233
let fact_hash = calculate_fact_hash(task_data.program_hash, program_output.span());
234234

235235
let cairo_fact_registry = get_dep_component!(@self, CairoFactRegistry);
236-
assert(cairo_fact_registry.isCairoFactValidForInternal(fact_hash), 'Invalid fact');
236+
assert(cairo_fact_registry.isCairoVerifiedFactValidForInternal(fact_hash), 'Invalid fact');
237237

238238
let task_result = u256 {
239239
low: task_data.task_result_low, high: task_data.task_result_high,

solidity/ignition/modules.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export const modules = (chainId: keyof typeof settings) =>
4949
...("CAIRO_FACT_REGISTRY_EXTERNAL_CONTRACT" in settings[chainId]
5050
? [
5151
{
52-
name: "setCairoFactRegistryExternalContract",
52+
name: "setCairoVerifiedFactRegistryContract",
5353
args: [
5454
settings[chainId].CAIRO_FACT_REGISTRY_EXTERNAL_CONTRACT,
5555
],

solidity/src/interfaces/modules/ICairoFactRegistryModule.sol

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,23 +10,28 @@ interface ICairoFactRegistryModule {
1010
event CairoMockedFactRegistryFallbackContractSet(address fallbackMockedContract);
1111
event IsMockedForInternalSet(bool isMocked);
1212

13+
// ========= Main function for end user ========= //
14+
15+
/// Whether given fact is valid (mocked or verified).
16+
function isCairoFactValid(bytes32 factHash, bool isMocked) external view returns (bool);
17+
1318
// ========= Fact registry with real verification ========= //
1419

1520
/// Whether given fact was verified (not necessarily stored locally).
16-
function isCairoFactValid(bytes32 factHash) external view returns (bool);
21+
function isCairoVerifiedFactValid(bytes32 factHash) external view returns (bool);
1722

1823
/// Whether given fact hash was verified and stored locally.
1924
/// Verified facts can be moved if and only if this function returns true.
20-
function isCairoFactStored(bytes32 factHash) external view returns (bool);
25+
function isCairoVerifiedFactStored(bytes32 factHash) external view returns (bool);
2126

2227
/// Returns address of the contract that stores verified facts.
23-
function getCairoFactRegistryExternalContract() external view returns (address);
28+
function getCairoVerifiedFactRegistryContract() external view returns (address);
2429

2530
/// Sets address of the contract that stores verified facts.
26-
function setCairoFactRegistryExternalContract(address fallbackContract) external;
31+
function setCairoVerifiedFactRegistryContract(address contractAddress) external;
2732

2833
/// Moves verified fact from external (fallback) contract to local storage.
29-
function storeCairoFact(bytes32 factHash) external;
34+
function storeCairoVerifiedFact(bytes32 factHash) external;
3035

3136
// ========= Mocked fact registry ========= //
3237

@@ -44,7 +49,7 @@ interface ICairoFactRegistryModule {
4449

4550
// ========= For internal use in grower and data processor ========= //
4651

47-
function isCairoFactValidForInternal(bytes32 factHash) external view returns (bool);
52+
function isCairoVerifiedFactValidForInternal(bytes32 factHash) external view returns (bool);
4853

4954
function isMockedForInternal() external view returns (bool);
5055

solidity/src/modules/CairoFactRegistryModule.sol

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,33 +24,43 @@ contract CairoFactRegistryModule is ICairoFactRegistryModule, AccessController {
2424
s.slot := position
2525
}
2626
}
27+
// ========= Main function for end user ========= //
28+
29+
/// @inheritdoc ICairoFactRegistryModule
30+
function isCairoFactValid(bytes32 factHash, bool isMocked) public view returns (bool) {
31+
if (isMocked) {
32+
return isCairoMockedFactValid(factHash);
33+
} else {
34+
return isCairoVerifiedFactValid(factHash);
35+
}
36+
}
2737

2838
// ========= Fact registry with real verification ========= //
2939

3040
/// @inheritdoc ICairoFactRegistryModule
31-
function isCairoFactValid(bytes32 factHash) public view returns (bool) {
41+
function isCairoVerifiedFactValid(bytes32 factHash) public view returns (bool) {
3242
CairoFactRegistryModuleStorage storage ms = moduleStorage();
3343
return ms.facts[factHash] || ms.externalFactRegistry.isValid(factHash);
3444
}
3545

3646
/// @inheritdoc ICairoFactRegistryModule
37-
function isCairoFactStored(bytes32 factHash) external view returns (bool) {
47+
function isCairoVerifiedFactStored(bytes32 factHash) external view returns (bool) {
3848
return moduleStorage().facts[factHash];
3949
}
4050

4151
/// @inheritdoc ICairoFactRegistryModule
42-
function getCairoFactRegistryExternalContract() external view returns (address) {
52+
function getCairoVerifiedFactRegistryContract() external view returns (address) {
4353
return address(moduleStorage().externalFactRegistry);
4454
}
4555

4656
/// @inheritdoc ICairoFactRegistryModule
47-
function setCairoFactRegistryExternalContract(address externalFactRegistry) external onlyOwner {
57+
function setCairoVerifiedFactRegistryContract(address externalFactRegistry) external onlyOwner {
4858
moduleStorage().externalFactRegistry = IFactsRegistry(externalFactRegistry);
4959
emit CairoFactRegistryExternalContractSet(externalFactRegistry);
5060
}
5161

5262
/// @inheritdoc ICairoFactRegistryModule
53-
function storeCairoFact(bytes32 factHash) external {
63+
function storeCairoVerifiedFact(bytes32 factHash) external {
5464
CairoFactRegistryModuleStorage storage ms = moduleStorage();
5565
require(ms.externalFactRegistry.isValid(factHash), "Fact hash not registered");
5666
ms.facts[factHash] = true;
@@ -89,17 +99,12 @@ contract CairoFactRegistryModule is ICairoFactRegistryModule, AccessController {
8999
// ========= For internal use in grower and data processor ========= //
90100

91101
/// @inheritdoc ICairoFactRegistryModule
92-
function isCairoFactValidForInternal(bytes32 factHash) external view returns (bool) {
93-
CairoFactRegistryModuleStorage storage ms = moduleStorage();
94-
if (ms.isMockedForInternal) {
95-
return isCairoMockedFactValid(factHash);
96-
} else {
97-
return isCairoFactValid(factHash);
98-
}
102+
function isCairoVerifiedFactValidForInternal(bytes32 factHash) external view returns (bool) {
103+
return isCairoFactValid(factHash, isMockedForInternal());
99104
}
100105

101106
/// @inheritdoc ICairoFactRegistryModule
102-
function isMockedForInternal() external view returns (bool) {
107+
function isMockedForInternal() public view returns (bool) {
103108
return moduleStorage().isMockedForInternal;
104109
}
105110

solidity/src/modules/DataProcessorModule.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ contract DataProcessorModule is IDataProcessorModule, AccessController {
126126
bytes32 gpsFactHash = keccak256(abi.encode(taskData.programHash, programOutputHash));
127127

128128
// Ensure GPS fact is registered
129-
if (!ICairoFactRegistryModule(address(this)).isCairoFactValidForInternal(gpsFactHash)) {
129+
if (!ICairoFactRegistryModule(address(this)).isCairoVerifiedFactValidForInternal(gpsFactHash)) {
130130
revert InvalidFact();
131131
}
132132

solidity/src/modules/growing/EvmSharpMmrGrowingModule.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ contract EvmSharpMmrGrowingModule is IEvmSharpMmrGrowingModule, AccessController
217217
bytes32 fact = keccak256(abi.encode(ms.programHash, outputHash));
218218

219219
// We ensure this fact has been registered on SHARP Facts Registry
220-
if (!ICairoFactRegistryModule(address(this)).isCairoFactValidForInternal(fact)) {
220+
if (!ICairoFactRegistryModule(address(this)).isCairoVerifiedFactValidForInternal(fact)) {
221221
revert InvalidFact();
222222
}
223223
}

solidity/src/modules/growing/StarknetSharpMmrGrowingModule.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ contract StarknetSharpMmrGrowingModule is IStarknetSharpMmrGrowingModule, Access
162162
bytes32 fact = keccak256(abi.encode(ms.programHash, outputHash));
163163

164164
// We ensure this fact has been registered on SHARP Facts Registry
165-
if (!ICairoFactRegistryModule(address(this)).isCairoFactValidForInternal(fact)) revert InvalidFact();
165+
if (!ICairoFactRegistryModule(address(this)).isCairoVerifiedFactValidForInternal(fact)) revert InvalidFact();
166166
}
167167

168168
/// @notice Ensures the job outputs are correctly linked

solidity/src/modules/messaging/sender/UniversalSenderModule.sol

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ contract UniversalSenderModule is IUniversalSenderModule {
9696
if (isMocked) {
9797
require(ISatellite(address(this)).isCairoMockedFactValid(factHash), "ERR_FACT_NOT_VALID");
9898
} else {
99-
require(ISatellite(address(this)).isCairoFactValid(factHash), "ERR_FACT_NOT_VALID");
99+
require(ISatellite(address(this)).isCairoVerifiedFactValid(factHash), "ERR_FACT_NOT_VALID");
100100
}
101101

102102
sendMessage(s.satelliteRegistry[destinationChainId], abi.encodeWithSignature("receiveCairoFactHash(bytes32,bool)", factHash, isMocked), gasData);

solidity/test/CairoFactRegistry.ts

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,32 +9,32 @@ describe("CairoFactRegistry", () => {
99
const { satellite } = await loadFixture(deploy);
1010
const { factsRegistry } = await ignition.deploy(MockFactsRegistry);
1111

12-
expect(await satellite.getCairoFactRegistryExternalContract()).to.equal(
12+
expect(await satellite.getCairoVerifiedFactRegistryContract()).to.equal(
1313
"0x0000000000000000000000000000000000000000",
1414
);
15-
await satellite.setCairoFactRegistryExternalContract(
15+
await satellite.setCairoVerifiedFactRegistryContract(
1616
await factsRegistry.getAddress(),
1717
);
18-
expect(await satellite.getCairoFactRegistryExternalContract()).to.equal(
18+
expect(await satellite.getCairoVerifiedFactRegistryContract()).to.equal(
1919
await factsRegistry.getAddress(),
2020
);
2121

2222
const hash = ethers.randomBytes(32);
2323

24-
expect(await satellite.isCairoFactValid(hash)).to.equal(false);
25-
expect(await satellite.isCairoFactStored(hash)).to.equal(false);
24+
expect(await satellite.isCairoVerifiedFactValid(hash)).to.equal(false);
25+
expect(await satellite.isCairoVerifiedFactStored(hash)).to.equal(false);
2626

2727
await factsRegistry.setValid(hash);
2828

29-
expect(await satellite.isCairoFactValid(hash)).to.equal(true);
30-
expect(await satellite.isCairoFactStored(hash)).to.equal(false);
29+
expect(await satellite.isCairoVerifiedFactValid(hash)).to.equal(true);
30+
expect(await satellite.isCairoVerifiedFactStored(hash)).to.equal(false);
3131

32-
await expect(satellite.storeCairoFact(hash))
32+
await expect(satellite.storeCairoVerifiedFact(hash))
3333
.to.emit(satellite, "CairoFactSet")
3434
.withArgs(hash);
3535

36-
expect(await satellite.isCairoFactValid(hash)).to.equal(true);
37-
expect(await satellite.isCairoFactStored(hash)).to.equal(true);
36+
expect(await satellite.isCairoVerifiedFactValid(hash)).to.equal(true);
37+
expect(await satellite.isCairoVerifiedFactStored(hash)).to.equal(true);
3838
});
3939

4040
it("Mocked fact registry no fallback", async () => {
@@ -65,10 +65,10 @@ describe("CairoFactRegistry", () => {
6565
const [owner, admin, user] = await ethers.getSigners();
6666
const { factsRegistry } = await ignition.deploy(MockFactsRegistry);
6767

68-
await (satellite.connect(owner) as S).setCairoFactRegistryExternalContract(
68+
await (satellite.connect(owner) as S).setCairoVerifiedFactRegistryContract(
6969
await factsRegistry.getAddress(),
7070
);
71-
expect(await satellite.getCairoFactRegistryExternalContract()).to.equal(
71+
expect(await satellite.getCairoVerifiedFactRegistryContract()).to.equal(
7272
await factsRegistry.getAddress(),
7373
);
7474

@@ -78,22 +78,38 @@ describe("CairoFactRegistry", () => {
7878
const hash2 = ethers.randomBytes(32);
7979

8080
await (satellite.connect(owner) as S).setIsMockedForInternal(true);
81-
expect(await satellite.isCairoFactValidForInternal(hash1)).to.equal(false);
82-
expect(await satellite.isCairoFactValidForInternal(hash2)).to.equal(false);
81+
expect(await satellite.isCairoVerifiedFactValidForInternal(hash1)).to.equal(
82+
false,
83+
);
84+
expect(await satellite.isCairoVerifiedFactValidForInternal(hash2)).to.equal(
85+
false,
86+
);
8387

8488
await (satellite.connect(owner) as S).setIsMockedForInternal(false);
85-
expect(await satellite.isCairoFactValidForInternal(hash1)).to.equal(false);
86-
expect(await satellite.isCairoFactValidForInternal(hash2)).to.equal(false);
89+
expect(await satellite.isCairoVerifiedFactValidForInternal(hash1)).to.equal(
90+
false,
91+
);
92+
expect(await satellite.isCairoVerifiedFactValidForInternal(hash2)).to.equal(
93+
false,
94+
);
8795

8896
await factsRegistry.setValid(hash1);
8997
await (satellite.connect(admin) as S).setCairoMockedFact(hash2);
9098

9199
await (satellite.connect(owner) as S).setIsMockedForInternal(true);
92-
expect(await satellite.isCairoFactValidForInternal(hash1)).to.equal(false);
93-
expect(await satellite.isCairoFactValidForInternal(hash2)).to.equal(true);
100+
expect(await satellite.isCairoVerifiedFactValidForInternal(hash1)).to.equal(
101+
false,
102+
);
103+
expect(await satellite.isCairoVerifiedFactValidForInternal(hash2)).to.equal(
104+
true,
105+
);
94106

95107
await (satellite.connect(owner) as S).setIsMockedForInternal(false);
96-
expect(await satellite.isCairoFactValidForInternal(hash1)).to.equal(true);
97-
expect(await satellite.isCairoFactValidForInternal(hash2)).to.equal(false);
108+
expect(await satellite.isCairoVerifiedFactValidForInternal(hash1)).to.equal(
109+
true,
110+
);
111+
expect(await satellite.isCairoVerifiedFactValidForInternal(hash2)).to.equal(
112+
false,
113+
);
98114
});
99115
});

0 commit comments

Comments
 (0)