Use Embark's contract addresses
This commit is contained in:
parent
4c9cfacfdf
commit
c4cf9a0094
|
@ -7,6 +7,7 @@
|
|||
"build": "",
|
||||
"start": "nodemon server.js",
|
||||
"start:dev": "node ./server.js",
|
||||
"start:testnet": "node ./server.js",
|
||||
"start:prod": "node ./server.js",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
|
|
|
@ -7,7 +7,8 @@
|
|||
"build:testnet": "embark build testnet",
|
||||
"build:development": "embark build development",
|
||||
"build": "embark build livenet",
|
||||
"start:dev": "yarn build:testnet",
|
||||
"start:dev": "yarn build:development",
|
||||
"start:testnet": "embark build testnet",
|
||||
"start:prod": "yarn build",
|
||||
"slither": "slither . --exclude naming-convention --filter-paths token"
|
||||
},
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
INFURA_KEY=8675214b97b44e96b70d05326c61fd6a
|
||||
MAINNET_SNT=0x744d70fdbe2ba4cf95131626614a1763df805b9e
|
||||
ROPSTEN_SNT=0xc55cf4b03948d7ebc8b9e8bad92643703811d162
|
||||
MAINNET_DISCOVER=0x5bCF2767F86f14eDd82053bfBfd5069F68C2C5F8
|
||||
ROPSTEN_DISCOVER=0x7B064fc5FDc4BACf2147A262881374d22d0fF23B
|
||||
API_HOST=localhost:4000
|
||||
API_SCHEMA=http
|
||||
|
||||
|
|
|
@ -124,14 +124,13 @@ export const web3Keccak = (input: string) => {
|
|||
let contracts = {};
|
||||
|
||||
// TODO investigate listeners
|
||||
export const connectContract = async (Contract: any, address: string) => {
|
||||
export const connectContract = async (Contract: any, address: string = "") => {
|
||||
if(!address){
|
||||
address = Contract.options.address;
|
||||
}
|
||||
|
||||
if (!contracts[address]) {
|
||||
const clonedContract = Contract.clone();
|
||||
if (address) {
|
||||
clonedContract.address = address;
|
||||
clonedContract.options.address = address;
|
||||
}
|
||||
|
||||
contracts[address] = clonedContract;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@ import {
|
|||
getAccount,
|
||||
defaultMultiplier,
|
||||
broadcastContractFn,
|
||||
ContractAddresses,
|
||||
} from 'domain/App/blockchainUtils';
|
||||
import DiscoverAbi from '../../../embarkArtifacts/contracts/Discover';
|
||||
import { AddressZero } from 'ethers/constants';
|
||||
|
@ -16,12 +15,7 @@ import { getIpfsHashFromBytes32 } from 'domain/App/sagas/metadata.saga';
|
|||
// View methods
|
||||
export const DiscoverUpVoteEffect = async (id: string, amount: number) => {
|
||||
const tokenAmount = bigNumberify(amount);
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
await validateUpVoteEffect(id, amount);
|
||||
return await DiscoverContract.methods
|
||||
.upvoteEffect(id, tokenAmount.toString())
|
||||
|
@ -31,24 +25,14 @@ export const DiscoverUpVoteEffect = async (id: string, amount: number) => {
|
|||
export const DiscoverDownVoteCost = async (id: string) => {
|
||||
const dapp = await DiscoverGetDAppById(id);
|
||||
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
return await DiscoverContract.methods
|
||||
.downvoteCost(dapp.id)
|
||||
.call({ from: AddressZero });
|
||||
};
|
||||
|
||||
export const DiscoverGetDAppById = async (id: string) => {
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
const dappExists = await DiscoverDappExists(id);
|
||||
|
||||
if (dappExists) {
|
||||
|
@ -73,24 +57,14 @@ export const DiscoverGetDAppById = async (id: string) => {
|
|||
};
|
||||
|
||||
export const DiscoverGetDAppsCount = async () => {
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
return parseInt(
|
||||
await DiscoverContract.methods.getDAppsCount().call({ from: AddressZero }),
|
||||
);
|
||||
};
|
||||
|
||||
export const DiscoverGetDAppsMeta = async (id: number) => {
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
return await DiscoverContract.methods.dapps(id).call({ from: AddressZero });
|
||||
};
|
||||
|
||||
|
@ -151,22 +125,12 @@ export const DiscoverHelperGetMeta = async (
|
|||
};
|
||||
|
||||
export const DiscoverSafeMax = async () => {
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
return DiscoverContract.methods.safeMax().call({ from: AddressZero });
|
||||
};
|
||||
|
||||
export const DiscoverDappExists = async (id: string) => {
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
return DiscoverContract.methods.existingIDs(id).call({ from: AddressZero });
|
||||
};
|
||||
|
||||
|
@ -180,12 +144,7 @@ export const DiscoverCreateDApp = async (
|
|||
if (account == AddressZero) {
|
||||
throw 'Account not connected';
|
||||
}
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
const callData = DiscoverContract.methods
|
||||
.createDApp(dappId, tokenAmount.toString(), uploadedMetadata)
|
||||
.encodeABI();
|
||||
|
@ -198,12 +157,7 @@ export const DiscoverCreateDApp = async (
|
|||
};
|
||||
|
||||
export const DiscoverUpVote = async (id: string, amount: number) => {
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
const tokenAmount = defaultMultiplier.mul(bigNumberify(amount));
|
||||
|
||||
const callData = DiscoverContract.methods
|
||||
|
@ -217,12 +171,7 @@ export const DiscoverUpVote = async (id: string, amount: number) => {
|
|||
};
|
||||
|
||||
export const DiscoverDownVote = async (id: string) => {
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
const dapp = await DiscoverGetDAppById(id);
|
||||
const amount = (await DiscoverDownVoteCost(dapp.id)).c;
|
||||
|
||||
|
@ -243,12 +192,7 @@ export const DiscoverWithdraw = async (id: string, amount: number) => {
|
|||
if (account == AddressZero) {
|
||||
throw 'Account not connected';
|
||||
}
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
const tokenAmount = defaultMultiplier.mul(bigNumberify(amount));
|
||||
await validateWithdrawing(id, tokenAmount);
|
||||
|
||||
|
@ -267,12 +211,7 @@ export const DiscoverSetMetadata = async (id: string, metadataHash: string) => {
|
|||
if (account == AddressZero) {
|
||||
throw 'Account not connected';
|
||||
}
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
|
||||
try {
|
||||
const tx = await broadcastContractFn(
|
||||
|
@ -294,12 +233,8 @@ export const DiscoverWithdrawMax = async (dappId: string) => {
|
|||
if (account == AddressZero) {
|
||||
throw 'Account not connected';
|
||||
}
|
||||
const DiscoverContract = await connectContract(
|
||||
DiscoverAbi,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)]
|
||||
.DISCOVER,
|
||||
// ContractAddresses[await getNetworkId()].DISCOVER,
|
||||
);
|
||||
const DiscoverContract = await connectContract(DiscoverAbi);
|
||||
|
||||
const decimals = 1000000;
|
||||
const draw = await DiscoverContract.methods.withdrawMax(dappId).call({
|
||||
from: account,
|
||||
|
|
|
@ -2,47 +2,29 @@ import SNTContract from '../../../embarkArtifacts/contracts/MiniMeToken';
|
|||
import {
|
||||
connectContract,
|
||||
getAccount,
|
||||
broadcastContractFn,
|
||||
ContractAddresses,
|
||||
broadcastContractFn
|
||||
} from 'domain/App/blockchainUtils';
|
||||
import { AddressZero } from 'ethers/constants';
|
||||
import { BigNumber, bigNumberify } from 'ethers/utils';
|
||||
|
||||
// View functions will just use address zero
|
||||
export const SNTallowance = async (from: string, to: string) => {
|
||||
const SNTToken = await connectContract(
|
||||
SNTContract,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)].SNT,
|
||||
// ContractAddresses[await getNetworkId()].SNT,
|
||||
);
|
||||
|
||||
const SNTToken = await connectContract(SNTContract);
|
||||
return await SNTToken.methods.allowance(from, to).call({ from: AddressZero });
|
||||
};
|
||||
|
||||
export const SNTbalanceOf = async (account: string) => {
|
||||
const SNTToken = await connectContract(
|
||||
SNTContract,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)].SNT,
|
||||
// ContractAddresses[await getNetworkId()].SNT,
|
||||
);
|
||||
const SNTToken = await connectContract(SNTContract);
|
||||
return await SNTToken.methods.balanceOf(account).call({ from: AddressZero });
|
||||
};
|
||||
|
||||
export const SNTcontroller = async () => {
|
||||
const SNTToken = await connectContract(
|
||||
SNTContract,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)].SNT,
|
||||
// ContractAddresses[await getNetworkId()].SNT,
|
||||
);
|
||||
const SNTToken = await connectContract(SNTContract);
|
||||
return await SNTToken.methods.controller().call({ from: AddressZero });
|
||||
};
|
||||
|
||||
export const SNTtransferable = async () => {
|
||||
const SNTToken = await connectContract(
|
||||
SNTContract,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)].SNT,
|
||||
// ContractAddresses[await getNetworkId()].SNT,
|
||||
);
|
||||
const SNTToken = await connectContract(SNTContract);
|
||||
return await SNTToken.methods.transfersEnabled().call({ from: AddressZero });
|
||||
};
|
||||
|
||||
|
@ -79,11 +61,7 @@ export const SNTapproveAndCall = async (
|
|||
if (account == AddressZero) {
|
||||
throw 'Account not connected';
|
||||
}
|
||||
const SNTToken = await connectContract(
|
||||
SNTContract,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)].SNT,
|
||||
// ContractAddresses[await getNetworkId()].SNT,
|
||||
);
|
||||
const SNTToken = await connectContract(SNTContract);
|
||||
if (await validateApproveAndCall(amount)) {
|
||||
return await broadcastContractFn(
|
||||
SNTToken.methods.approveAndCall(spender, amount.toString(), callData),
|
||||
|
@ -100,11 +78,6 @@ export const SNTgenerateTokens = async () => {
|
|||
if (account == AddressZero) {
|
||||
throw 'Account not connected';
|
||||
}
|
||||
const SNTToken = await connectContract(
|
||||
SNTContract,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)].SNT,
|
||||
// ContractAddresses[await getNetworkId()].SNT,
|
||||
);
|
||||
|
||||
const SNTToken = await connectContract(SNTContract);
|
||||
await SNTToken.methods.generateTokens(account, 10000).send({ from: account });
|
||||
};
|
||||
|
|
|
@ -6,6 +6,7 @@ import { RootState } from 'domain/App/types';
|
|||
import { IDAppsToken } from '../types';
|
||||
import { utils } from 'ethers';
|
||||
import { ContractAddresses, getRpcUrl, getNetworkName } from 'domain/App/blockchainUtils';
|
||||
import SNTContract from '../../../embarkArtifacts/contracts/MiniMeToken';
|
||||
|
||||
function* getBalancesSaga() {
|
||||
while (true) {
|
||||
|
@ -31,7 +32,7 @@ function* getBalancesSaga() {
|
|||
account,
|
||||
[
|
||||
...tokenAddresses,
|
||||
ContractAddresses[parseInt(process.env['TARGET_NETWORK'] as string)].SNT
|
||||
SNTContract.options.address
|
||||
],
|
||||
),
|
||||
);
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
"start": "cross-env NODE_ENV=development node server",
|
||||
"start:dev": "cross-env NODE_ENV=development node server --display-error-details",
|
||||
"start:tunnel": "cross-env NODE_ENV=development ENABLE_TUNNEL=true node server",
|
||||
"start:testnet": "cross-env NODE_ENV=development node server --display-error-details",
|
||||
"start:production": "yarn test && yarn build && yarn start:prod",
|
||||
"start:prod": "cross-env NODE_ENV=production node server",
|
||||
"clean:all": "yarn analyze:clean && yarn test:clean && yarn build:clean",
|
||||
|
|
|
@ -21,6 +21,9 @@
|
|||
|
||||
"start:dev-internal": "yarn wsrun --parallel --exclude-missing start:dev",
|
||||
"start:dev": "dotenv yarn start:dev-internal",
|
||||
|
||||
"start:testnet-internal": "yarn wsrun --parallel --exclude-missing start:testnet",
|
||||
"start:testnet": "dotenv yarn start:testnet-internal",
|
||||
|
||||
"start:prod-internal": "yarn wsrun --parallel --exclude-missing start:prod",
|
||||
"start:prod": "dotenv yarn start:prod-internal",
|
||||
|
|
Loading…
Reference in New Issue