-
Couldn't load subscription status.
- Fork 30
Open
Description
If you try to combine assets as described in https://www.bigchaindb.com/developers/guide/tutorial-token-launch/ it will fail.
The code only update first input fullfillment. See
this.transaction.getInputs().get(0)
.setFullFillment(Base64.encodeBase64URLSafeString(fulfillment.getEncoded()));
We fixed in upcoming release of C# driver https://github.com/Omnibasis/bigchaindb-csharp-driver
Here is a solution to proper sign fulfillments.
// based on javascript signTransaction
foreach (Input input in this.transaction.Inputs)
{
var transactionUniqueFulfillment = "";
if (input.FulFills != null)
{
FulFill fulfill = input.FulFills;
transactionUniqueFulfillment = jsonOrdered + fulfill.TransactionId + fulfill.OutputIndex.ToString();
} else
{
transactionUniqueFulfillment = jsonOrdered;
}
var transactionHash = DriverUtils.getSha3HashHex(transactionUniqueFulfillment);
var b = Utils.StringToByteArray(transactionHash);
var sig = algorithm.Sign(key, b);
Ed25519Sha256Fulfillment ff = new Ed25519Sha256Fulfillment(this.publicKey, sig);
input.FulFillment = Base64UrlEncoder.Encode(ff.Encoded);
}
Metadata
Metadata
Assignees
Labels
No labels