Skip to content

Commit

Permalink
type fix
Browse files Browse the repository at this point in the history
  • Loading branch information
psparacino committed Jan 16, 2023
1 parent b98f4eb commit 00a0329
Show file tree
Hide file tree
Showing 12 changed files with 148 additions and 289 deletions.
245 changes: 61 additions & 184 deletions cache/solidity-files-cache.json

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions hardhat.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,11 @@ module.exports = {
},
sepolia: {
url: `${process.env.KOVAN_INFURA_URL}`,
accounts:[`${process.env.PRIVATE_KEY}`],
accounts: [`${process.env.PRIVATE_KEY}`],
},
mumbai: {
url: `${process.env.MUMBAI_ENDPOINT}`,
accounts:[`${process.env.PRIVATE_KEY}`],
accounts: [`${process.env.PRIVATE_KEY}`],
},
},
solidity: {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"deploymothership": "hh run --network localhost scripts/deployMothership.js",
"deploytoken-mumbai": "hh run scripts/deployInstrumentToken.js --network mumbai",
"deploymothership-mumbai": "hh run scripts/deployMothership.js --network mumbai",
"prettify": "yarn prettier --write ."
"prettier": "prettier --write ."
},
"dependencies": {
"3d-earth": "^1.0.8",
Expand Down
8 changes: 6 additions & 2 deletions pages/provenances/[provenance]/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,12 @@ const ProvenanceProfile = () => {
}, [provenanceObjects, provenance]);

function loadAndPush() {
const address = provenanceContract.address;
router.push(`/provenances/${address}/release-provenance`);
if (provenanceContract && provenanceContract.address) {
const address = provenanceContract.address;
router.push(`/provenances/${address}/release-provenance`);
} else {
console.log("no provenance contract");
}
}

const ItemPhotoCarousel = () => {
Expand Down
120 changes: 65 additions & 55 deletions pages/provenances/[provenance]/release-provenance.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,36 +2,19 @@ import { useEffect, useState } from "react";
import { ethers } from "ethers";

//next imports
import Link from "next/link";

import { useRouter } from "next/router";

//react-bootstrap imports
import {
Container,
Carousel,
Table,
Row,
Col,
Card,
Image,
Button,
ListGroup,
ListGroupItem,
InputGroup,
Form,
FormControl,
} from "react-bootstrap";
import { Container, Row, Col, Image, Button } from "react-bootstrap";

// context imports
import { useItemContext } from "../../../src/context/ItemContext";
import { useContractContext } from "../../../src/context/ContractContext";
import { useUserContext } from "../../../src/context/UserContext";

import { useTransferContext } from "../../../src/context/TransferContext";

// styles
import styles from "./release-provenance.module.css";
import { use } from "chai";

// images

Expand Down Expand Up @@ -62,24 +45,31 @@ const ReleaseProvenance = () => {
const [escrowActive, setEscowActive] = useState();

const router = useRouter();

const { provenance } = router.query;

// this will change if prov objects is an object with address key instead of array
useEffect(() => {
if (provenanceObjects && provenance) {
loadProvenance();
if (!provenanceObjects || !provenance || provenanceObjects.length === 0) {
return;
}

loadProvenance();

async function loadProvenance() {
for (let contract of provenanceObjects) {
if (contract.ProvenanceContract.address == provenance) {
const { ProvenanceContract, ProvenanceProps, ProvenanceOwnerInfo } =
contract;

setOutgoingContract(ProvenanceContract);
setOutgoingProvenanceProps(ProvenanceProps);
setOutgoingProvenanceOwnerInfo(ProvenanceOwnerInfo);
setLoaded(true);
}
const contract = provenanceObjects.find(
(contract) =>
contract.ProvenanceContract &&
contract.ProvenanceContract.address === provenance
);

if (contract) {
const { ProvenanceContract, ProvenanceProps, ProvenanceOwnerInfo } =
contract;

setOutgoingContract(ProvenanceContract);
setOutgoingProvenanceProps(ProvenanceProps);
setOutgoingProvenanceOwnerInfo(ProvenanceOwnerInfo);
setLoaded(true);
}
}
}, [provenanceObjects, provenance]);
Expand All @@ -96,7 +86,7 @@ const ReleaseProvenance = () => {
setTokenApproved(true);
}
}
}, [TokenContract, outgoingProvenanceProps, outgoingContract.address]);
}, [TokenContract, outgoingProvenanceProps, outgoingContract]);

