Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: update pre-mine specification and allow multiple spends #6590

Merged

add pre-mine input from file

7f3ccc1
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

feat: update pre-mine specification and allow multiple spends #6590

add pre-mine input from file
7f3ccc1
Select commit
Loading
Failed to load commit list.
GitHub Actions / Test Results (Integration tests) failed Oct 1, 2024 in 0s

3 fail, 33 pass in 35m 27s

 2 files  ±0  11 suites  ±0   35m 27s ⏱️ - 5m 9s
36 tests ±0  33 ✅  - 2  0 💤 ±0  3 ❌ +2 
39 runs  +1  36 ✅ +1  0 💤 ±0  3 ❌ ±0 

Results for commit 7f3ccc1. ± Comparison against earlier commit 6f0ff68.

Annotations

Check warning on line 0 in /

See this annotation in the file changed.

@github-actions github-actions / Test Results (Integration tests)

1 out of 2 runs failed: Scenario: As a client I want to send a one-sided transaction: tests/features/WalletFFI.feature:175:5

artifacts/junit-ffi-cucumber/cucumber-output-junit.xml [took 9m 2s]
Raw output
Step panicked. Captured output: Wallet RECEIVER failed to have at least num 1 txs with status 2, current status is 1, scanned txs 0
  Scenario: As a client I want to send a one-sided transaction
   ✔  Given I have a seed node SEED
   ✔  When I have a base node BASE1 connected to all seed nodes
   ✔  When I have wallet SENDER connected to base node BASE1
   ✔  And I have a ffi wallet FFI_WALLET connected to base node BASE1
   ✔  When I have wallet RECEIVER connected to base node BASE1
   ✔  When I add contact with alias ALIAS1 and address of SENDER to ffi wallet FFI_WALLET
   ✔  When I add contact with alias ALIAS2 and address of RECEIVER to ffi wallet FFI_WALLET
   ✔  When I have mining node MINER connected to base node BASE1 and wallet SENDER
   ✔  When mining node MINER mines 10 blocks
   ✔  Then all nodes are at height 10
   ✔  Then I wait for wallet SENDER to have at least 129239250000 uT
   ✔  And I send 2400000 uT from wallet SENDER to wallet FFI_WALLET at fee 5
   ✔  And I send 2400000 uT from wallet SENDER to wallet FFI_WALLET at fee 5
   ✔  Then wallet SENDER has at least 2 transactions that are all TRANSACTION_STATUS_BROADCAST and not cancelled
   ✔  Then ffi wallet FFI_WALLET detects AT_LEAST 2 ffi transactions to be TRANSACTION_STATUS_BROADCAST
   ✔  When mining node MINER mines 10 blocks
   ✔  Then all nodes are at height 20
   ✔  Then ffi wallet FFI_WALLET detects AT_LEAST 2 ffi transactions to be TRANSACTION_STATUS_MINED
   ✔  Then I wait for ffi wallet FFI_WALLET to have at least 4000000 uT
   ✔  And I send 1000000 uT from ffi wallet FFI_WALLET to wallet RECEIVER at fee 5 via one-sided transactions
   ✔  Then ffi wallet FFI_WALLET detects AT_LEAST 3 ffi transactions to be TRANSACTION_STATUS_BROADCAST
   ✔  When mining node MINER mines 2 blocks
   ✔  Then all nodes are at height 22
   ✘  Then wallet RECEIVER has at least 1 transactions that are all TRANSACTION_STATUS_MINED_UNCONFIRMED and not cancelled
      Step failed:
      Defined: tests/features/WalletFFI.feature:205:9
      Matched: integration_tests/tests/steps/wallet_steps.rs:515:1
      Step panicked. Captured output: Wallet RECEIVER failed to have at least num 1 txs with status 2, current status is 1, scanned txs 0
      Client {
          base_nodes: {},
          blocks: {},
          miners: {
              "MINER": MinerProcess {
                  name: "MINER",
                  base_node_name: "BASE1",
                  wallet_name: "SENDER",
                  mine_until_height: 100000,
                  stealth: false,
              },
          },
          ffi_wallets: {
              "FFI_WALLET": WalletFFI {
                  name: "FFI_WALLET",
                  port: 18435,
                  base_dir: "/runner/_work/tari/tari/integration_tests/tests/temp/cucumber_12749/Wallet FFI/As a client I want to send a one-sided transaction/ffi_wallets/FFI_WALLET_port_18435",
                  wallet: Mutex {
                      data: Wallet {
                          ptr: 0x000056267b416fc0,
                          liveness_data: Mutex {
                              data: {
                                  "H43AC5GaAVtZPCaM5Q3LSf5mV93zG4TnCPKxiiqP5rxkgoqyjded1gJ1XbACvDkEu2gPG3yaF5Gz4Y1oRrAp3Eb9Lh8": ContactsLivenessData {
                                      ptr: 0x00007f403c007110,
                                  },
                                  "H42GFBmetkn3MS73zbh4nJA3UzLaiaWxG3T6feh1bKGNJCd8nPM2vhJ1sZjLM3HBXMhPRDeamxNMArMwR3oBXybm7QV": ContactsLivenessData {
                                      ptr: 0x00007f4058066d80,
                                  },
                              },
                              poisoned: false,
                              ..
                          },
                          balance: CachedBalance {
                              available: 2400000,
                              time_locked: 0,
                              pending_incoming: 0,
                              pending_outgoing: 2400000,
                          },
                      },
                      poisoned: false,
                      ..
                  },
              },
          },
          wallets: {},
          merge_mining_proxies: {},
          chat_clients: [],
          transactions: {},
          wallet_addresses: {},
          utxos: {},
          output_hash: None,
          pre_image: None,
          wallet_connected_to_base_node: {
              "SENDER": "BASE1",
              "RECEIVER": "BASE1",
          },
          seed_nodes: [
              "SEED",
          ],
          wallet_tx_ids: {
              "H43AC5GaAVtZPCaM5Q3LSf5mV93zG4TnCPKxiiqP5rxkgoqyjded1gJ1XbACvDkEu2gPG3yaF5Gz4Y1oRrAp3Eb9Lh8": [
                  18276191234814401800,
                  7698933144817036116,
              ],
              "H45G6gSuoiSe89sVuGFj18UHiiKLdpDPpTN9fBRA2zTdPyGg95VuwteC84e8Mz8TZN7wqahNcM2feBs9Gje3nBgbfPF": [
                  18276191234814401800,
                  7698933144817036116,
              ],
          },
          errors: [],
          last_imported_tx_ids: [],
          last_merge_miner_response: Null,
      }

