Hey, I’m having trouble initializing a struct array, can someone help? That’s the error I’m getting:

UnimplementedFeatureError: Copying of type struct HashFile.FileSign memory[] memory to storage not yet supported.

And that’s the part of the code:

pragma solidity ^0.4.21;

contract HashFile {

struct FileEvidence {
bytes32 name;
bytes32 hash;
bool valid;
address owner;
FileSign[] signers;
}

struct FileSign {
address signer;
bool signed;
}

mapping(address => FileEvidence[]) addressToFileMapping;

function createFileEvidence(address[] signers, bytes32 name, bytes32 hash) public {
address owner = msg.sender;

FileSign[] memory fileSigners = new FileSign[](signers.length);

for (uint i = 0; i < signers.length; i++) {
fileSigners[i] = FileSign({
signer: signers[i],
signed: false
});
}

FileEvidence memory fileEvidence = FileEvidence({
signers: fileSigners,
name: name,
hash: hash,
owner: owner,
valid: false
});

FileEvidence[] storage userFileHashes = addressToFileMapping[msg.sender];

userFileHashes.push(fileEvidence);
}

Mar 28, 2018, 7:23 PM
Yea, but how is it supposed to be done in solidity?
Mar 28, 2018, 7:24 PM

© 2024 Draquery.com All rights reserved.