Beispiel #1
0
    def test_loukupplan(self):
        '''
        验证正常锁仓功能
        参数输入:
        Epoch:1
        Amount:50 ether
        :return:
        '''
        platon_ppos = Ppos('http://10.10.8.157:6789',
                           self.address,
                           chainid=102,
                           privatekey=conf.PRIVATE_KEY)
        #platon_ppos = self.ppos_link ()
        address1 = '0x472599739f398c24ad8Cdc03476b20D6469eAf46'
        privatekey1 = '61279a4b654aef7c3065c0cf550cdce460682875c218de893544a4799b57cc41'
        #非签名转账
        # platon_ppos.web3.personal.unlockAccount(conf.ADDRESS, conf.PASSWORD, 2222)
        # self.ppos_sendTransaction(address1,conf.ADDRESS,self.gas,self.gasPrice,Web3.toWei(10000,'ether'))
        #签名转账
        platon_ppos.send_raw_transaction('',
                                         Web3.toChecksumAddress(conf.ADDRESS),
                                         Web3.toChecksumAddress(address1),
                                         self.gasPrice, self.gas, self.value,
                                         conf.PRIVATE_KEY)
        balance = platon_ppos.eth.getBalance(address1)
        log.info("发起锁仓账户的余额:{}", balance)
        if balance > 0:
            try:
                loukupbalace = Web3.toWei(50, 'ether')
                plan = [{'Epoch': 1, 'Amount': loukupbalace}]
                lockup_before = platon_ppos.eth.getBalance(
                    conf.FOUNDATIONLOCKUPADDRESS)
                #创建锁仓计划
                result = platon_ppos.CreateRestrictingPlan(
                    address1,
                    plan,
                    privatekey1,
                    from_address=address1,
                    gasPrice=self.gasPrice)
                lockup_after = platon_ppos.eth.getBalance(
                    conf.FOUNDATIONLOCKUPADDRESS)
                #查看锁仓计划明细
                RestrictingInfo = platon_ppos.GetRestrictingInfo(address1)
                if result['status'] == 'True':
                    assert RestrictingInfo['balance'] == loukupbalace
                else:
                    log.info("查询锁仓计划信息返回状态为:{}".format(result['status']))

                assert lockup_after == lockup_before + loukupbalace
            except:
                status = 1
                assert status == 0, '创建锁仓计划失败'
Beispiel #2
0
 def test_loukupplan(self):
     from_address = Web3.toChecksumAddress(conf.ADDRESS)
     to_address = Web3.toChecksumAddress(
         self.ppos_link(self.rpc_list).web3.personal.newAccount(self.pwd))
     send_data = self.transfer_parameters(to_address, from_address)
     self.platon_ppos.eth.sendTransaction(send_data)
     toaddressbalace = self.platon_dpos1.eth.getBalance(to_address)
     loukupbalace = toaddressbalace / 4
     plan = [{
         'Epoch': 3,
         'Amount': loukupbalace
     }, {
         'Epoch': 3,
         'Amount': loukupbalace
     }]
     Ppos.CreateRestrictingPlan(to_address, plan, to_address)
     result = Ppos.GetRestrictingInfo(to_address, to_address)
Beispiel #3
0
 def test_token_loukup(self):
     '''
     查询初始化链后基金会锁仓金额
     以及查询初始锁仓计划信息的有效性
     :return:
     '''
     #platon_ppos = self.ppos_link ()
     platon_ppos = Ppos('http://10.10.8.157:6789',
                        self.address,
                        chainid=102,
                        privatekey=conf.PRIVATE_KEY)
     lockupbalance = platon_ppos.eth.getBalance(
         conf.FOUNDATIONLOCKUPADDRESS)
     FOUNDATIONLOCKUP = self.initial_amount['FOUNDATIONLOCKUP']
     assert lockupbalance == FOUNDATIONLOCKUP
     result = platon_ppos.GetRestrictingInfo(conf.INCENTIVEPOOLADDRESS)
     print(result)
     if result['Status'] == 'True':
         assert result['Date']['balance'] == self.initial_amount[
             'FOUNDATIONLOCKUP']
     else:
         log.info("初始锁仓金额:{},锁仓计划信息查询结果有误".format(lockupbalance))
Beispiel #4
0
    def test_loukupplan_sameperiod(self, code):
        '''
        验证一个锁仓计划里有多个相同解锁期
        code =1 :同个account在一个锁仓计划里有相同解锁期
        code =2 :同个account在不同锁仓计划里有相同解锁期
        :return:
        '''
        platon_ppos = Ppos('http://10.10.8.157:6789',
                           self.address,
                           chainid=102,
                           privatekey=conf.PRIVATE_KEY)
        # platon_ppos = self.ppos_link ()
        address1 = '0x51a9A03153a5c3c203F6D16233e3B7244844A457'
        privatekey1 = '25f9fdf3249bb47f239df0c59d23781c271e8b7e9a94e9e694c15717c1941502'
        # 签名转账
        platon_ppos.send_raw_transaction('',
                                         Web3.toChecksumAddress(conf.ADDRESS),
                                         Web3.toChecksumAddress(address1),
                                         self.gasPrice, self.gas, 1000,
                                         conf.PRIVATE_KEY)
        balance = platon_ppos.eth.getBalance(address1)
        if balance > 0:
            try:
                period1 = 1
                period2 = 2
                loukupbalace = Web3.toWei(100, 'ether')
                if code == 1:
                    plan = [{
                        'Epoch': period1,
                        'Amount': loukupbalace
                    }, {
                        'Epoch': period1,
                        'Amount': loukupbalace
                    }]
                    result = platon_ppos.CreateRestrictingPlan(
                        address1,
                        plan,
                        privatekey1,
                        from_address=address1,
                        gasPrice=self.gasPrice,
                        gas=self.gas)
                    assert result['status'] == 'True'
                    RestrictingInfo = platon_ppos.GetRestrictingInfo(address1)
                    json_data = json.loads(RestrictingInfo['Data'])
                    assert json_data['Entry'][0]['amount'] == (loukupbalace +
                                                               loukupbalace)

                elif code == 2:
                    plan = [{
                        'Epoch': period1,
                        'Amount': loukupbalace
                    }, {
                        'Epoch': period2,
                        'Amount': loukupbalace
                    }]
                    result = platon_ppos.CreateRestrictingPlan(
                        address1,
                        plan,
                        privatekey1,
                        from_address=address1,
                        gasPrice=self.gasPrice,
                        gas=self.gas)
                    assert result['status'] == 'True'
                    loukupbalace2 = Web3.toWei(200, 'ether')
                    plan = [{
                        'Epoch': period1,
                        'Amount': loukupbalace2
                    }, {
                        'Epoch': period2,
                        'Amount': loukupbalace2
                    }]
                    result1 = platon_ppos.CreateRestrictingPlan(
                        address1,
                        plan,
                        privatekey1,
                        from_address=address1,
                        gasPrice=self.gasPrice,
                        gas=self.gas)
                    assert result1['status'] == 'True'
                    RestrictingInfo = platon_ppos.GetRestrictingInfo(address1)
                    json_data = json.loads(RestrictingInfo['Data'])
                    assert json_data['Entry'][0]['amount'] == (loukupbalace +
                                                               loukupbalace2)
                else:
                    log.info('输入的code:{}有误'.format(code))
            except:
                status = 1
                assert status == 0, '创建锁仓计划失败'
        else:
            log.info('error:转账失败')