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

feature(ironfish): Add RPC route for chain:broadcast #3742

Merged
merged 5 commits into from
Apr 10, 2023

Conversation

holahula
Copy link
Contributor

@holahula holahula commented Apr 4, 2023

Summary

Adds an RPC route and accompanying CLI command ( ironfish chain:broadcast ) for broadcasting a transaction to the network.

Closes IFL-411

Testing Plan

  • Included unit tests pass

Manual test:

  1. Create raw transaction
➜  ironfish git:(holahula/feat/chain-broadcast-rpc) ✗ fish wallet:send -d ~/.ironfish-simulator/node-e050 --rawTransaction
yarn run v1.22.19
$ yarn build && yarn start:js wallet:send -d /Users/austino/.ironfish-simulator/node-e050 --rawTransaction
$ tsc -b
$ cross-env OCLIF_TS_NODE=0 IRONFISH_DEBUG=1 node --expose-gc --inspect=:0 --inspect-publish-uid=http --enable-source-maps bin/run wallet:send -d /Users/austino/.ironfish-simulator/node-e050 --rawTransaction
Enter the amount (balance 48782.00000000): 1
Enter the public address of the recipient: beb858a08898867fa7917c45f4ff6c5c67cb590dc654204330b0b69cc647ef1f
? Select the fee you wish to use for this transaction Enter a custom fee
Enter the fee amount in $IRON (balance 48782.00000000): 1
Raw Transaction
00e1f505000000000100000000000000a81c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b1d7c86706f5817aa718cd1cfad03233bcd64a7789fd9422d3b17af6823a7e6ac60094357700000000a2b108485890d437f63b03ce45079aef933df7d2ed3ba825e10cfa492a552e0700000000000000000000000000000000000000000000000000000000000000001c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b1ac0900000000000020d8fdebc7d9373270b821cdf0ce281bd21d16d7e9837150df9db5e242ec7e6250200000000000000000200dda3ccfb94d8ba337c0149bf9ff07b147523844b8c36efa20db2044a44e421d0020ed020212130e7b1c0d0e9ceba7d5570031b5b851a5bc9045d1a45f5214e8a96d012036d7aa752b8004ddee221853c635a4741171ee332e57c6e4207e6ad01b06f526002073ee9d2ad5090df5d0f88825c7abe69386fbbfaf5c904f12eaf32b579e37705e0120eebaff41f7fcffb453602a45c64267ff503bde463a71c12e16bb2d31e14e745a0020f0f891f24b92f9fdd9c8a2c34ee35fb57d40525cd6c72abb8a3db6e6cba53207002048e06aa719f818347dc524cb056b36ea0234c2c3f0cfabbe2624de181b0212640020e42c255b248c9d2acd3bf59596187255c0e876dbc170004a772de6d4992f6d5e002055b07df0b27869dd2adb1f020e8734b139091dc0d5efe8c889f4a772144d02660020e0d2676f964a66becb3bc4b5f9ba9b6ffef5640ab44f40dfa1c5110b5c8feb2f0020e9b97793da4d7379bff2bcbc500e5bfb5f7a4ae30ef725a92220ebeaab55d0730020d843ae95bae2ab36981b9e08ad98f52fd039fcd878a2d71ee64ae4c3833d90500020c535174356d1faea734fd856b063a6afb24015e932164017e6cdbd9892f5fd390020def7ed4df63093599f71db157bd3820e5e5f01fd01cfef17f2f78b637fc69f2000205b751d4fb34dd37aa4df90a239091eaa04c1a4a443c46923c27eab9391f9d85e0020db00a586ebf09b64e28f1a874c76781fab69dab8280d76af530e30a0e06c5a3d002050acd10fb800258571f0d3fcb66c26b0ed0f9c7634417e0d4e3a0c9d85bc581d00202a9f15fbdfcfc0dda00ded04ba1b9d09ccf1e820d04916d37690c4d50b4ead2b0020c7de238b1430fbee21c538153d3ce387e80085dcc9bbbd7758b5cd13158dfd3b00204d41d76b531ae009450c4fa3f176db342266cf162ecd0ac7aa25703bd8ab59580020bb8257b1a40567fce6943ddf4908a60866149d4fb73009405b01fd3df4e0a25b00205d12155525bf4500a5fbb5e6e48c99fa74f00a5f6d4e1cc5401363f2ceeced1f0020e3472c8ec597ee37ad11a0263de0c2d6d30265692a8d12958a89119badcf4950002081d168bd5fbde724084ba6a1d9dc804e64c4d7e94f17e009cefea0c101a2700f00204c47a1183becf37cabd7bb75715436938e27db96cb8064780a477252b7d0606500203ec8252db795eea7c8dd3a79de579d8184a045835e1b392c538f3a664a328f520020aca3dc2c358061478146a7b530ffae1c923e79a99dc17bf0acb4bf2c35b667020020c313b2e07ed84ec5905720ac3f4c30ed57291a16368e67c9c0efca4b38f3b25b002080a341d9fc4b77db3f02e6e88f777f066b9501556b22849f2b4320b6ce0b34690020cc76f3cb4b4661f35603b6881e22e3f5a93a47193607d3d9fabefecb3fe4e15300207033203ad32b5b32a1d3e8087c6b9bd96893e1db78c9b2c41fac5f749581236100203ec35e3648991cee7af8d81dc7fc9d768265dea6d3be47e5149d68bd38c3cc2a0100000000000000a8beb858a08898867fa7917c45f4ff6c5c67cb590dc654204330b0b69cc647ef1fd7c86706f5817aa718cd1cfad03233bcd64a7789fd9422d3b17af6823a7e6ac600e1f50500000000e021c009e85e4f94c1a732f27571ca7f947622120672cd2e2dfeeef24061c00600000000000000000000000000000000000000000000000000000000000000001c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b100000000000000000000000000000000019b090000
Run "ironfish wallet:post" to post the raw transaction.
✨  Done in 11.26s.
  1. Post raw transaction
