Skip to content

Commit 8c517f8

Browse files
committed
Update fixture
1 parent b2ccdb0 commit 8c517f8

1 file changed

Lines changed: 246 additions & 28 deletions

File tree

  • packages/cashscript/test/fixture/libauth-template

packages/cashscript/test/fixture/libauth-template/fixtures.ts

Lines changed: 246 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1368,13 +1368,18 @@ export const fixtures: Fixture[] = [
13681368
'p2pkh_placeholder_lock_0',
13691369
'p2pkh_placeholder_unlock_0',
13701370
],
1371-
'description': 'placeholder_key_0',
1371+
'description': 'P2PKH data for input 0',
13721372
'name': 'P2PKH Signer (input #0)',
13731373
'variables': {
1374-
'placeholder_key_0': {
1374+
'signature_0': {
13751375
'description': '',
1376-
'name': 'P2PKH Placeholder Key (input #0)',
1377-
'type': 'Key',
1376+
'name': 'P2PKH Signature (input #0)',
1377+
'type': 'WalletData',
1378+
},
1379+
'public_key_0': {
1380+
'description': '',
1381+
'name': 'P2PKH public key (input #0)',
1382+
'type': 'WalletData',
13781383
},
13791384
},
13801385
},
@@ -1383,13 +1388,18 @@ export const fixtures: Fixture[] = [
13831388
'p2pkh_placeholder_lock_2',
13841389
'p2pkh_placeholder_unlock_2',
13851390
],
1386-
'description': 'placeholder_key_2',
1391+
'description': 'P2PKH data for input 2',
13871392
'name': 'P2PKH Signer (input #2)',
13881393
'variables': {
1389-
'placeholder_key_2': {
1394+
'signature_2': {
13901395
'description': '',
1391-
'name': 'P2PKH Placeholder Key (input #2)',
1392-
'type': 'Key',
1396+
'name': 'P2PKH Signature (input #2)',
1397+
'type': 'WalletData',
1398+
},
1399+
'public_key_2': {
1400+
'description': '',
1401+
'name': 'P2PKH public key (input #2)',
1402+
'type': 'WalletData',
13931403
},
13941404
},
13951405
},
@@ -1409,27 +1419,136 @@ export const fixtures: Fixture[] = [
14091419
'script': '// "P2PKH" contract constructor parameters\n<pkh> // bytes20 = <0x512dbb2c8c02efbac8d92431aa0ac33f6b0bf970>\n\n// bytecode\n /* contract P2PKH(bytes20 pkh) { */\n /* // Require pk to match stored pkh and signature to match */\n /* function spend(pubkey pk, sig s) { */\nOP_OVER OP_HASH160 OP_EQUALVERIFY /* require(hash160(pk) == pkh); */\nOP_CHECKSIG /* require(checkSig(s, pk)); */\n /* } */\n /* } */\n /* */',
14101420
},
14111421
'p2pkh_placeholder_unlock_0': {
1422+
'passes': [
1423+
'P2PKH_spend_input0_evaluate',
1424+
],
14121425
'name': 'P2PKH Unlock (input #0)',
1413-
'script': '<placeholder_key_0.schnorr_signature.all_outputs_all_utxos>\n<placeholder_key_0.public_key>',
1426+
'script': '<signature_0>\n<public_key_0>',
14141427
'unlocks': 'p2pkh_placeholder_lock_0',
14151428
},
14161429
'p2pkh_placeholder_lock_0': {
14171430
'lockingType': 'standard',
14181431
'name': 'P2PKH Lock (input #0)',
1419-
'script': 'OP_DUP\nOP_HASH160 <$(<placeholder_key_0.public_key> OP_HASH160\n)> OP_EQUALVERIFY\nOP_CHECKSIG',
1432+
'script': 'OP_DUP\nOP_HASH160 <$(<public_key_0> OP_HASH160\n)> OP_EQUALVERIFY\nOP_CHECKSIG',
14201433
},
14211434
'p2pkh_placeholder_unlock_2': {
1435+
'passes': [
1436+
'P2PKH_spend_input2_evaluate',
1437+
],
14221438
'name': 'P2PKH Unlock (input #2)',
1423-
'script': '<placeholder_key_2.ecdsa_signature.all_outputs>\n<placeholder_key_2.public_key>',
1439+
'script': '<signature_2>\n<public_key_2>',
14241440
'unlocks': 'p2pkh_placeholder_lock_2',
14251441
},
14261442
'p2pkh_placeholder_lock_2': {
14271443
'lockingType': 'standard',
14281444
'name': 'P2PKH Lock (input #2)',
1429-
'script': 'OP_DUP\nOP_HASH160 <$(<placeholder_key_2.public_key> OP_HASH160\n)> OP_EQUALVERIFY\nOP_CHECKSIG',
1445+
'script': 'OP_DUP\nOP_HASH160 <$(<public_key_2> OP_HASH160\n)> OP_EQUALVERIFY\nOP_CHECKSIG',
14301446
},
14311447
},
14321448
'scenarios': {
1449+
'P2PKH_spend_input0_evaluate': {
1450+
'name': 'Evaluate P2PKH spend (input #0)',
1451+
'description': 'An example evaluation where this script execution passes.',
1452+
'data': {
1453+
'bytecode': {
1454+
'signature_0': expect.stringMatching(/^0x[0-9a-f]{130}$/),
1455+
'public_key_0': '0x0373cc07b54c22da627b572a387a20ea190c9382e5e6d48c1d5b89c5cea2c4c088',
1456+
},
1457+
'currentBlockHeight': expect.any(Number),
1458+
'currentBlockTime': expect.any(Number),
1459+
},
1460+
'transaction': {
1461+
'inputs': [
1462+
{
1463+
'outpointIndex': expect.any(Number),
1464+
'outpointTransactionHash': expect.stringMatching(/^[0-9a-f]{64}$/),
1465+
'sequenceNumber': 4294967294,
1466+
'unlockingBytecode': [
1467+
'slot',
1468+
],
1469+
},
1470+
{
1471+
'outpointIndex': expect.any(Number),
1472+
'outpointTransactionHash': expect.stringMatching(/^[0-9a-f]{64}$/),
1473+
'sequenceNumber': 4294967294,
1474+
'unlockingBytecode': {
1475+
'script': 'P2PKH_spend_input1_unlock',
1476+
'overrides': {
1477+
'bytecode': {
1478+
'pk': '0x0373cc07b54c22da627b572a387a20ea190c9382e5e6d48c1d5b89c5cea2c4c088',
1479+
'pkh': '0x512dbb2c8c02efbac8d92431aa0ac33f6b0bf970',
1480+
},
1481+
'keys': {
1482+
'privateKeys': {
1483+
's': '36f8155c559f3a670586bbbf9fd52beef6f96124f5a3a39c167fc24b052d24d7',
1484+
},
1485+
},
1486+
},
1487+
},
1488+
},
1489+
{
1490+
'outpointIndex': expect.any(Number),
1491+
'outpointTransactionHash': expect.stringMatching(/^[0-9a-f]{64}$/),
1492+
'sequenceNumber': 4294967294,
1493+
'unlockingBytecode': {
1494+
'script': 'p2pkh_placeholder_unlock_2',
1495+
'overrides': {
1496+
'bytecode': {
1497+
'signature_2': expect.stringMatching(/^0x[0-9a-f]{142,146}$/),
1498+
'public_key_2': '0x028f1219c918234d6bb06b4782354ff0759bd73036f3c849b88020c79fe013cd38',
1499+
},
1500+
},
1501+
},
1502+
},
1503+
],
1504+
'locktime': expect.any(Number),
1505+
'outputs': [
1506+
{
1507+
'lockingBytecode': {
1508+
'script': 'P2PKH_eae136efb95be487872bfe03984fc1eb80b23361_lock',
1509+
'overrides': {
1510+
'bytecode': {
1511+
'pkh': '0x512dbb2c8c02efbac8d92431aa0ac33f6b0bf970',
1512+
},
1513+
},
1514+
},
1515+
'valueSatoshis': 1000,
1516+
},
1517+
],
1518+
'version': 2,
1519+
},
1520+
'sourceOutputs': [
1521+
{
1522+
'lockingBytecode': [
1523+
'slot',
1524+
],
1525+
'valueSatoshis': expect.any(Number),
1526+
},
1527+
{
1528+
'lockingBytecode': {
1529+
'script': 'P2PKH_eae136efb95be487872bfe03984fc1eb80b23361_lock',
1530+
'overrides': {
1531+
'bytecode': {
1532+
'pkh': '0x512dbb2c8c02efbac8d92431aa0ac33f6b0bf970',
1533+
},
1534+
},
1535+
},
1536+
'valueSatoshis': expect.any(Number),
1537+
},
1538+
{
1539+
'lockingBytecode': {
1540+
'script': 'p2pkh_placeholder_lock_2',
1541+
'overrides': {
1542+
'bytecode': {
1543+
'signature_2': expect.stringMatching(/^0x[0-9a-f]{142,146}$/),
1544+
'public_key_2': '0x028f1219c918234d6bb06b4782354ff0759bd73036f3c849b88020c79fe013cd38',
1545+
},
1546+
},
1547+
},
1548+
'valueSatoshis': expect.any(Number),
1549+
},
1550+
],
1551+
},
14331552
'P2PKH_spend_input1_evaluate': {
14341553
'name': 'Evaluate P2PKH spend (input #1)',
14351554
'description': 'An example evaluation where this script execution passes.',
@@ -1455,10 +1574,9 @@ export const fixtures: Fixture[] = [
14551574
'unlockingBytecode': {
14561575
'script': 'p2pkh_placeholder_unlock_0',
14571576
'overrides': {
1458-
'keys': {
1459-
'privateKeys': {
1460-
'placeholder_key_0': '36f8155c559f3a670586bbbf9fd52beef6f96124f5a3a39c167fc24b052d24d7',
1461-
},
1577+
'bytecode': {
1578+
'signature_0': expect.stringMatching(/^0x[0-9a-f]{130}$/),
1579+
'public_key_0': '0x0373cc07b54c22da627b572a387a20ea190c9382e5e6d48c1d5b89c5cea2c4c088',
14621580
},
14631581
},
14641582
},
@@ -1478,16 +1596,15 @@ export const fixtures: Fixture[] = [
14781596
'unlockingBytecode': {
14791597
'script': 'p2pkh_placeholder_unlock_2',
14801598
'overrides': {
1481-
'keys': {
1482-
'privateKeys': {
1483-
'placeholder_key_2': '71080d8b52ec7b12adaec909ed54cd989b682ce2c35647eec219a16f5f90c528',
1484-
},
1599+
'bytecode': {
1600+
'signature_2': expect.stringMatching(/^0x[0-9a-f]{142,146}$/),
1601+
'public_key_2': '0x028f1219c918234d6bb06b4782354ff0759bd73036f3c849b88020c79fe013cd38',
14851602
},
14861603
},
14871604
},
14881605
},
14891606
],
1490-
'locktime': 0,
1607+
'locktime': expect.any(Number),
14911608
'outputs': [
14921609
{
14931610
'lockingBytecode': {
@@ -1508,10 +1625,9 @@ export const fixtures: Fixture[] = [
15081625
'lockingBytecode': {
15091626
'script': 'p2pkh_placeholder_lock_0',
15101627
'overrides': {
1511-
'keys': {
1512-
'privateKeys': {
1513-
'placeholder_key_0': '36f8155c559f3a670586bbbf9fd52beef6f96124f5a3a39c167fc24b052d24d7',
1514-
},
1628+
'bytecode': {
1629+
'signature_0': expect.stringMatching(/^0x[0-9a-f]{130}$/),
1630+
'public_key_0': '0x0373cc07b54c22da627b572a387a20ea190c9382e5e6d48c1d5b89c5cea2c4c088',
15151631
},
15161632
},
15171633
},
@@ -1527,13 +1643,115 @@ export const fixtures: Fixture[] = [
15271643
'lockingBytecode': {
15281644
'script': 'p2pkh_placeholder_lock_2',
15291645
'overrides': {
1530-
'keys': {
1531-
'privateKeys': {
1532-
'placeholder_key_2': '71080d8b52ec7b12adaec909ed54cd989b682ce2c35647eec219a16f5f90c528',
1646+
'bytecode': {
1647+
'signature_2': expect.stringMatching(/^0x[0-9a-f]{142,146}$/),
1648+
'public_key_2': '0x028f1219c918234d6bb06b4782354ff0759bd73036f3c849b88020c79fe013cd38',
1649+
},
1650+
},
1651+
},
1652+
'valueSatoshis': expect.any(Number),
1653+
},
1654+
],
1655+
},
1656+
'P2PKH_spend_input2_evaluate': {
1657+
'name': 'Evaluate P2PKH spend (input #2)',
1658+
'description': 'An example evaluation where this script execution passes.',
1659+
'data': {
1660+
'bytecode': {
1661+
'signature_2': expect.stringMatching(/^0x[0-9a-f]{142,146}$/),
1662+
'public_key_2': '0x028f1219c918234d6bb06b4782354ff0759bd73036f3c849b88020c79fe013cd38',
1663+
},
1664+
'currentBlockHeight': expect.any(Number),
1665+
'currentBlockTime': expect.any(Number),
1666+
},
1667+
'transaction': {
1668+
'inputs': [
1669+
{
1670+
'outpointIndex': expect.any(Number),
1671+
'outpointTransactionHash': expect.stringMatching(/^[0-9a-f]{64}$/),
1672+
'sequenceNumber': 4294967294,
1673+
'unlockingBytecode': {
1674+
'script': 'p2pkh_placeholder_unlock_0',
1675+
'overrides': {
1676+
'bytecode': {
1677+
'signature_0': expect.stringMatching(/^0x[0-9a-f]{130}$/),
1678+
'public_key_0': '0x0373cc07b54c22da627b572a387a20ea190c9382e5e6d48c1d5b89c5cea2c4c088',
1679+
},
1680+
},
1681+
},
1682+
},
1683+
{
1684+
'outpointIndex': expect.any(Number),
1685+
'outpointTransactionHash': expect.stringMatching(/^[0-9a-f]{64}$/),
1686+
'sequenceNumber': 4294967294,
1687+
'unlockingBytecode': {
1688+
'script': 'P2PKH_spend_input1_unlock',
1689+
'overrides': {
1690+
'bytecode': {
1691+
'pk': '0x0373cc07b54c22da627b572a387a20ea190c9382e5e6d48c1d5b89c5cea2c4c088',
1692+
'pkh': '0x512dbb2c8c02efbac8d92431aa0ac33f6b0bf970',
1693+
},
1694+
'keys': {
1695+
'privateKeys': {
1696+
's': '36f8155c559f3a670586bbbf9fd52beef6f96124f5a3a39c167fc24b052d24d7',
1697+
},
15331698
},
15341699
},
15351700
},
15361701
},
1702+
{
1703+
'outpointIndex': expect.any(Number),
1704+
'outpointTransactionHash': expect.stringMatching(/^[0-9a-f]{64}$/),
1705+
'sequenceNumber': 4294967294,
1706+
'unlockingBytecode': [
1707+
'slot',
1708+
],
1709+
},
1710+
],
1711+
'locktime': expect.any(Number),
1712+
'outputs': [
1713+
{
1714+
'lockingBytecode': {
1715+
'script': 'P2PKH_eae136efb95be487872bfe03984fc1eb80b23361_lock',
1716+
'overrides': {
1717+
'bytecode': {
1718+
'pkh': '0x512dbb2c8c02efbac8d92431aa0ac33f6b0bf970',
1719+
},
1720+
},
1721+
},
1722+
'valueSatoshis': 1000,
1723+
},
1724+
],
1725+
'version': 2,
1726+
},
1727+
'sourceOutputs': [
1728+
{
1729+
'lockingBytecode': {
1730+
'script': 'p2pkh_placeholder_lock_0',
1731+
'overrides': {
1732+
'bytecode': {
1733+
'signature_0': expect.stringMatching(/^0x[0-9a-f]{130}$/),
1734+
'public_key_0': '0x0373cc07b54c22da627b572a387a20ea190c9382e5e6d48c1d5b89c5cea2c4c088',
1735+
},
1736+
},
1737+
},
1738+
'valueSatoshis': expect.any(Number),
1739+
},
1740+
{
1741+
'lockingBytecode': {
1742+
'script': 'P2PKH_eae136efb95be487872bfe03984fc1eb80b23361_lock',
1743+
'overrides': {
1744+
'bytecode': {
1745+
'pkh': '0x512dbb2c8c02efbac8d92431aa0ac33f6b0bf970',
1746+
},
1747+
},
1748+
},
1749+
'valueSatoshis': expect.any(Number),
1750+
},
1751+
{
1752+
'lockingBytecode': [
1753+
'slot',
1754+
],
15371755
'valueSatoshis': expect.any(Number),
15381756
},
15391757
],

0 commit comments

Comments
 (0)