Skip to content

Commit

Permalink
profile creation
Browse files Browse the repository at this point in the history
  • Loading branch information
0xKurt committed Jan 16, 2024
1 parent f957c81 commit a049c09
Show file tree
Hide file tree
Showing 5 changed files with 39 additions and 124 deletions.
116 changes: 1 addition & 115 deletions packages/builder/src/actions/newGrant.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ export const publishGrant =
metadata: application as unknown as Record<string, unknown>,
});

result
await result
.on("ipfs", (res) => {
if (res.type === "success") {
console.log("IPFS CID", res.value);
Expand Down Expand Up @@ -161,117 +161,3 @@ export const publishGrant =
console.log("result");
console.log(result);
};

// export const publishGrant =
// (fullId?: string) =>
// async (dispatch: Dispatch, getState: () => RootState) => {
// const state = getState();
// const { metadata: formMetaData, credentials: formCredentials } =
// state.projectForm;

// const { id: grantId } = fullId
// ? getProjectURIComponents(fullId)
// : { id: undefined };

// const oldGrantMetadata = state.grantsMetadata[fullId || ""];

// if (formMetaData === undefined) {
// return;
// }
// const application = {
// ...formMetaData,
// } as Project;

// const pinataClient = new PinataClient(getConfig());
// dispatch(grantStatus(Status.UploadingImages));
// if (formMetaData?.bannerImgData !== undefined) {
// try {
// const resp = await pinataClient.pinFile(formMetaData.bannerImgData);
// application.bannerImg = resp.IpfsHash;
// } catch {
// datadogRum.addError("ipfs: error uploading banner image");
// datadogLogs.logger.error("ipfs: error uploading banner image");
// }
// }

// if (formMetaData?.logoImgData !== undefined) {
// try {
// const resp = await pinataClient.pinFile(formMetaData.logoImgData);
// application.logoImg = resp.IpfsHash;
// } catch (e) {
// datadogRum.addError(e);
// datadogLogs.logger.error("ipfs: error uploading logo image");
// console.log("ipfs: error uploading logo image", e);
// }
// }
// application.credentials = formCredentials;
// application.createdAt = oldGrantMetadata
// ? oldGrantMetadata.metadata?.createdAt
// : Date.now();

// dispatch(grantStatus(Status.UploadingJSON));
// let resp;
// try {
// resp = await pinataClient.pinJSON(application);
// } catch (e) {
// datadogRum.addError(e);
// datadogLogs.logger.error("ipfs: error uploading metadata");
// console.error("ipfs: error uploading metadata", e);
// }

// const metadataCID = resp.IpfsHash;
// const { chainID } = state.web3;
// const addresses = addressesByChainID(chainID!);
// const { signer } = global;
// const projectRegistry = new ethers.Contract(
// addresses.projectRegistry!,
// ProjectRegistryABI,
// signer
// );

// dispatch(grantStatus(Status.WaitingForSignature));
// let projectTx;
// try {
// if (grantId !== undefined) {
// try {
// // todo: wire in update
// projectTx = await projectRegistry.updateProjectMetadata(grantId, {
// protocol: 1,
// pointer: metadataCID,
// });
// } catch (e) {
// datadogRum.addError(e);
// datadogLogs.logger.warn("transaction error");
// dispatch(grantError("transaction error", Status.Error));
// console.error("tx error", e);
// return;
// }
// } else {
// try {
// projectTx = await projectRegistry.createProject({
// protocol: 1,
// pointer: metadataCID,
// });
// } catch (e) {
// datadogRum.addError(e);
// datadogLogs.logger.warn("transaction error");
// dispatch(grantError("transaction error", Status.Error));
// console.error("tx error", e);
// return;
// }
// }
// } catch (e) {
// datadogRum.addError(e);
// datadogLogs.logger.warn("transaction error");
// dispatch(grantError("transaction error", Status.Error));
// console.error("tx error", e);
// return;
// }

// dispatch(grantStatus(Status.TransactionInitiated));
// const txStatus = await projectTx.wait();

// if (txStatus.status) {
// dispatch(grantStatus(Status.Completed));
// }
// };
25 changes: 21 additions & 4 deletions packages/builder/src/components/AlloWrapper.tsx
Original file line number Diff line number Diff line change
@@ -1,14 +1,16 @@
import { useEffect, useState } from "react";
import {
Allo,
AlloV2,
// AlloV2,
AlloProvider,
createPinataIpfsUploader,
waitForSubgraphSyncTo,
createEthersTransactionSender,
AlloV1,
} from "common";
import { useNetwork, useProvider, useSigner } from "wagmi";
import { getConfig } from "common/src/config";
import { addressesByChainID } from "../contracts/deployments";

function AlloWrapper({ children }: { children: JSX.Element | JSX.Element[] }) {
const { chain } = useNetwork();
Expand All @@ -23,13 +25,28 @@ function AlloWrapper({ children }: { children: JSX.Element | JSX.Element[] }) {
if (!web3Provider || !signer || !chainID) {
setBackend(null);
} else {
const alloBackend: Allo = new AlloV2({
// const alloBackend: Allo = new AlloV2({
// chainId: chainID,
// transactionSender: createEthersTransactionSender(signer, web3Provider),
// projectRegistryAddress: "0x0000000000000000000000000000000000000000",
// ipfsUploader: createPinataIpfsUploader({
// token: getConfig().pinata.jwt,
// endpoint: `${getConfig().pinata.baseUrl}/pinning/pinFileToIPFS`,
// }),
// waitUntilIndexerSynced: waitForSubgraphSyncTo,
// });

const addresses = addressesByChainID(chainID!);

console.log("AlloWrapper: addresses", addresses);

const alloBackend: Allo = new AlloV1({
chainId: chainID,
transactionSender: createEthersTransactionSender(signer, web3Provider),
projectRegistryAddress: "0x0000000000000000000000000000000000000000",
projectRegistryAddress: addresses?.projectRegistry! as `0x${string}`,
ipfsUploader: createPinataIpfsUploader({
token: getConfig().pinata.jwt,
endpoint: getConfig().pinata.baseUrl,
endpoint: `${getConfig().pinata.baseUrl}/pinning/pinFileToIPFS`,
}),
waitUntilIndexerSynced: waitForSubgraphSyncTo,
});
Expand Down
2 changes: 1 addition & 1 deletion packages/builder/src/components/base/Preview.tsx
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import { useAllo } from "common";
import { useEffect, useState } from "react";
import { shallowEqual, useDispatch, useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
Expand All @@ -16,7 +17,6 @@ import { grantSteps } from "../../utils/steps";
import StatusModal from "./StatusModal";
import ErrorModal from "./ErrorModal";
import { DefaultProjectBanner, DefaultProjectLogo } from "../../assets";
import { useAllo } from "common";

export default function Preview({
currentProjectId,
Expand Down
1 change: 0 additions & 1 deletion packages/common/src/allo/backends/allo-v2.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ export class AlloV2 implements Allo {
> {
return new AlloOperation(async ({ emit }) => {
// --- upload metadata to IPFS
console.log("====> args.metadata", args.metadata);
const ipfsResult = await this.ipfsUploader(args.metadata);

emit("ipfs", ipfsResult);
Expand Down
19 changes: 16 additions & 3 deletions packages/common/src/allo/ipfs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ export function createPinataIpfsUploader(args: {
endpoint: string;
fetch?: typeof globalThis.fetch;
}): IpfsUploader {

const {
fetch = globalThis.fetch,
token,
Expand All @@ -25,7 +26,12 @@ export function createPinataIpfsUploader(args: {
Authorization: `Bearer ${token}`,
},
body: {
pinataMetadata: {},
pinataMetadata: {
name: "Gitcoin.co",
keyvalues: {
app: "Gitcoin.co",
},
},
pinataOptions: {
cidVersion: 1,
},
Expand All @@ -45,9 +51,16 @@ export function createPinataIpfsUploader(args: {
fd.append("pinataOptions", JSON.stringify(params.body.pinataOptions));
fd.append("pinataMetadata", JSON.stringify(params.body.pinataMetadata));

const res = await fetch(endpoint);
const res = await fetch(endpoint, {
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
},
body: fd,
// Include any other headers or options as needed
});

if (res.ok) {
if (!res.ok) {
return error(
new AlloError(`Failed to upload file to IPFS: ${await res.text()}`)
);
Expand Down

0 comments on commit a049c09

Please sign in to comment.