➜  ironfish git:(holahula/feat/chain-broadcast-rpc) ✗ fish wallet:post -d ~/.ironfish-simulator/node-e050 --no-broadcast 00e1f505000000000100000000000000a81c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b1d7c86706f5817aa718cd1cfad03233bcd64a7789fd9422d3b17af6823a7e6ac60094357700000000a2b108485890d437f63b03ce45079aef933df7d2ed3ba825e10cfa492a552e0700000000000000000000000000000000000000000000000000000000000000001c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b1ac0900000000000020d8fdebc7d9373270b821cdf0ce281bd21d16d7e9837150df9db5e242ec7e6250200000000000000000200dda3ccfb94d8ba337c0149bf9ff07b147523844b8c36efa20db2044a44e421d0020ed020212130e7b1c0d0e9ceba7d5570031b5b851a5bc9045d1a45f5214e8a96d012036d7aa752b8004ddee221853c635a4741171ee332e57c6e4207e6ad01b06f526002073ee9d2ad5090df5d0f88825c7abe69386fbbfaf5c904f12eaf32b579e37705e0120eebaff41f7fcffb453602a45c64267ff503bde463a71c12e16bb2d31e14e745a0020f0f891f24b92f9fdd9c8a2c34ee35fb57d40525cd6c72abb8a3db6e6cba53207002048e06aa719f818347dc524cb056b36ea0234c2c3f0cfabbe2624de181b0212640020e42c255b248c9d2acd3bf59596187255c0e876dbc170004a772de6d4992f6d5e002055b07df0b27869dd2adb1f020e8734b139091dc0d5efe8c889f4a772144d02660020e0d2676f964a66becb3bc4b5f9ba9b6ffef5640ab44f40dfa1c5110b5c8feb2f0020e9b97793da4d7379bff2bcbc500e5bfb5f7a4ae30ef725a92220ebeaab55d0730020d843ae95bae2ab36981b9e08ad98f52fd039fcd878a2d71ee64ae4c3833d90500020c535174356d1faea734fd856b063a6afb24015e932164017e6cdbd9892f5fd390020def7ed4df63093599f71db157bd3820e5e5f01fd01cfef17f2f78b637fc69f2000205b751d4fb34dd37aa4df90a239091eaa04c1a4a443c46923c27eab9391f9d85e0020db00a586ebf09b64e28f1a874c76781fab69dab8280d76af530e30a0e06c5a3d002050acd10fb800258571f0d3fcb66c26b0ed0f9c7634417e0d4e3a0c9d85bc581d00202a9f15fbdfcfc0dda00ded04ba1b9d09ccf1e820d04916d37690c4d50b4ead2b0020c7de238b1430fbee21c538153d3ce387e80085dcc9bbbd7758b5cd13158dfd3b00204d41d76b531ae009450c4fa3f176db342266cf162ecd0ac7aa25703bd8ab59580020bb8257b1a40567fce6943ddf4908a60866149d4fb73009405b01fd3df4e0a25b00205d12155525bf4500a5fbb5e6e48c99fa74f00a5f6d4e1cc5401363f2ceeced1f0020e3472c8ec597ee37ad11a0263de0c2d6d30265692a8d12958a89119badcf4950002081d168bd5fbde724084ba6a1d9dc804e64c4d7e94f17e009cefea0c101a2700f00204c47a1183becf37cabd7bb75715436938e27db96cb8064780a477252b7d0606500203ec8252db795eea7c8dd3a79de579d8184a045835e1b392c538f3a664a328f520020aca3dc2c358061478146a7b530ffae1c923e79a99dc17bf0acb4bf2c35b667020020c313b2e07ed84ec5905720ac3f4c30ed57291a16368e67c9c0efca4b38f3b25b002080a341d9fc4b77db3f02e6e88f777f066b9501556b22849f2b4320b6ce0b34690020cc76f3cb4b4661f35603b6881e22e3f5a93a47193607d3d9fabefecb3fe4e15300207033203ad32b5b32a1d3e8087c6b9bd96893e1db78c9b2c41fac5f749581236100203ec35e3648991cee7af8d81dc7fc9d768265dea6d3be47e5149d68bd38c3cc2a0100000000000000a8beb858a08898867fa7917c45f4ff6c5c67cb590dc654204330b0b69cc647ef1fd7c86706f5817aa718cd1cfad03233bcd64a7789fd9422d3b17af6823a7e6ac600e1f50500000000e021c009e85e4f94c1a732f27571ca7f947622120672cd2e2dfeeef24061c00600000000000000000000000000000000000000000000000000000000000000001c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b100000000000000000000000000000000019b090000
yarn run v1.22.19
$ yarn build && yarn start:js wallet:post -d /Users/austino/.ironfish-simulator/node-e050 --no-broadcast 00e1f505000000000100000000000000a81c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b1d7c86706f5817aa718cd1cfad03233bcd64a7789fd9422d3b17af6823a7e6ac60094357700000000a2b108485890d437f63b03ce45079aef933df7d2ed3ba825e10cfa492a552e0700000000000000000000000000000000000000000000000000000000000000001c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b1ac0900000000000020d8fdebc7d9373270b821cdf0ce281bd21d16d7e9837150df9db5e242ec7e6250200000000000000000200dda3ccfb94d8ba337c0149bf9ff07b147523844b8c36efa20db2044a44e421d0020ed020212130e7b1c0d0e9ceba7d5570031b5b851a5bc9045d1a45f5214e8a96d012036d7aa752b8004ddee221853c635a4741171ee332e57c6e4207e6ad01b06f526002073ee9d2ad5090df5d0f88825c7abe69386fbbfaf5c904f12eaf32b579e37705e0120eebaff41f7fcffb453602a45c64267ff503bde463a71c12e16bb2d31e14e745a0020f0f891f24b92f9fdd9c8a2c34ee35fb57d40525cd6c72abb8a3db6e6cba53207002048e06aa719f818347dc524cb056b36ea0234c2c3f0cfabbe2624de181b0212640020e42c255b248c9d2acd3bf59596187255c0e876dbc170004a772de6d4992f6d5e002055b07df0b27869dd2adb1f020e8734b139091dc0d5efe8c889f4a772144d02660020e0d2676f964a66becb3bc4b5f9ba9b6ffef5640ab44f40dfa1c5110b5c8feb2f0020e9b97793da4d7379bff2bcbc500e5bfb5f7a4ae30ef725a92220ebeaab55d0730020d843ae95bae2ab36981b9e08ad98f52fd039fcd878a2d71ee64ae4c3833d90500020c535174356d1faea734fd856b063a6afb24015e932164017e6cdbd9892f5fd390020def7ed4df63093599f71db157bd3820e5e5f01fd01cfef17f2f78b637fc69f2000205b751d4fb34dd37aa4df90a239091eaa04c1a4a443c46923c27eab9391f9d85e0020db00a586ebf09b64e28f1a874c76781fab69dab8280d76af530e30a0e06c5a3d002050acd10fb800258571f0d3fcb66c26b0ed0f9c7634417e0d4e3a0c9d85bc581d00202a9f15fbdfcfc0dda00ded04ba1b9d09ccf1e820d04916d37690c4d50b4ead2b0020c7de238b1430fbee21c538153d3ce387e80085dcc9bbbd7758b5cd13158dfd3b00204d41d76b531ae009450c4fa3f176db342266cf162ecd0ac7aa25703bd8ab59580020bb8257b1a40567fce6943ddf4908a60866149d4fb73009405b01fd3df4e0a25b00205d12155525bf4500a5fbb5e6e48c99fa74f00a5f6d4e1cc5401363f2ceeced1f0020e3472c8ec597ee37ad11a0263de0c2d6d30265692a8d12958a89119badcf4950002081d168bd5fbde724084ba6a1d9dc804e64c4d7e94f17e009cefea0c101a2700f00204c47a1183becf37cabd7bb75715436938e27db96cb8064780a477252b7d0606500203ec8252db795eea7c8dd3a79de579d8184a045835e1b392c538f3a664a328f520020aca3dc2c358061478146a7b530ffae1c923e79a99dc17bf0acb4bf2c35b667020020c313b2e07ed84ec5905720ac3f4c30ed57291a16368e67c9c0efca4b38f3b25b002080a341d9fc4b77db3f02e6e88f777f066b9501556b22849f2b4320b6ce0b34690020cc76f3cb4b4661f35603b6881e22e3f5a93a47193607d3d9fabefecb3fe4e15300207033203ad32b5b32a1d3e8087c6b9bd96893e1db78c9b2c41fac5f749581236100203ec35e3648991cee7af8d81dc7fc9d768265dea6d3be47e5149d68bd38c3cc2a0100000000000000a8beb858a08898867fa7917c45f4ff6c5c67cb590dc654204330b0b69cc647ef1fd7c86706f5817aa718cd1cfad03233bcd64a7789fd9422d3b17af6823a7e6ac600e1f50500000000e021c009e85e4f94c1a732f27571ca7f947622120672cd2e2dfeeef24061c00600000000000000000000000000000000000000000000000000000000000000001c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b100000000000000000000000000000000019b090000
$ tsc -b
$ cross-env OCLIF_TS_NODE=0 IRONFISH_DEBUG=1 node --expose-gc --inspect=:0 --inspect-publish-uid=http --enable-source-maps bin/run wallet:post -d /Users/austino/.ironfish-simulator/node-e050 --no-broadcast 00e1f505000000000100000000000000a81c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b1d7c86706f5817aa718cd1cfad03233bcd64a7789fd9422d3b17af6823a7e6ac60094357700000000a2b108485890d437f63b03ce45079aef933df7d2ed3ba825e10cfa492a552e0700000000000000000000000000000000000000000000000000000000000000001c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b1ac0900000000000020d8fdebc7d9373270b821cdf0ce281bd21d16d7e9837150df9db5e242ec7e6250200000000000000000200dda3ccfb94d8ba337c0149bf9ff07b147523844b8c36efa20db2044a44e421d0020ed020212130e7b1c0d0e9ceba7d5570031b5b851a5bc9045d1a45f5214e8a96d012036d7aa752b8004ddee221853c635a4741171ee332e57c6e4207e6ad01b06f526002073ee9d2ad5090df5d0f88825c7abe69386fbbfaf5c904f12eaf32b579e37705e0120eebaff41f7fcffb453602a45c64267ff503bde463a71c12e16bb2d31e14e745a0020f0f891f24b92f9fdd9c8a2c34ee35fb57d40525cd6c72abb8a3db6e6cba53207002048e06aa719f818347dc524cb056b36ea0234c2c3f0cfabbe2624de181b0212640020e42c255b248c9d2acd3bf59596187255c0e876dbc170004a772de6d4992f6d5e002055b07df0b27869dd2adb1f020e8734b139091dc0d5efe8c889f4a772144d02660020e0d2676f964a66becb3bc4b5f9ba9b6ffef5640ab44f40dfa1c5110b5c8feb2f0020e9b97793da4d7379bff2bcbc500e5bfb5f7a4ae30ef725a92220ebeaab55d0730020d843ae95bae2ab36981b9e08ad98f52fd039fcd878a2d71ee64ae4c3833d90500020c535174356d1faea734fd856b063a6afb24015e932164017e6cdbd9892f5fd390020def7ed4df63093599f71db157bd3820e5e5f01fd01cfef17f2f78b637fc69f2000205b751d4fb34dd37aa4df90a239091eaa04c1a4a443c46923c27eab9391f9d85e0020db00a586ebf09b64e28f1a874c76781fab69dab8280d76af530e30a0e06c5a3d002050acd10fb800258571f0d3fcb66c26b0ed0f9c7634417e0d4e3a0c9d85bc581d00202a9f15fbdfcfc0dda00ded04ba1b9d09ccf1e820d04916d37690c4d50b4ead2b0020c7de238b1430fbee21c538153d3ce387e80085dcc9bbbd7758b5cd13158dfd3b00204d41d76b531ae009450c4fa3f176db342266cf162ecd0ac7aa25703bd8ab59580020bb8257b1a40567fce6943ddf4908a60866149d4fb73009405b01fd3df4e0a25b00205d12155525bf4500a5fbb5e6e48c99fa74f00a5f6d4e1cc5401363f2ceeced1f0020e3472c8ec597ee37ad11a0263de0c2d6d30265692a8d12958a89119badcf4950002081d168bd5fbde724084ba6a1d9dc804e64c4d7e94f17e009cefea0c101a2700f00204c47a1183becf37cabd7bb75715436938e27db96cb8064780a477252b7d0606500203ec8252db795eea7c8dd3a79de579d8184a045835e1b392c538f3a664a328f520020aca3dc2c358061478146a7b530ffae1c923e79a99dc17bf0acb4bf2c35b667020020c313b2e07ed84ec5905720ac3f4c30ed57291a16368e67c9c0efca4b38f3b25b002080a341d9fc4b77db3f02e6e88f777f066b9501556b22849f2b4320b6ce0b34690020cc76f3cb4b4661f35603b6881e22e3f5a93a47193607d3d9fabefecb3fe4e15300207033203ad32b5b32a1d3e8087c6b9bd96893e1db78c9b2c41fac5f749581236100203ec35e3648991cee7af8d81dc7fc9d768265dea6d3be47e5149d68bd38c3cc2a0100000000000000a8beb858a08898867fa7917c45f4ff6c5c67cb590dc654204330b0b69cc647ef1fd7c86706f5817aa718cd1cfad03233bcd64a7789fd9422d3b17af6823a7e6ac600e1f50500000000e021c009e85e4f94c1a732f27571ca7f947622120672cd2e2dfeeef24061c00600000000000000000000000000000000000000000000000000000000000000001c24053d5315e9104f1c450b747ee560726e9f19dc8de9d800770c0f723da7b100000000000000000000000000000000019b090000
You are about to post a transaction that sends $IRON 1.00000000, with 0 mints and 0 burns with a fee $IRON 1.00000000 using account default
Do you want to post this (Y/N)?: Y
Posting the transaction... done
Posted transaction with hash 8af315c0b3b0f9288a0a9c5cef2ffe7a431ec040ee72c0894212b0d5e4302b22

