From 54a4f3f17f13e1f12b62232c8a6ca14df9c332c8 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Thu, 11 Oct 2018 08:27:28 -0700 Subject: [PATCH 01/40] Fix ExtendedJsonRpcApi (#662) * Update ExtendedJsonRpcApi.py - add fix provided by @localhuman so original methods are returned as well as extended methods --- CHANGELOG.rst | 1 + neo/api/JSONRPC/ExtendedJsonRpcApi.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 74d74cd9b..c30c7afd0 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -9,6 +9,7 @@ All notable changes to this project are documented in this file. - Fix return types of ``claimGas`` function. - Update compiler version ``v0.5.4`` - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address +- Fix ``ExtendedJsonRpcApi`` [0.8.1] 2018-10-06 ------------------ diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index 6f5f8db08..123a15161 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -58,4 +58,4 @@ def json_rpc_method_handler(self, method, params): else: raise JsonRpcError(-400, "Access denied.") - super(ExtendedJsonRpcApi, self).json_rpc_method_handler(method, params) + return super(ExtendedJsonRpcApi, self).json_rpc_method_handler(method, params) From 0f96dc31b48f4f2d6db2157118f593e28266995a Mon Sep 17 00:00:00 2001 From: Erik van den Brink Date: Fri, 12 Oct 2018 20:16:27 +0200 Subject: [PATCH 02/40] Mute expected test stacktrace and clearly identify why an exception is thrown. (#663) --- .../Commands/tests/test_send_command.py | 40 ++++++------------- 1 file changed, 12 insertions(+), 28 deletions(-) diff --git a/neo/Prompt/Commands/tests/test_send_command.py b/neo/Prompt/Commands/tests/test_send_command.py index 6c6bf0906..15ebddb69 100644 --- a/neo/Prompt/Commands/tests/test_send_command.py +++ b/neo/Prompt/Commands/tests/test_send_command.py @@ -8,13 +8,13 @@ from neo.Prompt.Utils import get_tx_attr_from_args from neo.Prompt.Commands import Send import shutil +from mock import MagicMock import json from mock import patch class UserWalletTestCase(WalletFixtureTestCase): - wallet_1_script_hash = UInt160(data=b'\x1c\xc9\xc0\\\xef\xff\xe6\xcd\xd7\xb1\x82\x81j\x91R\xec!\x8d.\xc0') wallet_1_addr = 'AJQ6FoaSXDFzA6wLnyZ1nFN7SGSN2oNTc3' @@ -41,7 +41,6 @@ def GetWallet1(cls, recreate=False): def test_send_neo(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) args = ['neo', self.watch_addr_str, '50'] @@ -52,7 +51,6 @@ def test_send_neo(self): def test_send_gas_mimic_prompt(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) args = ['gas', self.watch_addr_str, '5'] res = False @@ -65,7 +63,6 @@ def test_send_gas_mimic_prompt(self): def test_send_with_fee_and_from_addr(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) args = ['neo', self.watch_addr_str, '1', '--from-addr=AJQ6FoaSXDFzA6wLnyZ1nFN7SGSN2oNTc3', '--fee=0.005'] @@ -120,7 +117,7 @@ def test_send_bad_address_from(self): wallet = self.GetWallet1(recreate=True) address_from = '--from-addr=AJQ6FoaSXDFzA6wLnyZ1nFN7SGSN2oNTc' # address_from is too short causing ToScriptHash to fail - args = ['neo', self.watch_addr_str, '12', address_from] + args = ['neo', self.watch_addr_str, '12', address_from] framework = construct_send_basic(wallet, args) @@ -195,7 +192,6 @@ def test_send_token_bad(self): def test_send_token_ok(self): with patch('neo.Prompt.Commands.Tokens.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) token_hash = '31730cc9a1844891a3bafd1aa929a4142860d8d3' @@ -219,7 +215,6 @@ def test_insufficient_funds(self): def test_bad_password(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=['blah']): - wallet = self.GetWallet1(recreate=True) args = ['neo', self.watch_addr_str, '50'] @@ -231,7 +226,6 @@ def test_bad_password(self): @patch.object(Send, 'gather_signatures') def test_owners(self, mock): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) args = ['gas', self.wallet_1_addr, '2', "--owners=['AXjaFSP23Jkbe6Pk9pPGT6NBDs1HVdqaXK','APRgMZHZubii29UXF9uFa6sohrsYupNAvx']"] @@ -243,7 +237,6 @@ def test_owners(self, mock): def test_attributes(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) args = ['gas', self.watch_addr_str, '2', '--tx-attr={"usage":241,"data":"This is a remark"}'] @@ -255,7 +248,6 @@ def test_attributes(self): def test_multiple_attributes(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) args = ['gas', self.watch_addr_str, '2', '--tx-attr=[{"usage":241,"data":"This is a remark"},{"usage":242,"data":"This is a remark 2"}]'] @@ -267,7 +259,6 @@ def test_multiple_attributes(self): def test_bad_attributes(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) args = ['gas', self.watch_addr_str, '2', '--tx-attr=[{"usa:241"data":his is a remark"}]'] @@ -293,7 +284,6 @@ def test_utilst_bad_type(self): args = ["--tx-attr=bytearray(b'\x00\x00')"] with self.assertRaises(Exception) as context: - args, txattr = get_tx_attr_from_args(args) self.assertTrue('could not convert object' in context.exception) self.assertEqual(len(args), 0) @@ -302,7 +292,6 @@ def test_utilst_bad_type(self): def test_fails_to_sign_tx(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): with patch('neo.Wallets.Wallet.Wallet.Sign', return_value=False): - wallet = self.GetWallet1(recreate=True) args = ['gas', self.watch_addr_str, '2'] @@ -314,7 +303,6 @@ def test_fails_to_sign_tx(self): def test_fails_to_relay_tx(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=[UserWalletTestCase.wallet_1_pass()]): with patch('neo.Prompt.Commands.Send.NodeLeader.Relay', return_value=False): - wallet = self.GetWallet1(recreate=True) args = ['gas', self.watch_addr_str, '2'] @@ -323,13 +311,19 @@ def test_fails_to_relay_tx(self): self.assertFalse(res) - def test_could_not_send(self): + @patch('neo.Prompt.Commands.Send.traceback') + def test_could_not_send(self, mocked_tracback_module): + # mocking traceback module to avoid stacktrace printing during test run wallet = self.GetWallet1(recreate=True) args = ['gas', self.watch_addr_str, '2'] contract_tx, scripthash_from, fee, owners, user_tx_attributes = construct_send_basic(wallet, args) - res = process_transaction(wallet, contract_tx, scripthash_from, fee, owners, user_tx_attributes) # forces the 'try:' to fail + scripthash_change = scripthash_from + # mocking wallet to trigger the exception + wallet = MagicMock() + wallet.MakeTransaction.side_effect = Exception + res = process_transaction(wallet, contract_tx, scripthash_from, scripthash_change, fee, owners, user_tx_attributes) # forces the 'try:' to fail self.assertFalse(res) @@ -356,7 +350,6 @@ def test_sendmany_good_simple(self): def test_sendmany_good_complex(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", "AXjaFSP23Jkbe6Pk9pPGT6NBDs1HVdqaXK", "1", "gas", "AXjaFSP23Jkbe6Pk9pPGT6NBDs1HVdqaXK", "1", UserWalletTestCase.wallet_1_pass()]): - wallet = self.GetWallet1(recreate=True) args = ["2", '--from-addr=%s' % self.wallet_1_addr, '--change-addr=%s' % self.watch_addr_str, '--fee=0.005'] @@ -412,7 +405,6 @@ def test_sendmany_weird_outgoing(self): def test_sendmany_bad_assetid(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", self.watch_addr_str, "1", "blah", self.watch_addr_str, "1"]): - wallet = self.GetWallet1(recreate=True) args = ['2'] @@ -422,7 +414,6 @@ def test_sendmany_bad_assetid(self): def test_sendmany_token(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", self.watch_addr_str, "1", "NXT4", self.watch_addr_str, "32"]): - wallet = self.GetWallet1(recreate=True) token_hash = '31730cc9a1844891a3bafd1aa929a4142860d8d3' @@ -446,7 +437,6 @@ def test_sendmany_bad_address_to(self): def test_sendmany_negative_amount(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", self.watch_addr_str, "1", "gas", self.watch_addr_str, "-1"]): - wallet = self.GetWallet1(recreate=True) args = ['2'] @@ -456,7 +446,6 @@ def test_sendmany_negative_amount(self): def test_sendmany_zero_amount(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", self.watch_addr_str, "1", "gas", self.watch_addr_str, "0"]): - wallet = self.GetWallet1(recreate=True) args = ['2'] @@ -466,7 +455,6 @@ def test_sendmany_zero_amount(self): def test_sendmany_weird_amount(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", self.watch_addr_str, "1", "gas", self.watch_addr_str, "5.abc3"]): - wallet = self.GetWallet1(recreate=True) args = ['2'] @@ -476,7 +464,6 @@ def test_sendmany_weird_amount(self): def test_sendmany_bad_precision_amount(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["gas", self.watch_addr_str, "1", "neo", self.watch_addr_str, "5.01"]): - wallet = self.GetWallet1(recreate=True) args = ['2'] @@ -486,10 +473,9 @@ def test_sendmany_bad_precision_amount(self): def test_sendmany_bad_address_from(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", self.watch_addr_str, "1", "gas", self.watch_addr_str, "1"]): - wallet = self.GetWallet1(recreate=True) address_from = '--from-addr=AJQ6FoaSXDFzA6wLnyZ1nFN7SGSN2oNTc' # address_from is too short causing ToScriptHash to fail - args = ['2', address_from] + args = ['2', address_from] framework = construct_send_many(wallet, args) @@ -497,10 +483,9 @@ def test_sendmany_bad_address_from(self): def test_sendmany_bad_change_address(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", self.watch_addr_str, "1", "gas", self.watch_addr_str, "1"]): - wallet = self.GetWallet1(recreate=True) change_address = '--change-addr=AGYaEi3W6ndHPUmW7T12FFfsbQ6DWymkE' # change address is too short causing ToScriptHash to fail - args = ['2', change_address] + args = ['2', change_address] framework = construct_send_many(wallet, args) @@ -508,7 +493,6 @@ def test_sendmany_bad_change_address(self): def test_sendmany_negative_fee(self): with patch('neo.Prompt.Commands.Send.prompt', side_effect=["neo", self.watch_addr_str, "1", "gas", self.watch_addr_str, "1"]): - wallet = self.GetWallet1(recreate=True) args = ['2', '--fee=-0.005'] From 1e5b4dc3afb19d97646d7a1593914f7a4b7acbf9 Mon Sep 17 00:00:00 2001 From: dauTT <30392990+dauTT@users.noreply.github.com> Date: Fri, 12 Oct 2018 21:33:19 +0200 Subject: [PATCH 03/40] Add guideline for adding tests to the neo-privnet-unittest image (#661) * Add the option -u (unittest-net) to prompt.py * Add unittest guildeline and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package --- CHANGELOG.rst | 2 + docs/source/images/fixture-tests.PNG | Bin 0 -> 37686 bytes docs/source/tests.rst | 116 +++++++++++++++++++++++++++ fixtures/UnitTest-SM.zip | Bin 0 -> 302358 bytes neo/bin/prompt.py | 4 + neo/data/protocol.unittest-net.json | 4 +- 6 files changed, 124 insertions(+), 2 deletions(-) create mode 100644 docs/source/images/fixture-tests.PNG create mode 100644 fixtures/UnitTest-SM.zip diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c30c7afd0..6ba652b10 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -8,6 +8,8 @@ All notable changes to this project are documented in this file. - Add ExtendedJsonRpcApi, Add ``getnodestate`` RPC extended method, Add ``gettxhistory`` RPC extended method - Fix return types of ``claimGas`` function. - Update compiler version ``v0.5.4`` +- Add the option -u (unittest-net) to prompt.py +- Add fixtures guidelines and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address - Fix ``ExtendedJsonRpcApi`` diff --git a/docs/source/images/fixture-tests.PNG b/docs/source/images/fixture-tests.PNG new file mode 100644 index 0000000000000000000000000000000000000000..e6cacd12949550a416932247328f4ae7f617e73a GIT binary patch literal 37686 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 aIXV^Jb>7(`YY>6`WC>B3$Jrvf?*9Y8NqUU{ literal 0 HcmV?d00001 diff --git a/docs/source/tests.rst b/docs/source/tests.rst index 64e389100..9ad223da0 100644 --- a/docs/source/tests.rst +++ b/docs/source/tests.rst @@ -35,3 +35,119 @@ If you are adding tests or altering functionality, it might be faster to only ru .. code-block:: sh python -m unittest neo/test_settings.py + + + +Fixtures Guidelines +------------------- + +The following guideline is relevant to all the ``unit-tests`` which are depending either on ``BlockChainFixtureTestCase`` or ``WalletFixtureTestCase``. +Such tests rely on fixtures which are produced by a ``neo-python-privnet-unittest`` image. The image is currently located here: `link `_ + +- The tests which depend directly on ``BlockChainFixtureTestCase`` are generated using transactions between addresses contained in BC wallets: (``neo-test-bc.wallet``, ``neo-test2-bc.wallet``). + Occasionally we have also used, in few tests, the default address in ``neo-test-coz.wallet``. The coz wallet is special as it is the original coz privnet wallet with 100000000 NEO. + +- The tests which depend directly on ``WalletFixtureTestCase`` are generated using transactions between addresses contained in W wallets (``neo-test1-w.wallet``, ``neo-test2-w.wallet``, ``neo-test3-w.wallet``). + + A picture may help to visualize the tests BC and W: + +.. image:: images/fixture-tests.PNG + +When adding new tests to the privnet fixtures try to follow the following guidelines in order to minimize the dependencies between unit-tests: + +a) We should strive to not use directly the ``neo-test-coz.wallet`` in any tests as it is expected to be the source of NEO and GAS for other test wallet and it is natural that it will change quite a bit in due course of time. + If we create tests which involve the ``neo-test-coz.wallet``, then we should be ready to update them frequently. + This is not good from a maintenance perspective. +b) Try to re-use existing transactions on the privnet fixture for creating new tests. +c) Add new transactions to the privnet fixture only when required as this will add the risk to break existing tests. + We are aware that we have a couple of assertions related tot the blockchain‘s height and wallet‘s height. + These tests inevitably need to be updated after adding new transactions to the privnet fixtures. +d) Create your own token if you want to be sure to isolate your tests. +e) Create new wallets only if absolutely necessary. + +**The last three points c), d), e) required updating the fixtures:** + +1) Pull the lastet `neo-python-privnet-unittest `_ image: + +.. code-block:: sh + + docker pull cityofzion/neo-python-privnet-unittest:v0.0.xx + + +2) Run the image: + +.. code-block:: sh + + docker run --rm -d --name neo-privnet-unittest -p 20333-20336:20333-20336/tcp -p 30333-30336:30333-30336/tcp dautt/neo-privnet-unittest:v0.0.xx`` + +3) Clean the current ``unittest`` chain: + +.. code-block:: sh + + rm -rf ~/.neopython/Chains/unittest + rm -rf ~/.neopython/Chains/unittest_notif + +4) Activate your virtual environment: + +.. code-block:: sh + + source venv/bin/activate + +5) Start the neo node: + +.. code-block:: sh + + python prompt.py -u + +6) Use the following wallets for generating transactions: + +.. code-block:: sh + + neo-test-coz.wallet (pwd = coz) + neo-test1-bc.wallet (pwd = 1234567890) + neo-test2-bc.wallet (pwd = 1234567890) + neo-test1-w.wallet (pwd = 1234567890) + neo-test2-w.wallet (pwd = 1234567890) + neo-test3-w.wallet (pwd = 1234567890) + +(If you want to add new tests which depend directly on ``BlockchainFixtureTestCase`` then use any one of the ``-bc.wallet`` type of wallets. And if you want add new tests which depend directly on ``WalletFixtureTestCase`` then use any one of the ``-w.wallet`` type of wallets.) + +7) If you need to create a new smart contract consider to re-use the existing one in: + +.. code-block:: sh + + fixtures/UnitTest-SM.zip + +(In case the source code of the new smart contract is not present in the above zip folder, please add it.) + +8) If you have deployed a new smart contract on the ``neo-python-privnet-unittest`` image, please use the word ``test`` as prefix while defining the ``contract name``. +In that way we can easily find out all the contracts deploy on the image by running this command: + +.. code-block:: sh + + contract search test + +9) Once you are satisfied with your new unit-tests save the tests, then first restart the docker image and deploy your tests again, only then create a new image by incrementing the version number (xx+1): + +.. code-block:: sh + + docker commit neo-privnet-unittest dautt/neo-privnet-unittest:v0.0.xx+1 + +The reason for this is that we need to keep the image as small as possible. It can inadvertently happen that your image has been accumulating new blocks for days or weeks e.g. while working on implementing the new tests in phases, which unnecessarily increases the image size. +Our test fixtures are reset and extracted 20+ times in our build system so any size increase will add a delay * 20 or more. + +10) Create the fixtures by incrementing the suffix number (x+1): + +.. code-block:: sh + + notif_fixtures_vx+1.tar.gz + fixtures_vx+1.tar.gz + +11) Update the fixture name in the static class variables in the following files + +.. code-block:: sh + + neo.Utils.BlockchainFixtureTestCase.py + neo.api.REST.test_rest_api.py + +12) Create a new PR with the link to the new image and the newly created fixtures. diff --git a/fixtures/UnitTest-SM.zip b/fixtures/UnitTest-SM.zip new file mode 100644 index 0000000000000000000000000000000000000000..590b1116d81d6c8db56c6804a01ad111b5a82eb3 GIT binary patch literal 302358 zcmbrl19+uPwl*A_9UC3nPRF)w+qToOZQHhO+h!*ncJy^-&iT&F{O|c^-uK(r-cRshr*Rst9V8Q}9(046T=w=e&7fdRk=P_j02R5WsMq*jokRZ@fn09T~% z)cEg@lPfd;Ajk4o9{^08kgjq8lQjv z*EU(|ApWUM(*LzhYa<(KGXooHMf$&raukI+t0jnbAiD2qysQpu5xj!-F!j!%dw z$;yaPOVf-|k&RAFE2xl-ssNk;hdWZC@)1{7Oby8M%v4FBEOKOQ=6NIGE@-UGoQ5o}SUSpW zS-a2~$oY^_KvqWr+sbl*a!rm$BrGL<4go?r?6BSg4a;2s?b~sqWag}@PYp$nWL)^7 zB|eOB;m7$psjX&Wm!?^$c`^%eLhLoVEt z1eL#y@@bg=ogs!lX);qA8;if{)gLeb01|%*&)C7r=C{<@*i*acIU1N+=~>e_=>3+D zf6H2;ij@o&JHmU$YuKrOLII)L+Kat7)N)zpgL@gk{h_;j?#Qasmt-xE+RnhxqVBh> zT2@+K8J8b`U)C9aPH-_sPfq1GIJ4kTW-8C2UOHbAvD+veiR}K=RIR*Q7__mG(S{2d zPF#=?xqN`@oFS?fQbUO|9@2~%uPEbk6A<@cZ|sx!Mdist88mcrHSsbAJMT!yz#iPI zTlQLk3!fl%JXzZy;z0Gqc_q5MV4}2&ELqzaS9C{YoE$wu$wz>2)<^b%Z13!ytE zmE>jlT06kh@sn^K86nUu$1`o;?M&`xCnU}${e4%9J|Hl3iQe@MQ}bs9f0u;s5sgtXO{dj1-<>_*=4R1} zN5lB&!-;QJx9i7I^$Z)W2}3)CnNZaXbyB+ipkjL^2^N~8ZI9<>g9c{=Sh;t46|Ydg zCMAdfRZD~)c_HabdA6K~SRL=zew8XB;_Qa<@-bB!g9(FpecvYk88yFC7-_kDzILG} zG3@|PVs|ckQLfG-`1dah^jgSl3z=+N)xshFzWRC;N1GIC;OG?&C6NZ{uFd znOH4+2)}i)yg?zp<;{l|f&%*Go)m~6`FT%;n}VsHLz^ z8i5-j(!ih%Wx4WWA6Z)z3G7b>W>t~0H!Y#h^CZ(PrzqM4IYXWCYwb)`z|@nIm|8V$ ztC|V~`O!ktjXmSqukIqHsKy$B*_UllO`K>4R5|P2#tMGvBV|fd*M9;;6RT%1i1$)W z70aZad2j8A3XtPvg)|yfnsTp@imGrOLLyU$Z4Zn_DKqSil+GKtv7ZSo!f#WBQPsZp zl1l{ z#_JTY5Y_{ioGvyA6(D_LylWF(4F%u}j|0i}=tvyKL1FrX0Lmn#d&kI&8^jn)igkF3 zJ;!7^Zs}U2dPcc&DVZ#N6qmR;1ddhxDzN!tAY@37(3dQqjI zYiAuqNh1D4a2evf&HUDnWmZ``?y()~l)5zO(fcDJZLiGD9|l+8I{{S|X#=P0#(pyj zrM9eXYVmHFx%y@Quu6BgkIZN|*KwJPHM~ejX0;9!jd$P^8{Q#i5Jbw0*Sn`%r#C7K z>GhQQ*f4*32i!7nJMCal0jINzUWNKkpT{GcyA$7s)|!~_(-y~ayhr-GX;mBUFll5i zNJcju;a~P7Yiy!|wfrUp_pEAtcYuM#!}VW;_~ZE{F<`rUQ>r!uy|%y*Hof=3iLw*2 zY*%_TJOwQ_Y-CxLWwL<8I&!Dmv(F0@pR$fSiHfhEFi~aR~@xaS&Io=z5RHKs3bJ zP{%t1a*rUCLrK)}jDMaX-|ZfOBp25tD)L=%bBeO3(pF%EQpsIW1C&?D>&15vE zS=1Pk0OjHRx-zhE_T|`q-WhaRPzDx}e`~)<&5kmhHDq$2H>9;9C2n&>Va1I@E-NPt z`6I#Dip;BXOAzy3yc8uO3zl7AL_zKtCbjeIN}I(0nQ2g&pRS1AXf^YTsn-L`On`F4 zfG%84J2Zd4J$ZEhd-sYL56{_^)JF;0J@hA6K{8K}XusL`WaN*zS^)j4F@~+Zk*%J+ z5w(Ghm6e&}pWrJKB`V5P%Y?gcopq}u8*TgB`!U!SIE?rkx!8x~+f?pb_ zl@2cz#1kb7Pf3 z_&x*_)p;fMnv}`lR@V5w_V8tcDf@}{a!>}4#JL@hD2b?y4Ts5KH{S? ztC(SM$%Q$N{mk!HNEwD2c~KKUtg+Jn1gxI^G6HhPJgVwTDFkWtvimss)fKT zuNJLyjgwKOge49{lyaFY)XIzE4Kwa`<&!518dQ);$R9up5(tchbfxuC;)U84BC914 z6hBGR($bLB4-VdW-k9AUT5fQv<4MtW>txRLrcd4d9Gz`>Y?>Ft%zyi+5!M1ix{2Ec z`pW&L9-lrVD!z`bIO_D;Eg8>NG~Cu{I1^Ix$S-tYp2+cZq%6yL#!ihWBm&=aGD?Us zNF4=s#oA--mmtWqQ7j{iIcWq!zhQ|&bVy!!tD;~H@eCyhSHR-;=5_K+2p>X++kdXL zxBIjr#fcpV&BW#OB1y{=;Q?;FgR^Wa9SV?nrDK3_pe9p*2oWabyVf?I0V~UVDo4f0d z6Y3i7`hjO+^ERR7!CwG+d12Sqq(jRc%h4P7a{^u>vCy3W0RVhXvp=4I_`mN8{w1;e zJprlhjSP&;oQ?iNrF4=Vm+q%S;2PGUZ$b3p)fkJV5Df*sn^Pw2Bv7($i*bK+yhw~U1>X@jOfR?$3e?UoLL1wFUo5{M zHk&5;u^*Rh&cC{2!EFju09G(KhGjQL%O5I1TPpPY99Le$xT7TXmc}5@xd%L?2q&_X zTiv@KBG#5cn}wTP@5YfTmHb#g$aFZNF+(LkiW2@%Hwy`aOBv<8`+h8B(VrLUoCok| zBr*CEuLSKTMe+&yXA7Vm8IGwA_?gq&Ld1^Lq=f>D3H$ds`0q9d-OOJqwQr~FJiKvI z_G_z$fpHVz#`KWAYY2Zz5!)5#+xp2hV^LY?x9a14QX4n$lqB|BS3e2-V`_bWr;-Hz z619I?Q@!GJZ06~Z2eZ><>_jQ&l%?`-LmR{c2v?xvRUZXU4@g+QHx5i$hTIf;x>Vtm zp^)5s5n6tHpW+_I?H+-XH)@I+nnh2Bx|3?q5-4fx3Ym<&z|IiXR`7;bL9*X$n#-L< zQLj^0Y&aNg&ND0N+2z~|lL;w8kDgnc3B#9MY%bU!q)RY`Y=ikIvM23SQYT;2z0RcMeByh z_G{MfsI`wC)DO6}xEgg;`E|UkNhYvXh6jG;J zG!}6ZD8xJF492NX_E!T!y>xvg3yAbQETAo0@6qIadidzV_JfMvk9Ttq7q|8|+qcsz z^PgAys3NLYGALitFJ0yjJv-B>kK-?Bv8rn|jIm}im+k!n(wcO zR38A(y&iFPWB@QCPp(Gu#;+y3;!)2A_n$KQVV z>1}`Phb6!7{SCxdYsLT>CcsuxGtFWH;GMH34Mv_2fhW1A^cf-d4o`QFJKF{6dBegfI zIgq9pS;(~9_W?v_%$7pC&A00aq*^lB6FVk!_1e@)xicjF>w(!y87mZ=9MBL~n@kx7 zl{SgfJ-<>R*PvZ78;-KbWT7yvV?N7Pq z%%}UB<28kGFYN4_pFkWt>N!{@PEikrHY&lAuEEnvCrU!f1jVO*j)30sFT#f87_sA)m15n zknv5OHEMd5R7+>mM`!k>)`}LJXhM!CeUr&ida8}F)_sS3`<|Z!0n(rB%)W)ykH$MX=Yt`?bwkw!Sj$`tIEuTagV-yE=~@jU`F7&SRl6o za+Qh$FVt63=W;_rRMm)0aA?ZXuK)_^X~1mwZO!h+;zk)_a~q~>1seri+b&LD>mrOZ zGH@-SAm>}o?hZT)8|Wx#3G=d{(tZY3G8#-nuaT{?B1ERC9&zml3p_#+UE%hftdl;15M8tbMzT$ zDOt~#;pQB#Py7dbk}a?!c{Cny>`XS(yRhDMvdkmAOSU)s>3E|MQ2<=DLc(NbxJXwL zu7uh}RRQ&n7O<~Sr$-lcUkV;&wM&?-QkcFrhb^uxUAs5(yNU-)r7UhE7j3b7`D(D< z^}YlIxf~hGZoWdDX@Y!*Ft<*Kg)pml4Nl(jdK7=y(6ngUQ4y)Q!m7O8;Sg)Llk~W@ zvIyTKr%^BSEFOmO=Wfc5tJ=l^vGT`_wbrp(5x)60O-GaDzdmIvZtG#E3w%5x@_kH< z!gezrYLYKzhkF4%P z_{7O;p^g%Bm!v3~w28Nk>}kk>8Fo7R8It?bB_T`SN@-!_G8&hvp|lz0hvd&AzElq5 zp{e`Y(jV~H)8h~-iOgj%9C~OMa8q{!(pjUn2bls1oLUpZb_Trq3dIzx@Jjt>Zwggy zo0(A`wv~>RT9gEx0m&pfKhxqf)%mYy;)f2g}To<}FbD3kzs+LuDZWZJCcnc}ZoxM-ZF3cK2>5VDYVq$naozdcr z*L+vF`^#xR%3ZCSUvtTfun0KALwUfBKYE6w5>&WVRC2Vx6-b$1eYvnK@kJwNb-OK* zPxIorUm~h@b|2ImU{Pb{N;(7W?z+bAJ#DFThg4KHWV^|to}a*A1L-4bS5rgR*lF(Y ziyUf{k)SYOZKKUKj@ zRSTPSVbnLO_b?5i%EAiVrf^ z=%^aV_E9{ITesE&gT>>iDB5%H#gpFYyIr;x)$5D1>=sgBJtE1$}t#$^|D$Muu z%BbMD=tipoiT&`yv6o1&LdgoW`I%ke#GglTnUY$`XbKx~fQM^XQ5*H%5#lEJhtwC{ zfCv?ilj@>&`Cygq38yEZ+;wY|+!-VDeq01L3R7)SemjMa`X!eXm)Ild^P@n9lqnj) zpW%$%Mf#U|k#Up1AtTnrOYB6X<<=&h`$Umy30JsZV}iH0o3ovOi;G;eA8&{wOaL)H zC{azLXmJ(gI%cLQrG8T)dp=Wm9{N%*a&azvQi(y&>FLEO*%=O=$m{hv1#-s>FSdfj z*FA_@kH|p3r1&_|SXN%*8+;ddKOh#RTMv11ls?|~gp))*mXk@^3<;Ug7lkFeT+J&Z zgzp&#t>w@Gk2Jczk56#~+e9u5cYsg@GmewY}QxF3YoCc7tr#b$9f0N0~@%CN1;*ndAOZQE4)G;?6`gFRt}dy}uBi52JJ8Es{K z8uy{;jKkUX%?WQJT{Pr}%b9g~CG%W)=XduPhGqPb@%8k!qJRaI5C%l$U$>@lTQA*T zmVQ!yO|V!H0D6npMd$pLymJ9k18QocjCE;jNbDqyBnCdCV9DQ#pA=Bv%=7l^>c<%y z7wtsc*Vl$zRXxieWczB%uG{{jrIu}d^^Zn8p%~ul^j;u-K_xAo9-XTpyY2m>@cMDu zZ®Mc1(Ot=VZT8i4U7=P9tyHEhD6L-|*t|F}U3)uS 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%0A?Wje#9;Ac%@ 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 z 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

-?2StIO?<7bFVVYdfGKv+%?1L|aS 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

bFJk-hqj#$M>3xBr?plc6 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 z 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%0Aqq?~`2D2>YV z&7!HAPZgX?RX|y)Yn0l{?N1ooa!;~|@V9#yN$Lqs_um2VuHKDRWuR#cN^7;O_}Y#uBeWE4W>8UPsa9~!wMQ(~{f zu4WpH5*9|t&n1x*xsPX&RpFcOdEufx+2eyLaB6^Abu8gvVfE5SInX+ z`SokY=l}_o*I!%`($)b!?{u7lIhuO6A6K5OZYyks1$G+8N)3&4BJaDpv~;fHoDj&k zs&?uZj4{3pmfH{af>qeC2sLU~nBsBLg%Fv9Hx+UU>5^;hexQO^a zG!G;A05j_82i~qeai%Gjtee%( zDP>bx2*DrA1tA|=4i{MjX;v79*k@wwe*`@^A(?BM*{vXHQdv~gmK-NDAD&T22Tc9a zQ;{~n|ER0Tlnr@BkUi`!;;w053!tX2sH>!1p0)Qw`1Z*ocuyiV^zg|_a^;(c+e1qw zI^$mr0Xkh!pSG@h|71aT(C3X-@ZR0w?$nZ%p}X*0_;6%#P-w}4djfydB_0)${QIGh zhmv)k`{tmL$KrxZgfpAj{;Uj~xlp{VoyC}j9rCHFk^e;eqJJ}=Sh`PxLj^S5s7%eg90(^4Dtyotmk-mOOSPtAUzpiO6V9K!sG`Y zQW46zAbeBPmh~{%Hx@-zMY(Yk^CS~tPSI?%fLm2SAp9oXe@6f?G6kR$eIKaB+x zIPQ#WdYTY=r_mN`o>412jmHJGjJLL>RIkrXlEyC>LInv#i>3l)!=qpL(!tolyV7a7 zs(tRtaa*X0IIxgBlaNzQy;R_Oby+NAKHm<6(G`C{&VdCuh`K{_FjGaN3u_M(LN0F?DXEmSnlN!D%CR>I_5;gULSOh_CB>hq^fC>R?!f2;S`EGQ=)c@zA2?hWj>z_oQj2j~LcFGtRw`d59?|LfH zGmS;M=@FX_ z9GoAVQpod0G_7UH*pS93in5mkEpQov0({6^JGUr~zLvzlPCTsf+XQ7Tnx@!yf!q{D z8Tb$mREk9`Lrv_9-ez`rv?x9D*u*?gffOmn<9H$fTrBP2Yi%?S}E;YpoPTF}!=gOz=-N zSMU$vzBI_?z(b1Mc}(ssCStJaFq0i7b)R%}kOah}SMwj>cIGLF=ik-UM=S8}iPK!i zEJ#zUs+Wa~`_Z}g3EdF$=Ccr@SPDr!00{yHf;?|WUB{5zkkYsliV;#bw6Pa`YM*S? z?=U+0YxV&mk-6#Hy45ZIa-kVR#|Usb>}dJp8SVz`ItZddO9)wANSzH2loG?goQD-1 z;YzY$GNCVofFl=@LLRZ~xNBJzvP%jgQnA1*?F8Wz{EA7Ifm*=nWG$wHl|cXSM$S1H zod<1lh$HjmRDn!K9NvEFfX3r?AH>W+tiL&ZZvFn_ATI;RG<-+?nwo!2!2j3O{OcO* zvx4sbA)S2P)BevLF4|C?%LYuU!)a-aaGYOptb;K-76l^+q$#PYE+a-96pXDE~~swS$zQwNKmuJm4> zvv0@u^qwTOF@kH)J#Hsn(#^Ay)p;~&*iq_tv@c=Nt6_Q$X*P@TD9FM#^-m$TZugKG zmNN4jtkBbv>rr?J)wgZj+drugMx!mUu#18flb>)55Ca)E=Uu}+@_y;ukL2-hq{a)3 zD<1^MQB+DM%clD=zP1SEHFws(@OlE}N^jgJBZF{6{IH;9ICvNk=TCL}Rky}qQz9=u zk2950EH|)qIXVqD}-|mbBL3LT1^p{Ks6L8 zi_pbb;Z?sY46`w-j9WG8228%SZg=V0`Oz1I7(1s;xk!5-Lr+`Jf$uxVdwcmNAm$C$ zN!O=Ers1aEUf;4GFMN)W!2!9{nDwi;3^r5ZS6HQo+r0EUN*H*YrOE@BlNd}|X^%~g z{TWzADO1RAhR{exb-Tpln`i@1NtT+_NNE{XkPlVOQqt=~#CmN6;c8XQ9g(N+w`A$Q zSyAS#uVXaS_hvJYSbz3)YN(Fu&#@kN-f;B|*p_BOA#8OIDRq1W6?C=SW|t2>UjPCt zr`ch9yAEZRCnp2Kshw_C73!Irl#l949*#&gS(sRlXL71!#fD;*+A=}iw-_e4OneqN zN3Kte3;n0atG&k(a@R$UVVSvv_4Y1(CO(r!TSoGaxN4@eE1Ix$&m^Zbi*!h#}+Mk0#^u-he^9d}Os*!{|If zm^WR4&q_NW54D(q@RTq&iP7Yn(qz|o$p>ERoID)Tn*z-_n^8aH9~HUB*hTyC$_3ma zqfsXcmA{bskZe6<@G{l0X)3Wgj3)|OIVoI6o2TUw6Q(14-#UgQ+s5`~$Jac@(RzUG z=_AL6c*neLMAHeQ?g)&#i^(7;BA{D7g93rO((}%72<)}^Jv%Z}2yvyO7yr*N_@;4^ORTH6<#pQ~g58vZE{AYJzc*sl26MexF zy(S}g#Z0JmiOJsT^wI!iJ@geLbmjC*9vKKA?=XVLSKL7gcFp=54J0qexm_1Q1yz}izR*2h% zrxfXPrwKbOXS?FY)HPR@#A>?Bk>0au*(A=eS1cX(TpaeY%w!}~b1Ed1J^SloRB_T{ z`quX55JN~1?v3x&c|v?^^Ti0gWKEH$zXS7xAJQEbi%^ucN>4Pkj2nSZ)G0hOl@S7a>?}+kEnXK2=5#oWhLW*8m$a;1 zy6-kznBAC-(Y|>K54sz7jsE51kkl6JF#2pH{U@n!4HJ*Ljjo-zA3EoW-ila+OEJ3i zS`8z9wd&v@NSMdQv$9K-#L-`5qFEPK^Ea<26nAsG|H}zY*hSY(sG%Ss#bu+L>ZG6;MU*_;Awz=GX4k2H=-+0v@dp32+>|JgID9q ztQU2a@cQ@p+3oK%IKK2d-v>g^rkwp2<^Aj?XF8*J!=Q(u=%@t8{ZAt;%PDXPWvM^J z$d08km|MM@m!a!}FSab1KrWBWC`x+;S9sP?T(8e_Hg9Yn z>7l=NKy10K=){bolO=i!7u5ucH`oo)7*aRau#ui)!xGG@iW)1*Ms9(}&DAUzRGX4f zB`;Mdbq&U+X*LF#X@?EsXDbb&ApT3c*BA{}HKJlhOCc9iM`7!5Ufcc1KQQq0jhZ!= zi_!TD_MP@f=%^8bt$7enxuRxlp1cG*WEgn)P#?cd*JQurvU}Gote~eMLFCLM_N1Tq zp;e+rjE+_J6#^fQAX=BOMLrzQf!9V;kAae}hJF^B%mHSn83I?XLtfGaMs-56jHl)4 zT0zIG-nKPOaH<;x$SXvSzLs0x=Od^zA5~{da4~J;gJd?{2S@WP1uB~;K@k5zOudR7 zi&bB^=|8yWzeh|x-@(9G{?8DTov8!c{{SpiY3M0zaANpO*EpOG$hNDfzTE~$lc&u6 zu<}QUQ(v_D;gOKp*I!3E41Tn|9CP_k9v{1ohf#LuIS1e^AVTdPyo7&^P9b#T34(Y5 zs*RJCfyI{}3Fjy3j9ddL5`^X}XP{FHHz-UeZaGtfSdZPH@#acJ?yWcWwVnJq_!cw! ztTxeT;H@{5rnF*AjlW^@Udi~v+BnE2$heX+SxcjwScrD(N_sVF=0P(c#9L+oh3>Ab z2Nx%?%7nSAt^2M?Ac7`Gh#oyi&S`uXs)gOgu?%}$W=|03-jpgei9wBfRC8(p?-+g+~e zvTfV!vTbzPR+nwtw%+Rh?Ci|DXLjFj_N#O174+7pI()dh z+dF%|?Yg7oEUQ|`9r)UzSuTUhVdKJxF;H4PPPX|Ra=e_R6h9#pesewW1g3o5@Ah)*0)A%GmiQFl zR|}_8-9C8%1*$k5Ev49p=NyuY?aC%~nXq#oH9zkv%>r0WN|+m=^?j+{``u+>P|Y$9 ze{_rJ&PHJ#aSFLeK;d2($Y*jMvsgI2rG78QXY!a*rZBfy*C6?3dheWFIYY14AaCf> zQVeFUnM6XKQ>EBgVfrwmuJ={9Y}58c`KVl^N1HuvuLSUWXSm^JDB8{ps;l&?S`LB! z!AVYF@Bt{rPY8L^T!RI}u7)YU<4M)v7JN@0s1X)HXniPUZ{P&$6N-e57x_&rV$1>pp^LY_&5bzzaT7AP_uajURkLf4IWwdxzH>jo~D8 zloBl?Z4}v{9<~dZcw4r>WH{L-*!3;3$TX|ZqvR>3-9N1{5{S}UZV8N{O}zengoUzY zIm_x)uu>G*taP4R<$EwbcQCIY;2Y(fb$-pNEo4!BI!I4=GNz9n!Ci9E#h~~Pq!d!q zNte|?ch0CreX&H|-NWFCS*Aml-wd-T53~?WhZHuo%DdC44T4qx5>2MW08$;3b5x#e zZ0|+(XF8)84M(FjgYG=RD6`ky*kX)YC#t&Y?g_m&IU&6%7X!J<+#$op$DglZ!yd+n zJhf7ymu7M4_+S@a>W4x<$+`gl=#lSDHA2H*TMYhai+=!3l#2fwX#ShXOIO#{%~0Ra z)JRwNZ=mxJ>iPpZ{~Z5Y(8=-(;y=-C<`)o@{r8mDKR@(80jQy^o1>|XH4PK%mtHgc z3ydDhS^U+He}Mv-4)*sM;iRIB0sMzx#C;J%aebRpK*bB_L6}S#Un+lm1A-(D)zx{y zd~PXyp$IE{*?$&U9sms+DSZL`Ns9UG_Hvv`idiV(KJwi1;#T@hP?4URQLP!DrWu={ z9uI|5G8GduIW|fi7PClI(mtS{ke;oWmS7If*n+VK_7@Pwh4V}E{u=wA@&7}u|MQz^ z0s#P!{NKMBM^`f&+JEn@SSfYH;IN?JdvrRRxYz(oMiZndP^#`YM+gyQBD5kzgM>r> z4kES>rR}V(<8ono7<|}s&R?eVBZCr@3=obH1|~vrJpP9Gjv^ljU$_k)`sAL~L5G0X zVbYbI?c;sBacf_UOk;CXPWKvpyTrjtKTH|wjgI1g@jC+tG11UJuEFl$0Pos9`^k;p zpPNKKs!fB~Cf*n??wd^2_8J7J$`E#a6?vMrDgz`aF&p+YyHUOT}B;%NqB~uUEb8>3jIDm%Sc3A1m+M z32>8@%};_4^`y;t*)E!n6j`6i&X0#h3!jg>tLt^-%2#r}jkcRzY(Bb;HV&_2cl+2u zuuyROiJ}`~`N5Xmv5c8z0j3}H6%0a5$=j*mJJ?OaE(m>XS*_Z=Z|zLbzx9UFTM|^* zce{?YJdDtiwxiW{v@2BgQBx39R|~;U2g@hM%4>}~PA?5V#^)b1k&F?Y(L@=OI^U66%N9B%$)-8#5cRwddA9N;H3$u)b?-a=! z6tbQTD_W`U)ZOD;78>92so~5((Vn&iD=&haLM?BECR+7Sa#GgX(`*@QDNid*i@VC- zU*(ip<*el`EJM|hNUUfz6B4*<%}pY?8w%_i@=@@?f4 zt;QYBbHPK~-dJfqEe0X^EI+F_aR0qCcd<-R7W zI_e5=#3v7Zb@VTI0hY?}ij(j6kt(cJoJvD;c{Gl@4O+j5cE8wgryk}Y9kDVUdCpos z{}N-ci>oTSFRl7VSpT&czkCJvc0q<)`qN3 z^Yl+bX=c#p2)+?dHxdM)2$MAye*^1lQQHf=&AD8w6%P1bntstbLU&Zg?<3?hObvyi z@eJ-bt1{WbR8S(8pxV3kXn4T2=`yh`Mn&~Arc%k zqG^S_C-a(9!rF8Tx!jbWy&i`-ZL-42Bi(Ic>*qP36olr$v&tEF@y_BjZ&+EFQ=V8>d+ieTtFJ42!~!k78!U= zv1^7Ia;Ag_x?Dk%SAPVefCN=OyljS~sHO>oo6Q6Af#Ih{$D9jsuedLEm_0V#r}2s8;e@I)AYGC-nLK3bZLOdr*^4wKBxp zxh&2FNdI=9>tYBz0bHDlqvVZ^9s?rcHiz_Rx-hfxwl%)g%x`xREYA@wfeCH~qSKm0p(>@{N zqG6}oP}}D|HYpGDYVap zLhS~Epu30mrTc)bZ=kud2RNq#kpGFLDaqZhyZ5gw=(O}w<6LBG)R%A-gdi5YsE zYp)QyGvSLx%qTChw1hH*#7DRV08 zQf}PZm1sSUS^IlJ@7eOuIda?Vg|VO(Ft$H&y>?7nSoZUTB-`1cEV6J1p-9J`)vU)Y z_L-?=Wh>+%y(K)(CZx9U{9&Cd?G}>eer%?ICc8J3H><3tT>{-b3c`fbDzQQ{boH=K5!myVP+0?Y^BxO=47v8DC#WwhiY+F5?sVpKtAAUFek z)AoEesl*$}bBeqg!ZTXKe40Jgxe2dot1M?V3mR2gBsmQl?molL6i5v9By9&-Tk`~K zj0+oL<6Lfu28`B>Y#s=nAUYZl16Cx6-IG^F;G6hDKkl}j3&lh8D|Z36YT=c85i^o@{Hw#Tv+GVPH{~-Q=1_H zlEJ&m30O>sd@+y{uP2Y3rJOok0MBWqPP%f12F%PFsF_5()dVg}PA> z=6;G4@q;-^t5GLLTV7kig^`beE`swCydtlZ_d-;t;4n6Fo|#mOv`z{MFAvhYLgVL}klSp&bdYDrzze(qxD<^+Zl! z#-68`Jt>RP?OMbSxPj@+YkYlyn(jbdvI@q{SZjH6Rqs_KLA8;{XFG)Hev|ARrkLqU zHI=vOKHx4wfPAdPgQVwf%QQX~i_gE1V}ywUu-I1w>W?S$uYH`GuN^-BKcLEA(WrmV zy>Uv?w80iZ8G5|9cRz0>y%Pj(J_%~AXDG~*gNQ4FEL-6$sfA+sSrKKDLA{Y~JS2f^ zMM84x>kG~cChqAAMc8wgqUK8A36jNb;=E{w#WJ0d%Hd$_!u`3KvCMVf>TpQ$ei9R$ z_f|Oeo+{596z>fj{7o1(QU1I3%S)*7zWYqy3Pe@?SPd$BU8zJs+8_?9 zwpg?as^g^M5Fuo)Q{{zaC!TYT)+|;@eo-PJBe+#yB9<+OR|JhU@gY5=xu}tB?WYwd zj?eaOXi;fRE5oChhm{I*))Wojej*Kg3%=Nvf{kx&upRSVa}CFBo}+MTiF;s8Pv}5y z$uL<=(090$L*KT4rdO)hHEy$PTmD?#pPv#V5PgVp|8?jutCiHc}m*) z!aCwXGDlPJ9RPb0kG14&o5X2UrOB2_3>PCc?$|JBeV3D=h%&>7B_tQC5`L=V&&xNi-p};I&waN0ZySkQqb!_yE6d-}mUmfb{&I&KzCcbHJI(BRC04hy{9zRc5ifKSwSyQONVcp^M zM1HEg`Xzm*ehkq;o2`4?15~a6~&NU{yA`8ZPhM8{k zjuI6+RQRffh`HuZW>XCnbE=VH%jJczpt@^qgv%e%(!YF?+@;7OGl;I1XF_hH#yEN; zP?u~aS*wV#(eX3%@>OswfB8Hw5yT8J1JULs?G+3wJCOAB$i(`;gNpXK4#hNnk3~23 zOD2c(i;VTSwe-6ZaeN$}2JXF*9bpjaUGgwpF}3YE1JiM0kwEppAD3Z{FKKPsefDdD zG}D)Ue1R6z4x0fOxoAUbGm!BDUo&chq{76(w#qS~&5M3t{;s=!V?{rSSlGryiz{I~ zvab~-4V12)KPmFvPvJQdGy8x$8%H`WK$)P{EiphbHO5!F;QWOy?8Lo3<93$ywoZ3Dz?H4H8k$!e zIaSQQV-1Iyj=x1`ecYw{&6m$p;iAYRaWN`*O`?f?p7CZ$EKK7$)x|7uHjpU;u;J`c;nv~fdeQ)Q$ zyZcNH;&qpvEWy{?pQy;Bhj|+-aqAeiA$L{n9NT%w`}MC(m@EH!ok>stfIr6MA7Et`P_0ofc-OaF*YCfm-u|2FT01? z>mTMFOXO}wen7A|nLx?d=pJ@DA@4rIN zepA_+z*)Y6lU+Xm%O-pVQ;<{`#n10`bwc>(LK^gXU1xRohuLDTBa;(tp~9^O`NK@I zY#JDDc95;oCfxH#u?BBoL~lfou^;g}SKy+>^(X|Sk9D6Wf_Y1@ARDt%qb1$zXnt`3 zvY5s<{=%IYYTcN{#?7;Oc+IrBF#px2E}0WDJ2(`4j?sj3>amATxJ!OH|Ja_ZQasqK z<3MBcl|jbc)Ooxj-2~)puRh)CH0zLRlR{k*up4gWPDNb`gmJMz4AL+y(Civd$MK9C z7S|b!B&bkDa3InJLarn|oyt>m8^oN+zbotteFXBohY|781jJM!N0qxBH*O|}c?;Gt zT0WK${DMS8?l(Q7r(w#|;DBE7fGWJ z(j!fBoE|q82RPzDZOXRwtu2GTPAhD+eNDSd97rStlfUkE22N8-taYtmctT0#PJIq$ z-dpMr%;6^us7xZ5eGwvY5FabKpq#EPE%gcaHHx=NXl%9^dz(cqbNeaxWl48DAGo5^ z7mpZtC3(5jH`N~wR}vC}a6@59J}s$!wVuuHLrE%$82cdsr}1993WzFnfk=dNOpuUt z>o<{DB-US4kwxEiWDK)x&b~Jz$oa1vQM!`xTCA=&=zx#Ed=TUYry@(3+MXV2^DKw_BVVwjEa#mVPsV$5E z7%bWuRnA&8hAkX@6Q0Ee#+}TxBYE?N#R+MAjVwU7r4z-wo;pkR)Hm@!qAqPVRV=kd%7#+yJHL|#xYM24?r|@X9^DnB^zYt=CPxcy;18xcsqtnlBTPeMVg%_u>T#CE01z+ z3*IzEhNcnxYff5h)6>SE*#umFIjoPdv-^=5rZ0Y?&pw*&J&;R6oh-Z0egSgymdTTg zulFX8sb}^Hmo}mC`g`H#shsNMNf3>B*!WLZK@w+QGy>sU5iQi-S zq>`_f){hcjGKvzS$yqgzk9Qn6!d!+?@v`r*2Ah}QUj2?C`5t`yV|5qlu_otLJr&BT zEIFm|aoG{12!-L1g5XGTMZ$v712rn_jqfDvpvt(wp4^o(s^5}En6W$(h95e zM&3v#O6=MwSg)HI{X!-sCLIlj5f84++g3qobYZk~pJgi&Q%quzL5^)qg#(;tbo1gT zlC%X8zHkno15c2m@f^i$g^zojdfj8HoMt^+UH(PnxA*KUf{jI7i;xqcB%ED}8!WmkmR*oWp}5+S;$L5T{6qauuRcwx7m zNLOt~qEmy}gqv=-+(S&Bd&@E!`bI)c%Jfw&k0;V;xz!N>-=jJuMoPko@R<}N6_{!H z=bLe2Wqj;ROCyaQeY#{t;gVoEIXLFJBK8GF<6*hVa%D>HK6ane41mf4>Og~1=C=)j zIJETq?;;h9OX72HZ4!B7GHnT2r3rxI7J=UrGsI^c4M?MOqylI$TCXi}njAx+DJT{d zynx@NqH%BY%Q+KyaL{d9@h)8(SPP+kOqbkA-&YB9%@8!btgt38*xV0=+Z?pavp6fD z;yFRF0y?j;0xyt!mWj1}O-vna(BpW+w4UUJc)9Rihk531BiWIuXbOY|mjf>E4=*^eW2F)}dj zEvRW%o?hIFb5h0xDUb>VYQSy}u$a(jZ&3yKREZz)C~AX<5~4sc$>>>4MJMdkT3%;$ zJQp=0pM+IZ?UBhxAwU$OVSKrO`O>^%#-WIP7?Yu}*SvmBm6G6Y_5_FTaE+r~tD-edR zCwx{RA${B)aUfEHY>jPKZrn_w;2~wRCbyBcnFuT~x)#u)u8_}6<1!5h;koJxuKXtpM+&uILpNYTMx6&b%oU6H5^ajOw*{_d;V-M(`CccdSzr)VXo zGfw5ABQNzKhjaT{BfMj9jMl85bkZK`AGm{^-F7Kupq85PhZET^=TNUh&o4v2r7r)P zw#&mcDr{f*&wnQ8Kc+23F42FkhvR%rXzu@o-O+XWO2q!dGx+zk9$E6pzX%5Z9RG_` z`(=P^R{myy^6q3D0c% zGC)Hv*34KFxC+!@A`Ql#MS7GZ2ylLzE`%u6iMzCZ>fs`J;*yzQ!R$&Dj42TIznhB` z_lf~gi-l-NQWf+xXbXach9Es+yb(Zk7DF_b;NMIj%#w61EEYfvqnbheLaeu|H3HPWV)0M)yrE_Ld`{FISq z{+5(2s_Ytc_e|5Lxl5PG&1a40?rn27u$qu`nDPY@P?bHm7vpoj>MZ~yth&g8G7aL! z0Ouu9>FQMvD8c^rH;kK|IhK^dUu8hdbo+~45dRqf6&1SvfIlZ;)7?A;yZlCxvMkok_&n;E9VkE6A^sts8@E+5h` z!z}o`W?*AE5AiukG7M0R6miJSQ-f{)R1+sm&2sR(dxd&(dXL1h)fh8QH?Z)BfvW0k zfI3||8{C%RB~o2;oHBa+rf(bv^Q_iyo54j&NQzAJRUoiB-mnG~P1E^3f_!lES=_z{ zPZp^zRHnN(y=GbSoSC+QX1Fq_0T1#S0|({NNFz|}ptPoBlHY4pT>GgGi~wdq@?r7F z5+}0Mh0_*h^dL%$aZX!FaCU^G`)w zNLS*(T2#~;TIx44`LdpjGc~mh+4g(#Ww*(?WtWV5!}su6o?-vk9b9EwV74#2^G8ho zCct0$8~-;)=vSNO|GNPH5m|@7<<9)sJn<)Y=3khcf9Q&THgQjXQ=c~sVJE0%{aY23Rh5&Il)Vkh@Wl>$+ zExsQZNE8(5;RX5hlT@S4@pDq8KsZnaeQXcOR~%6(!P_ZqB)JovQX{xBGWemdmx;1` zg+yV6;&?UquKo65lQg1u)FU<$P}|iF-x;qpK$xVnnoH*63)R(^AO6GzQ=VT{W}pE>68HC(k9-3+jY{TwY>3m&C(C z5}#ZAr10nkisL>cD3E6LwsYNUsi0MWaJLnUMT1~O61W6;0qqbfXaVF)nNq32YpT+11;Hyf^zON?)?*8JR0WI;N*QkQUAs5yshhF=9^^%FA!hDcxZxp1*zteC53 zuS;bd18Yeb&nql{Y+1YpNt*lJE5M)9CTaD>Z9vaU+EWp`dV(V$)a4N@*#>=RQZ%7q zIIpXLu6CH;qp``09}QN#`JF;u?(DZn#%KiKbFe))f_*KSuayRTnIh#@8b4hJn7(9k-x9_)cdHRTy^lPBl~|O$Ul6B)hu2?Sfs?|DwzNm=C)dI zmc-GLQk#~6VZnZ$WUn5En7k`OBRTktbx_hA->fcAUpbVDwDjllKJ;7Ao`%YTOUF|* z_dA-Azwh=eZy$~-M$8H)DWw8Pn5CG#v#4Q;8>RB#@vUlGeSIv3hDJxRxL1% zt^tE%xOzrklxF05@bJwA9aR!hr|F&K?qb?mcPWm9A{5SPMAgA1Tu4ErJH+S}iE@Ir z5s_9p%-ZV+yP%IMJX^??__JrUh%08-Bm4~Gu0=;Wo0v|)s1*VNn1`Uoy%7f60aM<9 zA{!;z5Yhv^=2VUck0uuYogxTFXC~qZ5DZd~*hY*5qvSuk4IODZI5AM;Wyg;M3&}q3 zt0N>4FV_RaV1NKC#SH#|ozL)~d=T&?oPcso>6g6Cn*o59I`hkpC#(F1wEtF=d*|xZ z?K979wt_Vy2-3I-3G(1q^L*z3NI_+UdF~h?Bn0$K;WpIia?sU$D{`Z=r3C*BkLggh zEM^^}Wz#HDKGC)NSrtu2EZ9tzK0}>sO@C!?OJ|aG<^5TZkR_Ug_m7fhn3PkGZt8F_ zoKS(hxNg#>fO>r+esldrSgVFO!yH<)X;x{HO@iSe4AVF?X!ilMqMUn7w&ax_xV07I zfr>znRj6M(rrSS9u{I^?`CnK4#Rqy3O=hm3+Gt%03W`gfpY3@(Y#O1q+4H%1T1b|C3Abf5vr6Y{KP_NSV2H1-sK7X}LtEM_Iz0_HzkR zeQqud#x|?m7idm?b+Kn0O92I!t)Tak>=*e~7|9MoijD#_o)j2WF6sKu#8m|oCMc!d zs*jjVMdRWMdMVDDU4(P0fhys~yPZ^Ml5q_L9Zs(i7}&Z|=o@+Tz8KqadVmRVOb~Jy zc4M2Q0jY^eSDss#UE$gsel`blK$la+(^qnNmnrbVE9|1Q{RNHv#^uhgZ!=zS&=+S*{vP|V&7oAG6h`g5#vj(@Das9c&vo8Q>U@c7%na!bMF0$J zLIte^@9!9&5SnCEE~aHVK|k4JSjclTSzlOq$6M;V?&!{LKdwCB^gW)1mSoImvJ8IT zV6l>2cMy}5tc+#eLU5?BpF6i8`L!1pLiOPb+%Mo3BSfvYp0c&^MpTuRQz@{bYo~y!BR!<*oV&na2y?6EsP%tqAD{n z^O3u~67MS0`Z7lmdxF8)rb%y#uOWTa9uL8(HzCw%l@YlACom;%!xLr$zJz14zUD6( zR1<>ap!i5h_vF`1aQPrkFF^tEi*GR?l8UX2nxt)vhdR~aVDC!U4l5-=^@?Vx_U|UF z8bsD4s21Wl^b2C6?>r7xEbrs-I_OZ`H8(>(wza3)0pWO=Lm2N#0(tTvrJyFP(2^T^ zKCiNX=R;T46^x{Z!!a2eQslzd>zgEGD)YKHI5^6EMipo|TMkBP2=t5tl%VuoDiwO6 zo7HnFCx2TZ=khJ;!hr+;_~VfM!&S2bdz1d-9sccnAG2#&{#fzk6a2 zxtf1Lx4{X${|eo_Mx~&92~b40-O8U#I>L$srA!gk+Wqvf(ki>Y^7@XY;j?!jiOn>d zgLo=emci!ulZZxb3&^>_`+PGJe-AWFa92-jBA5?j*F47}7=_pK{fH(LDZ|gZOCnmA z0`l=*z5L_l*4E288vIAE|1qBQy3hX{kNwwK!vE)Z^qsB#%ES&H)cfxS6v362Ie?(- zL_&oi4B`h7+&30RLE)h2iunr&-UJjkD?=$Q2?B|RRz@&X)-UWJ>3~4ExK~(-aTFnM zmOt-<-ybmauOtNm?n`RnuTK5x*uU#n?f=>3A4UdFCbZ@bHrD^Io)^wb#rV@B z0Bp5&_1;zRkLK4b@_4MQ&km+QvBU-?O;v?4d^}q9s90i22O*Eq&&CXOyVWXV6AXd1 z(@ee#;OiCSQUZaPt)vmvv=&PeNoMv+AfRca&AbDmf0Kj;sUzYJbi?T@=q5apq7@vh`qjfZeEaV`pHQ6i>_>T!RYl3yo4H45MLew>CM=S|I66gzMYI=y&~5|-^bku&-T19tGFGqRvUz2`G$I)?8J z{2CpfounrH;8S$Ia|8Zos&bI&Jo^Iz0Q~v7|M>22RsYywkoYB-c>nEpmlcs`q5b9Yo7i&{+F0ZrOLYXoG40`z!V6oGE%%eBp}+|FIe;MMDBo;Am0(?L(j*Jg$NuM zm^SYFx$2hc_yO+AY+|*(f1f6&z>00&26at+7+cz~jCX=kv8k9I3=csL7(w08he|w98E{|}@ztpbo$*%d9 z;<4>iZGDZk#PSq=o&Hh7J9uhqK1t2Mae5yZ&T09eR%9+QXI>k4rGo6DVwgBh6}ss7 zda6Gf#0t%-Mog-nhO|N72rDxbi~T6*KQ{D~_4}xS80R?O-%(wZ9O02!mub*qWrcu8 zRs+FFJY(e$bsRtC5Pbg@{aCe_!tnLTqSG30ade38r!vWd$GUa95zR>&A2S-fRK%_f z5;9`VtG;NL$lAP53nq^ZocOKS;9Z=t*BINFozNv2d{}8U@F=3KWm3P*m{#z%`wQ zt`!sE3Rz!g-#H9bC6){)-|t%QZ9kK?EBKIBAfOTfr(Df3+5*|78PS#(d#KY|iGfl{ zsO8}tbCC-v?g(R4TQ?Fa+x6!)&|8$5dqOutM`wLzcqz-v(RuIVcn5$0vd^`)7La~i zka|=mdxS@B4pWH1lVynkW6)tvhDq$Kq(AJ{tj8-WG_$DVJ)QM9yJK|(gWl3vU4;az zjcUTU;cvwAQa9JR2(Li*eG5&Imt8_;b`m#|XhC}`vtI37a5%C!n!z(AWlI&$6lW(C z-=uh$B_v!s*uFyuG3aJc?qaZzgV!!d27lk2za{CLi_Ld5e+6y+Xo7#OBe+Ze07(C5 z9r0fb!~dWv#xtdCkR=d?Ed(xAVy(#fzcx&+f)Mt*Y&xe% zoRyX(e)43ZX81>)>#odyx;r{u-!I=jnJ~6>WWC+Jov!O%;Hghmtv(I!#pr%QC7{E{ z=#D$9g$$LCid-4#M-(v@Wi3WL*z?l8?|AL{+h{Vic#Je%R%cMNe#H?~+V=Sj*R6FX z*y?s;TCAGd_Km$<8=J4t?~hlt2On1k4nI14divTn-UIeupDNt!Ubc$QPp-UY%g3F# zy!c+3J3{e2Z;gB!G~_-t=pJoW);~T%l6|_eXjxC+og0@fi$YYIo1Yn5eEMwY@ZL?! zz3vXjA9gQ{8%>LGyF>OrPG;YTXy=#}Wo%aOD>JK-ZZF(i6l7gSy z(RxjW!_QCtlU#>iwx9RNF-HgquS0UV7d-m=v zTe4uXv}qPY&|AXY>Rdv|H!In$pNn`6-8}RT)%CKGm(XK?(|ZB>v&gIJkl^_O5IlUF z(Lzr%`U^$12>W5B)_#!Uc@M@ep#a$RA!DZ_FMo^BBDAoq@EyCjRQ^$Z)`7L`J_xH; zCsbu`&C4}6MQG0-OXYo=N?EM0K0t3iOi$TE9~vDgc;NkMxCbUs<<@2L%REELvc=C* zV~TxtZ_T^E11=7c&mi=}TP(WAP)ztYye4@}g z=ci1kVavUrkrf>F?`9-I$pNx!Y{c`9%LoohT$aN6= zQ)AX7;HZxHqsoxBZY8*A5^UN;4XQDY#l;BN57}5aJ2SSuwZc0V1R@Xx{B$?2dRNTDD+%1Qt*ar0>tQAP6yh(wQ1<-itNP~sDWx^MnVMwu| zG1Z8KR2DDiP+st%RR_J<+#kj=*e!&XI!LP@OUAo zu{~u|lseS}J8>DZxn52ao)3MwGuafxY^1>3?AZC@8r>C!Ix$a4il@Z*qX!J*8zUs+ z{^G;}+C_%djPGg|yaU9%g(T17Lm3Ux{mvB`^j}Ss6LC__DoNu7&+xA+C4MXNI83~N zY5MZ%i+(jF;c=NxTjNt3QZ|Vhd?d7#zb?(s`P*+P>QNF4RGGrRUJc$gg;8I%gUVh- z1kw=854cddQm9Va?{Td|7{;tE+<$H*61~G^jHDK0u;3}l|J8Ko_b|3DCug$YB_-f3 zB+`b$Wzs~GHeR^nAb8P=yV0G@U_!HE_JRxLRV%ogVyMeq${*vKRIR(ud%sl#QUjS3 z>d_Y2sj6x~g%@YBZLIJDxgek_4JxT0LD?|Hs#K@5t#Gxu`d&V7e*4Uy zy>xYwqFw8F80%y+tRO!W-Il?$)KH}jUf3G7<&O2Rcd788%UW%1 z-I%V4sI^?!DBx)-D(~SXK)H+C+9RSZqJ|_5eg7;f z2#IS$IyONFx9YNVUlBI9>n>p*7CBS-O(ytP&+J6 zzQ!ryaGJ8UQ6^WEPl#*P<1Vr0dfd5jL%VTxvoZa&AMEhSO6X1S3M1Rsp}p>@fqGI9 z{ALicSUI@S+GJ;O0iQD?CdGe?eMa?XnC>V~4)y93+!v*N2MKqUu8csAG?xLCUwe60 zsBXkTuI1{~#adQ2&-_Stb44nbg8y>!)EnZg<-_&+xZf5G^8|3mM$6MM5KX?nG z(r}O0v+!Sy0z{>qq1A=SoyB-6Xxt=GX}|17E2Eu7D8i{8vwoDFkXXe&ju72hxg!J? z1E?3|CD|pIw={3Tkc2-Mn!sfYRV%kz`C6yW%GPD!+aU7B=+5FFnUWjah>;ZaS36{& ze^Sl6W5&QFaiPbt=43=I)Hb z$u3IUVxla!+E~fQ`Dq9n37%ypqhkeODu3OFN!}ueCQws_RllTgqDtEUc&HPykH(NajW26@unW`nBi+_x z1B+DwZ=~v28u&Ppu;uE#y#ujD*L)oe8^UDxT6S_`gBo*a0*;+mKg2N@uJtSgY$pKD z$+=P|09MoE$JRD-jYR{Tr7vbC+EU%_V*J;c2|!rJI@RV(%X8#CnH5`lXjt%wQ2$P@ zx0Mc^-Khze9727>xN19f_p7y9_=X)n9)F+MmG5(@nrMtpfg$Q-htMBCX51+xB??rTLCnu$Z2hm?8oOhqD}SQZj?E^JR2CZx z;`w(ghgDXjj|p8rJ6`d$ z-|^?HX0pg06LxFTNL`tQ7Awb&KSKS57f5=5aXGsQ}0mx{2>`(ITA=>gCh5d zIcVOe)-}Y9J@7^XVXQzsLMgix%PmSxOep8@R8JC~faoPY5+0FAslG4rYi@KTn0t_t zh|++BI#4f_XhkdN0IAfpvA{sWwMe9DqI!gAd)o_RnjJW*6Q!gWo>}&YNS|avoYr-M zRHohliJ^zAM;jHE(FxloV=G;}R7-YnmqlHLT2ybB-Ov+1)>}Upi%XaTj0w#!G|T{q zh&+%}u zR4n^=i~Qc0_k!X@-?wc?4)D6ec-|Us8|L6j!-0Z$LyBGocedYb9Rdhi5xIav5JP0X zE6K1pl)^Ly5=d+7G~pO<#Kn|YR2L7(!X)6EczChEp-JELsAMpoj}P0p#ABPNw_`9a zURwN?A*Hr6?XZ|POl1hVz%?)uqX#iTq7L(^2F030iVOf6d3CSuW7|#4$#(A3{D4gm zp)dJ{C=C@Gi8F#lGXa~8PBA9?Jy$#X{3lu6N*|dg6WHg1;YS{&`>9?_arMiZb58Bq zFgyqKpVzI`jTONve7P}7ba=#y6K8(rU>GN6txEigdhKup;8rQX97XP-R6&Lz@m{34CF(;Sk zjUk{Nej_v6tC_na1?a@0zET|BmWSVUq?bMDG>x432U2EQrp{RLXJ<>x6Jj8IOy|eJ zez}eACvg4%DuiqVP7Bz5PDA|CD*;<9wb|8vi0ubJ7;P8x)1?6O)-7E;(Y0VCHD$|~wC$to(P`loU z>K>A5!=wY*nM#fU4S0fYH}oa_N4ds^&O1s!r! z%PS-*h=QuWRpJmHu%V&PGiB^bfp?MCdkLOE*!{_k3huFob(ZpAv;}7RYKs`?36ss}D?|2i4agvhLWn!F6i()F7hRkAY{Bk3ZFYPI1$+ID z^Wa-@cDuu58B3hvkJbD11)stE3+(lJ*pmiA$*7QVyX|!Da^mTdfh6!nc2$fPYKJDh zhGl6C5Dc-6`e-Qg!jF`c8wyzV6wloP17vEljx$XiTQEjjl7jW-pcQl-)^ikL%ri~L zaXeE|rcvv^*XVkKdx1~^Yf=fQXpKrWZjFvd;~0eD=V7Iw6ULU&;tb!{ls%GVjnwd$ zQBEJor~;Y~@D`Aow1BpOsEZw0<&0+LC?;pnh(96m%Xpaw1m0)nKv@J(z^)D#>F5!Z z{hlckgua+lWL!#uLy%TqSVW2N5BXs1G{qoV55WC)Kie}23keN}WRscJxz1t=p_zW3 z#p(j*JT&^Va6Q^{-BEbl34885Bn{YbX}_=0Na-nKSmFP)b|v6YZvTHsRJKq=i&iB| zwu~h-Bv~U7l{Cx@BV(p9qSErV7t-xUg*N8WYAcHBYS-pkQV6-X1;t#_s{YmQ9QEdX z=ceX;{ZG$%TAm)C&-*>!^F90L8@Fw`(!Kce()H9GTea5tT@h@#fyA^aWV7%6(L8DG z_^>AWxG(jylumteO@G&JvEPH4ns9LVc&DmH2FUD@A|G#%y_4K^ZnU?8Wf9HL~x0rmRZfhixjW zu}zEMSUX=nnAG%aiT%dwZ=R-K7=3@S{R>;w)tiTEsl*wLQX#A)OsA*8{bKn z_2RgOy-xjHQ)qcmXYr|m10Jz?UhzX{RNLgojdOOawwUs8N6@HTiyNA}ynmM~7Ccg^ zUsLf>ZtdK~1xHVsv{bs;hDSHFue~^7eQaUo1xp<{ACth&sC6CjtXkpTo0^Lp7S6DU zdn;RC=XFOvzIoJ#>CaUg+eB_>IFWMZhqcy~ChIO}u+0s+>FZdy=dITb&B?X=ESuV5 z|71J!txxs#ZSZYB<{Ex$w~t!h3m{VwZ$z#3&{-^>6M$^BJzcBZ*br1Nn)h#lHKXaM z@_v2aip{09OZFyP?mg6XHvjQCDQ>gQ=;ZE#7|ooSnx=}L+lxxvji`=SE9sn^&AzeO z+FMe8^SYo~X)|Hlo~l4g4lQnKfVoH~uF`5iXx7BUJ9l43c=@{~eYQLB>0;~2m3Auv zn)2V5cWBxk+BYtJue3*%`;`_esg@DtqUyI5$Imwvzv-T_^n7ZgFpInF&Fd~R4a>Tg zS}(=!yRYwuH?oz_)v?_*?`cdFI{QtWZ*1+cPVhI&Q!4Q8*%_~FS5-oY#kGuP`!63hN zISQ|g7w zI;+oAPmaC+cUefi%ii*$5=b80Q|8PX?U9LBeB*+hcblfai z^(64i7d+S<(-rH*4&)k}B+a?tC9f zQYz9`ER1t|H8`gs$bFx6S4UT_Qb2vSb5>D-+Wn5=ls&%pOu`4|Jb&O6yKwla<7%Al z?M#h8voX#mk}o_%ULVT}DcQI>(OXb*X!$9HOlgB|nRPNwevt+zRu+0}+MUlRkBZ9p zGAaM%;7eU@We27OYr3j1sS8Z5X}`#|+FfF+Sl8&^eNXv!nX+S?1z__iydbclk=c1W zF*;4Xdc~E(gq)}cl&PIxCbmY&oqasU)p}dD_o|2Ke_f4vpNIrNziE@7cnY<_oYegL=L zN?}b+&RCxIho`l9uM`C{lbNk4H$)E`3L1@M@@Lf)7ff1^e2;PcZGBF7spA&T%sh7^ z#&%)MO$QeZ-70C?gl9ufnE52yKe`;CYmsUHSVlFtE9h~tYSQl=Zt09H6Z66R>pOOO z8oE&bkd=Sp>s{&WmaJ-jTl$H~z|8!3mnD~i$NNdopWvr>O-tKlk4~f1w5ZMgqqn#% zPaB$U$`dFwHSFBX@oely-Z;1E)Kd-S2l2nYxnOCi@-nExKBrW-dSzTz}Z=q=q zR^`96S`u=eQx>IrdHK{45npz*28oPQvuy@@DE+A+gLs#1ymk5Ebp4!an!%8;HsIrpj`kDk?77dPkg&BXm5?BA|V@Y0>< zG3V2O1$xZ2S1L-(TawD^iWU~TIcMmaZeCQOKesaHa9dc6L;1Vd+@?h-57VccJ{wj1 zx7u&dTtu^!Z-@o6yoqmj$~04Gl9j)ha?S&NVRk2m)_*Z7Dx z>!w|D=BZ`XHZG}y{0~fP{>LiKu!X1K^opY>-@$6hJ?^&it?YuccWPQf3T~bE(VJ1C z)UwxCeYA~@X#TMp#anF~fL>OVecaQwnv9TawWK4*+J!=-G%f^tx=m zh}9Tz+$!d3w%ihJ-{NZ>wcW_4lAVv{H*0i0y?4@4NmTY;Atxnya0@l};p+9uHZd

S$1}=pGv_#N*fp{~ zyYqFm+35C;8(HO?3Dt_q2`Rf;3a8{2kC~phY1kCYO-EA(wkbazyRDAmfA?HzY)Sbl zvmqx(0R7?a@i3DG#R^~t3;-PsoHl~P&DXE2@&%A~G5y72_{Wu3cVxoX!|k-g40KYs3NE|D8{ zx5>#r%ak2BJ#t!2frVD7O578vw-@)xWkl3$p?0ll8u@`%qb&W`fK>HYfvWXpGp-&p z{QYR`nxeSbr_biEQx!x9zc}s1{XNhLQ9QKk>w4^ZOW+4buqO|@qo=Es^soWLz{xFz zg6*pC?+T!+qD4f5f5IkT|5bOz{^WWY`R_ph{u~$t&?2I_fInh?a&KDq9t?OVQ>5F+ z-OOJ0<``u&__HVDFb?*K@t@T3J)o^Xz$`%Tm!Q}yp%7Fb2RcBiuMhhVs9^|OAi-7C z-p_4tmBE>GIu4mb5IKlXj{s6~-)_Si|LivGR|<32PW6 zLY|Ca=saHdN*?57z=;eYNlK(TJ@g%5v>tRO2OOgns$>}T+eGD; z+@uEsLPtTxJJe?|kP`1{pzRELor9;-d)-OOmY!ayjLqtBt?iDDKO}li6$8x zU7P_tIt+wNyjM@1M2gY(&QH>TWNH)h4!}+iA`%VfKudJV65>TghLWHIXH^U9eNsNa z;S;zKc1#x{JM@XsVMj2SF+GC@d}i~DDFqxfApEjF6tLU*(RUaM?3^W#0?ARtm22%TBly7W^_FQpSF~ixXh#(_w zP#7~9eWWSDk_?#O7mlK5LChv70~kgLH;sM7r?Xuu(v;i7r76oWhM0(?_lE}LVnAgX zS(-D9gQ%94mQ-U?BbK>EkO|e;h{-gfQ%$KxrbfZ0mMoT~A^hKxc6QXK)+Uz9+)<%W z+QEc23`gAERhrNg7iT|W#MzAAVcUiHP5?eYR0NRYO=w5pNA8Cox}25}qY=(U!{kq& zDEID%h=)mhs4gS}-|ykm7UMx8+SEW2Cg|bt{}Hbpaa=O{&4pypeyVPonE>47DyYsF zNp!!e6V}1 zLgZ->3CrMyRS79c^yoM0y`vv%m2E;_!H#;bORr?KwP{7NKrkHpyXz#_!m(U8L+ ziVk}LSQ+;e{9=&3Ph#}%=~6H%NAPIlhmsS$o9wVx`h-)W9RRvJsQ89&lN=vxd-2%e zxICQ_8vn?@MY`{R@k@a^Bz8CvBB%CC{P}&!Ui2aKB<_5|t<6o=;PYpKid~Hfktqiy z=D=qzk79#Cgc%`-{C?t0pa=LGju6HHM+gV|Y}n{1L|Vy_074)@H3&WXCcvcD+06zX zyTFR?51)=mY>r5#Ac|)g%vA&JbqZAWT>CbtvVBf`#Z zgot!LITB)ToFE6Z_Q3@-{eRXvSYHs)SXU(G!eYk=qWA>X!sw`AyPMC<0L?*RfD67j zU#KR59?V_U((&5=zPPFRYV!( zOn?7>H$lv#EERW>4X*}Bx`_JTFwid1^zd+|z>tJ>x+iH`b%QQT@xvbv2$2V$`@_YA z3>j?VZR}Zv5LqlM(+|U#5+MU@@xxr-@ZVt((cTT0n2cnZzwx6w1VLvN_+fRaIw9bG z%q*}OF7d&%nHY!OTuGRSF5%dYO^=74UX2(_$Pf~y)` zpdQ7~{_(}<%bxHH;_2mAM!)mJIjh13UnjDFA9oWW%-j3B@#@;*-B2t#5 zd6Cg~#}b3`&sbeqDF2KWaN1-;h?t~e&{zU+nT1sd#m6B-8ZiPe|0A(D2z5xY0*CnJ z#WM$D_)u-1h$<;+321WhZ6GM9h!zno(@A0`aKa+_*$O(J#OnEAkD-N#${d2wkN{D+ zMbr|I4ipi>%JGcFSmF$F!K*Jil1mC<(V)Z+R!Ij+{GdgM#LxQ`8oG-4iQtbo99F;u z%JZN_h}e1m3QlajA|WaihrvohKyetf2ob7JU#OBw#bCb>Vqu>iLXioy2$4npKgAOJ zyq`!;U?Jg~M(j0s_@)spXOO_)pF(~M7(aR8h=qceb+H$D)p1a>Id~|^Z`pgg4us1D S%6#xk1>Cgg;DOB!%Kre_6SOP< literal 0 HcmV?d00001 diff --git a/neo/bin/prompt.py b/neo/bin/prompt.py index 143f3040b..615aaebe5 100755 --- a/neo/bin/prompt.py +++ b/neo/bin/prompt.py @@ -1055,6 +1055,8 @@ def main(): help="Use a private net instead of the default TestNet, optionally using a custom host (default: 127.0.0.1)") group.add_argument("--coznet", action="store_true", default=False, help="Use the CoZ network instead of the default TestNet") + group.add_argument("-u", "--unittest", nargs="?", metavar="host", const=True, default=False, + help="Use a private net instead of the default TestNet, optionally using a custom host (default: 127.0.0.1)") group.add_argument("-c", "--config", action="store", help="Use a specific config file") # Theme @@ -1097,6 +1099,8 @@ def main(): return elif args.coznet: settings.setup_coznet() + elif args.unittest: + settings.setup_unittest_net() # Logfile settings & setup logfile_fn = os.path.join(settings.DATA_DIR_PATH, 'prompt.log') diff --git a/neo/data/protocol.unittest-net.json b/neo/data/protocol.unittest-net.json index ba897d3e2..302a7fea1 100644 --- a/neo/data/protocol.unittest-net.json +++ b/neo/data/protocol.unittest-net.json @@ -25,8 +25,8 @@ } }, "ApplicationConfiguration": { - "DataDirectoryPath": "Chains/privnet", - "NotificationDataPath": "Chains/privnet_notif", + "DataDirectoryPath": "Chains/unittest", + "NotificationDataPath": "Chains/unittest_notif", "RPCPort": 20332, "NodePort": 20333, "WsPort": 20334, From 9c8560a42313d56f7620639bb422012a6462ccbc Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 12:34:18 -0700 Subject: [PATCH 04/40] Update JsonRpcApi.py - allow 'neo' and 'gas' to be used for `getassetstate` --- neo/api/JSONRPC/JsonRpcApi.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/neo/api/JSONRPC/JsonRpcApi.py b/neo/api/JSONRPC/JsonRpcApi.py index 88eb1b8d6..23ba663c1 100644 --- a/neo/api/JSONRPC/JsonRpcApi.py +++ b/neo/api/JSONRPC/JsonRpcApi.py @@ -155,8 +155,14 @@ def json_rpc_method_handler(self, method, params): return acct.ToJson() elif method == "getassetstate": - asset_id = UInt256.ParseString(params[0]) - asset = Blockchain.Default().GetAssetState(asset_id.ToBytes()) + asset_str = params[0] + if asset_str.lower() == 'neo': + assetId = Blockchain.Default().SystemShare().Hash + elif asset_str.lower() == 'gas': + assetId = Blockchain.Default().SystemCoin().Hash + else: + assetId = UInt256.ParseString(params[0]) + asset = Blockchain.Default().GetAssetState(assetId.ToBytes()) if asset: return asset.ToJson() raise JsonRpcError(-100, "Unknown asset") From d5839d98c7da78603c1ae66b39c9d90074cb34de Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 12:35:34 -0700 Subject: [PATCH 05/40] Update test_json_rpc_api.py - add test for `getassetstate` using string --- neo/api/JSONRPC/test_json_rpc_api.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/neo/api/JSONRPC/test_json_rpc_api.py b/neo/api/JSONRPC/test_json_rpc_api.py index b883f3207..6f5e00ac9 100644 --- a/neo/api/JSONRPC/test_json_rpc_api.py +++ b/neo/api/JSONRPC/test_json_rpc_api.py @@ -138,7 +138,7 @@ def test_account_state_failure(self): self.assertEqual(-2146233033, res['error']['code']) self.assertEqual('One of the identified items was in an invalid format.', res['error']['message']) - def test_get_asset_state(self): + def test_get_asset_state_hash(self): asset_str = '602c79718b16e442de58778e148d0b1084e3b2dffd5de6b7b16cee7969282de7' req = self._gen_rpc_req("getassetstate", params=[asset_str]) mock_req = mock_request(json.dumps(req).encode("utf-8")) @@ -146,6 +146,15 @@ def test_get_asset_state(self): self.assertEqual(res['result']['assetId'], '0x%s' % asset_str) self.assertEqual(res['result']['admin'], 'AWKECj9RD8rS8RPcpCgYVjk1DeYyHwxZm3') self.assertEqual(res['result']['available'], 0) + + def test_get_asset_state_str(self): + asset_str = 'neo' + req = self._gen_rpc_req("getassetstate", params=[asset_str]) + mock_req = mock_request(json.dumps(req).encode("utf-8")) + res = json.loads(self.app.home(mock_req)) + self.assertEqual(res['result']['assetId'], '0x%s' % str(GetBlockchain().SystemShare().Hash)) + self.assertEqual(res['result']['admin'], 'Abf2qMs1pzQb8kYk9RuxtUb9jtRKJVuBJt') + self.assertEqual(res['result']['available'], 10000000000000000) def test_get_asset_state_0x(self): asset_str = '0x602c79718b16e442de58778e148d0b1084e3b2dffd5de6b7b16cee7969282de7' From 9aea63a55c1b9e696e9c881ef33fc3111a3cd45c Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 12:37:42 -0700 Subject: [PATCH 06/40] Update LevelDBBlockchain.py - Add `ShowAllAssets` Function --- .../Blockchains/LevelDB/LevelDBBlockchain.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.py b/neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.py index 3b6c9d9f5..9cedec6ed 100644 --- a/neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.py +++ b/neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.py @@ -366,6 +366,12 @@ def GetAssetState(self, assetId): return asset + def ShowAllAssets(self): + + assets = DBCollection(self._db, DBPrefix.ST_Asset, AssetState) + keys = assets.Keys + return keys + def GetTransaction(self, hash): if type(hash) is str: From 2403e6d8f36ab5290064bbeccb9bd73f8ceae22d Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 12:40:45 -0700 Subject: [PATCH 07/40] Update test_LevelDBBlockchain.py - remove numbering - add test for `ShowAllAssets` --- .../Blockchains/LevelDB/test_LevelDBBlockchain.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py b/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py index 6920aef0e..c371efcff 100644 --- a/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py +++ b/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py @@ -10,10 +10,10 @@ def leveldb_testpath(self): return os.path.join(settings.DATA_DIR_PATH, 'fixtures/test_chain') # test need to be updated whenever we change the fixtures - def test_01_initial_setup(self): + def test_initial_setup(self): self.assertEqual(self._blockchain.Height, 12349) - def test_02_GetBlockHash(self): + def test_GetBlockHash(self): # test requested block height exceeding blockchain current_height invalid_bc_height = self._blockchain.Height + 1 result = self._blockchain.GetBlockHash(invalid_bc_height) @@ -31,7 +31,7 @@ def test_02_GetBlockHash(self): result = self._blockchain.GetBlockHash(100) self.assertEqual(result, self._blockchain._header_index[100]) - def test_03_GetBlockByHeight(self): + def test_GetBlockByHeight(self): # test correct retrieval block = self._blockchain.GetBlockByHeight(100) self.assertEqual(block.GetHashCode().ToString(), self._blockchain.GetBlockHash(100).decode('utf-8')) @@ -41,7 +41,7 @@ def test_03_GetBlockByHeight(self): block = self._blockchain.GetBlockByHeight(invalid_bc_height) self.assertEqual(block, None) - def test_04_GetAccountState(self): + def test_GetAccountState(self): # test passing an address addr = "AK2nJJpJr6o664CWJKi1QRXjqeic2zRp8y" acct = Blockchain.Default().GetAccountState(addr) @@ -52,3 +52,7 @@ def test_04_GetAccountState(self): addr = "AK2nJJpJr6o664CWJKi1QRXjqeic2zRp81" acct = Blockchain.Default().GetAccountState(addr) self.assertIsNone(acct) + + def test_ShowAllAssets(self): + assets = Blockchain.Default().ShowAllAssets() + self.assertEqual(len(assets), 2) From 02618fa999f618767ccc9ccfff209a1d1b27f362 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 12:44:05 -0700 Subject: [PATCH 08/40] Update prompt.py - update `help` to for `asset all` and `contract all` - add the ability to show all assets with `asset all` --- neo/bin/prompt.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/neo/bin/prompt.py b/neo/bin/prompt.py index 615aaebe5..6b3d14d57 100755 --- a/neo/bin/prompt.py +++ b/neo/bin/prompt.py @@ -97,8 +97,10 @@ class PromptInterface: 'tx {hash}', 'account {address} # returns account state', 'asset {assetId} # returns asset state', + 'asset all # returns a list of all assets', 'asset search {query}', 'contract {contract hash} # returns contract state', + 'contract all # returns a list of all contracts', 'contract search {query}', 'notifications {block_number or address}', 'mem # returns memory in use and number of buffers', @@ -667,7 +669,13 @@ def show_asset_state(self, args): if item is not None: - if item == 'search': + if item.lower() == 'all': + assets = Blockchain.Default().ShowAllAssets() + print("Assets: %s" % assets) + + return + + elif item == 'search': query = get_arg(args, 1) results = Blockchain.Default().SearchAssetState(query) print("Found %s results for %s" % (len(results), query)) From a0f801d41251f698f4d9a701f85a0a2a2273f514 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 12:45:30 -0700 Subject: [PATCH 09/40] Update CHANGELOG.rst --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6ba652b10..972aae2bd 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,6 +12,7 @@ All notable changes to this project are documented in this file. - Add fixtures guidelines and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address - Fix ``ExtendedJsonRpcApi`` +- Update asset search methods [0.8.1] 2018-10-06 ------------------ From c403f0d76428597be063a16359dc903633d03252 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 16:59:02 -0700 Subject: [PATCH 10/40] Update ExtendedJsonRpcApi.py - add `searchcontracts`, `showallassets`, `showallcontracts` --- neo/api/JSONRPC/ExtendedJsonRpcApi.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index 123a15161..c7fb013c7 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -58,4 +58,31 @@ def json_rpc_method_handler(self, method, params): else: raise JsonRpcError(-400, "Access denied.") + elif method == "searchcontracts": + contracts = Blockchain.Default().SearchContracts(params[0]) + res = [] + + if len(params) >= 2 and params[1]: + for item in contracts: + res.append(item.ToJson()) + return res + + for item in contracts: + res.append(str(item.Code.ScriptHash())) + return res + + elif method == "showallassets": + assets = list(Blockchain.Default().ShowAllAssets()) + res = [] + for item in assets: + res.append(item.decode('utf-8')) + return res + + elif method == "showallcontracts": + contracts = list(Blockchain.Default().ShowAllContracts()) + res = [] + for item in contracts: + res.append(item.decode('utf-8')) + return res + return super(ExtendedJsonRpcApi, self).json_rpc_method_handler(method, params) From 8c6a851c5e74443e0084663e53c2006c5e4f32cb Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:16:59 -0700 Subject: [PATCH 11/40] Update ExtendedJsonRpcApi.py - add exception for "No known contracts" to `searchcontracts` --- neo/api/JSONRPC/ExtendedJsonRpcApi.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index c7fb013c7..4fde095b2 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -60,8 +60,10 @@ def json_rpc_method_handler(self, method, params): elif method == "searchcontracts": contracts = Blockchain.Default().SearchContracts(params[0]) - res = [] + if len(contracts) == 0: + raise JsonRpcError(-100, "No known contracts") + res = [] if len(params) >= 2 and params[1]: for item in contracts: res.append(item.ToJson()) From 3c620830ea59133fb090dd4e9ced2446f9384971 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:19:58 -0700 Subject: [PATCH 12/40] Update test_extended_json_rpc_api.py - add tests for `showallassets`, `showallcontracts`, `searchcontracts` --- neo/api/JSONRPC/test_extended_json_rpc_api.py | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/neo/api/JSONRPC/test_extended_json_rpc_api.py b/neo/api/JSONRPC/test_extended_json_rpc_api.py index e1474e030..293fa8680 100644 --- a/neo/api/JSONRPC/test_extended_json_rpc_api.py +++ b/neo/api/JSONRPC/test_extended_json_rpc_api.py @@ -118,3 +118,42 @@ def test_gettxhistory(self): self.app.wallet.Close() self.app.wallet = None os.remove(WalletFixtureTestCase.wallet_1_dest()) + + def test_showallassets(self): + req = self._gen_rpc_req("showallassets") + mock_req = mock_request(json.dumps(req).encode("utf-8")) + res = json.loads(self.app.home(mock_req)) + self.assertEqual(len(res['result']), 2) + + def test_showallcontracts(self): + req = self._gen_rpc_req("showallcontracts") + mock_req = mock_request(json.dumps(req).encode("utf-8")) + res = json.loads(self.app.home(mock_req)) + self.assertEqual(len(res['result']), 6) + + def test_searchcontracts_basic(self): + req = self._gen_rpc_req("searchcontracts", params=["dauTT"]) + mock_req = mock_request(json.dumps(req).encode("utf-8")) + res = json.loads(self.app.home(mock_req)) + self.assertEqual(len(res['result']), 3) + self.assertFalse(type(res['result'][0]) is dict) + for item in res['result']: + contract = Blockchain.Default().GetContract(item) + contract = contract.ToJson() + self.assertEqual("dauTT", contract['author']) + + def test_searchcontracts_verbose(self): + req = self._gen_rpc_req("searchcontracts", params=["dauTT", 1]) + mock_req = mock_request(json.dumps(req).encode("utf-8")) + res = json.loads(self.app.home(mock_req)) + self.assertEqual(len(res['result']), 3) + self.assertTrue(type(res['result'][0]) is dict) + for item in res['result']: + self.assertEqual("dauTT", item['author']) + + def test_searchcontracts_no_known_contracts(self): + req = self._gen_rpc_req("searchcontracts", params=["Bob", 1]) + mock_req = mock_request(json.dumps(req).encode("utf-8")) + res = json.loads(self.app.home(mock_req)) + self.assertTrue('error' in res) + self.assertEqual(res['error']['message'], 'No known contracts') From c18fef33dd36030afccb2e9ad098320be75f8737 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:20:47 -0700 Subject: [PATCH 13/40] Update test_extended_json_rpc_api.py - remove indentation --- neo/api/JSONRPC/test_extended_json_rpc_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neo/api/JSONRPC/test_extended_json_rpc_api.py b/neo/api/JSONRPC/test_extended_json_rpc_api.py index 293fa8680..b2befd61c 100644 --- a/neo/api/JSONRPC/test_extended_json_rpc_api.py +++ b/neo/api/JSONRPC/test_extended_json_rpc_api.py @@ -141,7 +141,7 @@ def test_searchcontracts_basic(self): contract = Blockchain.Default().GetContract(item) contract = contract.ToJson() self.assertEqual("dauTT", contract['author']) - + def test_searchcontracts_verbose(self): req = self._gen_rpc_req("searchcontracts", params=["dauTT", 1]) mock_req = mock_request(json.dumps(req).encode("utf-8")) From 3903a816fbda3f442f0b4afda40fc92c2f9559a0 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:26:00 -0700 Subject: [PATCH 14/40] Update CHANGELOG.rst --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 972aae2bd..7070e321b 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,7 +12,7 @@ All notable changes to this project are documented in this file. - Add fixtures guidelines and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address - Fix ``ExtendedJsonRpcApi`` -- Update asset search methods +- Update ``getassetstate`` RPC method, add ``showallcontracts`` and ``searchcontracts`` RPC methods, add ``showallassets`` RPC method & LevelDBBlockchain function, update prompt.py ``help`` and asset search [0.8.1] 2018-10-06 ------------------ From 9a23f4287a1788772a51a5a7f2d9151ec4aed461 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:30:57 -0700 Subject: [PATCH 15/40] Update CHANGELOG.rst for compatibility --- CHANGELOG.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7070e321b..6ba652b10 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,7 +12,6 @@ All notable changes to this project are documented in this file. - Add fixtures guidelines and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address - Fix ``ExtendedJsonRpcApi`` -- Update ``getassetstate`` RPC method, add ``showallcontracts`` and ``searchcontracts`` RPC methods, add ``showallassets`` RPC method & LevelDBBlockchain function, update prompt.py ``help`` and asset search [0.8.1] 2018-10-06 ------------------ From 12db889f71e0ce327c156a37636d8ded36fceb79 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:32:33 -0700 Subject: [PATCH 16/40] Update ExtendedJsonRpcApi.py for compatibility --- neo/api/JSONRPC/ExtendedJsonRpcApi.py | 29 --------------------------- 1 file changed, 29 deletions(-) diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index 4fde095b2..123a15161 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -58,33 +58,4 @@ def json_rpc_method_handler(self, method, params): else: raise JsonRpcError(-400, "Access denied.") - elif method == "searchcontracts": - contracts = Blockchain.Default().SearchContracts(params[0]) - if len(contracts) == 0: - raise JsonRpcError(-100, "No known contracts") - - res = [] - if len(params) >= 2 and params[1]: - for item in contracts: - res.append(item.ToJson()) - return res - - for item in contracts: - res.append(str(item.Code.ScriptHash())) - return res - - elif method == "showallassets": - assets = list(Blockchain.Default().ShowAllAssets()) - res = [] - for item in assets: - res.append(item.decode('utf-8')) - return res - - elif method == "showallcontracts": - contracts = list(Blockchain.Default().ShowAllContracts()) - res = [] - for item in contracts: - res.append(item.decode('utf-8')) - return res - return super(ExtendedJsonRpcApi, self).json_rpc_method_handler(method, params) From 6ed814165b4b93f7a058a320dca9bb25e78ddce2 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:35:12 -0700 Subject: [PATCH 17/40] Update CHANGELOG.rst --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6ba652b10..7070e321b 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,6 +12,7 @@ All notable changes to this project are documented in this file. - Add fixtures guidelines and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address - Fix ``ExtendedJsonRpcApi`` +- Update ``getassetstate`` RPC method, add ``showallcontracts`` and ``searchcontracts`` RPC methods, add ``showallassets`` RPC method & LevelDBBlockchain function, update prompt.py ``help`` and asset search [0.8.1] 2018-10-06 ------------------ From 85d0336f94413d1298756025ee1d456fcddc9b58 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:36:14 -0700 Subject: [PATCH 18/40] Update ExtendedJsonRpcApi.py - re-add methods --- neo/api/JSONRPC/ExtendedJsonRpcApi.py | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index 123a15161..4fde095b2 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -58,4 +58,33 @@ def json_rpc_method_handler(self, method, params): else: raise JsonRpcError(-400, "Access denied.") + elif method == "searchcontracts": + contracts = Blockchain.Default().SearchContracts(params[0]) + if len(contracts) == 0: + raise JsonRpcError(-100, "No known contracts") + + res = [] + if len(params) >= 2 and params[1]: + for item in contracts: + res.append(item.ToJson()) + return res + + for item in contracts: + res.append(str(item.Code.ScriptHash())) + return res + + elif method == "showallassets": + assets = list(Blockchain.Default().ShowAllAssets()) + res = [] + for item in assets: + res.append(item.decode('utf-8')) + return res + + elif method == "showallcontracts": + contracts = list(Blockchain.Default().ShowAllContracts()) + res = [] + for item in contracts: + res.append(item.decode('utf-8')) + return res + return super(ExtendedJsonRpcApi, self).json_rpc_method_handler(method, params) From c3d8005c0c7ca448deefe5c427b8787e45fdbafc Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:37:37 -0700 Subject: [PATCH 19/40] Revert "Update ExtendedJsonRpcApi.py" This reverts commit 85d0336f94413d1298756025ee1d456fcddc9b58. From b3041ae604a97d66333533a8e901a73289d5f558 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:37:37 -0700 Subject: [PATCH 20/40] Revert "Update CHANGELOG.rst" This reverts commit 6ed814165b4b93f7a058a320dca9bb25e78ddce2. From 6ccebf78677fe10c3c8cfc75131e35a17b4c7780 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:39:36 -0700 Subject: [PATCH 21/40] Update CHANGELOG.rst for compatibility --- CHANGELOG.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7070e321b..6ba652b10 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,7 +12,6 @@ All notable changes to this project are documented in this file. - Add fixtures guidelines and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address - Fix ``ExtendedJsonRpcApi`` -- Update ``getassetstate`` RPC method, add ``showallcontracts`` and ``searchcontracts`` RPC methods, add ``showallassets`` RPC method & LevelDBBlockchain function, update prompt.py ``help`` and asset search [0.8.1] 2018-10-06 ------------------ From 498a5bc8f95fa30db4ce20958a59c0c218c2e048 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:40:17 -0700 Subject: [PATCH 22/40] Update ExtendedJsonRpcApi.py for compatibility --- neo/api/JSONRPC/ExtendedJsonRpcApi.py | 29 --------------------------- 1 file changed, 29 deletions(-) diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index 4fde095b2..123a15161 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -58,33 +58,4 @@ def json_rpc_method_handler(self, method, params): else: raise JsonRpcError(-400, "Access denied.") - elif method == "searchcontracts": - contracts = Blockchain.Default().SearchContracts(params[0]) - if len(contracts) == 0: - raise JsonRpcError(-100, "No known contracts") - - res = [] - if len(params) >= 2 and params[1]: - for item in contracts: - res.append(item.ToJson()) - return res - - for item in contracts: - res.append(str(item.Code.ScriptHash())) - return res - - elif method == "showallassets": - assets = list(Blockchain.Default().ShowAllAssets()) - res = [] - for item in assets: - res.append(item.decode('utf-8')) - return res - - elif method == "showallcontracts": - contracts = list(Blockchain.Default().ShowAllContracts()) - res = [] - for item in contracts: - res.append(item.decode('utf-8')) - return res - return super(ExtendedJsonRpcApi, self).json_rpc_method_handler(method, params) From 7a0f8f8e0f5cd56abc1cf3ba9340f230eef10216 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:42:43 -0700 Subject: [PATCH 23/40] Update CHANGELOG.rst --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6ba652b10..7070e321b 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,6 +12,7 @@ All notable changes to this project are documented in this file. - Add fixtures guidelines and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address - Fix ``ExtendedJsonRpcApi`` +- Update ``getassetstate`` RPC method, add ``showallcontracts`` and ``searchcontracts`` RPC methods, add ``showallassets`` RPC method & LevelDBBlockchain function, update prompt.py ``help`` and asset search [0.8.1] 2018-10-06 ------------------ From f4b2f41eda7c90d7aafff4656c4c3c03ec71da14 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:43:37 -0700 Subject: [PATCH 24/40] Update ExtendedJsonRpcApi.py - re-add methods --- neo/api/JSONRPC/ExtendedJsonRpcApi.py | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index 123a15161..4fde095b2 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -58,4 +58,33 @@ def json_rpc_method_handler(self, method, params): else: raise JsonRpcError(-400, "Access denied.") + elif method == "searchcontracts": + contracts = Blockchain.Default().SearchContracts(params[0]) + if len(contracts) == 0: + raise JsonRpcError(-100, "No known contracts") + + res = [] + if len(params) >= 2 and params[1]: + for item in contracts: + res.append(item.ToJson()) + return res + + for item in contracts: + res.append(str(item.Code.ScriptHash())) + return res + + elif method == "showallassets": + assets = list(Blockchain.Default().ShowAllAssets()) + res = [] + for item in assets: + res.append(item.decode('utf-8')) + return res + + elif method == "showallcontracts": + contracts = list(Blockchain.Default().ShowAllContracts()) + res = [] + for item in contracts: + res.append(item.decode('utf-8')) + return res + return super(ExtendedJsonRpcApi, self).json_rpc_method_handler(method, params) From caa698ca73ba2f37f46252e1f649035b7a3445a6 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:53:53 -0700 Subject: [PATCH 25/40] Update test_extended_json_rpc_api.py - import required modules --- neo/api/JSONRPC/test_extended_json_rpc_api.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/neo/api/JSONRPC/test_extended_json_rpc_api.py b/neo/api/JSONRPC/test_extended_json_rpc_api.py index b2befd61c..f9e005c89 100644 --- a/neo/api/JSONRPC/test_extended_json_rpc_api.py +++ b/neo/api/JSONRPC/test_extended_json_rpc_api.py @@ -10,8 +10,10 @@ from neo.api.JSONRPC.ExtendedJsonRpcApi import ExtendedJsonRpcApi from neo.Utils.BlockchainFixtureTestCase import BlockchainFixtureTestCase from neo.Implementations.Wallets.peewee.UserWallet import UserWallet +from neo.Implementations.Blockchains.LevelDB.LevelDBBlockchain import LevelDBBlockchain from neo.Wallets.utils import to_aes_key from neo.Blockchain import GetBlockchain +from neo.Core.Blockchain import Blockchain from neo.Settings import settings from neo.Utils.WalletFixtureTestCase import WalletFixtureTestCase From 8984b4f3727df10455bd5f12a2de959f172d3907 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 13 Oct 2018 17:59:52 -0700 Subject: [PATCH 26/40] Update test_json_rpc_api.py - remove indentation --- neo/api/JSONRPC/test_json_rpc_api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/neo/api/JSONRPC/test_json_rpc_api.py b/neo/api/JSONRPC/test_json_rpc_api.py index 6f5e00ac9..3d6f5baf4 100644 --- a/neo/api/JSONRPC/test_json_rpc_api.py +++ b/neo/api/JSONRPC/test_json_rpc_api.py @@ -146,7 +146,7 @@ def test_get_asset_state_hash(self): self.assertEqual(res['result']['assetId'], '0x%s' % asset_str) self.assertEqual(res['result']['admin'], 'AWKECj9RD8rS8RPcpCgYVjk1DeYyHwxZm3') self.assertEqual(res['result']['available'], 0) - + def test_get_asset_state_str(self): asset_str = 'neo' req = self._gen_rpc_req("getassetstate", params=[asset_str]) From 29213a0d099062a5f69805d316edbb619cbcc7e4 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sun, 14 Oct 2018 09:27:20 -0700 Subject: [PATCH 27/40] Update test_json_rpc_api.py - add 'gas' test for `getassetstate` --- neo/api/JSONRPC/test_json_rpc_api.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/neo/api/JSONRPC/test_json_rpc_api.py b/neo/api/JSONRPC/test_json_rpc_api.py index 3d6f5baf4..95e92dee7 100644 --- a/neo/api/JSONRPC/test_json_rpc_api.py +++ b/neo/api/JSONRPC/test_json_rpc_api.py @@ -147,7 +147,7 @@ def test_get_asset_state_hash(self): self.assertEqual(res['result']['admin'], 'AWKECj9RD8rS8RPcpCgYVjk1DeYyHwxZm3') self.assertEqual(res['result']['available'], 0) - def test_get_asset_state_str(self): + def test_get_asset_state_neo(self): asset_str = 'neo' req = self._gen_rpc_req("getassetstate", params=[asset_str]) mock_req = mock_request(json.dumps(req).encode("utf-8")) @@ -156,6 +156,15 @@ def test_get_asset_state_str(self): self.assertEqual(res['result']['admin'], 'Abf2qMs1pzQb8kYk9RuxtUb9jtRKJVuBJt') self.assertEqual(res['result']['available'], 10000000000000000) + def test_get_asset_state_gas(self): + asset_str = 'GAS' + req = self._gen_rpc_req("getassetstate", params=[asset_str]) + mock_req = mock_request(json.dumps(req).encode("utf-8")) + res = json.loads(self.app.home(mock_req)) + self.assertEqual(res['result']['assetId'], '0x%s' % str(GetBlockchain().SystemCoin().Hash)) + self.assertEqual(res['result']['amount'], 10000000000000000) + self.assertEqual(res['result']['admin'], 'AWKECj9RD8rS8RPcpCgYVjk1DeYyHwxZm3') + def test_get_asset_state_0x(self): asset_str = '0x602c79718b16e442de58778e148d0b1084e3b2dffd5de6b7b16cee7969282de7' req = self._gen_rpc_req("getassetstate", params=[asset_str]) From 879e98762a32ed789d7ca7e92b62c2d27b245f6e Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Tue, 30 Oct 2018 16:54:38 -0700 Subject: [PATCH 28/40] Update CHANGELOG.rst for compatibility --- CHANGELOG.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7070e321b..505f4133f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -12,7 +12,7 @@ All notable changes to this project are documented in this file. - Add fixtures guidelines and add the smart contract source codes (UnitTest-SM.zip) to the fixtures package - Adds ``sendmany`` feature to prompt.py, integrates with ``send`` feature, and adds provisions for sending with a negative fee and bad from_address - Fix ``ExtendedJsonRpcApi`` -- Update ``getassetstate`` RPC method, add ``showallcontracts`` and ``searchcontracts`` RPC methods, add ``showallassets`` RPC method & LevelDBBlockchain function, update prompt.py ``help`` and asset search + [0.8.1] 2018-10-06 ------------------ From d0dc7cd20c5960e815e7c7332a51b9b80449a849 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Tue, 30 Oct 2018 16:55:56 -0700 Subject: [PATCH 29/40] Update test_LevelDBBlockchain.py for compatibility --- .../Blockchains/LevelDB/test_LevelDBBlockchain.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py b/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py index c371efcff..74b8b7c7b 100644 --- a/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py +++ b/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py @@ -52,7 +52,3 @@ def test_GetAccountState(self): addr = "AK2nJJpJr6o664CWJKi1QRXjqeic2zRp81" acct = Blockchain.Default().GetAccountState(addr) self.assertIsNone(acct) - - def test_ShowAllAssets(self): - assets = Blockchain.Default().ShowAllAssets() - self.assertEqual(len(assets), 2) From cdf0b43091b28d32eab07bb2a1109a84653a491d Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Tue, 30 Oct 2018 16:58:11 -0700 Subject: [PATCH 30/40] Update CHANGELOG.rst --- CHANGELOG.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 6c0c4de14..478b1c1b6 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,6 +6,7 @@ All notable changes to this project are documented in this file. [0.8.2] In Progress ------------------- +- Update ``getassetstate`` RPC method, add ``showallcontracts`` and ``searchcontracts`` RPC methods, add ``showallassets`` RPC method & LevelDBBlockchain function, update prompt.py ``help`` and asset search - Fix max recursion depth exceeding when network data inflow exceeds processing speed - Add log output control via the new ``config output_level`` command. The old ``config debug`` command is removed. - Update Readme and Prompt.py ``help`` From ef09c68584e93b9953eb90e1239302531c255897 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Tue, 30 Oct 2018 16:58:31 -0700 Subject: [PATCH 31/40] Update CHANGELOG.rst --- CHANGELOG.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 478b1c1b6..0389b1a3f 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -27,8 +27,6 @@ All notable changes to this project are documented in this file. - Add ``getblockheader`` RPC method - - [0.8.1] 2018-10-06 ------------------ - Add ``sendmany`` and ``sendfrom`` RPC methods & tests and integrate with ``sendtoaddress`` From 8887e8f2176d8b6bb315f33c97f7e1c73420c1c1 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Tue, 30 Oct 2018 16:59:49 -0700 Subject: [PATCH 32/40] Update test_LevelDBBlockchain.py - re-add test removed to resolve conflicts --- .../Blockchains/LevelDB/test_LevelDBBlockchain.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py b/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py index 48155c5ea..2277321c0 100644 --- a/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py +++ b/neo/Implementations/Blockchains/LevelDB/test_LevelDBBlockchain.py @@ -74,3 +74,7 @@ def test_GetHeaderBy(self): invalid_bc_height = self._blockchain.Height + 1 block = self._blockchain.GetHeaderBy(invalid_bc_height) self.assertEqual(block, None) + + def test_ShowAllAssets(self): + assets = Blockchain.Default().ShowAllAssets() + self.assertEqual(len(assets), 2) From 66d919d8fbedc25db9418eac6521c3d7ad591cb9 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Wed, 31 Oct 2018 21:28:15 -0700 Subject: [PATCH 33/40] Update ExtendedJsonRpcApi.py - remove unnecessary `list()`s --- neo/api/JSONRPC/ExtendedJsonRpcApi.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index 4fde095b2..62a0cd70f 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -74,14 +74,14 @@ def json_rpc_method_handler(self, method, params): return res elif method == "showallassets": - assets = list(Blockchain.Default().ShowAllAssets()) + assets = Blockchain.Default().ShowAllAssets() res = [] for item in assets: res.append(item.decode('utf-8')) return res elif method == "showallcontracts": - contracts = list(Blockchain.Default().ShowAllContracts()) + contracts = Blockchain.Default().ShowAllContracts() res = [] for item in contracts: res.append(item.decode('utf-8')) From bfbe09ab3a5c108015f2418808aacfef1b357653 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Thu, 20 Dec 2018 06:05:58 -0800 Subject: [PATCH 34/40] Update ExtendedJsonRpcApi.py - remove Extended methods per https://github.com/CityOfZion/neo-python/pull/667#issuecomment-448953069 --- neo/api/JSONRPC/ExtendedJsonRpcApi.py | 29 --------------------------- 1 file changed, 29 deletions(-) diff --git a/neo/api/JSONRPC/ExtendedJsonRpcApi.py b/neo/api/JSONRPC/ExtendedJsonRpcApi.py index 62a0cd70f..123a15161 100644 --- a/neo/api/JSONRPC/ExtendedJsonRpcApi.py +++ b/neo/api/JSONRPC/ExtendedJsonRpcApi.py @@ -58,33 +58,4 @@ def json_rpc_method_handler(self, method, params): else: raise JsonRpcError(-400, "Access denied.") - elif method == "searchcontracts": - contracts = Blockchain.Default().SearchContracts(params[0]) - if len(contracts) == 0: - raise JsonRpcError(-100, "No known contracts") - - res = [] - if len(params) >= 2 and params[1]: - for item in contracts: - res.append(item.ToJson()) - return res - - for item in contracts: - res.append(str(item.Code.ScriptHash())) - return res - - elif method == "showallassets": - assets = Blockchain.Default().ShowAllAssets() - res = [] - for item in assets: - res.append(item.decode('utf-8')) - return res - - elif method == "showallcontracts": - contracts = Blockchain.Default().ShowAllContracts() - res = [] - for item in contracts: - res.append(item.decode('utf-8')) - return res - return super(ExtendedJsonRpcApi, self).json_rpc_method_handler(method, params) From c0a6d7b183a8f5e3e0f9696d392cb728d9d378d7 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Thu, 20 Dec 2018 06:07:27 -0800 Subject: [PATCH 35/40] Update test_extended_json_rpc_api.py - remove tests per https://github.com/CityOfZion/neo-python/pull/667#issuecomment-448953069 --- neo/api/JSONRPC/test_extended_json_rpc_api.py | 41 ------------------- 1 file changed, 41 deletions(-) diff --git a/neo/api/JSONRPC/test_extended_json_rpc_api.py b/neo/api/JSONRPC/test_extended_json_rpc_api.py index f9e005c89..e1474e030 100644 --- a/neo/api/JSONRPC/test_extended_json_rpc_api.py +++ b/neo/api/JSONRPC/test_extended_json_rpc_api.py @@ -10,10 +10,8 @@ from neo.api.JSONRPC.ExtendedJsonRpcApi import ExtendedJsonRpcApi from neo.Utils.BlockchainFixtureTestCase import BlockchainFixtureTestCase from neo.Implementations.Wallets.peewee.UserWallet import UserWallet -from neo.Implementations.Blockchains.LevelDB.LevelDBBlockchain import LevelDBBlockchain from neo.Wallets.utils import to_aes_key from neo.Blockchain import GetBlockchain -from neo.Core.Blockchain import Blockchain from neo.Settings import settings from neo.Utils.WalletFixtureTestCase import WalletFixtureTestCase @@ -120,42 +118,3 @@ def test_gettxhistory(self): self.app.wallet.Close() self.app.wallet = None os.remove(WalletFixtureTestCase.wallet_1_dest()) - - def test_showallassets(self): - req = self._gen_rpc_req("showallassets") - mock_req = mock_request(json.dumps(req).encode("utf-8")) - res = json.loads(self.app.home(mock_req)) - self.assertEqual(len(res['result']), 2) - - def test_showallcontracts(self): - req = self._gen_rpc_req("showallcontracts") - mock_req = mock_request(json.dumps(req).encode("utf-8")) - res = json.loads(self.app.home(mock_req)) - self.assertEqual(len(res['result']), 6) - - def test_searchcontracts_basic(self): - req = self._gen_rpc_req("searchcontracts", params=["dauTT"]) - mock_req = mock_request(json.dumps(req).encode("utf-8")) - res = json.loads(self.app.home(mock_req)) - self.assertEqual(len(res['result']), 3) - self.assertFalse(type(res['result'][0]) is dict) - for item in res['result']: - contract = Blockchain.Default().GetContract(item) - contract = contract.ToJson() - self.assertEqual("dauTT", contract['author']) - - def test_searchcontracts_verbose(self): - req = self._gen_rpc_req("searchcontracts", params=["dauTT", 1]) - mock_req = mock_request(json.dumps(req).encode("utf-8")) - res = json.loads(self.app.home(mock_req)) - self.assertEqual(len(res['result']), 3) - self.assertTrue(type(res['result'][0]) is dict) - for item in res['result']: - self.assertEqual("dauTT", item['author']) - - def test_searchcontracts_no_known_contracts(self): - req = self._gen_rpc_req("searchcontracts", params=["Bob", 1]) - mock_req = mock_request(json.dumps(req).encode("utf-8")) - res = json.loads(self.app.home(mock_req)) - self.assertTrue('error' in res) - self.assertEqual(res['error']['message'], 'No known contracts') From e5760a6878ea60ddf0f3af21a791c4164470568c Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 22 Dec 2018 08:15:05 -0800 Subject: [PATCH 36/40] Update prompt.py - update `show_asset_state` and `show_contract_state` per changes in https://github.com/CityOfZion/neo-python/pull/741 and https://github.com/CityOfZion/neo-python/pull/739 --- neo/bin/prompt.py | 48 ++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 7 deletions(-) diff --git a/neo/bin/prompt.py b/neo/bin/prompt.py index 0f9ac8f74..057550a76 100755 --- a/neo/bin/prompt.py +++ b/neo/bin/prompt.py @@ -43,6 +43,7 @@ from neo.UserPreferences import preferences from neocore.KeyPair import KeyPair from neocore.UInt256 import UInt256 +from neocore.UInt160 import UInt160 from neo.logging import log_manager logger = log_manager.getLogger() @@ -673,11 +674,18 @@ def show_asset_state(self, args): if item.lower() == 'all': assets = Blockchain.Default().ShowAllAssets() - print("Assets: %s" % assets) - + assetlist = [] + for asset in assets: + state = Blockchain.Default().GetAssetState(asset.decode('utf-8')).ToJson() + asset_dict = {state['name']: state['assetId']} + assetlist.append(asset_dict) + bjson = json.dumps(assetlist, indent=4) + tokens = [("class:number", bjson)] + print_formatted_text(FormattedText(tokens), style=self.token_style) + print('\n') return - elif item == 'search': + elif item.lower() == 'search': query = get_arg(args, 1) results = Blockchain.Default().SearchAssetState(query) print("Found %s results for %s" % (len(results), query)) @@ -686,10 +694,20 @@ def show_asset_state(self, args): tokens = [("class:number", bjson)] print_formatted_text(FormattedText(tokens), style=self.token_style) print('\n') - return - asset = Blockchain.Default().GetAssetState(item) + if item.lower() == 'neo': + assetId = Blockchain.Default().SystemShare().Hash + elif item.lower() == 'gas': + assetId = Blockchain.Default().SystemCoin().Hash + else: + try: + assetId = UInt256.ParseString(item) + except Exception: + print("Could not find asset from args: %s" % args) + return + + asset = Blockchain.Default().GetAssetState(assetId.ToBytes()) if asset is not None: bjson = json.dumps(asset.ToJson(), indent=4) @@ -708,7 +726,17 @@ def show_contract_state(self, args): if item.lower() == 'all': contracts = Blockchain.Default().ShowAllContracts() - print("Contracts: %s" % contracts) + contractlist = [] + for contract in contracts: + state = Blockchain.Default().GetContract(contract.decode('utf-8')).ToJson() + contract_dict = {state['name']: state['hash']} + contractlist.append(contract_dict) + bjson = json.dumps(contractlist, indent=4) + tokens = [("class:number", bjson)] + print_formatted_text(FormattedText(tokens), style=self.token_style) + print('\n') + return + elif item.lower() == 'search': query = get_arg(args, 1) if query: @@ -723,7 +751,13 @@ def show_contract_state(self, args): else: print("Please specify a search query") else: - contract = Blockchain.Default().GetContract(item) + try: + hash = UInt160.ParseString(item).ToBytes() + except Exception: + print("Could not find contract from args: %s" % args) + return + + contract = Blockchain.Default().GetContract(hash) if contract is not None: contract.DetermineIsNEP5() From 268348a2c89b42adcaf5b583613ab797083c3547 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 22 Dec 2018 08:16:46 -0800 Subject: [PATCH 37/40] Update CHANGELOG.rst for compatibility --- CHANGELOG.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 0389b1a3f..da9b2402d 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -6,7 +6,6 @@ All notable changes to this project are documented in this file. [0.8.2] In Progress ------------------- -- Update ``getassetstate`` RPC method, add ``showallcontracts`` and ``searchcontracts`` RPC methods, add ``showallassets`` RPC method & LevelDBBlockchain function, update prompt.py ``help`` and asset search - Fix max recursion depth exceeding when network data inflow exceeds processing speed - Add log output control via the new ``config output_level`` command. The old ``config debug`` command is removed. - Update Readme and Prompt.py ``help`` From b8ef7beb270099cfee3594985becc43bdcb58ccb Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 22 Dec 2018 08:22:00 -0800 Subject: [PATCH 38/40] Update CHANGELOG.rst --- CHANGELOG.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 54b42bb10..c729c4639 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,7 @@ All notable changes to this project are documented in this file. [0.8.3-dev] in progress ----------------------- +- Update ``getassetstate`` RPC method; add ``showallassets`` LevelDBBlockchain function; update prompt.py ``help``, ``show_asset_state``, and ``show_contract_state`` - Disallow ``Void`` type input parameters for smart contracts and increase test coverage - Fix confirmed tx not being purged from mempool `#703 `_ - Fix bootstrap thread joining failure on Ubuntu systems @@ -50,6 +51,7 @@ All notable changes to this project are documented in this file. - Remove ``Neo.Witness.GetInvocationScript`` - Allow wallets to sync past corrupt blocks + [0.8.1] 2018-10-06 ------------------ - Add ``sendmany`` and ``sendfrom`` RPC methods & tests and integrate with ``sendtoaddress`` From 3eb86725af0b3397fd5570ecd7b2a2824cb6bca3 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 22 Dec 2018 08:30:16 -0800 Subject: [PATCH 39/40] Update test_json_rpc_api.py - update tests --- neo/api/JSONRPC/test_json_rpc_api.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/neo/api/JSONRPC/test_json_rpc_api.py b/neo/api/JSONRPC/test_json_rpc_api.py index 31f170aeb..4aa5933cc 100644 --- a/neo/api/JSONRPC/test_json_rpc_api.py +++ b/neo/api/JSONRPC/test_json_rpc_api.py @@ -233,8 +233,8 @@ def test_get_asset_state_hash(self): def test_get_asset_state_neo(self): asset_str = 'neo' - req = self._gen_rpc_req("getassetstate", params=[asset_str]) - mock_req = mock_request(json.dumps(req).encode("utf-8")) + req = self._gen_post_rpc_req("getassetstate", params=[asset_str]) + mock_req = mock_post_request(json.dumps(req).encode("utf-8")) res = json.loads(self.app.home(mock_req)) self.assertEqual(res['result']['assetId'], '0x%s' % str(GetBlockchain().SystemShare().Hash)) self.assertEqual(res['result']['admin'], 'Abf2qMs1pzQb8kYk9RuxtUb9jtRKJVuBJt') @@ -242,8 +242,8 @@ def test_get_asset_state_neo(self): def test_get_asset_state_gas(self): asset_str = 'GAS' - req = self._gen_rpc_req("getassetstate", params=[asset_str]) - mock_req = mock_request(json.dumps(req).encode("utf-8")) + req = self._gen_post_rpc_req("getassetstate", params=[asset_str]) + mock_req = mock_post_request(json.dumps(req).encode("utf-8")) res = json.loads(self.app.home(mock_req)) self.assertEqual(res['result']['assetId'], '0x%s' % str(GetBlockchain().SystemCoin().Hash)) self.assertEqual(res['result']['amount'], 10000000000000000) From 29d244f314f42bbcdc92d4a9ef4d7b6a23f13759 Mon Sep 17 00:00:00 2001 From: jseagrave21 <40873301+jseagrave21@users.noreply.github.com> Date: Sat, 22 Dec 2018 08:42:52 -0800 Subject: [PATCH 40/40] Update LevelDBBlockchain.py - update SearchAssetState per https://github.com/CityOfZion/neo-python/pull/739 --- .../Blockchains/LevelDB/LevelDBBlockchain.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.py b/neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.py index 49a22e9b9..33732f80b 100644 --- a/neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.py +++ b/neo/Implementations/Blockchains/LevelDB/LevelDBBlockchain.py @@ -340,6 +340,12 @@ def SearchAssetState(self, query): assets = DBCollection(self._db, DBPrefix.ST_Asset, AssetState) keys = assets.Keys + if query.lower() == "neo": + query = "AntShare" + + if query.lower() in {"gas", "neogas"}: + query = "AntCoin" + for item in keys: asset = assets.TryGet(keyval=item) if query in asset.Name.decode('utf-8'):