Skip to content

Commit

Permalink
feat(app): added Base (#3199)
Browse files Browse the repository at this point in the history
  • Loading branch information
lucianHymer authored Jan 29, 2025
1 parent c55cc01 commit 7e86596
Show file tree
Hide file tree
Showing 10 changed files with 230 additions and 3 deletions.
2 changes: 2 additions & 0 deletions app/.env-example.env
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ NEXT_PUBLIC_PASSPORT_ZKSYNC_RPC_URL=YOUR_RPC_URL
NEXT_PUBLIC_PASSPORT_SCROLL_RPC_URL=YOUR_RPC_URL
NEXT_PUBLIC_PASSPORT_SCROLL_SEPOLIA_RPC_URL=YOUR_RPC_URL
NEXT_PUBLIC_PASSPORT_SHAPE_RPC_URL=YOUR_RPC_URL
NEXT_PUBLIC_PASSPORT_BASE_RPC_URL=YOUR_RPC_URL

NEXT_PUBLIC_CERAMIC_CLIENT_URL=https://ceramic-clay.3boxlabs.com

Expand Down Expand Up @@ -63,6 +64,7 @@ NEXT_PUBLIC_FF_OUTDID_STAMP=on
NEXT_PUBLIC_FF_ONCHAIN_ZKSYNC=off
NEXT_PUBLIC_FF_ONCHAIN_SCROLL=off
NEXT_PUBLIC_FF_ONCHAIN_SHAPE=off
NEXT_PUBLIC_FF_ONCHAIN_BASE=off
Should be set to whatever you have set for CERAMIC_CACHE_SCORER_ID=3 in the scorer API - Used for notifications
NEXT_PUBLIC_CERAMIC_CACHE_SCORER_ID=3
NEXT_PUBLIC_CERAMIC_CACHE_ENDPOINT=http://localhost:8002/ceramic-cache
Expand Down
3 changes: 3 additions & 0 deletions app/public/assets/baseLogo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions app/public/assets/baseLogoBW.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions app/utils/chains.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {

import {
arbitrum,
base,
mainnet,
sepolia,
hardhat,
Expand Down Expand Up @@ -36,6 +37,7 @@ const hardhatChainId = "0x7a69";
const lineaChainId = "0xe708";
const optimismChainId = "0xa";
const zkSyncChainId = "0x144";
const baseChainId = "0x2105";
const sepoliaOPChainId = "0xaa37dc";
const arbitrumChainId = "0xa4b1";
export const scrollChainId = "0x82750";
Expand Down Expand Up @@ -235,6 +237,26 @@ if (!TEST_MODE) {
wagmiTransports[zksync.id] = http(process.env.NEXT_PUBLIC_PASSPORT_ZKSYNC_RPC_URL);
}

if (process.env.NEXT_PUBLIC_FF_ONCHAIN_BASE === "on") {
chainConfigs.push({
id: baseChainId,
token: "ETH",
label: "Base",
icon: "./assets/baseLogo.svg",
chainLink: "https://support.passport.xyz/passport-knowledge-base/using-passport/onchain-passport",
explorerUrl: "https://basescan.org/",
attestationProviderConfig: {
name: "Ethereum Attestation Service",
status: usingTestEnvironment ? "disabled" : "enabled",
skipByDefault: false,
easScanUrl: "https://base.easscan.org",
monochromeIcon: "./assets/baseLogoBW.svg",
},
});
wagmiChains.push(base);
wagmiTransports[base.id] = http(process.env.NEXT_PUBLIC_PASSPORT_BASE_RPC_URL);
}

chainConfigs.push({
id: lineaChainId,
token: "ETH",
Expand Down
29 changes: 29 additions & 0 deletions deployments/abi/GitcoinAttester.json
Original file line number Diff line number Diff line change
Expand Up @@ -398,5 +398,34 @@
"function upgradeTo(address newImplementation)",
"function upgradeToAndCall(address newImplementation, bytes data) payable",
"function verifiers(address) view returns (bool)"
],
"0x2105": [
"event AdminChanged(address previousAdmin, address newAdmin)",
"event BeaconUpgraded(address indexed beacon)",
"event EASSet(address eas)",
"event Initialized(uint8 version)",
"event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)",
"event Paused(address account)",
"event Unpaused(address account)",
"event Upgraded(address indexed implementation)",
"event VerifierAdded(address verifier)",
"event VerifierRemoved(address verifier)",
"function addVerifier(address _verifier)",
"function eas() view returns (address)",
"function initialize()",
"function owner() view returns (address)",
"function pause()",
"function paused() view returns (bool)",
"function proxiableUUID() view returns (bytes32)",
"function removeVerifier(address _verifier)",
"function renounceOwnership()",
"function revokeAttestations((bytes32 schema, (bytes32 uid, uint256 value)[] data)[] multiRevocationRequest) payable",
"function setEASAddress(address _easContractAddress)",
"function submitAttestations((bytes32 schema, (address recipient, uint64 expirationTime, bool revocable, bytes32 refUID, bytes data, uint256 value)[] data)[] multiAttestationRequest) payable returns (bytes32[])",
"function transferOwnership(address newOwner)",
"function unpause()",
"function upgradeTo(address newImplementation)",
"function upgradeToAndCall(address newImplementation, bytes data) payable",
"function verifiers(address) view returns (bool)"
]
}
57 changes: 57 additions & 0 deletions deployments/abi/GitcoinPassportDecoder.json
Original file line number Diff line number Diff line change
Expand Up @@ -705,5 +705,62 @@
"function unpause()",
"function upgradeTo(address newImplementation)",
"function upgradeToAndCall(address newImplementation, bytes data) payable"
],
"0x2105": [
"error AttestationExpired(uint64 expirationTime)",
"error AttestationNotFound()",
"error EmptyProvider()",
"error ProviderAlreadyExists(string provider)",
"error ScoreDoesNotMeetThreshold(uint256 score)",
"error ZeroMaxScoreAge()",
"error ZeroThreshold()",
"error ZeroValue()",
"event AdminChanged(address previousAdmin, address newAdmin)",
"event BeaconUpgraded(address indexed beacon)",
"event EASSet(address easAddress)",
"event Initialized(uint8 version)",
"event MaxScoreAgeSet(uint256 maxScoreAge)",
"event NewVersionCreated()",
"event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)",
"event Paused(address account)",
"event ProvidersAdded(string[] providers)",
"event ResolverSet(address resolverAddress)",
"event SchemaSet(bytes32 schemaUID)",
"event ThresholdSet(uint256 threshold)",
"event Unpaused(address account)",
"event Upgraded(address indexed implementation)",
"function addProviders(string[] providers)",
"function createNewVersion(string[] providers)",
"function currentVersion() view returns (uint32)",
"function eas() view returns (address)",
"function getAttestation(bytes32 attestationUID) view returns ((bytes32 uid, bytes32 schema, uint64 time, uint64 expirationTime, uint64 revocationTime, bytes32 refUID, address recipient, address attester, bool revocable, bytes data))",
"function getPassport(address user) view returns ((string provider, bytes32 hash, uint64 time, uint64 expirationTime)[])",
"function getProviders(uint32 version) view returns (string[])",
"function getScore(address user) view returns (uint256)",
"function getScore(uint32 communityId, address user) view returns (uint256)",
"function gitcoinResolver() view returns (address)",
"function initialize()",
"function isHuman(address user) view returns (bool)",
"function maxScoreAge() view returns (uint64)",
"function owner() view returns (address)",
"function passportSchemaUID() view returns (bytes32)",
"function pause()",
"function paused() view returns (bool)",
"function providerVersions(uint32, uint256) view returns (string)",
"function proxiableUUID() view returns (bytes32)",
"function renounceOwnership()",
"function reversedMappingVersions(uint32, string) view returns (uint8)",
"function scoreSchemaUID() view returns (bytes32)",
"function setEASAddress(address _easContractAddress)",
"function setGitcoinResolver(address _gitcoinResolver)",
"function setMaxScoreAge(uint64 _maxScoreAge)",
"function setPassportSchemaUID(bytes32 _schemaUID)",
"function setScoreSchemaUID(bytes32 _schemaUID)",
"function setThreshold(uint256 _threshold)",
"function threshold() view returns (uint256)",
"function transferOwnership(address newOwner)",
"function unpause()",
"function upgradeTo(address newImplementation)",
"function upgradeToAndCall(address newImplementation, bytes data) payable"
]
}
46 changes: 46 additions & 0 deletions deployments/abi/GitcoinResolver.json
Original file line number Diff line number Diff line change
Expand Up @@ -575,5 +575,51 @@
"function upgradeTo(address newImplementation)",
"function upgradeToAndCall(address newImplementation, bytes data) payable",
"function userAttestations(address, bytes32) view returns (bytes32)"
],
"0x2105": [
"error AccessDenied()",
"error InsufficientValue()",
"error InvalidAttester()",
"error InvalidEAS()",
"error NotAllowlisted()",
"error NotPayable()",
"event AdminChanged(address previousAdmin, address newAdmin)",
"event BeaconUpgraded(address indexed beacon)",
"event Initialized(uint8 version)",
"event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)",
"event Paused(address account)",
"event ScoreSchemaSet(bytes32 schema)",
"event Unpaused(address account)",
"event Upgraded(address indexed implementation)",
"function _eas() view returns (address)",
"function _gitcoinAttester() view returns (address)",
"function addToAllowlist(address addr)",
"function allowlist(address) view returns (bool)",
"function attest((bytes32 uid, bytes32 schema, uint64 time, uint64 expirationTime, uint64 revocationTime, bytes32 refUID, address recipient, address attester, bool revocable, bytes data) attestation) payable returns (bool)",
"function communityScores(uint32, address) view returns (uint32 score, uint64 time, uint64 expirationTime)",
"function defaultCommunityId() view returns (uint32)",
"function getCachedScore(address user) view returns ((uint32 score, uint64 time, uint64 expirationTime))",
"function getCachedScore(uint32 communityId, address user) view returns ((uint32 score, uint64 time, uint64 expirationTime))",
"function getUserAttestation(address user, bytes32 schema) view returns (bytes32)",
"function initialize(address eas, address gitcoinAttester)",
"function isPayable() pure returns (bool)",
"function multiAttest((bytes32 uid, bytes32 schema, uint64 time, uint64 expirationTime, uint64 revocationTime, bytes32 refUID, address recipient, address attester, bool revocable, bytes data)[] attestations, uint256[]) payable returns (bool)",
"function multiRevoke((bytes32 uid, bytes32 schema, uint64 time, uint64 expirationTime, uint64 revocationTime, bytes32 refUID, address recipient, address attester, bool revocable, bytes data)[] attestations, uint256[]) payable returns (bool)",
"function owner() view returns (address)",
"function pause()",
"function paused() view returns (bool)",
"function proxiableUUID() view returns (bytes32)",
"function removeFromAllowlist(address addr)",
"function renounceOwnership()",
"function revoke((bytes32 uid, bytes32 schema, uint64 time, uint64 expirationTime, uint64 revocationTime, bytes32 refUID, address recipient, address attester, bool revocable, bytes data) attestation) payable returns (bool)",
"function scoreSchema() view returns (bytes32)",
"function scores(address) view returns (uint32 score, uint64 time, uint64 expirationTime)",
"function setDefaultCommunityId(uint32 communityId)",
"function setScoreSchema(bytes32 _schema)",
"function transferOwnership(address newOwner)",
"function unpause()",
"function upgradeTo(address newImplementation)",
"function upgradeToAndCall(address newImplementation, bytes data) payable",
"function userAttestations(address, bytes32) view returns (bytes32)"
]
}
28 changes: 28 additions & 0 deletions deployments/abi/GitcoinVerifier.json
Original file line number Diff line number Diff line change
Expand Up @@ -396,5 +396,33 @@
"function upgradeToAndCall(address newImplementation, bytes data) payable",
"function verifyAndAttest(((bytes32 schema, (address recipient, uint64 expirationTime, bool revocable, bytes32 refUID, bytes data, uint256 value)[] data)[] multiAttestationRequest, uint256 nonce, uint256 fee) attestationRequest, uint8 v, bytes32 r, bytes32 s) payable returns (bytes32[])",
"function withdrawFees(uint256 _amount)"
],
"0x2105": [
"error InsufficientFee()",
"error InvalidNonce()",
"error InvalidSignature()",
"event AdminChanged(address previousAdmin, address newAdmin)",
"event BeaconUpgraded(address indexed beacon)",
"event Initialized(uint8 version)",
"event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)",
"event Paused(address account)",
"event Unpaused(address account)",
"event Upgraded(address indexed implementation)",
"function attester() view returns (address)",
"function initialize(address _issuer, address _attester)",
"function issuer() view returns (address)",
"function name() view returns (string)",
"function owner() view returns (address)",
"function pause()",
"function paused() view returns (bool)",
"function proxiableUUID() view returns (bytes32)",
"function recipientNonces(address) view returns (uint256)",
"function renounceOwnership()",
"function transferOwnership(address newOwner)",
"function unpause()",
"function upgradeTo(address newImplementation)",
"function upgradeToAndCall(address newImplementation, bytes data) payable",
"function verifyAndAttest(((bytes32 schema, (address recipient, uint64 expirationTime, bool revocable, bytes32 refUID, bytes data, uint256 value)[] data)[] multiAttestationRequest, uint256 nonce, uint256 fee) attestationRequest, uint8 v, bytes32 r, bytes32 s) payable returns (bytes32[])",
"function withdrawFees(uint256 _amount)"
]
}
38 changes: 36 additions & 2 deletions deployments/onchainInfo.json
Original file line number Diff line number Diff line change
Expand Up @@ -434,6 +434,40 @@
"uid": "0x24620f482734b3806102678e4b8bb68baafb1adc1ec29e524bcd69c85f15b915"
}
}
},
"0x2105": {
"description": "Base",
"issuer": {
"address": "0x804233b96cbd6d81efeb6517347177ef7bD488ED"
},
"EAS": {
"address": "0x4200000000000000000000000000000000000021"
},
"EASSchemaRegistry": {
"address": "0x4200000000000000000000000000000000000020"
},
"GitcoinAttester": {
"address": "0xCc90105D4A2aa067ee768120AdA19886021dF422"
},
"GitcoinVerifier": {
"address": "0x16db23c4b99bbC9A6Bf55dF7a787C9AEFD261185"
},
"GitcoinResolver": {
"address": "0x90E2C4472Df225e8D31f44725B75FFaA244d5D33"
},
"GitcoinPassportDecoder": {
"address": "0xaa24a127d10C68C8F9Ac06199AA606953cD82eE7"
},
"easSchemas": {
"namingSchema": {
"uid": "0x44d562ac1d7cd77e232978687fea027ace48f719cf1d58c7888e509663bb87fc"
},
"passport": {
"uid": "0x8ae6ee946bf1c936584cacc969bf7e9d0b274631c818df7e45c246051b364341"
},
"score": {
"uid": "0x24620f482734b3806102678e4b8bb68baafb1adc1ec29e524bcd69c85f15b915"
}
}
}
}

}
5 changes: 4 additions & 1 deletion deployments/providerBitMapInfo.json
Original file line number Diff line number Diff line change
Expand Up @@ -133,5 +133,8 @@
{ "bit": 95, "index": 0, "name": "NFTScore#75" },
{ "bit": 96, "index": 0, "name": "NFTScore#90" },
{ "bit": 97, "index": 0, "name": "BinanceBABT" },
{ "bit": 98, "index": 0, "name": "Outdid" }
{ "bit": 98, "index": 0, "name": "Outdid" },
{ "bit": 99, "index": 0, "name": "CoinbaseDualVerification2" },
{ "bit": 100, "index": 0, "name": "BinanceBABT2" },
{ "bit": 101, "index": 0, "name": "HolonymPhone" }
]

0 comments on commit 7e86596

Please sign in to comment.