Skip to content

Commit

Permalink
feat: update bitmap + have adjusted setupDecoder script
Browse files Browse the repository at this point in the history
  • Loading branch information
nutrina committed May 21, 2024
1 parent b2af3df commit 4ca79ef
Show file tree
Hide file tree
Showing 2 changed files with 155 additions and 15 deletions.
137 changes: 136 additions & 1 deletion deployments/providerBitMapInfo.json
Original file line number Diff line number Diff line change
@@ -1 +1,136 @@
[{"bit":0,"index":0,"name":"SelfStakingBronze"},{"bit":1,"index":0,"name":"SelfStakingSilver"},{"bit":2,"index":0,"name":"SelfStakingGold"},{"bit":3,"index":0,"name":"CommunityStakingBronze"},{"bit":4,"index":0,"name":"CommunityStakingSilver"},{"bit":5,"index":0,"name":"CommunityStakingGold"},{"bit":6,"index":0,"name":"GitcoinContributorStatistics#numGrantsContributeToGte#1"},{"bit":7,"index":0,"name":"GitcoinContributorStatistics#numGrantsContributeToGte#10"},{"bit":8,"index":0,"name":"GitcoinContributorStatistics#numGrantsContributeToGte#25"},{"bit":9,"index":0,"name":"GitcoinContributorStatistics#numGrantsContributeToGte#100"},{"bit":10,"index":0,"name":"GitcoinContributorStatistics#totalContributionAmountGte#10"},{"bit":11,"index":0,"name":"GitcoinContributorStatistics#totalContributionAmountGte#100"},{"bit":12,"index":0,"name":"GitcoinContributorStatistics#totalContributionAmountGte#1000"},{"bit":13,"index":0,"name":"GitcoinContributorStatistics#numGr14ContributionsGte#1"},{"bit":14,"index":0,"name":"GitcoinContributorStatistics#numRoundsContributedToGte#1"},{"bit":15,"index":0,"name":"twitterAccountAgeGte#180"},{"bit":16,"index":0,"name":"twitterAccountAgeGte#365"},{"bit":17,"index":0,"name":"twitterAccountAgeGte#730"},{"bit":18,"index":0,"name":"Discord"},{"bit":19,"index":0,"name":"Google"},{"bit":20,"index":0,"name":"githubAccountCreationGte#90"},{"bit":21,"index":0,"name":"githubAccountCreationGte#180"},{"bit":22,"index":0,"name":"githubAccountCreationGte#365"},{"bit":23,"index":0,"name":"githubContributionActivityGte#30"},{"bit":24,"index":0,"name":"githubContributionActivityGte#60"},{"bit":25,"index":0,"name":"githubContributionActivityGte#120"},{"bit":26,"index":0,"name":"Facebook"},{"bit":27,"index":0,"name":"FacebookProfilePicture"},{"bit":28,"index":0,"name":"Linkedin"},{"bit":29,"index":0,"name":"Ens"},{"bit":30,"index":0,"name":"Brightid"},{"bit":31,"index":0,"name":"Poh"},{"bit":32,"index":0,"name":"ethPossessionsGte#1"},{"bit":33,"index":0,"name":"ethPossessionsGte#10"},{"bit":34,"index":0,"name":"ethPossessionsGte#32"},{"bit":35,"index":0,"name":"FirstEthTxnProvider"},{"bit":36,"index":0,"name":"EthGTEOneTxnProvider"},{"bit":37,"index":0,"name":"EthGasProvider"},{"bit":38,"index":0,"name":"SnapshotVotesProvider"},{"bit":39,"index":0,"name":"SnapshotProposalsProvider"},{"bit":40,"index":0,"name":"NFT"},{"bit":41,"index":0,"name":"ZkSync"},{"bit":42,"index":0,"name":"ZkSyncEra"},{"bit":43,"index":0,"name":"Lens"},{"bit":44,"index":0,"name":"GnosisSafe"},{"bit":45,"index":0,"name":"Coinbase"},{"bit":46,"index":0,"name":"GuildMember"},{"bit":47,"index":0,"name":"GuildAdmin"},{"bit":48,"index":0,"name":"GuildPassportMember"},{"bit":49,"index":0,"name":"Hypercerts"},{"bit":50,"index":0,"name":"PHIActivitySilver"},{"bit":51,"index":0,"name":"PHIActivityGold"},{"bit":52,"index":0,"name":"HolonymGovIdProvider"},{"bit":53,"index":0,"name":"IdenaState#Newbie"},{"bit":54,"index":0,"name":"IdenaState#Verified"},{"bit":55,"index":0,"name":"IdenaState#Human"},{"bit":56,"index":0,"name":"IdenaStake#1k"},{"bit":57,"index":0,"name":"IdenaStake#10k"},{"bit":58,"index":0,"name":"IdenaStake#100k"},{"bit":59,"index":0,"name":"IdenaAge#5"},{"bit":60,"index":0,"name":"IdenaAge#10"},{"bit":61,"index":0,"name":"CivicCaptchaPass"},{"bit":62,"index":0,"name":"CivicUniquenessPass"},{"bit":63,"index":0,"name":"CivicLivenessPass"},{"bit":64,"index":0,"name":"CyberProfilePremium"},{"bit":65,"index":0,"name":"CyberProfilePaid"},{"bit":66,"index":0,"name":"CyberProfileOrgMember"},{"bit":67,"index":0,"name":"GrantsStack3Projects"},{"bit":68,"index":0,"name":"GrantsStack5Projects"},{"bit":69,"index":0,"name":"GrantsStack7Projects"},{"bit":70,"index":0,"name":"GrantsStack2Programs"},{"bit":71,"index":0,"name":"GrantsStack4Programs"},{"bit":72,"index":0,"name":"GrantsStack6Programs"},{"bit":73,"index":0,"name":"TrustaLabs"},{"bit":74,"index":0,"name":"BeginnerCommunityStaker"},{"bit":75,"index":0,"name":"ExperiencedCommunityStaker"},{"bit":76,"index":0,"name":"TrustedCitizen"},{"bit":77,"index":0,"name":"CoinbaseDualVerification"},{"bit":78,"index":0,"name":"ETHEnthusiast"},{"bit":79,"index":0,"name":"ETHAdvocate"},{"bit":80,"index":0,"name":"ETHPioneer"},{"bit":81,"index":0,"name":"ETHMaxi"}]
[
{ "bit": 0, "index": 0, "name": "SelfStakingBronze" },
{ "bit": 1, "index": 0, "name": "SelfStakingSilver" },
{ "bit": 2, "index": 0, "name": "SelfStakingGold" },
{ "bit": 3, "index": 0, "name": "CommunityStakingBronze" },
{ "bit": 4, "index": 0, "name": "CommunityStakingSilver" },
{ "bit": 5, "index": 0, "name": "CommunityStakingGold" },
{
"bit": 6,
"index": 0,
"name": "GitcoinContributorStatistics#numGrantsContributeToGte#1"
},
{
"bit": 7,
"index": 0,
"name": "GitcoinContributorStatistics#numGrantsContributeToGte#10"
},
{
"bit": 8,
"index": 0,
"name": "GitcoinContributorStatistics#numGrantsContributeToGte#25"
},
{
"bit": 9,
"index": 0,
"name": "GitcoinContributorStatistics#numGrantsContributeToGte#100"
},
{
"bit": 10,
"index": 0,
"name": "GitcoinContributorStatistics#totalContributionAmountGte#10"
},
{
"bit": 11,
"index": 0,
"name": "GitcoinContributorStatistics#totalContributionAmountGte#100"
},
{
"bit": 12,
"index": 0,
"name": "GitcoinContributorStatistics#totalContributionAmountGte#1000"
},
{
"bit": 13,
"index": 0,
"name": "GitcoinContributorStatistics#numGr14ContributionsGte#1"
},
{
"bit": 14,
"index": 0,
"name": "GitcoinContributorStatistics#numRoundsContributedToGte#1"
},
{ "bit": 15, "index": 0, "name": "twitterAccountAgeGte#180" },
{ "bit": 16, "index": 0, "name": "twitterAccountAgeGte#365" },
{ "bit": 17, "index": 0, "name": "twitterAccountAgeGte#730" },
{ "bit": 18, "index": 0, "name": "Discord" },
{ "bit": 19, "index": 0, "name": "Google" },
{ "bit": 20, "index": 0, "name": "githubAccountCreationGte#90" },
{ "bit": 21, "index": 0, "name": "githubAccountCreationGte#180" },
{ "bit": 22, "index": 0, "name": "githubAccountCreationGte#365" },
{ "bit": 23, "index": 0, "name": "githubContributionActivityGte#30" },
{ "bit": 24, "index": 0, "name": "githubContributionActivityGte#60" },
{ "bit": 25, "index": 0, "name": "githubContributionActivityGte#120" },
{ "bit": 26, "index": 0, "name": "Facebook" },
{ "bit": 27, "index": 0, "name": "FacebookProfilePicture" },
{ "bit": 28, "index": 0, "name": "Linkedin" },
{ "bit": 29, "index": 0, "name": "Ens" },
{ "bit": 30, "index": 0, "name": "Brightid" },
{ "bit": 31, "index": 0, "name": "Poh" },
{ "bit": 32, "index": 0, "name": "ethPossessionsGte#1" },
{ "bit": 33, "index": 0, "name": "ethPossessionsGte#10" },
{ "bit": 34, "index": 0, "name": "ethPossessionsGte#32" },
{ "bit": 35, "index": 0, "name": "FirstEthTxnProvider" },
{ "bit": 36, "index": 0, "name": "EthGTEOneTxnProvider" },
{ "bit": 37, "index": 0, "name": "EthGasProvider" },
{ "bit": 38, "index": 0, "name": "SnapshotVotesProvider" },
{ "bit": 39, "index": 0, "name": "SnapshotProposalsProvider" },
{ "bit": 40, "index": 0, "name": "NFT" },
{ "bit": 41, "index": 0, "name": "ZkSync" },
{ "bit": 42, "index": 0, "name": "ZkSyncEra" },
{ "bit": 43, "index": 0, "name": "Lens" },
{ "bit": 44, "index": 0, "name": "GnosisSafe" },
{ "bit": 45, "index": 0, "name": "Coinbase" },
{ "bit": 46, "index": 0, "name": "GuildMember" },
{ "bit": 47, "index": 0, "name": "GuildAdmin" },
{ "bit": 48, "index": 0, "name": "GuildPassportMember" },
{ "bit": 49, "index": 0, "name": "Hypercerts" },
{ "bit": 50, "index": 0, "name": "PHIActivitySilver" },
{ "bit": 51, "index": 0, "name": "PHIActivityGold" },
{ "bit": 52, "index": 0, "name": "HolonymGovIdProvider" },
{ "bit": 53, "index": 0, "name": "IdenaState#Newbie" },
{ "bit": 54, "index": 0, "name": "IdenaState#Verified" },
{ "bit": 55, "index": 0, "name": "IdenaState#Human" },
{ "bit": 56, "index": 0, "name": "IdenaStake#1k" },
{ "bit": 57, "index": 0, "name": "IdenaStake#10k" },
{ "bit": 58, "index": 0, "name": "IdenaStake#100k" },
{ "bit": 59, "index": 0, "name": "IdenaAge#5" },
{ "bit": 60, "index": 0, "name": "IdenaAge#10" },
{ "bit": 61, "index": 0, "name": "CivicCaptchaPass" },
{ "bit": 62, "index": 0, "name": "CivicUniquenessPass" },
{ "bit": 63, "index": 0, "name": "CivicLivenessPass" },
{ "bit": 64, "index": 0, "name": "CyberProfilePremium" },
{ "bit": 65, "index": 0, "name": "CyberProfilePaid" },
{ "bit": 66, "index": 0, "name": "CyberProfileOrgMember" },
{ "bit": 67, "index": 0, "name": "GrantsStack3Projects" },
{ "bit": 68, "index": 0, "name": "GrantsStack5Projects" },
{ "bit": 69, "index": 0, "name": "GrantsStack7Projects" },
{ "bit": 70, "index": 0, "name": "GrantsStack2Programs" },
{ "bit": 71, "index": 0, "name": "GrantsStack4Programs" },
{ "bit": 72, "index": 0, "name": "GrantsStack6Programs" },
{ "bit": 73, "index": 0, "name": "TrustaLabs" },
{ "bit": 74, "index": 0, "name": "BeginnerCommunityStaker" },
{ "bit": 75, "index": 0, "name": "ExperiencedCommunityStaker" },
{ "bit": 76, "index": 0, "name": "TrustedCitizen" },
{ "bit": 77, "index": 0, "name": "CoinbaseDualVerification" },
{ "bit": 78, "index": 0, "name": "ETHEnthusiast" },
{ "bit": 79, "index": 0, "name": "ETHAdvocate" },
{ "bit": 80, "index": 0, "name": "ETHPioneer" },
{ "bit": 81, "index": 0, "name": "ETHMaxi" },
{ "bit": 82, "index": 0, "name": "ETHScore#50" },
{ "bit": 83, "index": 0, "name": "ETHScore#75" },
{ "bit": 84, "index": 0, "name": "ETHScore#90" },
{ "bit": 85, "index": 0, "name": "ETHGasSpent#0.25" },
{ "bit": 86, "index": 0, "name": "ETHnumTransactions#100" },
{ "bit": 87, "index": 0, "name": "ETHDaysActive#50" },
{ "bit": 88, "index": 0, "name": "DigitalCollector" },
{ "bit": 89, "index": 0, "name": "ArtAficionado" },
{ "bit": 90, "index": 0, "name": "NftVisionary" },
{ "bit": 91, "index": 0, "name": "zkSyncScore#5" },
{ "bit": 92, "index": 0, "name": "zkSyncScore#20" },
{ "bit": 93, "index": 0, "name": "zkSyncScore#50" },
{ "bit": 94, "index": 0, "name": "NFTScore#50" },
{ "bit": 95, "index": 0, "name": "NFTScore#75" },
{ "bit": 96, "index": 0, "name": "NFTScore#90" }
]

