Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 63 additions & 5 deletions mixin_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,26 @@ def __genNetworkGetRequest(self, path, body=None, auth_token=""):
result_obj = r.json()
return result_obj

"""
generate Mixin Network GET http request for snapshot
"""
def __genNetworkGetRequest_snapshots(self, path, body=None, auth_token=""):
if body is not None:
body = urlencode(body)
else:
body = ""


url = self.__genUrl(path+"?" + body)

if auth_token == "":
token = self.genGETJwtToken(path+"?" + body, "", str(uuid.uuid4()))
auth_token = token.decode('utf8')

r = requests.get(url, headers={"Authorization": "Bearer " + auth_token, 'Content-Type': 'application/json', 'Content-length': '0'})
result_obj = r.json()
return result_obj


"""
generate Mixin Network POST http request
Expand Down Expand Up @@ -266,7 +286,8 @@ def __genNetworkPostRequest(self, path, body, auth_token=""):
"""
def getMyAssets(self, auth_token=""):

return self.__genGetRequest('/assets', auth_token)
assets_result = self.__genNetworkGetRequest('/assets', auth_token)
return assets_result.get("data")

"""
Read self profile.
Expand Down Expand Up @@ -441,16 +462,24 @@ def createAddress(self, asset_id, public_key = "", label = "", account_name = ""
"account_name": account_name,
"account_tag": account_tag,
}
print(body)
return self.__genNetworkPostRequest('/addresses', body)

def createAddressEOS(self, asset_id, account_name, account_tag, label = ""):

body = {
"asset_id": asset_id,
"pin": self.genEncrypedPin().decode(),
"account_name": account_name,
"account_tag": account_tag,
"label": label,
}
return self.__genNetworkPostRequest('/addresses', body)
"""
Delete an address by ID.
"""
def delAddress(self, address_id):

encrypted_pin = self.genEncrypedPin()
encrypted_pin = self.genEncrypedPin().decode()

body = {"pin": encrypted_pin}

Expand All @@ -461,7 +490,7 @@ def delAddress(self, address_id):
Read an address by ID.
"""
def getAddress(self, address_id):
return self.__genNetworkGetRequest('/addresses' + address_id)
return self.__genNetworkGetRequest('/addresses/' + address_id)

"""
Transfer of assets between Mixin Network users.
Expand Down Expand Up @@ -557,12 +586,41 @@ def snapshots(self, offset, asset_id, order='DESC',limit=100):
"asset":asset_id,
"order":order
}
finalURL = "/network/snapshots?offset=%s&asset=%s&order=%s&limit=%d" % (offset, asset_id, order, limit)

return self.__genGetRequest('/network/snapshots', body)

return self.__genGetRequest(finalURL)


"""
Read public snapshots of Mixin Network by ID.
"""
def snapshot(self, snapshot_id):
return self.__genGetRequest('/network/snapshots/' + snapshot_id)
"""
Read this account snapshots of Mixin Network. Beaer token is required
"""
def account_snapshots(self, offset, asset_id, order='DESC',limit=100):
# TODO: SET offset default(UTC TIME)
body = {
"limit":limit,
"offset":offset,
"asset":asset_id,
"order":order
}


result_json = self.__genNetworkGetRequest_snapshots("/network/snapshots", body)
return result_json.get('data')
def account_snapshots_before(self, offset, asset_id, limit=100):
return self.account_snapshots(offset, asset_id, order = "DESC", limit = limit)
def account_snapshots_after(self, offset, asset_id, limit=100):
return self.account_snapshots(offset, asset_id, order = "ASC", limit = limit)

def find_mysnapshot_in(self, in_snapshots):
mysnapshots_result = []
for singleSnapShot in in_snapshots:
if "user_id" in singleSnapShot and (singleSnapShot.get("user_id") == self.client_id):
mysnapshots_result.append(singleSnapShot)
return mysnapshots_result