Skip to content

Commit

Permalink
rename scriptRef
Browse files Browse the repository at this point in the history
  • Loading branch information
janmazak committed Aug 10, 2022
1 parent 13a2fc5 commit 7b53001
Show file tree
Hide file tree
Showing 7 changed files with 44 additions and 44 deletions.
4 changes: 2 additions & 2 deletions src/securityPolicy.c
Expand Up @@ -409,7 +409,7 @@ security_policy_t policyForSignTxOutputAddressBytes(
sign_tx_signingmode_t txSigningMode,
const uint8_t* rawAddressBuffer, size_t rawAddressSize,
const uint8_t networkId, const uint32_t protocolMagic,
bool includeDatumHash, bool includeScriptRef
bool includeDatumHash, bool includeRefScript
)
{
ASSERT(rawAddressSize < BUFFER_SIZE_PARANOIA);
Expand Down Expand Up @@ -511,7 +511,7 @@ security_policy_t policyForSignTxOutputAddressParams(
sign_tx_signingmode_t txSigningMode,
const addressParams_t* params,
const uint8_t networkId, const uint32_t protocolMagic,
bool includeDatumHash, bool includeScriptRef
bool includeDatumHash, bool includeRefScript
)
{
DENY_UNLESS(isValidAddressParams(params));
Expand Down
4 changes: 2 additions & 2 deletions src/securityPolicy.h
Expand Up @@ -51,13 +51,13 @@ security_policy_t policyForSignTxOutputAddressBytes(
sign_tx_signingmode_t txSigningMode,
const uint8_t* rawAddressBuffer, size_t rawAddressSize,
const uint8_t networkId, const uint32_t protocolMagic,
bool includeDatumHash, bool includeScriptRef
bool includeDatumHash, bool includeRefScript
);
security_policy_t policyForSignTxOutputAddressParams(
sign_tx_signingmode_t txSigningMode,
const addressParams_t* params,
const uint8_t networkId, const uint32_t protocolMagic,
bool includeDatumHash, bool includeScriptRef
bool includeDatumHash, bool includeRefScript
);
security_policy_t policyForSignTxOutputDatumHash(
security_policy_t outputPolicy
Expand Down
44 changes: 22 additions & 22 deletions src/signTxOutput.c
Expand Up @@ -69,7 +69,7 @@ static inline void advanceState()
subctx->state = STATE_OUTPUT_ASSET_GROUP;
} else if (subctx->includeDatum) {
subctx->state = STATE_OUTPUT_DATUM;
} else if (subctx->includeScriptRef) {
} else if (subctx->includeRefScript) {
subctx->state = STATE_OUTPUT_REFERENCE_SCRIPT;
} else {
subctx->state = STATE_OUTPUT_CONFIRM;
Expand Down Expand Up @@ -97,7 +97,7 @@ static inline void advanceState()
// the whole token bundle has been received
if (subctx->includeDatum) {
subctx->state = STATE_OUTPUT_DATUM;
} else if (subctx->includeScriptRef) {
} else if (subctx->includeRefScript) {
subctx->state = STATE_OUTPUT_REFERENCE_SCRIPT;
} else {
subctx->state = STATE_OUTPUT_CONFIRM;
Expand All @@ -111,7 +111,7 @@ static inline void advanceState()
ASSERT(subctx->includeDatum);
if (subctx->stateData.datumType == DATUM_HASH) {
ASSERT(subctx->datumHashReceived);
if (subctx->includeScriptRef) {
if (subctx->includeRefScript) {
subctx->state = STATE_OUTPUT_REFERENCE_SCRIPT;
} else {
subctx->state = STATE_OUTPUT_CONFIRM;
Expand All @@ -126,22 +126,22 @@ static inline void advanceState()
ASSERT(subctx->includeDatum);
// should be called when all chunks have been received
ASSERT(subctx->stateData.datumRemainingBytes == 0);
if (subctx->includeScriptRef) {
if (subctx->includeRefScript) {
subctx->state = STATE_OUTPUT_REFERENCE_SCRIPT;
} else {
subctx->state = STATE_OUTPUT_CONFIRM;
}
break;

case STATE_OUTPUT_REFERENCE_SCRIPT:
ASSERT(subctx->includeScriptRef);
ASSERT(subctx->stateData.scriptRefRemainingBytes > 0);
ASSERT(subctx->includeRefScript);
ASSERT(subctx->stateData.refScriptRemainingBytes > 0);
subctx->state = STATE_OUTPUT_REFERENCE_SCRIPT_CHUNKS;
break;

case STATE_OUTPUT_REFERENCE_SCRIPT_CHUNKS:
// should be called when all chunks have been received
ASSERT(subctx->stateData.scriptRefRemainingBytes == 0);
ASSERT(subctx->stateData.refScriptRemainingBytes == 0);
subctx->state = STATE_OUTPUT_CONFIRM;
break;

Expand Down Expand Up @@ -211,7 +211,7 @@ static void handleOutput_addressBytes()
commonTxData->txSigningMode,
subctx->stateData.destination.address.buffer, subctx->stateData.destination.address.size,
commonTxData->networkId, commonTxData->protocolMagic,
subctx->includeDatum, subctx->includeScriptRef
subctx->includeDatum, subctx->includeRefScript
);
TRACE("Policy: %d", (int) policy);
ENSURE_NOT_DENIED(policy);
Expand All @@ -227,7 +227,7 @@ static void handleOutput_addressBytes()
.amount = subctx->stateData.adaAmount,
.numAssetGroups = subctx->numAssetGroups,
.includeDatum = subctx->includeDatum,
.includeScriptRef = subctx->includeScriptRef,
.includeRefScript = subctx->includeRefScript,
};
// TODO rename to tx_output_descriptor_t and use also as argument for security policies?

Expand Down Expand Up @@ -319,7 +319,7 @@ static void handleOutput_addressParams()
commonTxData->txSigningMode,
&subctx->stateData.destination.params,
commonTxData->networkId, commonTxData->protocolMagic,
subctx->includeDatum, subctx->includeScriptRef
subctx->includeDatum, subctx->includeRefScript
);
TRACE("Policy: %d", (int) policy);
ENSURE_NOT_DENIED(policy);
Expand All @@ -346,7 +346,7 @@ static void handleOutput_addressParams()
txOut.amount = subctx->stateData.adaAmount;
txOut.numAssetGroups = subctx->numAssetGroups;
txOut.includeDatum = subctx->includeDatum;
txOut.includeScriptRef = subctx->includeScriptRef;
txOut.includeRefScript = subctx->includeRefScript;

txHashBuilder_addOutput_topLevelData(
&BODY_CTX->txHashBuilder,
Expand Down Expand Up @@ -428,9 +428,9 @@ static void signTxOutput_handleTopLevelDataAPDU(const uint8_t* wireDataBuffer, s
subctx->numAssetGroups = (uint16_t) numAssetGroups;

subctx->includeDatum = signTx_parseIncluded(parse_u1be(&view));
// TODO subctx->includeScriptRef = signTx_parseIncluded(parse_u1be(&view));
// TODO subctx->includeRefScript = signTx_parseIncluded(parse_u1be(&view));

if (subctx->includeDatum || subctx->includeScriptRef) {
if (subctx->includeDatum || subctx->includeRefScript) {
// it's easier to verify all Plutus-related things via txid all at once
ctx->shouldDisplayTxid = true;
}
Expand Down Expand Up @@ -874,15 +874,15 @@ static void signTxOutput_handleRefScriptAPDU(const uint8_t* wireDataBuffer, size
read_view_t view = make_read_view(wireDataBuffer, wireDataBuffer + wireDataSize);

// parse data
subctx->stateData.scriptRefRemainingBytes = parse_u4be(&view);
VALIDATE(subctx->stateData.scriptRefRemainingBytes > 0, ERR_INVALID_DATA);
subctx->stateData.refScriptRemainingBytes = parse_u4be(&view);
VALIDATE(subctx->stateData.refScriptRemainingBytes > 0, ERR_INVALID_DATA);
// TODO some other validation?

subctx->stateData.scriptRefChunkSize = parse_u4be(&view);
VALIDATE(subctx->stateData.scriptRefChunkSize > 0, ERR_INVALID_DATA);
VALIDATE(subctx->stateData.scriptRefChunkSize <= MAX_CHUNK_SIZE, ERR_INVALID_DATA);
subctx->stateData.refScriptChunkSize = parse_u4be(&view);
VALIDATE(subctx->stateData.refScriptChunkSize > 0, ERR_INVALID_DATA);
VALIDATE(subctx->stateData.refScriptChunkSize <= MAX_CHUNK_SIZE, ERR_INVALID_DATA);

view_parseBuffer(subctx->stateData.datumChunk, &view, subctx->stateData.scriptRefChunkSize);
view_parseBuffer(subctx->stateData.datumChunk, &view, subctx->stateData.refScriptChunkSize);
VALIDATE(view_remainingSize(&view) == 0, ERR_INVALID_DATA);
}
{
Expand All @@ -894,7 +894,7 @@ static void signTxOutput_handleRefScriptAPDU(const uint8_t* wireDataBuffer, size
);
txHashBuilder_addOutput_referenceScript_dataChunk(
&BODY_CTX->txHashBuilder,
subctx->stateData.scriptChunk, subctx->stateData.scriptRefChunkSize
subctx->stateData.scriptChunk, subctx->stateData.refScriptChunkSize
);
}
{
Expand Down Expand Up @@ -942,14 +942,14 @@ static void signTxOutput_handleRefScriptChunkAPDU(const uint8_t* wireDataBuffer,
view_parseBuffer(subctx->stateData.scriptChunk, &view, chunkSize);
VALIDATE(view_remainingSize(&view) == 0, ERR_INVALID_DATA);

subctx->stateData.scriptRefChunkSize = chunkSize;
subctx->stateData.refScriptChunkSize = chunkSize;
}
{
// add to tx
TRACE("Adding inline datum chunk to tx hash");
txHashBuilder_addOutput_referenceScript_dataChunk(
&BODY_CTX->txHashBuilder,
subctx->stateData.scriptChunk, subctx->stateData.scriptRefChunkSize
subctx->stateData.scriptChunk, subctx->stateData.refScriptChunkSize
);
}
respondSuccessEmptyMsg();
Expand Down
6 changes: 3 additions & 3 deletions src/signTxOutput.h
Expand Up @@ -42,7 +42,7 @@ typedef struct {
uint16_t numAssetGroups; // positive if there are tokens
bool includeDatum;
bool datumHashReceived; // is this needed?
bool includeScriptRef; // TODO rename to refScript?
bool includeRefScript;

// this affects whether amounts and tokens are shown
security_policy_t outputSecurityPolicy;
Expand Down Expand Up @@ -86,8 +86,8 @@ typedef struct {
};
};
struct {
size_t scriptRefRemainingBytes;
size_t scriptRefChunkSize;
size_t refScriptRemainingBytes;
size_t refScriptChunkSize;
uint8_t scriptChunk[MAX_CHUNK_SIZE];
};
} stateData;
Expand Down
18 changes: 9 additions & 9 deletions src/txHashBuilder.c
Expand Up @@ -113,7 +113,7 @@ static void cbor_append_txOutput_map(tx_hash_builder_t* builder, const tx_hash_b
{
ASSERT(output->format == MAP_BABBAGE);

// Map(2 + includeDatum + includeScriptRef)[
// Map(2 + includeDatum + includeRefScript)[
// Unsigned[0] ; map entry key
// Bytes[address]
//
Expand All @@ -124,7 +124,7 @@ static void cbor_append_txOutput_map(tx_hash_builder_t* builder, const tx_hash_b
//
// ? script_ref = #6.24(bytes .cbor script) --- entry added later
// ]
BUILDER_APPEND_CBOR(CBOR_TYPE_MAP, 2 + output->includeDatum + output->includeScriptRef);
BUILDER_APPEND_CBOR(CBOR_TYPE_MAP, 2 + output->includeDatum + output->includeRefScript);
{
BUILDER_APPEND_CBOR(CBOR_TYPE_UNSIGNED, TX_OUTPUT_KEY_ADDRESS);

Expand Down Expand Up @@ -177,7 +177,7 @@ static void assertCanLeaveCurrentOutput(tx_hash_builder_t* builder)
ASSERT(builder->outputData.multiassetData.remainingAssetGroups == 0);
// no datum or script reference
ASSERT(!builder->outputData.includeDatum);
ASSERT(!builder->outputData.includeScriptRef);
ASSERT(!builder->outputData.includeRefScript);
break;

case TX_OUTPUT_ASSET_GROUP:
Expand All @@ -187,18 +187,18 @@ static void assertCanLeaveCurrentOutput(tx_hash_builder_t* builder)

// no datum or script reference
ASSERT(!builder->outputData.includeDatum);
ASSERT(!builder->outputData.includeScriptRef);
ASSERT(!builder->outputData.includeRefScript);
break;

case TX_OUTPUT_DATUM_HASH:
// if no reference script, we are done
ASSERT(!builder->outputData.includeScriptRef);
ASSERT(!builder->outputData.includeRefScript);
break;

case TX_OUTPUT_DATUM_INLINE:
// if all chunks were received and no reference script follows, we are done
ASSERT(builder->outputData.datumData.remainingBytes == 0);
ASSERT(!builder->outputData.includeScriptRef);
ASSERT(!builder->outputData.includeRefScript);
break;

case TX_OUTPUT_SCRIPT_REFERENCE_CHUNKS:
Expand Down Expand Up @@ -386,7 +386,7 @@ void txHashBuilder_addOutput_topLevelData(

builder->outputData.serializationFormat = output->format;
builder->outputData.includeDatum = output->includeDatum;
builder->outputData.includeScriptRef = output->includeScriptRef;
builder->outputData.includeRefScript = output->includeRefScript;

// For single-asset outputs, the code below will append complete top level data, however for multi-asset data,
// entries for multi-asset map has to be filled by another call, therefore leaving the top level data incomplete.
Expand Down Expand Up @@ -605,7 +605,7 @@ void txHashBuilder_addOutput_referenceScript(tx_hash_builder_t* builder, size_t
{
// TODO: MAX_SCRIPT_SIZE?? maybe we don't need to limit it

ASSERT(builder->outputData.includeScriptRef);
ASSERT(builder->outputData.includeRefScript);

switch (builder->outputState) {
case TX_OUTPUT_TOP_LEVEL_DATA:
Expand Down Expand Up @@ -1713,7 +1713,7 @@ void txHashBuilder_addCollateralReturn(

builder->outputData.serializationFormat = output->format;
ASSERT(builder->outputData.includeDatum == false);
ASSERT(builder->outputData.includeScriptRef == false);
ASSERT(builder->outputData.includeRefScript == false);

{
// Enter collateral output
Expand Down
4 changes: 2 additions & 2 deletions src/txHashBuilder.h
Expand Up @@ -110,7 +110,7 @@ typedef struct {
struct {
tx_output_serialization_format_t serializationFormat;
bool includeDatum;
bool includeScriptRef;
bool includeRefScript;

union {
// this is also used for mint, but needs to coexist with output data
Expand Down Expand Up @@ -146,7 +146,7 @@ typedef struct {
uint16_t numAssetGroups;

bool includeDatum;
bool includeScriptRef;
bool includeRefScript;
} tx_hash_builder_output; // TODO rename to "tx_hash_builder_output_init_data" or something like that?

void txHashBuilder_init(
Expand Down
8 changes: 4 additions & 4 deletions src/txHashBuilder_test.c
Expand Up @@ -181,7 +181,7 @@ static void addMultiassetOutput(tx_hash_builder_t* builder, tx_output_serializat
output.amount = outputs[1].amount;
output.numAssetGroups = 2;
output.includeDatum = false;
output.includeScriptRef = false;
output.includeRefScript = false;
txHashBuilder_addOutput_topLevelData(
builder,
&output
Expand All @@ -207,7 +207,7 @@ static void addOutputs(tx_hash_builder_t* builder)
output.amount = it->amount;
output.numAssetGroups = 0;
output.includeDatum = false;
output.includeScriptRef = false;
output.includeRefScript = false;
txHashBuilder_addOutput_topLevelData(
builder,
&output
Expand All @@ -232,7 +232,7 @@ static void addOutputs(tx_hash_builder_t* builder)
output.amount = it->amount;
output.numAssetGroups = 0;
output.includeDatum = false;
output.includeScriptRef = false;
output.includeRefScript = false;
txHashBuilder_addOutput_topLevelData(
builder,
&output
Expand Down Expand Up @@ -261,7 +261,7 @@ static void addMultiassetCollRet(tx_hash_builder_t* builder, tx_output_serializa
output.amount = outputs[1].amount;
output.numAssetGroups = 2;
output.includeDatum = false;
output.includeScriptRef = false;
output.includeRefScript = false;
txHashBuilder_addCollateralReturn(
builder,
&output
Expand Down

0 comments on commit 7b53001

Please sign in to comment.