01010000000000000002000000000000000000000000000000000000000000000000e1f505000000009b090000d0e613716aa55f19c2e86e72aac370cced9b97434caa51e9bab8b6715d935800926dbfd11328ac1e2ce524e5c7a47bff723e46c64e53db121736400a1db9800cb2afe27a2d9ceaba351444155511ed5088e90c9d9f80d73672455bad34a4535f116fe7bb7ab976a26e63e7f6111e230543cc00e2284d780a3f0002f0d7433a531084aa83982ba876844ff2d7cca06478cb1847a8ccaee6f80069e72ccdf081de3689df839dab62cb39427745472ade18a040eafcdd00a66b2fa8704ecf03bf76ab914e640104f31fc138018009440e28084e584d33207218f5a180dc404221ffe3102e6edcef461dc53a96240abe6b0fe8042bedd3d3cf7796a4bceca3b7ee4ed8fdebc7d9373270b821cdf0ce281bd21d16d7e9837150df9db5e242ec7e6250ac0900002ab8528e6d2bb0790f96628673441ad59485eb39361df9ab80cb35890bcf5451f919a722d81879b8cc51b7c4f0340e65c3ae9722619ac0e63949e0e87abd33e21f455617108e0f2d3d29519f40d40331cb524b202267be0ef8423021850f7c0e81a8309ff3a304a3024e7c5788cb5d324aeb3ac5473313ba941cdc8e494f5912d25f701da9adabbb3f8711ff2372790da2fc42182d8f9b57a8186a18ee6922b25636c7a6cb25abfc13511f153dd1102f49c3990ea87446df6fe7b8e100557a0a1636841163bfd82a8b2ec546c461ff2e8919042d425c78725d3031dbcf4321f8cfd9a0fe1b6fe1a5f4797d468cd14fa792f7b304ae32b29a2d72de7f8a8a3d364f961e953d35fca870c06a11b674aa7402a096f4783e09c0c5ad780ae8c9d581a4da61d308f9c91d6c0171e4199245de6a10e390289af244abc85cfcc972d157e8d11a401ac0e03e12f77c654573de35085f016169b2d0b920595521ceb11553c0de623ca40b3815e1c1477309cb8be01cade04d1e32ea2c100a125a07479625fcfed8ce65647e5787abf131966d89166aa5c98b8c38db7be4a222170652adfa64a2ee144131080e087bf55036e992ef622a4a70db63dc143a9308668814470e1187944092300f519c4b7e128a1843a2bd369a826d457dbc1f0e7d9b1b444c1b806f22289e7535d1ae89bb2fa49f9cba0541b57a4135414e77c16607d688e8f15595c1e6ff710ab7a730fc1bfa5195c510d31b5296c04c0c656ba835fe52d2643611d200839b13520c269305a4fd08e8cb37970f389ffd0a2a36dfee6822994da015b387979c041c1aaeb1baa142ac7c713480f0a5ed54165db37ca8c73966a066c528440f5f5251a4c0c718d12766c0852dd4f504d2547ad9ebb984f9fbb1f1b235f7f7667218afc37c5dda5a16aff912a9458977a1ba4d95aca578205322581e6ee411ada15e43e7f423b3436e987c0d03a1859c6149f8ca3606146eb36b7a5ff7e07a7172c48d07b9be2d4ba7f60127c0535343cff76673609df0887fe0f9e105144ffc1eaaa337080a8ef5763bcf5afd1d19a09b47598206df7e3209f691eb6087bdf41991cda9ec8d8c21380d88fdda32dfd5c565c42412802d308c052daa13894e3af1e8cc463e0b925ffdc781072bd6c2a0216448f7808ff3dfacc6d9d444b5049fc80323b6fb2e0c6ecfeb079fa977b78a2ad6b2aaae5ea8046b61f3a2b0e9cebddee614692299a93e4956e2026931d7ec241243959eb81bfb20aa04510534538ff642ee617acda69af533b69f5e22bf8ec95731e82e18e8264a4b1f1712790bfb4e3b7d59d68ebd300f40075619b8e5b55a95bdb6fcf8460463ec8fb6769e9a5ad3a905047d1b6b3ee51c80da0ca23c0c072b8d872b5f07b98227076bcc250ebb468cfc08b5aa694e48bb4ab43fc5649714d8fa6991f6691a7ca4005d8fb8058a49d4621b011d5bad12282a3ab60de068bf9445767cae7d17fe19c9cb9ec59cc94570ce6b87be83bbb9f131a615fda5679b4886b5619a7da64e66348c4dd73718918cc40a5225e92ebc1c98a0c7605f8a30d39902625ebf35e8c5279680c4d71092a7223e91a94a544071f006f224f19e73270ee1f950a256b8a0a9c9e67b4f5d938c61259f0a42b46509d7ad95decdbf51640d3432865a215b8e1dec6e765d693257b5045f12cbe664d008

