Example #1
0
    def setConfig(self, configTuple, retries=0):
        self.chain, self.channame, self.default_fee, self.minconf, \
            self.bmuser, self.bmpswd, self.bmhost, self.bmport, \
            self.btcuser, self.btcpswd, self.btchost, self.btcport = configTuple

        if self.chain == 'testnet':
            self.netcode = 'XTN'
            pob_address = "msj42CCGruhRsFrGATiUuh25dtxYtnpbTx"
        elif self.chain == 'mainnet':
            self.netcode = 'BTC'
            pob_address = "1METAMARKETxxxxxxxxxxxxxxxxx4TPjws"
        else:
            raise Exception("Config: chain must be either testnet or mainnet.")

        MM_util.connect_btcd(self.btcuser, self.btcpswd, self.btchost,
                             self.btcport)
        MM_util.connect_bm(self.bmuser, self.bmpswd, self.bmhost, self.bmport)
        MM_util.minconf = self.minconf
        MM_util.pob_address = pob_address

        try:
            self.chan_v3 = MM_util.bm.getDeterministicAddress(
                base64.b64encode(self.channame), 3, 1)
            self.chan_v4 = MM_util.bm.getDeterministicAddress(
                base64.b64encode(self.channame), 4, 1)
            self.feePerKB = MM_util.btcd.estimatefee(6)
        except socket.error:
            self.sockErr()
        except httplib.BadStatusLine:
            MM_util.reconnect_btcd(retries)
            return self.setConfig(configTuple, retries + 1)