From 68211d0a5558f3aef7776942fa4bc96f8ac2baea Mon Sep 17 00:00:00 2001 From: Ghadi Mhawej Date: Fri, 18 Sep 2026 14:02:57 +0300 Subject: [PATCH 1/2] chore: point repo references at the JustaLab-co org --- .gitmodules | 2 +- Makefile | 24 ++++++++++++++++++------ README.md | 4 ++-- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/.gitmodules b/.gitmodules index 58ee6a8..1b10d4e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,7 +16,7 @@ url = https://github.com/base-org/webauthn-sol [submodule "lib/justanaccount"] path = lib/justanaccount - url = https://github.com/JustaName-id/justanaccount + url = https://github.com/JustaLab-co/justanaccount [submodule "lib/permit2"] path = lib/permit2 url = https://github.com/uniswap/permit2 diff --git a/Makefile b/Makefile index 8093bc7..a3581cc 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ clean :; forge clean # Remove modules remove :; rm -rf .gitmodules && rm -rf .git/modules/* && rm -rf lib && touch .gitmodules && git add . && git commit -m "modules" -install :; forge install foundry-rs/forge-std && forge install OpenZeppelin/openzeppelin-contracts && forge install Vectorized/solady && forge install eth-infinitism/account-abstraction@releases/v0.8 --no-commit && forge install base-org/webauthn-sol --no-commit && forge install JustaName-id/justanaccount --no-commit +install :; forge install foundry-rs/forge-std && forge install OpenZeppelin/openzeppelin-contracts && forge install Vectorized/solady && forge install eth-infinitism/account-abstraction@releases/v0.8 --no-commit && forge install base-org/webauthn-sol --no-commit && forge install JustaLab-co/justanaccount --no-commit # Update Dependencies update:; forge update @@ -156,11 +156,12 @@ ifeq ($(findstring --network monad-mainnet,$(ARGS)),--network monad-mainnet) NETWORK_ARGS := --rpc-url $(MONAD_MAINNET_RPC_URL) --account $(ACCOUNT) --broadcast --verify --verifier custom --verifier-url "https://api.etherscan.io/v2/api?chainid=143&apikey=$(ETHERSCAN_API_KEY)" --chain 143 -vvvv endif -# Arc mainnet (chain 5042) launches 2026-09-16; forge 1.5.1 has no chain alias for it, and the -# Blockscout explorer mirrors the testnet host (testnet.arcscan.app -> arcscan.app). Confirm the -# RPC and verifier URLs against Circle's published mainnet endpoints before the first deploy. +# Arc mainnet (chain 5042) is covered by Etherscan V2 (https://arc.etherscan.io), so verify there +# rather than against the Blockscout explorer at explorer.arc.io, which sits behind a Cloudflare +# managed challenge that rejects forge's HTTP client. forge 1.5.1 has no chain alias for 5042, so +# the custom verifier is used with chainid and apikey in the URL, as for Monad above. ifeq ($(findstring --network arc-mainnet,$(ARGS)),--network arc-mainnet) - NETWORK_ARGS := --rpc-url $(ARC_MAINNET_RPC_URL) --account $(ACCOUNT) --broadcast --verify --verifier blockscout --verifier-url https://arcscan.app/api --chain 5042 -vvvv + NETWORK_ARGS := --rpc-url $(ARC_MAINNET_RPC_URL) --account $(ACCOUNT) --broadcast --verify --verifier custom --verifier-url "https://api.etherscan.io/v2/api?chainid=5042&apikey=$(ETHERSCAN_API_KEY)" --chain 5042 -vvvv endif deploy-mainnet: @@ -254,4 +255,15 @@ deploy-monad-mainnet: @forge script script/DeployJustaPermissionManager.s.sol:DeployJustaPermissionManager $(NETWORK_ARGS) deploy-arc-mainnet: - @forge script script/DeployJustaPermissionManager.s.sol:DeployJustaPermissionManager $(NETWORK_ARGS) \ No newline at end of file + @forge script script/DeployJustaPermissionManager.s.sol:DeployJustaPermissionManager $(NETWORK_ARGS) + +# Re-verify an already-deployed Arc mainnet contract on Etherscan V2 (https://arc.etherscan.io). +ARC_MAINNET_MANAGER := 0xf1b40E3D5701C04d86F7828f0EB367B9C90901D8 + +verify-arc-mainnet: + @forge verify-contract $(ARC_MAINNET_MANAGER) src/JustaPermissionManager.sol:JustaPermissionManager \ + --verifier custom \ + --verifier-url "https://api.etherscan.io/v2/api?chainid=5042&apikey=$(ETHERSCAN_API_KEY)" \ + --chain 5042 \ + --compiler-version v0.8.30+commit.73712a01 \ + --watch diff --git a/README.md b/README.md index 536068a..72b52ef 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ ## Overview -`JustaPermissionManager` is a Solidity smart contract that provides a delegation layer for [JustanAccount](https://github.com/justaname-id/justanaccount) smart accounts. It enables granular access control through delegated permissions, allowing account owners to grant time-limited permissions to "spenders" (delegated addresses) to execute specific actions on their behalf with fine-grained call authorization and spending limits. +`JustaPermissionManager` is a Solidity smart contract that provides a delegation layer for [JustanAccount](https://github.com/justalab-co/justanaccount) smart accounts. It enables granular access control through delegated permissions, allowing account owners to grant time-limited permissions to "spenders" (delegated addresses) to execute specific actions on their behalf with fine-grained call authorization and spending limits. ## Features @@ -275,7 +275,7 @@ JustaPermissionManager acts as an owner of JustanAccount instances: This implementation was influenced by and builds upon: -- **[JustanAccount](https://github.com/justaname-id/justanaccount)**: The target smart account contract that JustaPermissionManager delegates to. +- **[JustanAccount](https://github.com/justalab-co/justanaccount)**: The target smart account contract that JustaPermissionManager delegates to. - **[Solady](https://github.com/Vectorized/solady)**: Optimized utility libraries including DateTimeLib, DynamicArrayLib, SafeTransferLib, and ReentrancyGuard. - **[OpenZeppelin Contracts](https://github.com/OpenZeppelin/openzeppelin-contracts)**: Standard implementations for EIP-712, SafeERC20, and ERC165Checker. - **[Uniswap Permit2](https://github.com/Uniswap/permit2)**: Token approval standard integration for enhanced security. From 0409f80bcda82a764217756cf702c0219935e190 Mon Sep 17 00:00:00 2001 From: Ghadi Mhawej Date: Fri, 18 Sep 2026 14:05:22 +0300 Subject: [PATCH 2/2] chore: cleanup --- Makefile | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/Makefile b/Makefile index a3581cc..ed3062c 100644 --- a/Makefile +++ b/Makefile @@ -256,14 +256,3 @@ deploy-monad-mainnet: deploy-arc-mainnet: @forge script script/DeployJustaPermissionManager.s.sol:DeployJustaPermissionManager $(NETWORK_ARGS) - -# Re-verify an already-deployed Arc mainnet contract on Etherscan V2 (https://arc.etherscan.io). -ARC_MAINNET_MANAGER := 0xf1b40E3D5701C04d86F7828f0EB367B9C90901D8 - -verify-arc-mainnet: - @forge verify-contract $(ARC_MAINNET_MANAGER) src/JustaPermissionManager.sol:JustaPermissionManager \ - --verifier custom \ - --verifier-url "https://api.etherscan.io/v2/api?chainid=5042&apikey=$(ETHERSCAN_API_KEY)" \ - --chain 5042 \ - --compiler-version v0.8.30+commit.73712a01 \ - --watch