33 changes: 19 additions & 14 deletions scripts/setupDecoder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,6 @@ export async function main() {
console.log("== currentMaxScoreAge", currentMaxScoreAge, "/", maxScoreAge);
console.log("== currentThreshold", currentThreshold, "/", threshold);

if (currentEas != easAddress) {
await passportDecoder.setEASAddress(easAddress);
console.log(`✅ Set EAS address ${easAddress} on GitcoinPassportDecoder.`);
} else {
console.log(
`-> skip setting EAS address ${easAddress} on GitcoinPassportDecoder.`
);
}

const providers = new Array(256).fill("");
let maxProviderIndex = 0;
console.log(`🚀 Adding providers...`);
Expand All @@ -79,14 +70,32 @@ export async function main() {
providers.splice(maxProviderIndex + 1);
console.log(`🚀 providers to be added: `, providers);

// We do this considering we have only index = 0 in the providerBitMapInfo
const currentVersion = await passportDecoder.currentVersion();
console.log("currentVersion", currentVersion);

await confirmContinue({
contract: "Add schema and bitmap information to GitcoinPassportDecoder",
network: hre.network.name,
chainId: hre.network.config.chainId,
maxScoreAge: maxScoreAge,
threshold: threshold
threshold: threshold,
resolverAddress: getResolverAddress(),
easAddress: easAddress,
passportSchemaUUID: chainInfo.easSchemas.passport.uid,
scoreSchemaUUID: chainInfo.easSchemas.score.uid,
bitmapVersion: currentVersion
});

if (currentEas != easAddress) {
await passportDecoder.setEASAddress(easAddress);
console.log(`✅ Set EAS address ${easAddress} on GitcoinPassportDecoder.`);
} else {
console.log(
`-> skip setting EAS address ${easAddress} on GitcoinPassportDecoder.`
);
}

if (currentGitcoinResolver != getResolverAddress()) {
await passportDecoder.setGitcoinResolver(getResolverAddress());
console.log(
Expand Down Expand Up @@ -142,10 +151,6 @@ export async function main() {
);
}

// We do this considering we have only index = 0 in the providerBitMapInfo
const currentVersion = await passportDecoder.currentVersion();
console.log("currentVersion", currentVersion);

console.log(" providers: ", providers);
console.log(`🚀 writing providers to blockchain...`);
const tx = await passportDecoder.addProviders(providers);
Expand Down

0 comments on commit 4ca79ef

Please sign in to comment.