1
0
mirror of https://github.com/dap-ps/discover.git synced 2025-02-24 15:08:13 +00:00

Add email field

This commit is contained in:
Lyubomir Kiprov 2019-07-20 11:02:23 +03:00
parent 4713c11747
commit 92638c4d34
35 changed files with 1245 additions and 314 deletions

View File

@ -1,7 +1,7 @@
PORT=4000
ENVIRONMENT='DEV'
# DB_CONNECTION="mongodb://localhost:27017/statusDiscoverDB"
DB_CONNECTION="mongodb+srv://status:discoverdapps@cluster0-ahfnc.mongodb.net/test?retryWrites=true"
DB_CONNECTION="mongodb://localhost:27017/statusDiscoverDB"
# DB_CONNECTION="mongodb+srv://status:discoverdapps@cluster0-ahfnc.mongodb.net/test?retryWrites=true"
ADMIN_USER="Status"
ADMIN_PASSWORD="discoverbancor"
@ -11,7 +11,8 @@ IPFS_HOST="ipfs.infura.io"
IPFS_PROTOCOL="https"
APPROVER_MAIL="lyubo@limechain.tech"
APPROVE_NOTIFIER_MAIL="andy@status.im"
# APPROVE_NOTIFIER_MAIL="andy@status.im"
APPROVE_NOTIFIER_MAIL=""
EMAIL_HOST=
EMAIL_PORT=
@ -24,5 +25,5 @@ RATE_LIMIT_TIME=15
# 1 request per hour
MAX_REQUESTS_FOR_RATE_LIMIT_TIME=1
DISCOVER_CONTRACT="0x3449Eb0705C9f0A77B687E7247c31e4A65f60dD4"
DISCOVER_CONTRACT="0xd88e9ac0adf2014764e5cf64c6895f12bdf2540f"
BLOCKCHAIN_CONNECTION_POINT="wss://ropsten.infura.io/ws/v3/8675214b97b44e96b70d05326c61fd6a"

View File

