Skip to content
This repository was archived by the owner on May 16, 2019. It is now read-only.

Commit 4f58a7b

Browse files
committed
Fix bug updating moderators in contracts
1 parent 298170e commit 4f58a7b

File tree

3 files changed

+25
-19
lines changed

3 files changed

+25
-19
lines changed

api/restapi.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -819,17 +819,21 @@ def set_settings(self, request):
819819
settings = self.db.settings
820820
resolver = RESOLVER if "resolver" not in request.args or request.args["resolver"][0] == "" \
821821
else request.args["resolver"][0]
822-
if "libbitcoin_server" in request.args and request.args["libbitcoin_server"][0] != "":
822+
if "libbitcoin_server" in request.args and \
823+
request.args["libbitcoin_server"][0] != "" and \
824+
request.args["libbitcoin_server"][0] != "null":
823825
if self.protocol.testnet:
824826
set_value("LIBBITCOIN_SERVERS_TESTNET", "testnet_server_custom",
825827
request.args["libbitcoin_server"][0])
826828
else:
827829
set_value("LIBBITCOIN_SERVERS", "server_custom", request.args["libbitcoin_server"][0])
828830
else:
829831
if self.protocol.testnet:
830-
delete_value("LIBBITCOIN_SERVERS_TESTNET", "testnet_server_custom")
832+
if get_value("LIBBITCOIN_SERVERS_TESTNET", "testnet_server_custom"):
833+
delete_value("LIBBITCOIN_SERVERS_TESTNET", "testnet_server_custom")
831834
else:
832-
delete_value("LIBBITCOIN_SERVERS", "server_custom")
835+
if get_value("LIBBITCOIN_SERVERS", "server_custom"):
836+
delete_value("LIBBITCOIN_SERVERS", "server_custom")
833837
if resolver != get_value("CONSTANTS", "RESOLVER"):
834838
set_value("CONSTANTS", "RESOLVER", resolver)
835839

market/network.py

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1130,24 +1130,25 @@ def update_moderators_on_listings(self, moderator_list):
11301130
mods_to_add = list(set(moderator_list) - set(contract_moderators))
11311131
for mod in mods_to_add:
11321132
mod_info = self.db.moderators.get_moderator(mod)
1133-
moderator_json = {
1134-
"guid": mod,
1135-
"name": mod_info[5],
1136-
"avatar": mod_info[7].encode("hex"),
1137-
"short_description": mod_info[6],
1138-
"fee": str(mod_info[8]) + "%",
1139-
"blockchain_id": mod_info[4],
1140-
"pubkeys": {
1141-
"guid": mod_info[1].encode("hex"),
1142-
"bitcoin": {
1143-
"key": mod_info[2].encode("hex"),
1144-
"signature": base64.b64encode(mod_info[3])
1133+
if mod_info is not None:
1134+
moderator_json = {
1135+
"guid": mod,
1136+
"name": mod_info[5],
1137+
"avatar": mod_info[7].encode("hex"),
1138+
"short_description": mod_info[6],
1139+
"fee": str(mod_info[8]) + "%",
1140+
"blockchain_id": mod_info[4],
1141+
"pubkeys": {
1142+
"guid": mod_info[1].encode("hex"),
1143+
"bitcoin": {
1144+
"key": mod_info[2].encode("hex"),
1145+
"signature": base64.b64encode(mod_info[3])
1146+
}
11451147
}
11461148
}
1147-
}
1148-
if "moderators" not in c.contract["vendor_offer"]["listing"]:
1149-
c.contract["vendor_offer"]["listing"]["moderators"] = []
1150-
c.contract["vendor_offer"]["listing"]["moderators"].append(moderator_json)
1149+
if "moderators" not in c.contract["vendor_offer"]["listing"]:
1150+
c.contract["vendor_offer"]["listing"]["moderators"] = []
1151+
c.contract["vendor_offer"]["listing"]["moderators"].append(moderator_json)
11511152
for mod in mods_to_remove:
11521153
for rem in c.contract["vendor_offer"]["listing"]["moderators"]:
11531154
if rem["guid"] == mod:

ob.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,4 @@ testnet_server2 = tcp://libbitcoin2.openbazaar.org:9091,<Z&{.=LJSPySefIKgCu99w.L
2525

2626
[SEEDS]
2727
seed1 = seed.openbazaar.org:8080,5b44be5c18ced1bc9400fe5e79c8ab90204f06bebacc04dd9c70a95eaca6e117
28+

0 commit comments

Comments
 (0)