Run "ironfish wallet:transaction:add" to add the transaction to your wallet
✨  Done in 5.02s.
  1. Broadcast transaction
➜  ironfish git:(holahula/feat/chain-broadcast-rpc) ✗ fish chain:broadcast -d ~/.ironfish-simulator/node-e050 01010000000000000002000000000000000000000000000000000000000000000000e1f505000000009b090000d0e613716aa55f19c2e86e72aac370cced9b97434caa51e9bab8b6715d935800926dbfd11328ac1e2ce524e5c7a47bff723e46c64e53db121736400a1db9800cb2afe27a2d9ceaba351444155511ed5088e90c9d9f80d73672455bad34a4535f116fe7bb7ab976a26e63e7f6111e230543cc00e2284d780a3f0002f0d7433a531084aa83982ba876844ff2d7cca06478cb1847a8ccaee6f80069e72ccdf081de3689df839dab62cb39427745472ade18a040eafcdd00a66b2fa8704ecf03bf76ab914e640104f31fc138018009440e28084e584d33207218f5a180dc404221ffe3102e6edcef461dc53a96240abe6b0fe8042bedd3d3cf7796a4bceca3b7ee4ed8fdebc7d9373270b821cdf0ce281bd21d16d7e9837150df9db5e242ec7e6250ac0900002ab8528e6d2bb0790f96628673441ad59485eb39361df9ab80cb35890bcf5451f919a722d81879b8cc51b7c4f0340e65c3ae9722619ac0e63949e0e87abd33e21f455617108e0f2d3d29519f40d40331cb524b202267be0ef8423021850f7c0e81a8309ff3a304a3024e7c5788cb5d324aeb3ac5473313ba941cdc8e494f5912d25f701da9adabbb3f8711ff2372790da2fc42182d8f9b57a8186a18ee6922b25636c7a6cb25abfc13511f153dd1102f49c3990ea87446df6fe7b8e100557a0a1636841163bfd82a8b2ec546c461ff2e8919042d425c78725d3031dbcf4321f8cfd9a0fe1b6fe1a5f4797d468cd14fa792f7b304ae32b29a2d72de7f8a8a3d364f961e953d35fca870c06a11b674aa7402a096f4783e09c0c5ad780ae8c9d581a4da61d308f9c91d6c0171e4199245de6a10e390289af244abc85cfcc972d157e8d11a401ac0e03e12f77c654573de35085f016169b2d0b920595521ceb11553c0de623ca40b3815e1c1477309cb8be01cade04d1e32ea2c100a125a07479625fcfed8ce65647e5787abf131966d89166aa5c98b8c38db7be4a222170652adfa64a2ee144131080e087bf55036e992ef622a4a70db63dc143a9308668814470e1187944092300f519c4b7e128a1843a2bd369a826d457dbc1f0e7d9b1b444c1b806f22289e7535d1ae89bb2fa49f9cba0541b57a4135414e77c16607d688e8f15595c1e6ff710ab7a730fc1bfa5195c510d31b5296c04c0c656ba835fe52d2643611d200839b13520c269305a4fd08e8cb37970f389ffd0a2a36dfee6822994da015b387979c041c1aaeb1baa142ac7c713480f0a5ed54165db37ca8c73966a066c528440f5f5251a4c0c718d12766c0852dd4f504d2547ad9ebb984f9fbb1f1b235f7f7667218afc37c5dda5a16aff912a9458977a1ba4d95aca578205322581e6ee411ada15e43e7f423b3436e987c0d03a1859c6149f8ca3606146eb36b7a5ff7e07a7172c48d07b9be2d4ba7f60127c0535343cff76673609df0887fe0f9e105144ffc1eaaa337080a8ef5763bcf5afd1d19a09b47598206df7e3209f691eb6087bdf41991cda9ec8d8c21380d88fdda32dfd5c565c42412802d308c052daa13894e3af1e8cc463e0b925ffdc781072bd6c2a0216448f7808ff3dfacc6d9d444b5049fc80323b6fb2e0c6ecfeb079fa977b78a2ad6b2aaae5ea8046b61f3a2b0e9cebddee614692299a93e4956e2026931d7ec241243959eb81bfb20aa04510534538ff642ee617acda69af533b69f5e22bf8ec95731e82e18e8264a4b1f1712790bfb4e3b7d59d68ebd300f40075619b8e5b55a95bdb6fcf8460463ec8fb6769e9a5ad3a905047d1b6b3ee51c80da0ca23c0c072b8d872b5f07b98227076bcc250ebb468cfc08b5aa694e48bb4ab43fc5649714d8fa6991f6691a7ca4005d8fb8058a49d4621b011d5bad12282a3ab60de068bf9445767cae7d17fe19c9cb9ec59cc94570ce6b87be83bbb9f131a615fda5679b4886b5619a7da64e66348c4dd73718918cc40a5225e92ebc1c98a0c7605f8a30d39902625ebf35e8c5279680c4d71092a7223e91a94a544071f006f224f19e73270ee1f950a256b8a0a9c9e67b4f5d938c61259f0a42b46509d7ad95decdbf51640d3432865a215b8e1dec6e765d693257b5045f12cbe664d008
yarn run v1.22.19
$ yarn build && yarn start:js chain:broadcast -d /Users/austino/.ironfish-simulator/node-e050 01010000000000000002000000000000000000000000000000000000000000000000e1f505000000009b090000d0e613716aa55f19c2e86e72aac370cced9b97434caa51e9bab8b6715d935800926dbfd11328ac1e2ce524e5c7a47bff723e46c64e53db121736400a1db9800cb2afe27a2d9ceaba351444155511ed5088e90c9d9f80d73672455bad34a4535f116fe7bb7ab976a26e63e7f6111e230543cc00e2284d780a3f0002f0d7433a531084aa83982ba876844ff2d7cca06478cb1847a8ccaee6f80069e72ccdf081de3689df839dab62cb39427745472ade18a040eafcdd00a66b2fa8704ecf03bf76ab914e640104f31fc138018009440e28084e584d33207218f5a180dc404221ffe3102e6edcef461dc53a96240abe6b0fe8042bedd3d3cf7796a4bceca3b7ee4ed8fdebc7d9373270b821cdf0ce281bd21d16d7e9837150df9db5e242ec7e6250ac0900002ab8528e6d2bb0790f96628673441ad59485eb39361df9ab80cb35890bcf5451f919a722d81879b8cc51b7c4f0340e65c3ae9722619ac0e63949e0e87abd33e21f455617108e0f2d3d29519f40d40331cb524b202267be0ef8423021850f7c0e81a8309ff3a304a3024e7c5788cb5d324aeb3ac5473313ba941cdc8e494f5912d25f701da9adabbb3f8711ff2372790da2fc42182d8f9b57a8186a18ee6922b25636c7a6cb25abfc13511f153dd1102f49c3990ea87446df6fe7b8e100557a0a1636841163bfd82a8b2ec546c461ff2e8919042d425c78725d3031dbcf4321f8cfd9a0fe1b6fe1a5f4797d468cd14fa792f7b304ae32b29a2d72de7f8a8a3d364f961e953d35fca870c06a11b674aa7402a096f4783e09c0c5ad780ae8c9d581a4da61d308f9c91d6c0171e4199245de6a10e390289af244abc85cfcc972d157e8d11a401ac0e03e12f77c654573de35085f016169b2d0b920595521ceb11553c0de623ca40b3815e1c1477309cb8be01cade04d1e32ea2c100a125a07479625fcfed8ce65647e5787abf131966d89166aa5c98b8c38db7be4a222170652adfa64a2ee144131080e087bf55036e992ef622a4a70db63dc143a9308668814470e1187944092300f519c4b7e128a1843a2bd369a826d457dbc1f0e7d9b1b444c1b806f22289e7535d1ae89bb2fa49f9cba0541b57a4135414e77c16607d688e8f15595c1e6ff710ab7a730fc1bfa5195c510d31b5296c04c0c656ba835fe52d2643611d200839b13520c269305a4fd08e8cb37970f389ffd0a2a36dfee6822994da015b387979c041c1aaeb1baa142ac7c713480f0a5ed54165db37ca8c73966a066c528440f5f5251a4c0c718d12766c0852dd4f504d2547ad9ebb984f9fbb1f1b235f7f7667218afc37c5dda5a16aff912a9458977a1ba4d95aca578205322581e6ee411ada15e43e7f423b3436e987c0d03a1859c6149f8ca3606146eb36b7a5ff7e07a7172c48d07b9be2d4ba7f60127c0535343cff76673609df0887fe0f9e105144ffc1eaaa337080a8ef5763bcf5afd1d19a09b47598206df7e3209f691eb6087bdf41991cda9ec8d8c21380d88fdda32dfd5c565c42412802d308c052daa13894e3af1e8cc463e0b925ffdc781072bd6c2a0216448f7808ff3dfacc6d9d444b5049fc80323b6fb2e0c6ecfeb079fa977b78a2ad6b2aaae5ea8046b61f3a2b0e9cebddee614692299a93e4956e2026931d7ec241243959eb81bfb20aa04510534538ff642ee617acda69af533b69f5e22bf8ec95731e82e18e8264a4b1f1712790bfb4e3b7d59d68ebd300f40075619b8e5b55a95bdb6fcf8460463ec8fb6769e9a5ad3a905047d1b6b3ee51c80da0ca23c0c072b8d872b5f07b98227076bcc250ebb468cfc08b5aa694e48bb4ab43fc5649714d8fa6991f6691a7ca4005d8fb8058a49d4621b011d5bad12282a3ab60de068bf9445767cae7d17fe19c9cb9ec59cc94570ce6b87be83bbb9f131a615fda5679b4886b5619a7da64e66348c4dd73718918cc40a5225e92ebc1c98a0c7605f8a30d39902625ebf35e8c5279680c4d71092a7223e91a94a544071f006f224f19e73270ee1f950a256b8a0a9c9e67b4f5d938c61259f0a42b46509d7ad95decdbf51640d3432865a215b8e1dec6e765d693257b5045f12cbe664d008
$ tsc -b
$ cross-env OCLIF_TS_NODE=0 IRONFISH_DEBUG=1 node --expose-gc --inspect=:0 --inspect-publish-uid=http --enable-source-maps bin/run chain:broadcast -d /Users/austino/.ironfish-simulator/node-e050 01010000000000000002000000000000000000000000000000000000000000000000e1f505000000009b090000d0e613716aa55f19c2e86e72aac370cced9b97434caa51e9bab8b6715d935800926dbfd11328ac1e2ce524e5c7a47bff723e46c64e53db121736400a1db9800cb2afe27a2d9ceaba351444155511ed5088e90c9d9f80d73672455bad34a4535f116fe7bb7ab976a26e63e7f6111e230543cc00e2284d780a3f0002f0d7433a531084aa83982ba876844ff2d7cca06478cb1847a8ccaee6f80069e72ccdf081de3689df839dab62cb39427745472ade18a040eafcdd00a66b2fa8704ecf03bf76ab914e640104f31fc138018009440e28084e584d33207218f5a180dc404221ffe3102e6edcef461dc53a96240abe6b0fe8042bedd3d3cf7796a4bceca3b7ee4ed8fdebc7d9373270b821cdf0ce281bd21d16d7e9837150df9db5e242ec7e6250ac0900002ab8528e6d2bb0790f96628673441ad59485eb39361df9ab80cb35890bcf5451f919a722d81879b8cc51b7c4f0340e65c3ae9722619ac0e63949e0e87abd33e21f455617108e0f2d3d29519f40d40331cb524b202267be0ef8423021850f7c0e81a8309ff3a304a3024e7c5788cb5d324aeb3ac5473313ba941cdc8e494f5912d25f701da9adabbb3f8711ff2372790da2fc42182d8f9b57a8186a18ee6922b25636c7a6cb25abfc13511f153dd1102f49c3990ea87446df6fe7b8e100557a0a1636841163bfd82a8b2ec546c461ff2e8919042d425c78725d3031dbcf4321f8cfd9a0fe1b6fe1a5f4797d468cd14fa792f7b304ae32b29a2d72de7f8a8a3d364f961e953d35fca870c06a11b674aa7402a096f4783e09c0c5ad780ae8c9d581a4da61d308f9c91d6c0171e4199245de6a10e390289af244abc85cfcc972d157e8d11a401ac0e03e12f77c654573de35085f016169b2d0b920595521ceb11553c0de623ca40b3815e1c1477309cb8be01cade04d1e32ea2c100a125a07479625fcfed8ce65647e5787abf131966d89166aa5c98b8c38db7be4a222170652adfa64a2ee144131080e087bf55036e992ef622a4a70db63dc143a9308668814470e1187944092300f519c4b7e128a1843a2bd369a826d457dbc1f0e7d9b1b444c1b806f22289e7535d1ae89bb2fa49f9cba0541b57a4135414e77c16607d688e8f15595c1e6ff710ab7a730fc1bfa5195c510d31b5296c04c0c656ba835fe52d2643611d200839b13520c269305a4fd08e8cb37970f389ffd0a2a36dfee6822994da015b387979c041c1aaeb1baa142ac7c713480f0a5ed54165db37ca8c73966a066c528440f5f5251a4c0c718d12766c0852dd4f504d2547ad9ebb984f9fbb1f1b235f7f7667218afc37c5dda5a16aff912a9458977a1ba4d95aca578205322581e6ee411ada15e43e7f423b3436e987c0d03a1859c6149f8ca3606146eb36b7a5ff7e07a7172c48d07b9be2d4ba7f60127c0535343cff76673609df0887fe0f9e105144ffc1eaaa337080a8ef5763bcf5afd1d19a09b47598206df7e3209f691eb6087bdf41991cda9ec8d8c21380d88fdda32dfd5c565c42412802d308c052daa13894e3af1e8cc463e0b925ffdc781072bd6c2a0216448f7808ff3dfacc6d9d444b5049fc80323b6fb2e0c6ecfeb079fa977b78a2ad6b2aaae5ea8046b61f3a2b0e9cebddee614692299a93e4956e2026931d7ec241243959eb81bfb20aa04510534538ff642ee617acda69af533b69f5e22bf8ec95731e82e18e8264a4b1f1712790bfb4e3b7d59d68ebd300f40075619b8e5b55a95bdb6fcf8460463ec8fb6769e9a5ad3a905047d1b6b3ee51c80da0ca23c0c072b8d872b5f07b98227076bcc250ebb468cfc08b5aa694e48bb4ab43fc5649714d8fa6991f6691a7ca4005d8fb8058a49d4621b011d5bad12282a3ab60de068bf9445767cae7d17fe19c9cb9ec59cc94570ce6b87be83bbb9f131a615fda5679b4886b5619a7da64e66348c4dd73718918cc40a5225e92ebc1c98a0c7605f8a30d39902625ebf35e8c5279680c4d71092a7223e91a94a544071f006f224f19e73270ee1f950a256b8a0a9c9e67b4f5d938c61259f0a42b46509d7ad95decdbf51640d3432865a215b8e1dec6e765d693257b5045f12cbe664d008
Broadcasting transaction... done
Transaction broadcasted: 8af315c0b3b0f9288a0a9c5cef2ffe7a431ec040ee72c0894212b0d5e4302b22
✨  Done in 1.44s.