Check warning on line 0 in /

See this annotation in the file changed.

@github-actions github-actions / Test Results (Integration tests)

1 out of 2 runs failed: Scenario: As a client I want to receive a one-sided transaction: tests/features/WalletFFI.feature:212:5

artifacts/junit-ffi-cucumber/cucumber-output-junit.xml [took 8m 39s]
Raw output
Step panicked. Captured output: One sided transaction from SENDER to FFI_RECEIVER with amount 1000000 at fee 20 failed to be broadcasted
  Scenario: As a client I want to receive a one-sided transaction
   ✔  Given I have a seed node SEED
   ✔  When I have a base node BASE1 connected to all seed nodes
   ✔  When I have a base node BASE2 connected to all seed nodes
   ✔  When I have wallet SENDER connected to base node BASE1
   ✔  And I have a ffi wallet FFI_RECEIVER connected to base node BASE2
   ✔  When I have mining node MINER connected to base node BASE1 and wallet SENDER
   ✔  When mining node MINER mines 10 blocks
   ✔  Then I wait for wallet SENDER to have at least 5000000 uT
   ✘  Then I send a one-sided transaction of 1000000 uT from SENDER to FFI_RECEIVER at fee 20
      Step failed:
      Defined: tests/features/WalletFFI.feature:221:9
      Matched: integration_tests/tests/steps/wallet_steps.rs:749:1
      Step panicked. Captured output: One sided transaction from SENDER to FFI_RECEIVER with amount 1000000 at fee 20 failed to be broadcasted
      Client {
          base_nodes: {},
          blocks: {},
          miners: {
              "MINER": MinerProcess {
                  name: "MINER",
                  base_node_name: "BASE1",
                  wallet_name: "SENDER",
                  mine_until_height: 100000,
                  stealth: false,
              },
          },
          ffi_wallets: {
              "FFI_RECEIVER": WalletFFI {
                  name: "FFI_RECEIVER",
                  port: 18246,
                  base_dir: "/runner/_work/tari/tari/integration_tests/tests/temp/cucumber_12749/Wallet FFI/As a client I want to receive a one-sided transaction/ffi_wallets/FFI_RECEIVER_port_18246",
                  wallet: Mutex {
                      data: Wallet {
                          ptr: 0x000056267a9e1940,
                          liveness_data: Mutex {
                              data: {},
                              poisoned: false,
                              ..
                          },
                          balance: CachedBalance {
                              available: 0,
                              time_locked: 0,
                              pending_incoming: 0,
                              pending_outgoing: 0,
                          },
                      },
                      poisoned: false,
                      ..
                  },
              },
          },
          wallets: {},
          merge_mining_proxies: {},
          chat_clients: [],
          transactions: {},
          wallet_addresses: {},
          utxos: {},
          output_hash: None,
          pre_image: None,
          wallet_connected_to_base_node: {
              "SENDER": "BASE1",
          },
          seed_nodes: [
              "SEED",
          ],
          wallet_tx_ids: {},
          errors: [],
          last_imported_tx_ids: [],
          last_merge_miner_response: Null,
      }

