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