diff --git a/mixin_api.py b/mixin_api.py index d124c30..43fd141 100644 --- a/mixin_api.py +++ b/mixin_api.py @@ -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 @@ -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. @@ -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} @@ -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. @@ -557,8 +586,10 @@ 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) """ @@ -566,3 +597,30 @@ def snapshots(self, offset, asset_id, order='DESC',limit=100): """ 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 +