From 54f62ca1b22c6503faef1c36063b91f87c3303a7 Mon Sep 17 00:00:00 2001 From: Milena Monova Date: Tue, 25 Jan 2022 15:25:12 +0200 Subject: [PATCH 1/2] contract changes --- package.json | 2 +- src/utils/communityAbi.json | 420 ++---------------------------------- src/utils/utils.ts | 15 +- 3 files changed, 29 insertions(+), 408 deletions(-) diff --git a/package.json b/package.json index a161c52..f722ebd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@skill-wallet/auth", - "version": "0.0.95-alpha", + "version": "0.0.100-alpha", "description": "Create a SkillWallet by authenticating your Metamask wallet through your browser window.", "author": "DiTo Labs ", "keywords": [ diff --git a/src/utils/communityAbi.json b/src/utils/communityAbi.json index 13af6be..2b8e821 100644 --- a/src/utils/communityAbi.json +++ b/src/utils/communityAbi.json @@ -1,49 +1,16 @@ [ { + "anonymous": false, "inputs": [ { + "indexed": false, "internalType": "address", - "name": "_distributedTownAddr", - "type": "address" - }, - { - "internalType": "bool", - "name": "_isDitoNative", - "type": "bool" - }, - { - "internalType": "string", - "name": "_url", - "type": "string" - }, - { - "internalType": "address", - "name": "_addrProvider", - "type": "address" - }, - { - "internalType": "uint256", - "name": "_totalMembersAllowed", - "type": "uint256" - }, - { - "internalType": "bool", - "name": "_claimableSkillWallets", - "type": "bool" - }, - { - "internalType": "address", - "name": "_migrateFrom", + "name": "_member", "type": "address" - }, - { - "internalType": "uint256", - "name": "_version", - "type": "uint256" } ], - "stateMutability": "nonpayable", - "type": "constructor" + "name": "CoreTeamMemberAdded", + "type": "event" }, { "anonymous": false, @@ -59,91 +26,27 @@ "internalType": "uint256", "name": "_skillWalletTokenId", "type": "uint256" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "_transferredTokens", - "type": "uint256" } ], "name": "MemberAdded", "type": "event" }, { - "anonymous": false, "inputs": [ { - "indexed": true, "internalType": "address", - "name": "_member", + "name": "member", "type": "address" } ], - "name": "MemberLeft", - "type": "event" - }, - { - "inputs": [], - "name": "activeMembersCount", - "outputs": [ - { - "internalType": "uint16", - "name": "", - "type": "uint16" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "projectId", - "type": "uint256" - } - ], - "name": "addProjectId", + "name": "addNewCoreTeamMembers", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "member", - "type": "address" - } - ], - "name": "balanceOf", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "claimableSkillWallets", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], - "name": "creditsToTransfer", + "name": "coreTeamMembersCount", "outputs": [ { "internalType": "uint256", @@ -156,38 +59,12 @@ }, { "inputs": [], - "name": "distributedTownAddr", + "name": "getCoreTeamMembers", "outputs": [ { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ditoCreditsAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "ditoCreditsHolder", - "outputs": [ - { - "internalType": "address", + "internalType": "address[]", "name": "", - "type": "address" + "type": "address[]" } ], "stateMutability": "view", @@ -219,19 +96,6 @@ "stateMutability": "view", "type": "function" }, - { - "inputs": [], - "name": "getProjects", - "outputs": [ - { - "internalType": "uint256[]", - "name": "", - "type": "uint256[]" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [], "name": "getSkillWalletAddress", @@ -242,25 +106,12 @@ "type": "address" } ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getTemplate", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], "stateMutability": "view", "type": "function" }, { "inputs": [], - "name": "getTokenId", + "name": "getTemplate", "outputs": [ { "internalType": "uint256", @@ -272,26 +123,19 @@ "type": "function" }, { - "inputs": [], - "name": "getTreasuryBalance", - "outputs": [ + "inputs": [ { - "internalType": "uint256", - "name": "", - "type": "uint256" + "internalType": "address", + "name": "member", + "type": "address" } ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "gigsAddr", + "name": "isCoreTeamMember", "outputs": [ { - "internalType": "address", + "internalType": "bool", "name": "", - "type": "address" + "type": "bool" } ], "stateMutability": "view", @@ -327,11 +171,6 @@ "internalType": "uint256", "name": "role", "type": "uint256" - }, - { - "internalType": "uint256", - "name": "credits", - "type": "uint256" } ], "name": "joinNewMember", @@ -339,116 +178,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "address", - "name": "_migratedTo", - "type": "address" - } - ], - "name": "markAsMigrated", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "memberAddresses", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "metadataUri", - "outputs": [ - { - "internalType": "string", - "name": "", - "type": "string" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "migrateData", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "migratedFrom", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "migratedTo", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "projectIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "scarcityScore", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { @@ -462,124 +191,17 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "name": "skillWalletIds", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "status", - "outputs": [ - { - "internalType": "enum ICommunity.STATUS", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "tokenId", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "totalMembersAllowed", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, { "inputs": [ { "internalType": "address", - "name": "to", + "name": "_permissionBadgeAddr", "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" } ], - "name": "transferCredits", + "name": "setPermissionBadgeAddress", "outputs": [], "stateMutability": "nonpayable", "type": "function" - }, - { - "inputs": [ - { - "internalType": "address", - "name": "from", - "type": "address" - }, - { - "internalType": "uint256", - "name": "amount", - "type": "uint256" - } - ], - "name": "transferToCommunity", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "treasuryAddr", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "version", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" } ] \ No newline at end of file diff --git a/src/utils/utils.ts b/src/utils/utils.ts index de9ed29..c435fcf 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -113,8 +113,7 @@ export const joinCommunity = async (provider, communityAddress, username, role, const createTx = await contract.joinNewMember( url, - role['roleId'], - 2006, + role['roleId'] ); const communityTransactionResult = await createTx.wait(); @@ -207,7 +206,7 @@ export const fetchSkillWallet = async (provider: any, address: string) => { let isCoreTeam = false; if (!isDiToNative) { const partnersAgreementKey = await fetchKeyAndPAByCommunity(community); - const isCoreTeam = await isCoreTeamMember(partnersAgreementKey.partnersAgreementAddress, address); + const isCoreTeam = await isCoreTeamMember(partnersAgreementKey.communityAddress, address); console.log('is core team member?', isCoreTeam); } let res = await fetch(jsonUri); @@ -370,17 +369,17 @@ export const generateMembershipNFT = async (canvas, demoImg, logo, community, ro } }; -export const isCoreTeamMember = async (partnersAgreementAddress, user) => { +export const isCoreTeamMember = async (communityAddress, user) => { const provider = new ethers.providers.Web3Provider(window.ethereum); const signer = provider.getSigner(); - const partnersAgreementContract = new ethers.Contract( - partnersAgreementAddress, - JSON.stringify(partnersAgreementAbi), + const communityContract = new ethers.Contract( + communityAddress, + JSON.stringify(communityAbi), signer, ) - const isCoreTeamMember = await partnersAgreementContract.isCoreTeamMember(user); + const isCoreTeamMember = await communityContract.isCoreTeamMember(user); console.log('isCoreTeamMember', isCoreTeamMember); return isCoreTeamMember; From 05040f48bbfda06eb83dd8b21ea2d863be4c1da6 Mon Sep 17 00:00:00 2001 From: Milena Monova Date: Tue, 25 Jan 2022 22:50:42 +0200 Subject: [PATCH 2/2] contract changes --- package.json | 2 +- .../roles-screen-new-user.tsx | 3 ++- src/index.html | 2 +- src/utils/utils.ts | 27 ++++--------------- 4 files changed, 9 insertions(+), 25 deletions(-) diff --git a/package.json b/package.json index f722ebd..48f0b35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@skill-wallet/auth", - "version": "0.0.100-alpha", + "version": "0.0.103-alpha", "description": "Create a SkillWallet by authenticating your Metamask wallet through your browser window.", "author": "DiTo Labs ", "keywords": [ diff --git a/src/components/skillwallet-auth/roles-screen-new-user.tsx b/src/components/skillwallet-auth/roles-screen-new-user.tsx index 8363944..0035857 100644 --- a/src/components/skillwallet-auth/roles-screen-new-user.tsx +++ b/src/components/skillwallet-auth/roles-screen-new-user.tsx @@ -66,7 +66,8 @@ export class RolesScreenNewUser { } async assignMemberRoles() { - const isCoreMember = await isCoreTeamMember(this.community.partnersAgreementAddress, window.ethereum.selectedAddress); + console.log(this.community); + const isCoreMember = await isCoreTeamMember(this.community.address, window.ethereum.selectedAddress); const roles = this.community?.roles?.roles || []; const newUserRolesBaseId = 4; console.log('isCoreMember: -----', isCoreMember); diff --git a/src/index.html b/src/index.html index da8469c..ea3802f 100644 --- a/src/index.html +++ b/src/index.html @@ -16,7 +16,7 @@ { if (isActive) { const jsonUri = await contract.tokenURI(tokenId); const community = await contract.getActiveCommunity(tokenId); - const communityContract = new ethers.Contract( - community, - communityAbi, - signer, - ); - - - const ditoAddress = communityContract.distributedTownAddr(); - const ditoContract = new ethers.Contract( - ditoAddress, - diToAbi, - signer, - ); - - const isDiToNative = await ditoContract.isDiToNativeCommunity(community); - let isCoreTeam = false; - if (!isDiToNative) { - const partnersAgreementKey = await fetchKeyAndPAByCommunity(community); - const isCoreTeam = await isCoreTeamMember(partnersAgreementKey.communityAddress, address); - console.log('is core team member?', isCoreTeam); - } + + console.log('hereeeee'); + const partnersAgreementKey = await fetchKeyAndPAByCommunity(community); + const isCoreTeam = await isCoreTeamMember(partnersAgreementKey.communityAddress, address); + console.log('is core team member?', isCoreTeam); let res = await fetch(jsonUri); const jsonMetadata = await res.json();