Check warning on line 0 in /

See this annotation in the file changed.

@github-actions github-actions / Test Results (Integration tests)

1 out of 2 runs failed: Scenario: Simple reorg to stronger chain: tests/features/Reorgs.feature:8:3

artifacts/junit-cucumber/cucumber-output-junit.xml [took 2m 24s]
Raw output
Step panicked. Captured output: base node didn't synchronize successfully with height 10, current chain height 3
  Scenario: Simple reorg to stronger chain
   ✔  Given I have a seed node SEED_B
   ✔  When I have a base node B connected to seed SEED_B
   ✔  When I have wallet WB connected to base node B
   ✔  When I have mining node BM connected to base node B and wallet WB
   ✔  When mining node BM mines 3 blocks with min difficulty 1 and max difficulty 50
   ✔  Given I have a seed node SEED_C
   ✔  When I have a base node C connected to seed SEED_C
   ✔  When I have wallet WC connected to base node C
   ✔  When I have mining node CM connected to base node C and wallet WC
   ✔  When mining node CM mines 10 blocks with min difficulty 51 and max difficulty 9999999999
   ✔  Then node B is at height 3
   ✔  Then node C is at height 10
   ✔  When I have a base node SA connected to nodes B,C
   ✔  Then node SA is at height 10
   ✘  Then node B is at height 10
      Step failed:
      Defined: tests/features/Reorgs.feature:28:5
      Matched: integration_tests/tests/steps/node_steps.rs:218:1
      Step panicked. Captured output: base node didn't synchronize successfully with height 10, current chain height 3
      Client {
          base_nodes: {},
          blocks: {},
          miners: {
              "BM": MinerProcess {
                  name: "BM",
                  base_node_name: "B",
                  wallet_name: "WB",
                  mine_until_height: 100000,
                  stealth: false,
              },
              "CM": MinerProcess {
                  name: "CM",
                  base_node_name: "C",
                  wallet_name: "WC",
                  mine_until_height: 100000,
                  stealth: false,
              },
          },
          ffi_wallets: {},
          wallets: {},
          merge_mining_proxies: {},
          chat_clients: [],
          transactions: {},
          wallet_addresses: {},
          utxos: {},
          output_hash: None,
          pre_image: None,
          wallet_connected_to_base_node: {
              "WB": "B",
              "WC": "C",
          },
          seed_nodes: [
              "SEED_B",
              "SEED_C",
          ],
          wallet_tx_ids: {},
          errors: [],
          last_imported_tx_ids: [],
          last_merge_miner_response: Null,
      }

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Test Results (Integration tests)

