AtnBid

Python pydantic class corresponding to json type `atn.bid`.

class gwatn.types.AtnBid(*, BidderAlias, BidderGNodeInstanceId, MarketSlotName, PqPairs, InjectionIsPositive=False, PriceUnit=MarketPriceUnit.USDPerMWh, QuantityUnit=MarketQuantityUnit.AvgMW, SignedMarketFeeTxn, TypeName='atn.bid', Version='001')

AtomicTNode bid sent to a MarketMaker [More info](https://gridworks.readthedocs.io/en/latest/market-bid.html).

Parameters:
  • BidderAlias (str) –

  • BidderGNodeInstanceId (str) –

  • MarketSlotName (str) –

  • PqPairs (List[PriceQuantityUnitless]) –

  • InjectionIsPositive (bool) –

  • PriceUnit (MarketPriceUnit) –

  • QuantityUnit (MarketQuantityUnit) –

  • SignedMarketFeeTxn (str) –

  • TypeName (Literal['atn.bid']) –

  • Version (str) –

classmethod check_axiom_1(v)

Axiom 1: PqPairs PriceMax matches MarketType. There is a GridWorks global list of MarketTypes (a GridWorks type), identified by their MarketTypeNames (a GridWorks enum). The MarketType has a PriceMax, which must be the first price of the first PriceQuantity pair in PqPairs.

Parameters:

v (dict) –

Return type:

dict

classmethod check_axiom_2(v)

Axiom 2: .

Parameters:

v (dict) –

Return type:

dict

BidderAlias:
  • Description:

  • Format: LeftRightDot

BidderGNodeInstanceId:
  • Description:

  • Format: UuidCanonicalTextual

MarketSlotName:
  • Description:

  • Format: MarketSlotNameLrdFormat

PqPairs:
  • Description: Price Quantity Pairs. The list of Price Quantity Pairs making up the bid. The units are provided by the AtnBid.PriceUnit and AtnBid.QuantityUnit.

InjectionIsPositive:
  • Description:

PriceUnit:
  • Description:

QuantityUnit:
  • Description:

SignedMarketFeeTxn:
  • Description:

  • Format: AlgoMsgPackEncoded

class gwatn.types.atn_bid.check_is_uuid_canonical_textual(v)

UuidCanonicalTextual format: A string of hex words separated by hyphens of length 8-4-4-4-12.

Raises:

ValueError – if not UuidCanonicalTextual format

Parameters:

v (str) –

class gwatn.types.atn_bid.check_is_left_right_dot(v)

LeftRightDot format: Lowercase alphanumeric words separated by periods, most significant word (on the left) starting with an alphabet character.

Raises:

ValueError – if not LeftRightDot format

Parameters:

v (str) –

class gwatn.types.atn_bid.check_is_market_slot_name_lrd_format(v)
MaketSlotNameLrdFormat: the format of a MarketSlotName.
  • The first word must be a MarketTypeName

  • The last word (unix time of market slot start) must

be a 10-digit integer divisible by 300 (i.e. all MarketSlots start at the top of 5 minutes) - More strictly, the last word must be the start of a MarketSlot for that MarketType (i.e. divisible by 3600 for hourly markets) - The middle words have LeftRightDot format (GNodeAlias of the MarketMaker)

Example: rt60gate5.d1.isone.ver.keene.1673539200

Parameters:

v (str) –

class gwatn.types.atn_bid.check_is_algo_address_string_format(v)

AlgoAddressStringFormat format: The public key of a private/public Ed25519 key pair, transformed into an Algorand address, by adding a 4-byte checksum to the end of the public key and then encoding in base32.

Raises:

ValueError – if not AlgoAddressStringFormat format

Parameters:

v (str) –

class gwatn.types.atn_bid.check_is_algo_msg_pack_encoded(v)

AlgoMSgPackEncoded format: the format of an transaction sent to the Algorand blockchain.

Raises:

ValueError – if not AlgoMSgPackEncoded format

Parameters:

v (str) –

class gwatn.types.AtnBid_Maker(bidder_alias, bidder_g_node_instance_id, market_slot_name, pq_pairs, injection_is_positive, price_unit, quantity_unit, signed_market_fee_txn)
Parameters:
classmethod tuple_to_type(tuple)

Given a Python class object, returns the serialized JSON type object

Parameters:

tuple (AtnBid) –

Return type:

str

classmethod type_to_tuple(t)

Given a serialized JSON type object, returns the Python class object

Parameters:

t (str) –

Return type:

AtnBid