Documentation

Does this change require any updates to the Iron Fish Docs (ex. the RPC API
Reference
)? If yes, link a
related documentation pull request for the website.

[X ] Yes

iron-fish/website#357

Breaking Change

Is this a breaking change? If yes, add notes below on why this is breaking and
what additional work is required, if any.

[ ] Yes
[X] No

@holahula holahula changed the title feature(ironfish): add rpc route for broadcasting txns feature(ironfish): Add RPC route for chain:broadcast Apr 4, 2023
@holahula holahula changed the title feature(ironfish): Add RPC route for chain:broadcast [wip] feature(ironfish): Add RPC route for chain:broadcast Apr 5, 2023
@holahula holahula force-pushed the holahula/feat/chain-broadcast-rpc branch 3 times, most recently from 303d99e to d89d5ef Compare April 5, 2023 18:41
@holahula holahula changed the title [wip] feature(ironfish): Add RPC route for chain:broadcast feature(ironfish): Add RPC route for chain:broadcast Apr 5, 2023
@holahula holahula marked this pull request as ready for review April 5, 2023 19:34
@holahula holahula requested a review from a team as a code owner April 5, 2023 19:34
Copy link
Contributor

@hughy hughy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small comment on error handling in the CLI command, but this looks great!

ironfish-cli/src/commands/chain/broadcast.ts Outdated Show resolved Hide resolved
@holahula holahula force-pushed the holahula/feat/chain-broadcast-rpc branch from a844686 to 911d467 Compare April 6, 2023 15:08
@holahula
Copy link
Contributor Author

holahula commented Apr 6, 2023

@hughy @NullSoldier all pr comments have been addressed

Copy link
Contributor

@hughy hughy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@dguenther dguenther merged commit 5e85790 into staging Apr 10, 2023
@dguenther dguenther deleted the holahula/feat/chain-broadcast-rpc branch April 10, 2023 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants