import { ISapphirePassportScores } from "@arcxgame/contracts/contracts/sapphire/ISapphirePassportScores.sol";
import { SapphireTypes } from "@arcxgame/contracts/contracts/sapphire/SapphireTypes.sol";
contract ExampleContract {
// Address of ARCx SapphirePassportScores contract
ISapphirePassportScores public passportScores;
// Score that is required, e.g. 'arcx.loyalty' encoded into bytes32
bytes32 private magicProtocol = 0x617263782e6c6f79616c74790000000000000000000000000000000000000000
constructor(address _passportScoresAddress) {
passportScores = _passportScoresAddress;
function doSomeMagic(SapphireTypes.ScoreProof _scoreProof){
_scoreProof.protocol == magicProtocol,
"This score is not an arcx.loyalty score!"
// Returns true if valid, reverts when invalid
passportScores.verify(_scoreProof);
if (_scoreProof.score > 50) {
// Do something magical knowing score is greater than 50!