useEffect(() => {
if (outgoingContract || transferInitiated) {
Expand All @@ -123,26 +113,42 @@ const ReleaseProvenance = () => {
async function approveTransfer() {
setSuccessMessage("");
setAddressErrorMessage("");
await TokenContract.approve(
outgoingContract.address,
outgoingProvenanceProps.instrumentDeedToken.toString()
)
.then(async (result) => {
provider
.waitForTransaction(result.hash)
.then(async (mined) => {
if (mined) {
setSuccessMessage("Transaction Success");
setTokenApproved(true);
}
})
.catch((error) => {
console.log(error);
});
})
.catch((error) => {
console.log(error.message, "User denied approval txn");
});
if (
TokenContract &&
outgoingContract &&
outgoingProvenanceProps.instrumentDeedToken
) {
// alert, change instrumentDeedTokent type
await TokenContract.approve(
outgoingContract.address,
outgoingProvenanceProps.instrumentDeedToken
)
.then(async (result) => {
provider
.waitForTransaction(result.hash)
.then(async (mined) => {
if (mined) {
setSuccessMessage("Transaction Success");
setTokenApproved(true);
}
})
.catch((error) => {
console.log(error);
});
})
.catch((error) => {
console.log(error.message, "User denied approval txn");
});
} else {
console.log(
"TokenContract",
TokenContract,
"outgoingContract",
outgoingContract,
"outgoingProvenanceProps",
outgoingProvenanceProps
);
}
}

async function revokeTransferApproval() {
Expand Down Expand Up @@ -192,7 +198,7 @@ const ReleaseProvenance = () => {
}
}

if (loaded) {
if (loaded && outgoingContract && outgoingProvenanceProps) {
return (
<Container>
<div style={{ textAlign: "center" }}>
Expand All @@ -218,7 +224,11 @@ const ReleaseProvenance = () => {
<h2>
Step 1: Approve This Token For Transfer{" "}
{tokenApproved ? (
<Image alt="green checkmark" src={greenCheckMark.src} height="20px" />
<Image
alt="green checkmark"
src={greenCheckMark.src}
height="20px"
/>
) : null}
</h2>
</Row>
Expand Down
1 change: 0 additions & 1 deletion pages/register-item/RegisterItem.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,6 @@ const RegisterItem = () => {
const { MothershipContract, TokenContract } = useContractContext();
const { stringToBytes32 } = useItemContext();


const {
items,
setItems,
Expand Down
34 changes: 0 additions & 34 deletions pages/search/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -388,37 +388,3 @@ function PublicProvenanceSearchTable() {
}

export default PublicProvenanceSearchTable;

// if (!(isEmptyObject(values))) {
// const filteredData = allProvenanceObjects.filter((item) => {
// const itemProps = item.ProvenanceProps;
// const itemOwnerInfo = item.ProvenanceOwnerInfo;
// const combinedObj = {
// ...itemProps,
// ...itemOwnerInfo
// }
// const valuesKeys = Object.keys(values);
// const combinedObjKeys = Object.keys(combinedObj);
// for (const [key, value] of Object.entries(values)) {

// console.log(key, value)
// return Object.values(combinedObj).join('').toLowerCase().includes(value.toLowerCase());

// // console.log(Object.entries(values), "object entires")
// // console.log(combinedObj, "combinedObj")
// // return Object.values(combinedObj).join('').toLowerCase().includes(value.toLowerCase());
// }
// })

// // const filteredData = allProvenanceObjects.filter(function(item) {
// // for (const [key, value] of Object.entries(values)) {
// // console.log(key, "key")
// // if (item[key] === undefined || item[key] != filter[key])
// // return false;
// // }
// // return true;
// // });

// console.log(filteredData, "filteredData")
// setFilteredResults(filteredData)
// }
1 change: 0 additions & 1 deletion src/context/ContractContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,6 @@ export function ContractContextProvider({ children }) {

const { provider, modalProvider, signer } = useUserContext();


const [MothershipContract, setMothershipContract] = useState("");
const [TokenContract, setTokenContract] = useState("");

Expand Down
2 changes: 1 addition & 1 deletion src/context/ItemContext.js
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ export function ItemContextProvider({ children }) {
}
setProvenanceObjects(provenanceArray);
}
}, [items, newProvenanceAddress, itemAdded, mainAccount]);
}, [items, newProvenanceAddress, itemAdded, mainAccount, signer]);

const stringToBytes32 = (string) => ethers.utils.formatBytes32String(string);

Expand Down
16 changes: 10 additions & 6 deletions src/context/UserContext.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
// src/context/state.js
import { createContext, useContext, useEffect, useState, useCallback } from "react";
import {
createContext,
useContext,
useEffect,
useState,
useCallback,
} from "react";
// import { networkParams } from "./networks";
import { toHex, truncateAddress } from "../hooks/utils";
import { ethers } from "ethers";
Expand Down Expand Up @@ -38,7 +44,7 @@ export function UserContextProvider({ children }) {
}
}, []);

const connectWallet = useCallback(async() => {
const connectWallet = useCallback(async () => {
try {
const modalProvider = await web3Modal.connect();
const provider = new ethers.providers.Web3Provider(modalProvider);
Expand All @@ -60,7 +66,7 @@ export function UserContextProvider({ children }) {
);
console.error(error, "connect error");
}
},[web3Modal]);
}, [web3Modal]);

//connect page on reload
useEffect(() => {
Expand All @@ -69,8 +75,6 @@ export function UserContextProvider({ children }) {
}
}, [web3Modal, connectWallet]);



const handleNetwork = (e) => {
const id = e.target.value;
setNetwork(Number(id));
Expand Down Expand Up @@ -114,7 +118,7 @@ export function UserContextProvider({ children }) {
await web3Modal.clearCachedProvider();
refreshState();
console.log("disconnect");
},[web3Modal]);
}, [web3Modal]);

//EVENT LISTENERS

Expand Down
2 changes: 1 addition & 1 deletion src/deployedContractAddresses/instrumenttokenaddress.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "address": "0x62737d2A21aAc79826AEf1CBd52B3Ae2641d8bF1" }
{ "address": "0x62737d2A21aAc79826AEf1CBd52B3Ae2641d8bF1" }
2 changes: 1 addition & 1 deletion src/deployedContractAddresses/mothershipaddress.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{ "address": "0x88550a5d951f5717Ec259659Ed9A6D18544eA9B5" }
{ "address": "0x88550a5d951f5717Ec259659Ed9A6D18544eA9B5" }

0 comments on commit 00a0329

Please sign in to comment.