Skip to content

Commit

Permalink
improve inline datum tests
Browse files Browse the repository at this point in the history
  • Loading branch information
janmazak committed Aug 12, 2022
1 parent 2e1e460 commit 34f1012
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 44 deletions.
3 changes: 2 additions & 1 deletion src/interactions/serialization/txOutput.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import {hex_to_buf, serializeOptionFlag, uint8_to_buf,uint32_to_buf, uint64_to_b
import {getCompatibility} from "../getVersion"
import {serializeAddressParams} from "./addressParams"

export const MAX_CHUNK_SIZE = 150
// should be the same as in the Ledger app
export const MAX_CHUNK_SIZE = 240

function serializeTxOutputDestination(
destination: OutputDestination,
Expand Down
24 changes: 12 additions & 12 deletions test/integration/__fixtures__/signTxPlutus.ts
Original file line number Diff line number Diff line change
Expand Up @@ -310,34 +310,34 @@ export const testsBabbage: SignTxTestcase[] = [
},
},
{
testname: "Sign tx with long inline datum (600 B) in output",
testname: "Sign tx with long inline datum (480 B) in output",
tx: {
...mainnetFeeTtl,
network: Networks.Testnet,
inputs: [inputs.utxoShelley],
outputs: [outputs.inlineDatum600Map],
outputs: [outputs.inlineDatum480Map],
scriptDataHashHex: "3b40265111d8bb3c3c608d95b3a0bf83461ace32d79336579a1939b3aad1c0b7",
},
signingMode: TransactionSigningMode.PLUTUS_TRANSACTION,
txBody: "a400818258203b40265111d8bb3c3c608d95b3a0bf83461ace32d79336579a1939b3aad1c0b7000181a3005839105e2f080eb93bad86d401545e0ce5f2221096d6477e11e6643922fa8d2ed495234dc0d667c1316ff84e572310e265edb31330448b36b7179e011a006ca79302820159012c5579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f74686572206302182a030a",
expectedResult: {
txHashHex: "a8f9121d866453b96535bb06b737b8a7ad3100299c041d483688a58006c8aa83",
txHashHex: "0cccea3eb974bd362720a460d84d4970e89c523b2145cbe29bb56f36cec4b826",
witnesses: [
{
path: str_to_path("1852'/1815'/0'/0/0"),
witnessSignatureHex: "fc7641365e323b90b74284e24f252a44735e984f44a3b15bdb73cb0d4ea49be33741ddcc592f7d1091420b1694dae7c0f2c4581c712213c4273e83264c602d02",
witnessSignatureHex: "9b45eae3e9e59f501adbe22ce7f22fbacce7c36623f28e1aa4fdb0942e58e839b02e21a6808a13c7490cbb70e9a174279b4c845dba3ee99b8d458cfa9d349908",
},
],
auxiliaryDataSupplement: null,
},
},
{
testname: "Sign tx with long inline datum (608 B) in output with tokens",
testname: "Sign tx with long inline datum (304 B) in output with tokens",
tx: {
...mainnetFeeTtl,
network: Networks.Testnet,
inputs: [inputs.utxoShelley],
outputs: [outputs.inlineDatum608WithTokensMap],
outputs: [outputs.inlineDatum304WithTokensMap],
scriptDataHashHex: "3b40265111d8bb3c3c608d95b3a0bf83461ace32d79336579a1939b3aad1c0b7",
},
signingMode: TransactionSigningMode.PLUTUS_TRANSACTION,
Expand Down Expand Up @@ -377,34 +377,34 @@ export const testsBabbage: SignTxTestcase[] = [
},
},
{
testname: "Sign tx with datum hash and ref. script (300 B) in output in Babbage format",
testname: "Sign tx with datum hash and ref. script (240 B) in output in Babbage format",
tx: {
...mainnetFeeTtl,
network: Networks.Testnet,
inputs: [inputs.utxoShelley],
outputs: [outputs.datumHashScriptRef300ExternalMap],
outputs: [outputs.datumHashScriptRef240ExternalMap],
},
signingMode: TransactionSigningMode.ORDINARY_TRANSACTION,
additionalWitnessPaths: [],
txBody: "a400818258203b40265111d8bb3c3c608d95b3a0bf83461ace32d79336579a1939b3aad1c0b7000181a4005839105e2f080eb93bad86d401545e0ce5f2221096d6477e11e6643922fa8d2ed495234dc0d667c1316ff84e572310e265edb31330448b36b7179e011a006ca7930282005820ffd4d009f554ba4fd8ed1f1d703244819861a9d34fd4753bcf3ff32f043ce188035896deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead02182a030a",
expectedResult: {
txHashHex: "eb49388cebb4036eb7a1357e67997136b596abac2de1e34a8c958bd70b846094",
txHashHex: "88ba739a1ac160afc2cfb75d7132431a534665a928e3ed27c90efdd3c15a6eea",
witnesses: [
{
path: str_to_path("1852'/1815'/0'/0/0"),
witnessSignatureHex: "914591b05da171528a225e5ce76280de76ea51b82adf637168cee132949551d8fe31d32cbc26f0f3745fc54ec6796560bdad08cf5fe286a7775890418e3e2a0f",
witnessSignatureHex: "64d1ef5a3e8a074ad9ef34e0d6c19d313c09122f8cbbd54f3e46024b492e2d523a0ad1e132fc0fbf5ca4b2ddd2e72f110a9f669fef2f921a037553262aaffe06",
},
],
auxiliaryDataSupplement: null,
},
},
{
testname: "Sign tx with datum hash and script reference in output as map",
testname: "Sign tx with datum hash and script reference (304 B) in output as map",
tx: {
...mainnetFeeTtl,
network: Networks.Testnet,
inputs: [inputs.utxoShelley],
outputs: [outputs.datumHashScriptRef608ExternalMap],
outputs: [outputs.datumHashScriptRef304ExternalMap],
},
signingMode: TransactionSigningMode.ORDINARY_TRANSACTION,
additionalWitnessPaths: [],
Expand Down
41 changes: 10 additions & 31 deletions test/integration/__fixtures__/txElements.ts
Original file line number Diff line number Diff line change
Expand Up @@ -360,14 +360,12 @@ export const outputs: Record<
| 'internalBaseWithTokensMap'
| 'datumHashExternalMap'
| 'datumHashScriptRefExternalMap'
| 'datumHashScriptRef300ExternalMap'
| 'datumHashScriptRef608ExternalMap'
| 'datumHashScriptRef240ExternalMap'
| 'datumHashScriptRef304ExternalMap'
| 'datumHashWithTokensMap'
| 'inlineDatumWithTokensMap'
| 'inlineDatum300Map'
| 'inlineDatum308Map'
| 'inlineDatum600Map'
| 'inlineDatum608WithTokensMap'
| 'inlineDatum480Map'
| 'inlineDatum304WithTokensMap'
, TxOutput
> = {
externalByronMainnet: {
Expand Down Expand Up @@ -894,17 +892,17 @@ export const outputs: Record<
},
scriptHex: "deadbeefdeadbeefdeadbeefdeadbeefdeadbeef",
},
datumHashScriptRef300ExternalMap: {
datumHashScriptRef240ExternalMap: {
format: TxOutputFormat.MAP_BABBAGE,
destination: destinations.externalShelleyBaseScripthashKeyhash,
amount: 7120787,
datum: {
type: DatumType.HASH,
datumHashHex:"ffd4d009f554ba4fd8ed1f1d703244819861a9d34fd4753bcf3ff32f043ce188",
},
scriptHex: "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead",
scriptHex: "4784392787cc567ac21d7b5346a4a89ae112b7ff7610e402284042aa4e6efca7956a53c3f5cb3ec6745f5e21150f2a77bd71a2adc3f8b9539e9bab41934b477f60a8b302584d1a619ed9b178b5ce6fcad31adc0d6fc17023ede474c09f29fdbfb290a5b30b5240fae5de71168036201772c0d272ae90220181f9bf8c3198e79fc2ae32b076abf4d0e10d3166923ce56994b25c00909e3faab8ef1358c136cd3b197488efc883a7c6cfa3ac63ca9cebc62121c6e22f594420c2abd54e78282adec20ee7dba0e6de65554adb8ee8314f23f86cf7cf0906d4b6c643966baf6c54240c19f4131374e298f38a626a4ad63e61",
},
datumHashScriptRef608ExternalMap: {
datumHashScriptRef304ExternalMap: {
format: TxOutputFormat.MAP_BABBAGE,
destination: destinations.externalShelleyBaseScripthashKeyhash,
amount: 7120787,
Expand Down Expand Up @@ -964,35 +962,16 @@ export const outputs: Record<

},
},
inlineDatum300Map: {
inlineDatum480Map: {
format: TxOutputFormat.MAP_BABBAGE,
destination: destinations.externalShelleyBaseScripthashKeyhash,
amount: 7120787,
datum: {
type: DatumType.INLINE,
datumHex: "5579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f",
datumHex: "12b8240c5470b47c159597b6f71d78c7fc99d1d8d911cb19b8f50211938ef361a22d30cd8f6354ec50e99a7d3cf3e06797ed4af3d358e01b2a957caa4010da328720b9fbe7a3a6d10209a13d2eb11933eb1bf2ab02713117e421b6dcc66297c41b95ad32d3457a0e6b44d8482385f311465964c3daff226acfb7bbda47011f1a6531db30e5b5977143c48f8b8eb739487f87dc13896f58529cfb48e415fc6123e708cdc3cb15cc1900ecf88c5fc9ff66d8ad6dae18c79e4a3c392a0df4d16ffa3e370f4dad8d8e9d171c5656bb317c78a2711057e7ae0beb1dc66ba01aa69d0c0db244e6742d7758ce8da00dfed6225d4aed4b01c42a0352688ed5803f3fd64873f11355305d9db309f4a2a6673cc408a06b8827a5edef7b0fd8742627fb8aa102a084b7db72fcb5c3d1bf437e2a936b738902a9c0258b462b9f2e9befd2c6bcfc036143bb34342b9124888a5b29fa5d60909c81319f034c11542b05ca3ff6c64c7642ff1e2b25fb60dc9bb6f5c914dd4149f31896955d4d204d822deddc46f852115a479edf7521cdf4ce596805875011855158fd303c33a2a7916a9cb7acaaf5aeca7e6efb75960e9597cd845bd9a93610bf1ab47ab0de943e8a96e26a24c4996f7b07fad437829fee5bc3496192608d4c04ac642cdec7bdbb8a948ad1d434",
},
},
inlineDatum308Map: {
format: TxOutputFormat.MAP_BABBAGE,
destination: destinations.externalShelleyBaseScripthashKeyhash,
amount: 7120787,
datum: {
type: DatumType.INLINE,
datumHex: "5579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c617465",

},
},
inlineDatum600Map: {
format: TxOutputFormat.MAP_BABBAGE,
destination: destinations.externalShelleyBaseScripthashKeyhash,
amount: 7120787,
datum: {
type: DatumType.INLINE,
datumHex: "5579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063686f636f6c6174655579657420616e6f746865722063",
},
},
inlineDatum608WithTokensMap: {
inlineDatum304WithTokensMap: {
format: TxOutputFormat.MAP_BABBAGE,
destination: destinations.externalShelleyBaseScripthashKeyhash,
amount: 7120787,
Expand Down

0 comments on commit 34f1012

Please sign in to comment.