Skip to content

Commit

Permalink
integrate ketl attestation token
Browse files Browse the repository at this point in the history
  • Loading branch information
backmeupplz committed May 17, 2023
1 parent dc4c0b9 commit 415b3fe
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 15 deletions.
20 changes: 11 additions & 9 deletions contracts/superclasses/KetlGuarded.sol
Original file line number Diff line number Diff line change
Expand Up @@ -61,18 +61,18 @@ pragma solidity ^0.8.20;

import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "../../node_modules/@big-whale-labs/ketl-allow-map-contract/contracts/KetlAllowMap.sol";
import "../../node_modules/@big-whale-labs/ketl-attestation-token/contracts/KetlAttestation.sol";

contract KetlGuarded is Initializable, OwnableUpgradeable {
KetlAllowMap public token;
KetlAttestation public attestationToken;
address public allowedCaller;

function initialize(
address _token,
address _attestationToken,
address _allowedCaller
) public onlyInitializing {
__Ownable_init();
token = KetlAllowMap(_token);
attestationToken = KetlAttestation(_attestationToken);
allowedCaller = _allowedCaller;
}

Expand All @@ -89,10 +89,12 @@ contract KetlGuarded is Initializable, OwnableUpgradeable {
}

modifier onlyKetlTokenOwners(address sender) {
require(
token.isAddressAllowed(sender),
"KetlTokenChecker: sender not allowed"
);
_;
for (uint32 i = 0; i < attestationToken.currentTokenId(); i++) {
if (attestationToken.balanceOf(sender, i) > 0) {
_;
return;
}
}
revert("KetlGuarded: sender not allowed");
}
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
"packageManager": "[email protected]",
"dependencies": {
"@big-whale-labs/constants": "^0.1.85",
"@big-whale-labs/ketl-allow-map-contract": "^0.0.3",
"@big-whale-labs/ketl-attestation-token": "^0.0.9",
"@openzeppelin/contracts-upgradeable": "^4.8.3",
"@openzeppelin/hardhat-upgrades": "^1.26.0",
"@zk-kit/incremental-merkle-tree": "^1.1.0",
Expand Down
16 changes: 11 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,16 @@ __metadata:
languageName: node
linkType: hard

"@big-whale-labs/ketl-allow-map-contract@npm:^0.0.3":
version: 0.0.3
resolution: "@big-whale-labs/ketl-allow-map-contract@npm:0.0.3"
checksum: 5b547e98d189a99b9b2cf3b0cb53c173e75458bc6f54142dcadb6cc9478f4bf7328510c4cfe121bd1ae0e6f69714258413ecc61d2b7ef696ed079df58a0397da
"@big-whale-labs/ketl-attestation-token@npm:^0.0.9":
version: 0.0.9
resolution: "@big-whale-labs/ketl-attestation-token@npm:0.0.9"
dependencies:
"@big-whale-labs/constants": ^0.1.85
"@big-whale-labs/versioned-contract": ^1.0.2
"@zk-kit/incremental-merkle-tree": ^1.1.0
"@zk-kit/incremental-merkle-tree.sol": ^1.7.0
prompt: ^1.3.0
checksum: f793ff462ff2d297e29af3ea19fb744b2764a87c1840c8bc3d8604850d1c128bab7be7395f2a9643487016a0878bbd6e25ef05bea400cc82349871481dcf6631
languageName: node
linkType: hard

Expand All @@ -91,7 +97,7 @@ __metadata:
resolution: "@big-whale-labs/obss-storage-contract@workspace:."
dependencies:
"@big-whale-labs/constants": ^0.1.85
"@big-whale-labs/ketl-allow-map-contract": ^0.0.3
"@big-whale-labs/ketl-attestation-token": ^0.0.9
"@big-whale-labs/versioned-contract": ^1.0.2
"@ethersproject/providers": ^5.7.2
"@nomiclabs/hardhat-ethers": ^2.2.3
Expand Down

0 comments on commit 415b3fe

Please sign in to comment.