@ -1,158 +1,179 @@
const DAppMetadata = require('./../models/dapps-metadata-model');
const DAppMetadata = require('./../models/dapps-metadata-model')
const TemplateParser = require('./../inputs/template-parser');
const DAppsMetadataInputTemplates = require('./../inputs/templates/dapps-metadata');
const TemplateParser = require('./../inputs/template-parser')
const DAppsMetadataInputTemplates = require('./../inputs/templates/dapps-metadata')
const IPFSService = require('./../services/ipfs-service');
const DiscoverService = require('./../services/discover-service');
const DAppImageService = require('./../services/dapp-image-service');
const DAppMetadataService = require('./../services/dapp-metadata-service');
const IPFSService = require('./../services/ipfs-service')
const DiscoverService = require('./../services/discover-service')
const DAppImageService = require('./../services/dapp-image-service')
const DAppMetadataService = require('./../services/dapp-metadata-service')
const ApprovalEmail = require('./../emails/approval-email');
const BadRequestError = require('./../errors/bad-request-error');
const ApprovalEmail = require('./../emails/approval-email')
const BadRequestError = require('./../errors/bad-request-error')
const DAPP_METADATA_STATUSES = require('./../constants/dapp-metadata-statuses');
const DAPP_METADATA_STATUSES = require('./../constants/dapp-metadata-statuses')
const web3 = require('./../blockchain/web3');
const logger = require('./../logger/logger').getLoggerFor('DApps-Metadata-Controller');
const web3 = require('./../blockchain/web3')
const logger = require('./../logger/logger').getLoggerFor(
'DApps-Metadata-Controller',
)
class DAppsMetadataController {
static async uploadDAppMetadata(req, res) {
try {
const parsedInput = TemplateParser.parse(
req.body,
DAppsMetadataInputTemplates.UploadingTemplate,
)
static async uploadDAppMetadata(req, res) {
try {
const parsedMetadata = TemplateParser.parse(req.body, DAppsMetadataInputTemplates.UploadingTemplate);
const uploadedMetadata = await DAppMetadataService.upload(req, parsedMetadata);
const uploadedMetadata = await DAppMetadataService.upload(
req,
parsedInput,
)
logger.info(`A dapp metadata with hash [${uploadedMetadata.hash}] has been uploaded successfully`);
logger.info(
`A dapp metadata with hash [${uploadedMetadata.hash}] has been uploaded successfully`,
)
res.status(200).json({ hash: uploadedMetadata.hash });
} catch (error) {
logger.error(error.message);
throw new BadRequestError(error);
}
res.status(200).json({ hash: uploadedMetadata.hash })
} catch (error) {
logger.error(error.message)
throw new BadRequestError(error)
}
}
static async sendApprovalEmail(req, res) {
const dappMetadata = await DAppMetadata.findOne({ hash: req.params.hash })
if (!dappMetadata) {
return void res.status(404).send()
}
static async sendApprovalEmail(req, res) {
const dappMetadata = await DAppMetadata.findOne({ 'hash': req.params.hash });
if (!dappMetadata) {
return void res.status(404).send();
}
if (dappMetadata.status == DAPP_METADATA_STATUSES.NEW) {
const approvalEmail = new ApprovalEmail(dappMetadata.details);
approvalEmail.send();
}
res.status(200).send();
if (dappMetadata.status == DAPP_METADATA_STATUSES.NEW) {
const approvalEmail = new ApprovalEmail(dappMetadata)
approvalEmail.send()
}
static async setMetadataStatus(req, res) {
waitToBeMined(req.body.txHash, async () => {
const dapp = await DiscoverService.retrieveDApp(req.params.dappId);
const dappMetadata = await DAppMetadata.findByBytes32Hash(dapp.metadata);
const initialDAppMetadata = await DAppMetadata.findOne({ 'compressedMetadata': req.params.dappId });
res.status(200).send()
}
if (dappMetadata && initialDAppMetadata && initialDAppMetadata.status == DAPP_METADATA_STATUSES.APPROVED) {
dappMetadata.status = DAPP_METADATA_STATUSES.APPROVED;
await dappMetadata.save();
}
});
static async setMetadataStatus(req, res) {
waitToBeMined(req.body.txHash, async () => {
const dapp = await DiscoverService.retrieveDApp(req.params.dappId)
const dappMetadata = await DAppMetadata.findByBytes32Hash(dapp.metadata)
const initialDAppMetadata = await DAppMetadata.findOne({
compressedMetadata: req.params.dappId,
})
res.status(200).send();
if (
dappMetadata &&
initialDAppMetadata &&
initialDAppMetadata.status == DAPP_METADATA_STATUSES.APPROVED
) {
dappMetadata.status = DAPP_METADATA_STATUSES.APPROVED
await dappMetadata.save()
}
})
res.status(200).send()
}
static async getDAppMetadata(req, res) {
try {
const dappMetadata = await DAppMetadata.findOne({ hash: req.params.hash })
if (dappMetadata) {
return void res
.status(200)
.jsonCutSensitives(dappMetadata, ['_id', '__v'])
}
res.status(404).send()
} catch (error) {
logger.error(error.message)
res.status(404).send()
}
}
static async getDAppImage(req, res) {
try {
const dappImage = await DAppImageService.retrieveImage(req.params.hash)
if (dappImage) {
const imageBuffer = Buffer.from(dappImage.content, 'base64')
res.writeHead(200, {
'Content-Type': 'image/png',
'Content-Length': imageBuffer.length,
})
return void res.end(imageBuffer)
}
res.status(404).send()
} catch (error) {
logger.error(error.message)
res.status(404).send()
}
}
static async getAllDappsMetadata(req, res) {
const dappsMetadata = await DAppMetadata.find()
const dappsFormatedMetadata = {}
for (let i = 0; i < dappsMetadata.length; i++) {
const metadataHash = dappsMetadata[i].hash
dappsFormatedMetadata[metadataHash] = dappsMetadata[i]
}
static async getDAppMetadata(req, res) {
try {
const dappMetadata = await DAppMetadata.findOne({ 'hash': req.params.hash });
res.status(200).json(dappsFormatedMetadata)
}
if (dappMetadata) {
return void res.status(200).jsonCutSensitives(dappMetadata, ['_id', '__v']);
}
static async approveDApp(req, res) {
const dappMetadata = await DAppMetadata.findOne({ hash: req.params.hash })
res.status(404).send();
} catch (error) {
logger.error(error.message);
res.status(404).send();
}
if (dappMetadata) {
dappMetadata.status = DAPP_METADATA_STATUSES.APPROVED
const hasStaked = await DiscoverService.hasStaked(
dappMetadata.compressedMetadata,
)
if (hasStaked) {
dappMetadata.ipfsHash = await IPFSService.addContent(
dappMetadata.details,
)
}
await dappMetadata.save()
logger.info(`A dapp with hash [${dappMetadata.hash}] has been approved`)
return void res.status(200).send()
}
static async getDAppImage(req, res) {
try {
const dappImage = await DAppImageService.retrieveImage(req.params.hash);
res.status(404).send()
}
if (dappImage) {
const imageBuffer = Buffer.from(dappImage.content, 'base64');
static async rejectDApp(req, res) {
const dappMetadata = await DAppMetadata.findOne({ hash: req.params.hash })
res.writeHead(200, {
'Content-Type': 'image/png',
'Content-Length': imageBuffer.length
});
return void res.end(imageBuffer);
}
res.status(404).send();
} catch (error) {
logger.error(error.message);
res.status(404).send();
}
if (dappMetadata) {
await dappMetadata.remove()
return void res.status(200).send()
}
static async getAllDappsMetadata(req, res) {
const dappsMetadata = await DAppMetadata.find();
const dappsFormatedMetadata = {}
for (let i = 0; i < dappsMetadata.length; i++) {
const metadataHash = dappsMetadata[i].hash;
dappsFormatedMetadata[metadataHash] = dappsMetadata[i];
}
res.status(200).json(dappsFormatedMetadata);
}
static async approveDApp(req, res) {
let dappMetadata = await DAppMetadata.findOne({ 'hash': req.params.hash });
if (dappMetadata) {
dappMetadata.status = DAPP_METADATA_STATUSES.APPROVED;
const hasStaked = await DiscoverService.hasStaked(dappMetadata.compressedMetadata);
if (hasStaked) {
dappMetadata.ipfsHash = await IPFSService.addContent(dappMetadata.details);
}
await dappMetadata.save();
logger.info(`A dapp with hash [${dappMetadata.hash}] has been approved`);
return void res.status(200).send();
}
res.status(404).send();
}
static async rejectDApp(req, res) {
const dappMetadata = await DAppMetadata.findOne({ 'hash': req.params.hash });
if (dappMetadata) {
await dappMetadata.remove();
return void res.status(200).send();
}
res.status(404).send();
}
res.status(404).send()
}
}
const waitToBeMined = async function (txHash, callback) {
const updateMetadataTx = await web3.eth.getTransaction(txHash);
const waitToBeMined = async function(txHash, callback) {
const updateMetadataTx = await web3.eth.getTransaction(txHash)
if (!updateMetadataTx.blockNumber) {
setTimeout(() => {
waitToBeMined(txHash, callback);
}, 10000);
}
else {
callback();
}
if (!updateMetadataTx.blockNumber) {
setTimeout(() => {
waitToBeMined(txHash, callback)
}, 10000)
} else {
callback()
}
}
module.exports = DAppsMetadataController;
module.exports = DAppsMetadataController

View File

@ -2,7 +2,7 @@ const Email = require('./base-email');
class ApprovalEmail extends Email {
constructor(dapp) {
const emailBody = `A DApp metadata ${JSON.stringify(dapp.details)} has been uploaded`;
const emailBody = `A DApp metadata ${JSON.stringify(dapp.details)} has been uploaded. You can connect with the Dapp owner at email: ${dapp.email}`;
super(process.env.APPROVE_NOTIFIER_MAIL, process.env.APPROVER_MAIL, `Uploaded DApp Metadata. Hash - ${dapp.hash}`, emailBody);
}
}

View File

@ -1,11 +1,14 @@
{
"UploadingTemplate": {
"name": true,
"url": true,
"description": true,
"category": true,
"image": true,
"dateAdded": true,
"uploader": true
"email": true,
"metadata": {
"name": true,
"url": true,
"description": true,
"category": true,
"image": true,
"dateAdded": true,
"uploader": true
}
}
}

View File

@ -9,3 +9,9 @@
[2019-06-04 11:39:00]-[ERROR]-[Base-Email]: Email service verification failed due to Error: connect ECONNREFUSED 127.0.0.1:587
[2019-06-04 11:42:55]-[INFO]-[DApps-Metadata-Controller]: A dapp metadata with hash [QmXpVWSYayBYPzjiPdhTjmjCcbuY3Qr6ZYteWGaB6fDm4m] has been uploaded successfully
[2019-06-04 14:15:12]-[INFO]-[DApps-Metadata-Controller]: A dapp metadata with hash [QmTmHntVv6ixcQwtFEivSQ1kY4N5mzjmHVPEfhBRcUD6AC] has been uploaded successfully
[2019-07-20 10:23:51]-[ERROR]-[DApps-Metadata-Controller]: metadata is not defined
[2019-07-20 10:27:21]-[INFO]-[DApps-Metadata-Controller]: A dapp metadata with hash [QmeJKQtcEASSbmUgqEco4wXcpTVA21jWuEsnkGADEWZyFe] has been uploaded successfully
[2019-07-20 10:55:32]-[INFO]-[DApps-Metadata-Controller]: A dapp metadata with hash [QmaviKASDQ9Bc1ntwnPkVr2Kds4zXSrhud1hGj7Mc4NdGv] has been uploaded successfully
[2019-07-20 10:57:31]-[INFO]-[DApps-Metadata-Controller]: A dapp metadata with hash [QmNUSXTixR4DZtPQ5vuBoEAZtv5Pe6CQdkgpRyPYfsbVs6] has been uploaded successfully
[2019-07-20 10:59:15]-[INFO]-[DApps-Metadata-Controller]: A dapp metadata with hash [QmVv5G6UvVBAFsMQtff8Sk9p12Hn29g959wUeE3WjsdGUv] has been uploaded successfully
[2019-07-20 11:00:45]-[INFO]-[DApps-Metadata-Controller]: A dapp metadata with hash [QmQiiVYUTtpg1DtiKnVKVfkfKkM7Brt7JHVFLcVf3H1yDV] has been uploaded successfully

View File

@ -2,6 +2,7 @@ let mongoose = require('mongoose');
let Schema = mongoose.Schema;
const bs58 = require('bs58');
const validator = require('validator');
const dappCategories = require('./../constants/dapp-categories').ALL_CATEGORIES;
const metadataStatuses = require('./../constants/dapp-metadata-statuses').ALL_STATUSES;
@ -41,6 +42,16 @@ let DAppsMetadataSchema = new Schema({
required: true
},
},
email: {
type: String,
required: true,
validate: {
validator: function (value) {
return validator.isEmail(value);
},
message: props => `${props.value} is not a valid email!`
}
},
hash: {
type: String,
unique: true,

View File

@ -1,37 +1,45 @@
const DAppMetadata = require('./../models/dapps-metadata-model');
const validator = require('validator')
const web3Utils = require('web3-utils')
const DAppMetadata = require('./../models/dapps-metadata-model')
const DAppImageService = require('./../services/dapp-image-service');
const validator = require('validator');
const web3Utils = require('web3-utils');
const DAppImageService = require('./../services/dapp-image-service')
class DAppMetadataService {
static async upload(req, details) {
try {
if (!validator.isURL(details.metadata.url, { require_protocol: true })) {
throw new Error(`Invalid url: ${details.metadata.url}`)
}
static async upload(req, metadata) {
try {
if (!web3Utils.isAddress(details.metadata.uploader)) {
throw new Error(
`Metadata uploader [${details.metadata.uploader}] is not a valid address`,
)
}
if (!validator.isURL(metadata.url, { require_protocol: true })) {
throw new Error(`Invalid url: ${metadata.url}`);
}
const compressedMetadata = web3Utils.keccak256(
JSON.stringify(details.metadata),
)
details.metadata.image = await DAppImageService.upload(
req,
details.metadata.image,
)
const dappMetadata = await DAppMetadata.create({
details: details.metadata,
compressedMetadata,
email: details.email,
})
if (!web3Utils.isAddress(metadata.uploader)) {
throw new Error(`Metadata uploader [${metadata.url}] is not a valid address`);
}
return dappMetadata
} catch (error) {
// Code 11000 is because of uniqueness, so just return the already existing document
if (error.code == 11000) {
return DAppMetadata.findByPlainMetadata(details.metadata)
}
const compressedMetadata = web3Utils.keccak256(JSON.stringify(metadata));
metadata.image = await DAppImageService.upload(req, metadata.image);
const dappMetadata = await DAppMetadata.create({ details: metadata, compressedMetadata: compressedMetadata });
return dappMetadata;
} catch (error) {
// Code 11000 is because of uniqueness, so just return the already existing document
if (error.code == 11000) {
return DAppMetadata.findByPlainMetadata(metadata);
}
throw new Error(error.message);
}
throw new Error(error.message)
}
}
}
module.exports = DAppMetadataService;
module.exports = DAppMetadataService

View File

@ -74,9 +74,9 @@ module.exports = {
SafeMath: { deploy: false },
TestBancorFormula: { deploy: false },
MiniMeToken: {
address: '0x25B1bD06fBfC2CbDbFc174e10f1B78b1c91cc77B'
address: '0x2764b5da3696E3613Ef9864E9B4613f9fA478E75'
},
Discover: { address: '0x17e7a7330d23fc6a2ab8578a627408f815396662' },
Discover: { address: '0xd88e9ac0adf2014764e5cf64c6895f12bdf2540f' },
// MiniMeToken: {
// args: [
// '$MiniMeTokenFactory',

View File

@ -8,6 +8,7 @@
"@trailofbits/embark-contract-info": "^1.0.0",
"axios": "^0.18.0",
"bignumber.js": "^8.1.1",
"bn.js": "^5.0.0",
"bs58": "^4.0.1",
"connected-react-router": "^6.3.2",
"debounce": "^1.2.0",
@ -15,6 +16,7 @@
"embark": "4.0.1",
"embark-solium": "0.0.1",
"history": "^4.7.2",
"idb": "4.0.3",
"moment": "^2.24.0",
"node-sass": "^4.11.0",
"prop-types": "^15.7.2",
@ -31,11 +33,10 @@
"redux": "^4.0.1",
"redux-thunk": "^2.3.0",
"reselect": "^4.0.0",
"web3-utils": "^1.0.0-beta.35",
"webpack": "4.28.3",
"idb": "4.0.3",
"validator": "^11.1.0",
"web3": "1.0.0-beta.34",
"validator": "latest"
"web3-utils": "^1.0.0-beta.35",
"webpack": "4.28.3"
},
"scripts": {
"start": "react-scripts start",

View File

@ -32,10 +32,7 @@ class DiscoverService extends BlockchainService {
}
async getDAppsCount() {
return MetadataClient.getDappsCount();
// return DiscoverContract.methods
// .getDAppsCount()
// .call({ from: this.sharedContext.account })
return MetadataClient.getDappsCount()
}
async getAllDappsWithMetadata() {
@ -44,42 +41,44 @@ class DiscoverService extends BlockchainService {
.getDAppsCount()
.call({ from: this.sharedContext.account })
const dappsCache = JSON.parse(JSON.stringify(await MetadataClient.retrieveMetadataCache()))
const dapps = [];
const dappsCache = JSON.parse(
JSON.stringify(await MetadataClient.retrieveMetadataCache()),
)
const dapps = []
for (let i = 0; i < contractDappsCount; i++) {
const dapp = await DiscoverContract.methods
.dapps(index)
.dapps(i)
.call({ from: this.sharedContext.account })
const dappMetadata = dappsCache[dapp.metadata];
delete dappsCache[dapp.metadata];
dapp.metadata = dappMetadata.details;
const dappMetadata = dappsCache[dapp.metadata]
delete dappsCache[dapp.metadata]
dapp.metadata = dappMetadata.details
dapp.metadata.status = dappMetadata.status
dapps.push(dapp);
dapps.push(dapp)
}
Object.keys(dappsCache).forEach(metadataHash => {
const dappMetadata = dappsCache[metadataHash];
const dappMetadata = dappsCache[metadataHash]
dapps.push({
developer: "",
developer: '',
id: dappMetadata.compressedMetadata,
metadata: {
...dappMetadata.details,
status: dappMetadata.status
status: dappMetadata.status,
},
balance: 0,
rate: 0,
available: 0,
votesMinted: 0,
votesCast: 0,
effectiveBalance: 0
});
});
effectiveBalance: 0,
})
})
return dapps;
return dapps
} catch (error) {
throw new Error(`Error fetching dapps. Details: ${error.message}`)
}
@ -160,11 +159,9 @@ class DiscoverService extends BlockchainService {
}
// Transaction methods
async createDApp(amount, metadata) {
async createDApp(amount, metadata, email) {
const tokenAmount = this.decimalMultiplier.mul(new BN(amount, 10))
console.log(tokenAmount)
const ConnectedDiscoverContract = await super.__unlockServiceAccount(
DiscoverContract,
)
@ -175,17 +172,17 @@ class DiscoverService extends BlockchainService {
const dappId = web3.utils.keccak256(JSON.stringify(dappMetadata))
await this.validator.validateDAppCreation(dappId, tokenAmount)
const uploadedMetadata = await MetadataClient.upload(dappMetadata)
const uploadedMetadata = await MetadataClient.upload(dappMetadata, email)
let createdTx = null;
let createdTx = null
if (tokenAmount.gt(0)) {
const callData = ConnectedDiscoverContract.methods
.createDApp(dappId, tokenAmount, uploadedMetadata)
.createDApp(dappId, tokenAmount.toString(), uploadedMetadata)
.encodeABI()
createdTx = await this.sharedContext.SNTService.approveAndCall(
this.contract,
tokenAmount,
tokenAmount.toString(),
callData,
)
}

View File

@ -20,6 +20,10 @@ const waitOneMoreBlock = async function(prevBlockNumber) {
export default {
getTxStatus: async txHash => {
if (!txHash) {
return TRANSACTION_STATUSES.Successful
}
const txReceipt = await web3.eth.getTransactionReceipt(txHash)
if (txReceipt) {
await waitOneMoreBlock(txReceipt.blockNumber)

View File

@ -1,7 +1,7 @@
{
"UPLOAD": "http://dev.dap.ps/metadata",
"UPDATE": "http://dev.dap.ps/metadata/update",
"APPROVE": "http://dev.dap.ps/metadata/approve/email",
"RETRIEVE_METADATA": "http://dev.dap.ps/metadata",
"RETRIEVE_ALL_METADATA": "http://dev.dap.ps/metadata/all"
"UPLOAD": "http://localhost:4000/metadata",
"UPDATE": "http://localhost:4000/metadata/update",
"APPROVE": "http://localhost:4000/metadata/approve/email",
"RETRIEVE_METADATA": "http://localhost:4000/metadata",
"RETRIEVE_ALL_METADATA": "http://localhost:4000/metadata/all"
}

View File

@ -6,11 +6,11 @@ import metadataClientEndpoints from './endpoints/metadata-client-endpoints'
let metadataCache = null
class MetadataClient {
static async upload(metadata) {
static async upload(metadata, email) {
try {
const uploadedDataResponse = await HTTPClient.postRequest(
metadataClientEndpoints.UPLOAD,
metadata,
{ metadata, email },
)
return helpers.getBytes32FromIpfsHash(uploadedDataResponse.data.hash)
@ -79,14 +79,14 @@ class MetadataClient {
static async getDappsCount() {
if (metadataCache === null)
metadataCache = await MetadataClient.retrieveAllDappsMetadata()
return Object.keys(metadataCache).length;
return Object.keys(metadataCache).length
}
static async retrieveMetadataCache() {
if (metadataCache === null)
metadataCache = await MetadataClient.retrieveAllDappsMetadata()
return metadataCache;
return metadataCache
}
static async retrieveDAppFromCache(metadataBytes32) {

View File

@ -29,10 +29,10 @@ let ApproveAndCallFallBackJSONConfig = {
},
],
filename:
'/Users/georgispasov/Development/LimeLabs/status/discover/.embark/contracts/token/ApproveAndCallFallBack.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/.embark/contracts/token/ApproveAndCallFallBack.sol',
originalFilename: 'contracts/token/ApproveAndCallFallBack.sol',
path:
'/Users/georgispasov/Development/LimeLabs/status/discover/contracts/token/ApproveAndCallFallBack.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/contracts/token/ApproveAndCallFallBack.sol',
gas: 'auto',
type: 'file',
deploy: false,

View File

@ -5,13 +5,13 @@ let BancorFormulaJSONConfig = {
className: 'BancorFormula',
args: [],
code:
'608060405234801561001057600080fd5b506001606060020a641c35fedd1502036020556001605e60020a646c3390ecc902036021556001606160020a640cf801476102036022556001605f60020a6431bdb23e1d02036023556001605b60020a6502fb1d8fe08302036024556001605a60020a6505b771955b3702036025556001605960020a650af67a93bb5102036026556001605860020a6515060c256cb302036027556001605860020a651428a2f98d7302036028556001605660020a654d515663970902036029556001605560020a65944620b0e70f0203602a557011c592761c666fffffffffffffffffffff602b5570110a688680a757ffffffffffffffffffff602c55701056f1b5bedf77ffffffffffffffffffff602d55700faadceceeff8bffffffffffffffffffff602e55700f05dc6b27edadffffffffffffffffffff602f55700e67a5a25da4107fffffffffffffffffff603055700dcff115b14eedffffffffffffffffffff603155700d3e7a392431239fffffffffffffffffff603255700cb2ff529eb71e4fffffffffffffffffff603355700c2d415c3db974afffffffffffffffffff603455700bad03e7d883f69bffffffffffffffffff603555700b320d03b2c343d5ffffffffffffffffff603655700abc25204e02828dffffffffffffffffff603755700a4b16f74ee4bb207fffffffffffffffff6038557009deaf736ac1f569ffffffffffffffffff603955700976bd9952c7aa957fffffffffffffffff603a557009131271922eaa606fffffffffffffffff603b557008b380f3558668c46fffffffffffffffff603c55700857ddf0117efa215bffffffffffffffff603d556001608360020a03603e557007abbf6f6abb9d087fffffffffffffffff603f5570075af62cbac95f7dfa7fffffffffffffff60405570070d7fb7452e187ac13fffffffffffffff6041557006c3390ecc8af379295fffffffffffffff60425570067c00a3b07ffc01fd6fffffffffffffff604355700637b647c39cbb9d3d27ffffffffffffff6044557005f63b1fc104dbd39587ffffffffffffff6045557005b771955b36e12f7235ffffffffffffff60465570057b3d49dda84556d6f6ffffffffffffff60475570054183095b2c8ececf30ffffffffffffff60485570050a28be635ca2b888f77fffffffffffff6049557004d5156639708c9db33c3fffffffffffff604a557004a23105873875bd52dfdfffffffffffff604b55700471649d87199aa990756fffffffffffff604c557004429a21a029d4c1457cfbffffffffffff604d55700415bc6d6fb7dd71af2cb3ffffffffffff604e557003eab73b3bbfe282243ce1ffffffffffff604f557003c1771ac9fb6b4c18e229ffffffffffff605055700399e96897690418f785257fffffffffff605155700373fc456c53bb779bf0ea9fffffffffff60525570034f9e8e490c48e67e6ab8bfffffffffff60535570032cbfd4a7adc790560b3337ffffffffff60545570030b50570f6e5d2acca94613ffffffffff6055557002eb40f9f620fda6b56c2861ffffffffff6056557002cc8340ecb0d0f520a6af58ffffffffff6057557002af09481380a0a35cf1ba02ffffffffff605855700292c5bdd3b92ec810287b1b3fffffffff605955700277abdcdab07d5a77ac6d6b9fffffffff605a5570025daf6654b1eaa55fd64df5efffffffff605b55700244c49c648baa98192dce88b7ffffffff605c5570022ce03cd5619a311b2471268bffffffff605d55700215f77c045fbe885654a44a0fffffffff605e556001608160020a03605f557001eaefdbdaaee7421fc4d3ede5ffffffff6060557001d6bd8b2eb257df7e8ca57b09bfffffff6061557001c35fedd14b861eb0443f7f133fffffff6062557001b0ce43b322bcde4a56e8ada5afffffff60635570019f0028ec1fff007f5a195a39dfffffff60645570018ded91f0e72ee74f49b15ba527ffffff60655570017d8ec7f04136f4e5615fd41a63ffffff60665570016ddc6556cdb84bdc8d12d22e6fffffff60675570015ecf52776a1155b5bd8395814f7fffff60685570015060c256cb23b3b3cc3754cf40ffffff6069557001428a2f98d728ae223ddab715be3fffff606a5570013545598e5c23276ccf0ede68034fffff606b557001288c4161ce1d6f54b7f61081194fffff606c5570011c592761c666aa641d5a01a40f17ffff606d55700110a688680a7530515f3e6e6cfdcdffff606e557001056f1b5bedf75c6bcb2ce8aed428ffff606f556ffaadceceeff8a0890f3875f008277fff6070556ff05dc6b27edad306388a600f6ba0bfff6071556fe67a5a25da41063de1495d5b18cdbfff6072556fdcff115b14eedde6fc3aa5353f2e4fff6073556fd3e7a3924312399f9aae2e0f868f8fff6074556fcb2ff529eb71e41582cccd5a1ee26fff6075556fc2d415c3db974ab32a51840c0b67edff6076556fbad03e7d883f69ad5b0a186184e06bff6077556fb320d03b2c343d4829abd6075f0cc5ff6078556fabc25204e02828d73c6e80bcdb1a95bf6079556fa4b16f74ee4bb2040a1ec6c15fbbf2df607a556f9deaf736ac1f569deb1b5ae3f36c130f607b556f976bd9952c7aa957f5937d790ef65037607c556f9131271922eaa6064b73a22d0bd4f2bf607d556f8b380f3558668c46c91c49a2f8e967b9607e556f857ddf0117efa215952912839f6473e6607f556035806107c16000396000f3fe6080604052600080fdfea165627a7a72305820fa4081e54368d98cd94f5bc874f6550c9214d97b683ec5d6ec27cdc79b61aa910029',
'608060405234801561001057600080fd5b506001606060020a641c35fedd1502036020556001605e60020a646c3390ecc902036021556001606160020a640cf801476102036022556001605f60020a6431bdb23e1d02036023556001605b60020a6502fb1d8fe08302036024556001605a60020a6505b771955b3702036025556001605960020a650af67a93bb5102036026556001605860020a6515060c256cb302036027556001605860020a651428a2f98d7302036028556001605660020a654d515663970902036029556001605560020a65944620b0e70f0203602a557011c592761c666fffffffffffffffffffff602b5570110a688680a757ffffffffffffffffffff602c55701056f1b5bedf77ffffffffffffffffffff602d55700faadceceeff8bffffffffffffffffffff602e55700f05dc6b27edadffffffffffffffffffff602f55700e67a5a25da4107fffffffffffffffffff603055700dcff115b14eedffffffffffffffffffff603155700d3e7a392431239fffffffffffffffffff603255700cb2ff529eb71e4fffffffffffffffffff603355700c2d415c3db974afffffffffffffffffff603455700bad03e7d883f69bffffffffffffffffff603555700b320d03b2c343d5ffffffffffffffffff603655700abc25204e02828dffffffffffffffffff603755700a4b16f74ee4bb207fffffffffffffffff6038557009deaf736ac1f569ffffffffffffffffff603955700976bd9952c7aa957fffffffffffffffff603a557009131271922eaa606fffffffffffffffff603b557008b380f3558668c46fffffffffffffffff603c55700857ddf0117efa215bffffffffffffffff603d556001608360020a03603e557007abbf6f6abb9d087fffffffffffffffff603f5570075af62cbac95f7dfa7fffffffffffffff60405570070d7fb7452e187ac13fffffffffffffff6041557006c3390ecc8af379295fffffffffffffff60425570067c00a3b07ffc01fd6fffffffffffffff604355700637b647c39cbb9d3d27ffffffffffffff6044557005f63b1fc104dbd39587ffffffffffffff6045557005b771955b36e12f7235ffffffffffffff60465570057b3d49dda84556d6f6ffffffffffffff60475570054183095b2c8ececf30ffffffffffffff60485570050a28be635ca2b888f77fffffffffffff6049557004d5156639708c9db33c3fffffffffffff604a557004a23105873875bd52dfdfffffffffffff604b55700471649d87199aa990756fffffffffffff604c557004429a21a029d4c1457cfbffffffffffff604d55700415bc6d6fb7dd71af2cb3ffffffffffff604e557003eab73b3bbfe282243ce1ffffffffffff604f557003c1771ac9fb6b4c18e229ffffffffffff605055700399e96897690418f785257fffffffffff605155700373fc456c53bb779bf0ea9fffffffffff60525570034f9e8e490c48e67e6ab8bfffffffffff60535570032cbfd4a7adc790560b3337ffffffffff60545570030b50570f6e5d2acca94613ffffffffff6055557002eb40f9f620fda6b56c2861ffffffffff6056557002cc8340ecb0d0f520a6af58ffffffffff6057557002af09481380a0a35cf1ba02ffffffffff605855700292c5bdd3b92ec810287b1b3fffffffff605955700277abdcdab07d5a77ac6d6b9fffffffff605a5570025daf6654b1eaa55fd64df5efffffffff605b55700244c49c648baa98192dce88b7ffffffff605c5570022ce03cd5619a311b2471268bffffffff605d55700215f77c045fbe885654a44a0fffffffff605e556001608160020a03605f557001eaefdbdaaee7421fc4d3ede5ffffffff6060557001d6bd8b2eb257df7e8ca57b09bfffffff6061557001c35fedd14b861eb0443f7f133fffffff6062557001b0ce43b322bcde4a56e8ada5afffffff60635570019f0028ec1fff007f5a195a39dfffffff60645570018ded91f0e72ee74f49b15ba527ffffff60655570017d8ec7f04136f4e5615fd41a63ffffff60665570016ddc6556cdb84bdc8d12d22e6fffffff60675570015ecf52776a1155b5bd8395814f7fffff60685570015060c256cb23b3b3cc3754cf40ffffff6069557001428a2f98d728ae223ddab715be3fffff606a5570013545598e5c23276ccf0ede68034fffff606b557001288c4161ce1d6f54b7f61081194fffff606c5570011c592761c666aa641d5a01a40f17ffff606d55700110a688680a7530515f3e6e6cfdcdffff606e557001056f1b5bedf75c6bcb2ce8aed428ffff606f556ffaadceceeff8a0890f3875f008277fff6070556ff05dc6b27edad306388a600f6ba0bfff6071556fe67a5a25da41063de1495d5b18cdbfff6072556fdcff115b14eedde6fc3aa5353f2e4fff6073556fd3e7a3924312399f9aae2e0f868f8fff6074556fcb2ff529eb71e41582cccd5a1ee26fff6075556fc2d415c3db974ab32a51840c0b67edff6076556fbad03e7d883f69ad5b0a186184e06bff6077556fb320d03b2c343d4829abd6075f0cc5ff6078556fabc25204e02828d73c6e80bcdb1a95bf6079556fa4b16f74ee4bb2040a1ec6c15fbbf2df607a556f9deaf736ac1f569deb1b5ae3f36c130f607b556f976bd9952c7aa957f5937d790ef65037607c556f9131271922eaa6064b73a22d0bd4f2bf607d556f8b380f3558668c46c91c49a2f8e967b9607e556f857ddf0117efa215952912839f6473e6607f556035806107c16000396000f3fe6080604052600080fdfea165627a7a72305820182bba55c8c50f57e0c3b63d287f1b993648d6663b2b0816a8ff6730d324ae9d0029',
runtimeBytecode:
'6080604052600080fdfea165627a7a72305820fa4081e54368d98cd94f5bc874f6550c9214d97b683ec5d6ec27cdc79b61aa910029',
'6080604052600080fdfea165627a7a72305820182bba55c8c50f57e0c3b63d287f1b993648d6663b2b0816a8ff6730d324ae9d0029',
realRuntimeBytecode: '6080604052600080fdfea165627a7a72305820',
linkReferences: {},
swarmHash:
'fa4081e54368d98cd94f5bc874f6550c9214d97b683ec5d6ec27cdc79b61aa91',
'182bba55c8c50f57e0c3b63d287f1b993648d6663b2b0816a8ff6730d324ae9d',
gasEstimates: {
creation: {
codeDepositCost: '10600',
@ -38,20 +38,20 @@ let BancorFormulaJSONConfig = {
},
],
filename:
'/Users/georgispasov/Development/LimeLabs/status/discover/.embark/contracts/utils/BancorFormula.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/.embark/contracts/utils/BancorFormula.sol',
originalFilename: 'contracts/utils/BancorFormula.sol',
path:
'/Users/georgispasov/Development/LimeLabs/status/discover/contracts/utils/BancorFormula.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/contracts/utils/BancorFormula.sol',
gas: 'auto',
type: 'file',
},
code:
'608060405234801561001057600080fd5b506001606060020a641c35fedd1502036020556001605e60020a646c3390ecc902036021556001606160020a640cf801476102036022556001605f60020a6431bdb23e1d02036023556001605b60020a6502fb1d8fe08302036024556001605a60020a6505b771955b3702036025556001605960020a650af67a93bb5102036026556001605860020a6515060c256cb302036027556001605860020a651428a2f98d7302036028556001605660020a654d515663970902036029556001605560020a65944620b0e70f0203602a557011c592761c666fffffffffffffffffffff602b5570110a688680a757ffffffffffffffffffff602c55701056f1b5bedf77ffffffffffffffffffff602d55700faadceceeff8bffffffffffffffffffff602e55700f05dc6b27edadffffffffffffffffffff602f55700e67a5a25da4107fffffffffffffffffff603055700dcff115b14eedffffffffffffffffffff603155700d3e7a392431239fffffffffffffffffff603255700cb2ff529eb71e4fffffffffffffffffff603355700c2d415c3db974afffffffffffffffffff603455700bad03e7d883f69bffffffffffffffffff603555700b320d03b2c343d5ffffffffffffffffff603655700abc25204e02828dffffffffffffffffff603755700a4b16f74ee4bb207fffffffffffffffff6038557009deaf736ac1f569ffffffffffffffffff603955700976bd9952c7aa957fffffffffffffffff603a557009131271922eaa606fffffffffffffffff603b557008b380f3558668c46fffffffffffffffff603c55700857ddf0117efa215bffffffffffffffff603d556001608360020a03603e557007abbf6f6abb9d087fffffffffffffffff603f5570075af62cbac95f7dfa7fffffffffffffff60405570070d7fb7452e187ac13fffffffffffffff6041557006c3390ecc8af379295fffffffffffffff60425570067c00a3b07ffc01fd6fffffffffffffff604355700637b647c39cbb9d3d27ffffffffffffff6044557005f63b1fc104dbd39587ffffffffffffff6045557005b771955b36e12f7235ffffffffffffff60465570057b3d49dda84556d6f6ffffffffffffff60475570054183095b2c8ececf30ffffffffffffff60485570050a28be635ca2b888f77fffffffffffff6049557004d5156639708c9db33c3fffffffffffff604a557004a23105873875bd52dfdfffffffffffff604b55700471649d87199aa990756fffffffffffff604c557004429a21a029d4c1457cfbffffffffffff604d55700415bc6d6fb7dd71af2cb3ffffffffffff604e557003eab73b3bbfe282243ce1ffffffffffff604f557003c1771ac9fb6b4c18e229ffffffffffff605055700399e96897690418f785257fffffffffff605155700373fc456c53bb779bf0ea9fffffffffff60525570034f9e8e490c48e67e6ab8bfffffffffff60535570032cbfd4a7adc790560b3337ffffffffff60545570030b50570f6e5d2acca94613ffffffffff6055557002eb40f9f620fda6b56c2861ffffffffff6056557002cc8340ecb0d0f520a6af58ffffffffff6057557002af09481380a0a35cf1ba02ffffffffff605855700292c5bdd3b92ec810287b1b3fffffffff605955700277abdcdab07d5a77ac6d6b9fffffffff605a5570025daf6654b1eaa55fd64df5efffffffff605b55700244c49c648baa98192dce88b7ffffffff605c5570022ce03cd5619a311b2471268bffffffff605d55700215f77c045fbe885654a44a0fffffffff605e556001608160020a03605f557001eaefdbdaaee7421fc4d3ede5ffffffff6060557001d6bd8b2eb257df7e8ca57b09bfffffff6061557001c35fedd14b861eb0443f7f133fffffff6062557001b0ce43b322bcde4a56e8ada5afffffff60635570019f0028ec1fff007f5a195a39dfffffff60645570018ded91f0e72ee74f49b15ba527ffffff60655570017d8ec7f04136f4e5615fd41a63ffffff60665570016ddc6556cdb84bdc8d12d22e6fffffff60675570015ecf52776a1155b5bd8395814f7fffff60685570015060c256cb23b3b3cc3754cf40ffffff6069557001428a2f98d728ae223ddab715be3fffff606a5570013545598e5c23276ccf0ede68034fffff606b557001288c4161ce1d6f54b7f61081194fffff606c5570011c592761c666aa641d5a01a40f17ffff606d55700110a688680a7530515f3e6e6cfdcdffff606e557001056f1b5bedf75c6bcb2ce8aed428ffff606f556ffaadceceeff8a0890f3875f008277fff6070556ff05dc6b27edad306388a600f6ba0bfff6071556fe67a5a25da41063de1495d5b18cdbfff6072556fdcff115b14eedde6fc3aa5353f2e4fff6073556fd3e7a3924312399f9aae2e0f868f8fff6074556fcb2ff529eb71e41582cccd5a1ee26fff6075556fc2d415c3db974ab32a51840c0b67edff6076556fbad03e7d883f69ad5b0a186184e06bff6077556fb320d03b2c343d4829abd6075f0cc5ff6078556fabc25204e02828d73c6e80bcdb1a95bf6079556fa4b16f74ee4bb2040a1ec6c15fbbf2df607a556f9deaf736ac1f569deb1b5ae3f36c130f607b556f976bd9952c7aa957f5937d790ef65037607c556f9131271922eaa6064b73a22d0bd4f2bf607d556f8b380f3558668c46c91c49a2f8e967b9607e556f857ddf0117efa215952912839f6473e6607f556035806107c16000396000f3fe6080604052600080fdfea165627a7a72305820fa4081e54368d98cd94f5bc874f6550c9214d97b683ec5d6ec27cdc79b61aa910029',
'608060405234801561001057600080fd5b506001606060020a641c35fedd1502036020556001605e60020a646c3390ecc902036021556001606160020a640cf801476102036022556001605f60020a6431bdb23e1d02036023556001605b60020a6502fb1d8fe08302036024556001605a60020a6505b771955b3702036025556001605960020a650af67a93bb5102036026556001605860020a6515060c256cb302036027556001605860020a651428a2f98d7302036028556001605660020a654d515663970902036029556001605560020a65944620b0e70f0203602a557011c592761c666fffffffffffffffffffff602b5570110a688680a757ffffffffffffffffffff602c55701056f1b5bedf77ffffffffffffffffffff602d55700faadceceeff8bffffffffffffffffffff602e55700f05dc6b27edadffffffffffffffffffff602f55700e67a5a25da4107fffffffffffffffffff603055700dcff115b14eedffffffffffffffffffff603155700d3e7a392431239fffffffffffffffffff603255700cb2ff529eb71e4fffffffffffffffffff603355700c2d415c3db974afffffffffffffffffff603455700bad03e7d883f69bffffffffffffffffff603555700b320d03b2c343d5ffffffffffffffffff603655700abc25204e02828dffffffffffffffffff603755700a4b16f74ee4bb207fffffffffffffffff6038557009deaf736ac1f569ffffffffffffffffff603955700976bd9952c7aa957fffffffffffffffff603a557009131271922eaa606fffffffffffffffff603b557008b380f3558668c46fffffffffffffffff603c55700857ddf0117efa215bffffffffffffffff603d556001608360020a03603e557007abbf6f6abb9d087fffffffffffffffff603f5570075af62cbac95f7dfa7fffffffffffffff60405570070d7fb7452e187ac13fffffffffffffff6041557006c3390ecc8af379295fffffffffffffff60425570067c00a3b07ffc01fd6fffffffffffffff604355700637b647c39cbb9d3d27ffffffffffffff6044557005f63b1fc104dbd39587ffffffffffffff6045557005b771955b36e12f7235ffffffffffffff60465570057b3d49dda84556d6f6ffffffffffffff60475570054183095b2c8ececf30ffffffffffffff60485570050a28be635ca2b888f77fffffffffffff6049557004d5156639708c9db33c3fffffffffffff604a557004a23105873875bd52dfdfffffffffffff604b55700471649d87199aa990756fffffffffffff604c557004429a21a029d4c1457cfbffffffffffff604d55700415bc6d6fb7dd71af2cb3ffffffffffff604e557003eab73b3bbfe282243ce1ffffffffffff604f557003c1771ac9fb6b4c18e229ffffffffffff605055700399e96897690418f785257fffffffffff605155700373fc456c53bb779bf0ea9fffffffffff60525570034f9e8e490c48e67e6ab8bfffffffffff60535570032cbfd4a7adc790560b3337ffffffffff60545570030b50570f6e5d2acca94613ffffffffff6055557002eb40f9f620fda6b56c2861ffffffffff6056557002cc8340ecb0d0f520a6af58ffffffffff6057557002af09481380a0a35cf1ba02ffffffffff605855700292c5bdd3b92ec810287b1b3fffffffff605955700277abdcdab07d5a77ac6d6b9fffffffff605a5570025daf6654b1eaa55fd64df5efffffffff605b55700244c49c648baa98192dce88b7ffffffff605c5570022ce03cd5619a311b2471268bffffffff605d55700215f77c045fbe885654a44a0fffffffff605e556001608160020a03605f557001eaefdbdaaee7421fc4d3ede5ffffffff6060557001d6bd8b2eb257df7e8ca57b09bfffffff6061557001c35fedd14b861eb0443f7f133fffffff6062557001b0ce43b322bcde4a56e8ada5afffffff60635570019f0028ec1fff007f5a195a39dfffffff60645570018ded91f0e72ee74f49b15ba527ffffff60655570017d8ec7f04136f4e5615fd41a63ffffff60665570016ddc6556cdb84bdc8d12d22e6fffffff60675570015ecf52776a1155b5bd8395814f7fffff60685570015060c256cb23b3b3cc3754cf40ffffff6069557001428a2f98d728ae223ddab715be3fffff606a5570013545598e5c23276ccf0ede68034fffff606b557001288c4161ce1d6f54b7f61081194fffff606c5570011c592761c666aa641d5a01a40f17ffff606d55700110a688680a7530515f3e6e6cfdcdffff606e557001056f1b5bedf75c6bcb2ce8aed428ffff606f556ffaadceceeff8a0890f3875f008277fff6070556ff05dc6b27edad306388a600f6ba0bfff6071556fe67a5a25da41063de1495d5b18cdbfff6072556fdcff115b14eedde6fc3aa5353f2e4fff6073556fd3e7a3924312399f9aae2e0f868f8fff6074556fcb2ff529eb71e41582cccd5a1ee26fff6075556fc2d415c3db974ab32a51840c0b67edff6076556fbad03e7d883f69ad5b0a186184e06bff6077556fb320d03b2c343d4829abd6075f0cc5ff6078556fabc25204e02828d73c6e80bcdb1a95bf6079556fa4b16f74ee4bb2040a1ec6c15fbbf2df607a556f9deaf736ac1f569deb1b5ae3f36c130f607b556f976bd9952c7aa957f5937d790ef65037607c556f9131271922eaa6064b73a22d0bd4f2bf607d556f8b380f3558668c46c91c49a2f8e967b9607e556f857ddf0117efa215952912839f6473e6607f556035806107c16000396000f3fe6080604052600080fdfea165627a7a72305820182bba55c8c50f57e0c3b63d287f1b993648d6663b2b0816a8ff6730d324ae9d0029',
runtime_bytecode:
'6080604052600080fdfea165627a7a72305820fa4081e54368d98cd94f5bc874f6550c9214d97b683ec5d6ec27cdc79b61aa910029',
'6080604052600080fdfea165627a7a72305820182bba55c8c50f57e0c3b63d287f1b993648d6663b2b0816a8ff6730d324ae9d0029',
real_runtime_bytecode: '6080604052600080fdfea165627a7a72305820',
swarm_hash:
'fa4081e54368d98cd94f5bc874f6550c9214d97b683ec5d6ec27cdc79b61aa91',
'182bba55c8c50f57e0c3b63d287f1b993648d6663b2b0816a8ff6730d324ae9d',
gas_estimates: {
creation: {
codeDepositCost: '10600',

View File

@ -40,10 +40,10 @@ let ControlledJSONConfig = {
},
],
filename:
'/Users/georgispasov/Development/LimeLabs/status/discover/.embark/contracts/common/Controlled.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/.embark/contracts/common/Controlled.sol',
originalFilename: 'contracts/common/Controlled.sol',
path:
'/Users/georgispasov/Development/LimeLabs/status/discover/contracts/common/Controlled.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/contracts/common/Controlled.sol',
gas: 'auto',
type: 'file',
deploy: false,

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,359 @@
import EmbarkJS from '../embarkjs'
let ENSRegistryJSONConfig = {
contract_name: {
deploy: true,
silent: true,
args: [],
className: 'ENSRegistry',
code:
'608060405234801561001057600080fd5b5060008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58054600160a060020a03191633179055610684806100596000396000f3006080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff6024351661033c565b34801561012d57600080fd5b5061013960043561044d565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a0360243516610484565b34801561018657600080fd5b506100fa600435600160a060020a036024351661056f565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b60008381526020819052604081205484908390600160a060020a031615806102155750600082815260208190526040902054600160a060020a031633145b806102395750600082815260208190526040902054600160a060020a038281169116145b151561024457600080fd5b604080516020808201899052818301889052825180830384018152606090920192839052815191929182918401908083835b602083106102955780518252601f199092019160209182019101610276565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600160a060020a038b16835293519398508a95508b94507fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829391829003019150a350506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600082815260208190526040812054839190600160a060020a031615806103795750600082815260208190526040902054600160a060020a031633145b8061039d5750600082815260208190526040902054600160a060020a038281169116145b15156103a857600080fd5b6040805167ffffffffffffffff85168152905185917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a25050600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b600082815260208190526040812054839190600160a060020a031615806104c15750600082815260208190526040902054600160a060020a031633145b806104e55750600082815260208190526040902054600160a060020a038281169116145b15156104f057600080fd5b60408051600160a060020a0385168152905185917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a25050600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60008281526020819052604090205482908290600160a060020a031615806105ad5750600082815260208190526040902054600160a060020a031633145b806105d15750600082815260208190526040902054600160a060020a038281169116145b15156105dc57600080fd5b60408051600160a060020a0385168152905185917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a25050600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a72305820ab29585bdb630f86714bdc052e84731ce84785d7ace426bc24c1104e8760968c0029',
runtimeBytecode:
'6080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff6024351661033c565b34801561012d57600080fd5b5061013960043561044d565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a0360243516610484565b34801561018657600080fd5b506100fa600435600160a060020a036024351661056f565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b60008381526020819052604081205484908390600160a060020a031615806102155750600082815260208190526040902054600160a060020a031633145b806102395750600082815260208190526040902054600160a060020a038281169116145b151561024457600080fd5b604080516020808201899052818301889052825180830384018152606090920192839052815191929182918401908083835b602083106102955780518252601f199092019160209182019101610276565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600160a060020a038b16835293519398508a95508b94507fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829391829003019150a350506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600082815260208190526040812054839190600160a060020a031615806103795750600082815260208190526040902054600160a060020a031633145b8061039d5750600082815260208190526040902054600160a060020a038281169116145b15156103a857600080fd5b6040805167ffffffffffffffff85168152905185917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a25050600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b600082815260208190526040812054839190600160a060020a031615806104c15750600082815260208190526040902054600160a060020a031633145b806104e55750600082815260208190526040902054600160a060020a038281169116145b15156104f057600080fd5b60408051600160a060020a0385168152905185917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a25050600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60008281526020819052604090205482908290600160a060020a031615806105ad5750600082815260208190526040902054600160a060020a031633145b806105d15750600082815260208190526040902054600160a060020a038281169116145b15156105dc57600080fd5b60408051600160a060020a0385168152905185917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a25050600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a72305820ab29585bdb630f86714bdc052e84731ce84785d7ace426bc24c1104e8760968c0029',
realRuntimeBytecode:
'6080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff6024351661033c565b34801561012d57600080fd5b5061013960043561044d565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a0360243516610484565b34801561018657600080fd5b506100fa600435600160a060020a036024351661056f565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b60008381526020819052604081205484908390600160a060020a031615806102155750600082815260208190526040902054600160a060020a031633145b806102395750600082815260208190526040902054600160a060020a038281169116145b151561024457600080fd5b604080516020808201899052818301889052825180830384018152606090920192839052815191929182918401908083835b602083106102955780518252601f199092019160209182019101610276565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600160a060020a038b16835293519398508a95508b94507fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829391829003019150a350506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600082815260208190526040812054839190600160a060020a031615806103795750600082815260208190526040902054600160a060020a031633145b8061039d5750600082815260208190526040902054600160a060020a038281169116145b15156103a857600080fd5b6040805167ffffffffffffffff85168152905185917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a25050600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b600082815260208190526040812054839190600160a060020a031615806104c15750600082815260208190526040902054600160a060020a031633145b806104e55750600082815260208190526040902054600160a060020a038281169116145b15156104f057600080fd5b60408051600160a060020a0385168152905185917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a25050600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60008281526020819052604090205482908290600160a060020a031615806105ad5750600082815260208190526040902054600160a060020a031633145b806105d15750600082815260208190526040902054600160a060020a038281169116145b15156105dc57600080fd5b60408051600160a060020a0385168152905185917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a25050600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a72305820',
swarmHash:
'ab29585bdb630f86714bdc052e84731ce84785d7ace426bc24c1104e8760968c',
gasEstimates: {
creation: {
codeDepositCost: '333600',
executionCost: '20684',
totalCost: '354284',
},
external: {
'owner(bytes32)': '634',
'resolver(bytes32)': '618',
'setOwner(bytes32,address)': '23389',
'setResolver(bytes32,address)': '23370',
'setSubnodeOwner(bytes32,bytes32,address)': 'infinite',
'setTTL(bytes32,uint64)': '23130',
'ttl(bytes32)': '579',
},
},
functionHashes: {
'owner(bytes32)': '02571be3',
'resolver(bytes32)': '0178b8bf',
'setOwner(bytes32,address)': '5b0fc9c3',
'setResolver(bytes32,address)': '1896f70a',
'setSubnodeOwner(bytes32,bytes32,address)': '06ab5923',
'setTTL(bytes32,uint64)': '14ab9038',
'ttl(bytes32)': '16a25cbd',
},
abiDefinition: [
{
constant: true,
inputs: [{ name: 'node', type: 'bytes32' }],
name: 'resolver',
outputs: [{ name: '', type: 'address' }],
payable: false,
stateMutability: 'view',
type: 'function',
signature: '0x0178b8bf',
},
{
constant: true,
inputs: [{ name: 'node', type: 'bytes32' }],
name: 'owner',
outputs: [{ name: '', type: 'address' }],
payable: false,
stateMutability: 'view',
type: 'function',
signature: '0x02571be3',
},
{
constant: false,
inputs: [
{ name: 'node', type: 'bytes32' },
{ name: 'label', type: 'bytes32' },
{ name: 'owner', type: 'address' },
],
name: 'setSubnodeOwner',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
signature: '0x06ab5923',
},
{
constant: false,
inputs: [
{ name: 'node', type: 'bytes32' },
{ name: 'ttl', type: 'uint64' },
],
name: 'setTTL',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
signature: '0x14ab9038',
},
{
constant: true,
inputs: [{ name: 'node', type: 'bytes32' }],
name: 'ttl',
outputs: [{ name: '', type: 'uint64' }],
payable: false,
stateMutability: 'view',
type: 'function',
signature: '0x16a25cbd',
},
{
constant: false,
inputs: [
{ name: 'node', type: 'bytes32' },
{ name: 'resolver', type: 'address' },
],
name: 'setResolver',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
signature: '0x1896f70a',
},
{
constant: false,
inputs: [
{ name: 'node', type: 'bytes32' },
{ name: 'owner', type: 'address' },
],
name: 'setOwner',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
signature: '0x5b0fc9c3',
},
{
inputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'constructor',
},
{
anonymous: false,
inputs: [
{ indexed: true, name: 'node', type: 'bytes32' },
{ indexed: true, name: 'label', type: 'bytes32' },
{ indexed: false, name: 'owner', type: 'address' },
],
name: 'NewOwner',
type: 'event',
signature:
'0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82',
},
{
anonymous: false,
inputs: [
{ indexed: true, name: 'node', type: 'bytes32' },
{ indexed: false, name: 'owner', type: 'address' },
],
name: 'Transfer',
type: 'event',
signature:
'0xd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266',
},
{
anonymous: false,
inputs: [
{ indexed: true, name: 'node', type: 'bytes32' },
{ indexed: false, name: 'resolver', type: 'address' },
],
name: 'NewResolver',
type: 'event',
signature:
'0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0',
},
{
anonymous: false,
inputs: [
{ indexed: true, name: 'node', type: 'bytes32' },
{ indexed: false, name: 'ttl', type: 'uint64' },
],
name: 'NewTTL',
type: 'event',
signature:
'0x1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68',
},
],
filename: 'C:/dev/embark/lib/modules/ens/contracts/ENSRegistry.sol',
gas: 'auto',
type: 'file',
_gasLimit: false,
address: '0x112234455c3a32fd11230c42e7bccd4a84e02010',
error: false,
deploymentAccount: '0x65767f95799109BA028e0397aDD89b0eF637E444',
realArgs: [],
deployedAddress: '0x112234455c3a32fd11230c42e7bccd4a84e02010',
},
address: '0x112234455c3a32fd11230c42e7bccd4a84e02010',
code:
'608060405234801561001057600080fd5b5060008080526020527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb58054600160a060020a03191633179055610684806100596000396000f3006080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff6024351661033c565b34801561012d57600080fd5b5061013960043561044d565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a0360243516610484565b34801561018657600080fd5b506100fa600435600160a060020a036024351661056f565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b60008381526020819052604081205484908390600160a060020a031615806102155750600082815260208190526040902054600160a060020a031633145b806102395750600082815260208190526040902054600160a060020a038281169116145b151561024457600080fd5b604080516020808201899052818301889052825180830384018152606090920192839052815191929182918401908083835b602083106102955780518252601f199092019160209182019101610276565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600160a060020a038b16835293519398508a95508b94507fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829391829003019150a350506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600082815260208190526040812054839190600160a060020a031615806103795750600082815260208190526040902054600160a060020a031633145b8061039d5750600082815260208190526040902054600160a060020a038281169116145b15156103a857600080fd5b6040805167ffffffffffffffff85168152905185917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a25050600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b600082815260208190526040812054839190600160a060020a031615806104c15750600082815260208190526040902054600160a060020a031633145b806104e55750600082815260208190526040902054600160a060020a038281169116145b15156104f057600080fd5b60408051600160a060020a0385168152905185917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a25050600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60008281526020819052604090205482908290600160a060020a031615806105ad5750600082815260208190526040902054600160a060020a031633145b806105d15750600082815260208190526040902054600160a060020a038281169116145b15156105dc57600080fd5b60408051600160a060020a0385168152905185917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a25050600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a72305820ab29585bdb630f86714bdc052e84731ce84785d7ace426bc24c1104e8760968c0029',
runtime_bytecode:
'6080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff6024351661033c565b34801561012d57600080fd5b5061013960043561044d565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a0360243516610484565b34801561018657600080fd5b506100fa600435600160a060020a036024351661056f565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b60008381526020819052604081205484908390600160a060020a031615806102155750600082815260208190526040902054600160a060020a031633145b806102395750600082815260208190526040902054600160a060020a038281169116145b151561024457600080fd5b604080516020808201899052818301889052825180830384018152606090920192839052815191929182918401908083835b602083106102955780518252601f199092019160209182019101610276565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600160a060020a038b16835293519398508a95508b94507fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829391829003019150a350506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600082815260208190526040812054839190600160a060020a031615806103795750600082815260208190526040902054600160a060020a031633145b8061039d5750600082815260208190526040902054600160a060020a038281169116145b15156103a857600080fd5b6040805167ffffffffffffffff85168152905185917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a25050600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b600082815260208190526040812054839190600160a060020a031615806104c15750600082815260208190526040902054600160a060020a031633145b806104e55750600082815260208190526040902054600160a060020a038281169116145b15156104f057600080fd5b60408051600160a060020a0385168152905185917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a25050600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60008281526020819052604090205482908290600160a060020a031615806105ad5750600082815260208190526040902054600160a060020a031633145b806105d15750600082815260208190526040902054600160a060020a038281169116145b15156105dc57600080fd5b60408051600160a060020a0385168152905185917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a25050600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a72305820ab29585bdb630f86714bdc052e84731ce84785d7ace426bc24c1104e8760968c0029',
real_runtime_bytecode:
'6080604052600436106100825763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630178b8bf811461008757806302571be3146100bb57806306ab5923146100d357806314ab9038146100fc57806316a25cbd146101215780631896f70a146101565780635b0fc9c31461017a575b600080fd5b34801561009357600080fd5b5061009f60043561019e565b60408051600160a060020a039092168252519081900360200190f35b3480156100c757600080fd5b5061009f6004356101bc565b3480156100df57600080fd5b506100fa600435602435600160a060020a03604435166101d7565b005b34801561010857600080fd5b506100fa60043567ffffffffffffffff6024351661033c565b34801561012d57600080fd5b5061013960043561044d565b6040805167ffffffffffffffff9092168252519081900360200190f35b34801561016257600080fd5b506100fa600435600160a060020a0360243516610484565b34801561018657600080fd5b506100fa600435600160a060020a036024351661056f565b600090815260208190526040902060010154600160a060020a031690565b600090815260208190526040902054600160a060020a031690565b60008381526020819052604081205484908390600160a060020a031615806102155750600082815260208190526040902054600160a060020a031633145b806102395750600082815260208190526040902054600160a060020a038281169116145b151561024457600080fd5b604080516020808201899052818301889052825180830384018152606090920192839052815191929182918401908083835b602083106102955780518252601f199092019160209182019101610276565b51815160209384036101000a600019018019909216911617905260408051929094018290038220600160a060020a038b16835293519398508a95508b94507fce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e829391829003019150a350506000908152602081905260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600082815260208190526040812054839190600160a060020a031615806103795750600082815260208190526040902054600160a060020a031633145b8061039d5750600082815260208190526040902054600160a060020a038281169116145b15156103a857600080fd5b6040805167ffffffffffffffff85168152905185917f1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68919081900360200190a25050600091825260208290526040909120600101805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60009081526020819052604090206001015474010000000000000000000000000000000000000000900467ffffffffffffffff1690565b600082815260208190526040812054839190600160a060020a031615806104c15750600082815260208190526040902054600160a060020a031633145b806104e55750600082815260208190526040902054600160a060020a038281169116145b15156104f057600080fd5b60408051600160a060020a0385168152905185917f335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0919081900360200190a25050600091825260208290526040909120600101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b60008281526020819052604090205482908290600160a060020a031615806105ad5750600082815260208190526040902054600160a060020a031633145b806105d15750600082815260208190526040902054600160a060020a038281169116145b15156105dc57600080fd5b60408051600160a060020a0385168152905185917fd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266919081900360200190a25050600091825260208290526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039092169190911790555600a165627a7a72305820',
swarm_hash:
'ab29585bdb630f86714bdc052e84731ce84785d7ace426bc24c1104e8760968c',
gas_estimates: {
creation: {
codeDepositCost: '333600',
executionCost: '20684',
totalCost: '354284',
},
external: {
'owner(bytes32)': '634',
'resolver(bytes32)': '618',
'setOwner(bytes32,address)': '23389',
'setResolver(bytes32,address)': '23370',
'setSubnodeOwner(bytes32,bytes32,address)': 'infinite',
'setTTL(bytes32,uint64)': '23130',
'ttl(bytes32)': '579',
},
},
function_hashes: {
'owner(bytes32)': '02571be3',
'resolver(bytes32)': '0178b8bf',
'setOwner(bytes32,address)': '5b0fc9c3',
'setResolver(bytes32,address)': '1896f70a',
'setSubnodeOwner(bytes32,bytes32,address)': '06ab5923',
'setTTL(bytes32,uint64)': '14ab9038',
'ttl(bytes32)': '16a25cbd',
},
abi: [
{
constant: true,
inputs: [{ name: 'node', type: 'bytes32' }],
name: 'resolver',
outputs: [{ name: '', type: 'address' }],
payable: false,
stateMutability: 'view',
type: 'function',
signature: '0x0178b8bf',
},
{
constant: true,
inputs: [{ name: 'node', type: 'bytes32' }],
name: 'owner',
outputs: [{ name: '', type: 'address' }],
payable: false,
stateMutability: 'view',
type: 'function',
signature: '0x02571be3',
},
{
constant: false,
inputs: [
{ name: 'node', type: 'bytes32' },
{ name: 'label', type: 'bytes32' },
{ name: 'owner', type: 'address' },
],
name: 'setSubnodeOwner',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
signature: '0x06ab5923',
},
{
constant: false,
inputs: [
{ name: 'node', type: 'bytes32' },
{ name: 'ttl', type: 'uint64' },
],
name: 'setTTL',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
signature: '0x14ab9038',
},
{
constant: true,
inputs: [{ name: 'node', type: 'bytes32' }],
name: 'ttl',
outputs: [{ name: '', type: 'uint64' }],
payable: false,
stateMutability: 'view',
type: 'function',
signature: '0x16a25cbd',
},
{
constant: false,
inputs: [
{ name: 'node', type: 'bytes32' },
{ name: 'resolver', type: 'address' },
],
name: 'setResolver',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
signature: '0x1896f70a',
},
{
constant: false,
inputs: [
{ name: 'node', type: 'bytes32' },
{ name: 'owner', type: 'address' },
],
name: 'setOwner',
outputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'function',
signature: '0x5b0fc9c3',
},
{
inputs: [],
payable: false,
stateMutability: 'nonpayable',
type: 'constructor',
},
{
anonymous: false,
inputs: [
{ indexed: true, name: 'node', type: 'bytes32' },
{ indexed: true, name: 'label', type: 'bytes32' },
{ indexed: false, name: 'owner', type: 'address' },
],
name: 'NewOwner',
type: 'event',
signature:
'0xce0457fe73731f824cc272376169235128c118b49d344817417c6d108d155e82',
},
{
anonymous: false,
inputs: [
{ indexed: true, name: 'node', type: 'bytes32' },
{ indexed: false, name: 'owner', type: 'address' },
],
name: 'Transfer',
type: 'event',
signature:
'0xd4735d920b0f87494915f556dd9b54c8f309026070caea5c737245152564d266',
},
{
anonymous: false,
inputs: [
{ indexed: true, name: 'node', type: 'bytes32' },
{ indexed: false, name: 'resolver', type: 'address' },
],
name: 'NewResolver',
type: 'event',
signature:
'0x335721b01866dc23fbee8b6b2c7b1e14d6f05c28cd35a2c934239f94095602a0',
},
{
anonymous: false,
inputs: [
{ indexed: true, name: 'node', type: 'bytes32' },
{ indexed: false, name: 'ttl', type: 'uint64' },
],
name: 'NewTTL',
type: 'event',
signature:
'0x1d4f9bbfc9cab89d66e1a1562f2233ccbf1308cb4f63de2ead5787adddb8fa68',
},
],
}
let ENSRegistry = new EmbarkJS.Blockchain.Contract(ENSRegistryJSONConfig)
export default ENSRegistry

View File

@ -107,10 +107,10 @@ let ERC20TokenJSONConfig = {
},
],
filename:
'/Users/georgispasov/Development/LimeLabs/status/discover/.embark/contracts/token/ERC20Token.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/.embark/contracts/token/ERC20Token.sol',
originalFilename: 'contracts/token/ERC20Token.sol',
path:
'/Users/georgispasov/Development/LimeLabs/status/discover/contracts/token/ERC20Token.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/contracts/token/ERC20Token.sol',
gas: 'auto',
type: 'file',
deploy: false,

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -206,10 +206,10 @@ let MiniMeTokenInterfaceJSONConfig = {
},
],
filename:
'/Users/georgispasov/Development/LimeLabs/status/discover/.embark/contracts/token/MiniMeTokenInterface.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/.embark/contracts/token/MiniMeTokenInterface.sol',
originalFilename: 'contracts/token/MiniMeTokenInterface.sol',
path:
'/Users/georgispasov/Development/LimeLabs/status/discover/contracts/token/MiniMeTokenInterface.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/contracts/token/MiniMeTokenInterface.sol',
gas: 'auto',
type: 'file',
deploy: false,

File diff suppressed because one or more lines are too long

View File

@ -5,14 +5,14 @@ let SafeMathJSONConfig = {
className: 'SafeMath',
args: [],
code:
'604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582016cf9631b1c8c5757c95e1e1423cf80644fb7b828a8f112c43719668eb9121d70029',
'604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582034a1d0c0b4cc77976c4592ecda1da8dbdf7b1a4a8e1a3d9096d947ff3adbe3270029',
runtimeBytecode:
'73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582016cf9631b1c8c5757c95e1e1423cf80644fb7b828a8f112c43719668eb9121d70029',
'73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582034a1d0c0b4cc77976c4592ecda1da8dbdf7b1a4a8e1a3d9096d947ff3adbe3270029',
realRuntimeBytecode:
'73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820',
linkReferences: {},
swarmHash:
'16cf9631b1c8c5757c95e1e1423cf80644fb7b828a8f112c43719668eb9121d7',
'34a1d0c0b4cc77976c4592ecda1da8dbdf7b1a4a8e1a3d9096d947ff3adbe327',
gasEstimates: {
creation: {
codeDepositCost: '15200',
@ -29,21 +29,21 @@ let SafeMathJSONConfig = {
functionHashes: {},
abiDefinition: [],
filename:
'/Users/georgispasov/Development/LimeLabs/status/discover/.embark/contracts/utils/SafeMath.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/.embark/contracts/utils/SafeMath.sol',
originalFilename: 'contracts/utils/SafeMath.sol',
path:
'/Users/georgispasov/Development/LimeLabs/status/discover/contracts/utils/SafeMath.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/contracts/utils/SafeMath.sol',
gas: 'auto',
type: 'file',
},
code:
'604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582016cf9631b1c8c5757c95e1e1423cf80644fb7b828a8f112c43719668eb9121d70029',
'604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582034a1d0c0b4cc77976c4592ecda1da8dbdf7b1a4a8e1a3d9096d947ff3adbe3270029',
runtime_bytecode:
'73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582016cf9631b1c8c5757c95e1e1423cf80644fb7b828a8f112c43719668eb9121d70029',
'73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a7230582034a1d0c0b4cc77976c4592ecda1da8dbdf7b1a4a8e1a3d9096d947ff3adbe3270029',
real_runtime_bytecode:
'73000000000000000000000000000000000000000030146080604052600080fdfea165627a7a72305820',
swarm_hash:
'16cf9631b1c8c5757c95e1e1423cf80644fb7b828a8f112c43719668eb9121d7',
'34a1d0c0b4cc77976c4592ecda1da8dbdf7b1a4a8e1a3d9096d947ff3adbe327',
gas_estimates: {
creation: {
codeDepositCost: '15200',

File diff suppressed because one or more lines are too long

View File

@ -52,10 +52,10 @@ let TokenControllerJSONConfig = {
},
],
filename:
'/Users/georgispasov/Development/LimeLabs/status/discover/.embark/contracts/token/TokenController.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/.embark/contracts/token/TokenController.sol',
originalFilename: 'contracts/token/TokenController.sol',
path:
'/Users/georgispasov/Development/LimeLabs/status/discover/contracts/token/TokenController.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/contracts/token/TokenController.sol',
gas: 'auto',
type: 'file',
deploy: false,

View File

@ -31,10 +31,10 @@ let TokenFactoryJSONConfig = {
},
],
filename:
'/Users/georgispasov/Development/LimeLabs/status/discover/.embark/contracts/token/TokenFactory.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/.embark/contracts/token/TokenFactory.sol',
originalFilename: 'contracts/token/TokenFactory.sol',
path:
'/Users/georgispasov/Development/LimeLabs/status/discover/contracts/token/TokenFactory.sol',
'/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/contracts/token/TokenFactory.sol',
gas: 'auto',
type: 'file',
deploy: false,

View File

@ -1,13 +1,14 @@
module.exports = {
SafeMath: require('./SafeMath').default,
BancorFormula: require('./BancorFormula').default,
Controlled: require('./Controlled').default,
TestBancorFormula: require('./TestBancorFormula').default,
ApproveAndCallFallBack: require('./ApproveAndCallFallBack').default,
ERC20Token: require('./ERC20Token').default,
MiniMeTokenInterface: require('./MiniMeTokenInterface').default,
MiniMeTokenFactory: require('./MiniMeTokenFactory').default,
TokenController: require('./TokenController').default,
TokenFactory: require('./TokenFactory').default,
MiniMeTokenInterface: require('./MiniMeTokenInterface').default,
BancorFormula: require('./BancorFormula').default,
TestBancorFormula: require('./TestBancorFormula').default,
MiniMeTokenFactory: require('./MiniMeTokenFactory').default,
MiniMeToken: require('./MiniMeToken').default,
Discover: require('./Discover').default,
}

View File

@ -1,10 +1,13 @@
/* eslint-disable */
const EmbarkJS = require('embarkjs').default
const EmbarkJS = require('/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/src/embarkArtifacts/modules/embarkjs')
.default
export default EmbarkJS
global.EmbarkJS = EmbarkJS
const Web3 = global.__Web3 || require('web3')
const Web3 =
global.__Web3 ||
require('/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/src/embarkArtifacts/modules/web3')
global.Web3 = Web3 /*global Web3*/
const embarkJSConnectorWeb3 = {}
@ -67,7 +70,7 @@ embarkJSConnectorWeb3.getNetworkId = function() {
EmbarkJS.Blockchain.registerProvider('web3', embarkJSConnectorWeb3)
EmbarkJS.Blockchain.setProvider('web3', {})
if (!global.__Web3) {
const web3ConnectionConfig = require('./config/blockchain.json')
const web3ConnectionConfig = require('/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/src/embarkArtifacts/config/blockchain.json')
EmbarkJS.Blockchain.connect(web3ConnectionConfig, err => {
if (err) {
console.error(err)
@ -76,7 +79,7 @@ if (!global.__Web3) {
}
const namehash =
global.namehash ||
require('./modules/eth-ens-namehash')
require('/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/src/embarkArtifacts/modules/eth-ens-namehash')
;('use strict')
/*global namehash*/
@ -595,7 +598,9 @@ __embarkENS.isAvailable = function() {
}
//# sourceMappingURL=embarkjs.js.map
EmbarkJS.Names.registerProvider('ens', __embarkENS)
const IpfsApi = global.IpfsApi || require('ipfs-api')
const IpfsApi =
global.IpfsApi ||
require('/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/src/embarkArtifacts/modules/ipfs-api')
;('use strict')
var _interopRequireDefault = require('@babel/runtime-corejs2/helpers/interopRequireDefault')
@ -651,7 +656,7 @@ __embarkIPFS.isAvailable = function() {
}
this._ipfsConnection
.version()
.id()
.then(id => {
resolve(Boolean(id))
})

View File

@ -1 +1 @@
/Users/lyubo/Desktop/Projects/Status/deployment/discover/node_modules/embarkjs/dist/node
/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/node_modules/embarkjs/dist/node

View File

@ -1 +1 @@
/Users/georgispasov/Development/LimeLabs/status/discover/node_modules/eth-ens-namehash
/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/node_modules/eth-ens-namehash

View File

@ -1 +1 @@
/Users/lyubo/Desktop/Projects/Status/deployment/discover/node_modules/ipfs-api/src
/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/node_modules/ipfs-api/src

View File

@ -1 +1 @@
/Users/georgispasov/Development/LimeLabs/status/discover/node_modules/embark/node_modules/web3/src
/Users/lyubo/Desktop/Projects/Status/status-fixes/discover/node_modules/embark/node_modules/web3/src

View File

@ -32,28 +32,30 @@ export const fetchAllDappsAction = () => {
}
const { transactionStatus } = state
let dappSource = await discoverService.getDAppByIndexWithMetadata(0)
if (dappSource !== null) {
const dappModel = DappModel.instanceFromBlockchainWithMetadata(
dappSource,
)
dappState = dappState.creditDapp(dappModel)
if (
dappModel.id !== transactionStatus.dappId ||
transactionStatus.type !== TYPE_SUBMIT
) {
dispatch(onUpdateDappsAction(dappState))
Database.creditDapp(dappModel)
}
}
let dappSource = ''
// let dappSource = await discoverService.getDAppByIndexWithMetadata(0)
// if (dappSource !== null) {
// const dappModel = DappModel.instanceFromBlockchainWithMetadata(
// dappSource,
// )
// dappState = dappState.creditDapp(dappModel)
// if (
// dappModel.id !== transactionStatus.dappId ||
// transactionStatus.type !== TYPE_SUBMIT
// ) {
// dispatch(onUpdateDappsAction(dappState))
// Database.creditDapp(dappModel)
// }
// }
const allDapps = await discoverService.getAllDappsWithMetadata();
const allDapps = await discoverService.getAllDappsWithMetadata()
for (let i = 0; i < allDapps.length; i++) {
dappSource = allDapps[i];
dappSource = allDapps[i]
if (dappSource !== null) {
const dappModel = DappModel.instanceFromBlockchainWithMetadata(
dappSource,
)
dappState = dappState.creditDapp(dappModel)
if (
dappModel.id !== transactionStatus.dappId ||

View File

@ -150,15 +150,18 @@ export const submitAction = (dapp, sntValue) => {
)
try {
const blockchain = await BlockchainSDK.getInstance()
const { tx, id } = await blockchain.DiscoverService.createDApp(sntValue, {
email: dapp.email,
name: dapp.name,
url: dapp.url,
description: dapp.description,
category: dapp.category,
image: dapp.image,
dateAdded: dapp.dateAdded,
})
const { tx, id } = await blockchain.DiscoverService.createDApp(
sntValue,
{
name: dapp.name,
url: dapp.url,
description: dapp.description,
category: dapp.category,
image: dapp.image,
dateAdded: dapp.dateAdded,
},
dapp.email,
)
dispatch(onReceiveTransactionInfoAction(id, tx))
dispatch(checkTransactionStatusAction(tx))
} catch (e) {