36 tests found

There are 36 tests, see "Raw output" for the full list of tests.
Raw output
Scenario: A message is propagated between clients via 3rd party: tests/features/ChatFFI.feature:7:3
Scenario: A message is propagated between side loaded chat and client via 3rd party: tests/features/ChatFFI.feature:105:3
Scenario: A message is sent directly between two FFI clients: tests/features/ChatFFI.feature:49:3
Scenario: A message receives a delivery receipt via FFI: tests/features/ChatFFI.feature:74:3
Scenario: A message receives a read receipt via FFI: tests/features/ChatFFI.feature:82:3
Scenario: A single message is fetched from FFI: tests/features/ChatFFI.feature:113:3
Scenario: As a client I want to receive a one-sided transaction: tests/features/WalletFFI.feature:212:5
Scenario: As a client I want to receive contact liveness events: tests/features/WalletFFI.feature:73:5
Scenario: As a client I want to retrieve a list of transactions I have made and received: tests/features/WalletFFI.feature:96:5
Scenario: As a client I want to retrieve the mnemonic word list for a given language: tests/features/WalletFFI.feature:24:5
Scenario: As a client I want to send a one-sided transaction: tests/features/WalletFFI.feature:175:5
Scenario: As a wallet I want to submit a transaction: tests/features/WalletQuery.feature:18:3
Scenario: As a wallet send to a wallet connected to a different base node: tests/features/WalletTransfer.feature:9:3
Scenario: Callback for delivery confirmation received: tests/features/ChatFFI.feature:22:3
Scenario: Callback for new message received: tests/features/ChatFFI.feature:14:3
Scenario: Callback for read confirmation received: tests/features/ChatFFI.feature:31:3
Scenario: Callback for status change is received: tests/features/ChatFFI.feature:41:3
Scenario: Chat shuts down without any errors: tests/features/ChatFFI.feature:59:3
Scenario: Clear out mempool: tests/features/Mempool.feature:46:3
Scenario: Create burn transaction: tests/features/WalletTransactions.feature:412:3
Scenario: Fetches all addresses from FFI conversations: tests/features/ChatFFI.feature:91:3
Scenario: Node rolls back reorg on invalid block: tests/features/Reorgs.feature:63:3
Scenario: Reply to message: tests/features/ChatFFI.feature:64:3
Scenario: Simple block sync: tests/features/Sync.feature:26:3
Scenario: Simple propagation: tests/features/Propagation.feature:26:3
Scenario: Simple reorg to stronger chain: tests/features/Reorgs.feature:8:3
Scenario: Simple reorg with burned output: tests/features/Reorgs.feature:33:3
Scenario: Sync burned output: tests/features/Sync.feature:34:3
Scenario: Transactions are propagated through a network: tests/features/Mempool.feature:8:3
Scenario: Verify UTXO and kernel MMR size in header: tests/features/BlockTemplate.feature:8:1
Scenario: Verify gprc can create block with more than 1 coinbase: tests/features/BlockTemplate.feature:14:5
Scenario: Wallet imports pre_mine UTXO: tests/features/WalletTransactions.feature:170:3
Scenario: Wallet recovery with connected base node staying online: tests/features/WalletRecovery.feature:8:5
Scenario: Wallet sending and receiving one-sided transactions: tests/features/WalletTransactions.feature:8:3
Scenario: When a new node joins the network, it receives all peers: tests/features/Sync.feature:77:3
Scenario: Zero-conf transactions: tests/features/Mempool.feature:124:3