예제 #1
0
 def from_data(cls, data: dict) -> MsgUndelegate:
     data = data["value"]
     return cls(
         delegator_address=data["delegator_address"],
         validator_address=data["validator_address"],
         amount=Coin.from_data(data["amount"]),
     )
예제 #2
0
 def from_data(cls, data: dict) -> MsgSwap:
     data = data["value"]
     return cls(
         trader=data["trader"],
         offer_coin=Coin.from_data(data["offer_coin"]),
         ask_denom=data["ask_denom"],
     )
예제 #3
0
 def from_data(cls, data: dict) -> Delegation:
     return cls(
         delegator_address=data["delegator_address"],
         validator_address=data["validator_address"],
         shares=data["shares"],
         balance=Coin.from_data(data["balance"]),
     )
예제 #4
0
 def from_data(cls, data: dict) -> PolicyConstraints:
     return cls(
         rate_min=Dec(data["rate_min"]),
         rate_max=Dec(data["rate_max"]),
         cap=Coin.from_data(data["cap"]),
         change_max=Dec(data["change_max"]),
     )
예제 #5
0
 def from_data(cls, data: dict) -> MsgSwapSend:
     data = data["value"]
     return cls(
         from_address=data["from_address"],
         to_address=data["to_address"],
         offer_coin=Coin.from_data(data["offer_coin"]),
         ask_denom=data["ask_denom"],
     )
예제 #6
0
 def from_data(cls, data: dict) -> MsgCreateValidator:
     data = data["value"]
     return cls(
         description=Description.from_data(data["description"]),
         commission=CommissionRates.from_data(data["commission"]),
         min_self_delegation=int(data["min_self_delegation"]),
         delegator_address=data["delegator_address"],
         validator_address=data["validator_address"],
         pubkey=data["pubkey"],
         value=Coin.from_data(data["value"]),
     )
예제 #7
0
    def swap_rate(self, offer_coin: Coin, ask_denom: str) -> Coin:
        """Simulates a swap given an amount offered and a target denom.

        Args:
            offer_coin (Coin): amount offered (swap from)
            ask_denom (str): target denom (swap to)

        Returns:
            Coin: simulated amount received
        """
        params = {"offer_coin": str(offer_coin), "ask_denom": ask_denom}
        res = self._c._get("/market/swap", params)
        return Coin.from_data(res)
예제 #8
0
def test_deserializes_coin():
    coin = Coin.from_data({"denom": "uluna", "amount": "1000"})

    assert coin.denom == "uluna"
    assert coin.amount == 1000
예제 #9
0
 async def swap_rate(self, offer_coin: Coin, ask_denom: str) -> Coin:
     params = {"offer_coin": str(offer_coin), "ask_denom": ask_denom}
     res = await self._c._get(f"/market/swap", params)
     return Coin.from_data(res.get("result"))