Beispiel #1
0
    def update_feed_producers(self, producers):
        """ Update bitasset feed producers

            :param list producers: List of accounts that are allowed to produce
                 a feed
        """
        assert self.is_bitasset, "Asset needs to be a bitasset/market pegged asset"
        from .account import Account

        op = operations.Asset_update_feed_producers(
            **{
                "fee": {
                    "amount": 0,
                    "asset_id": "1.3.0"
                },
                "issuer":
                self["issuer"],
                "asset_to_update":
                self["id"],
                "new_feed_producers": [
                    Account(a, blockchain_instance=self.blockchain)["id"]
                    for a in producers
                ],
                "extensions": [],
            })
        return self.blockchain.finalizeOp(op, self["issuer"], "active")
 def test_feed_producer_update(self):
     op = operations.Asset_update_feed_producers(
         **{
             "fee": {
                 "amount": 0,
                 "asset_id": "1.3.0"
             },
             "issuer": "1.2.214",
             "asset_to_update": "1.3.132",
             "new_feed_producers": ["1.2.214", "1.2.341", "1.2.2414"],
             "extensions": []
         })
     ops = [Operation(op)]
     tx = Signed_Transaction(ref_block_num=ref_block_num,
                             ref_block_prefix=ref_block_prefix,
                             expiration=expiration,
                             operations=ops)
     tx = tx.sign([wif], chain=prefix)
     tx.verify([PrivateKey(wif).pubkey], "BTS")
     txWire = hexlify(bytes(tx)).decode("ascii")
     compare = ("f68585abf4dce7c80457010d000000000000000000d60184010"
                "3d601d502ee120000011f34dc3aafe350f3f8608cc3d0db3b64"
                "a8f40b60d3528c9fa9e88fc3185fc27f4922ef5612f657205ad"
                "6fc6fed68ec78c4776e1fd125278ab03c8477b37e4c569a")
     self.assertEqual(compare[:-130], txWire[:-130])
Beispiel #3
0
 def test_feed_producer_update(self):
     self.op = operations.Asset_update_feed_producers(**{
         "fee": {"amount": 0, "asset_id": "1.3.0"},
         "issuer": "1.2.214",
         "asset_to_update": "1.3.132",
         "new_feed_producers": ["1.2.214", "1.2.341", "1.2.2414"],
         "extensions": []
     })
     self.cm = ("f68585abf4dce7c80457010d000000000000000000d60184010"
                "3d601d502ee120000011f34dc3aafe350f3f8608cc3d0db3b64"
                "a8f40b60d3528c9fa9e88fc3185fc27f4922ef5612f657205ad"
                "6fc6fed68ec78c4776e1fd125278ab03c8477b37e4c569a")
     self.doit()