def test_commit(self): with auction_contract.test_service(): ## create transaction # init init_transaction = auction.init() token = init_transaction['transaction']['outputs'][0] # create auction auction_transaction = auction.create( (token, ), None, None, aggr_vk, t_commit, t_reveal, uid, v0, ov0) auction_object = auction_transaction['transaction']['outputs'][1] ## commit transaction = auction.commit( (auction_object, ), None, None, bidders[0][0], # seq bidders[0][1], # v bidders[0][2] # sigma ) ## submit transaction response = requests.post('http://127.0.0.1:5000/' + auction_contract.contract_name + '/commit', json=transaction_to_solution(transaction)) self.assertTrue(response.json()['success'])
def test_init(self): with auction_contract.test_service(): ## create transaction transaction = auction.init() ## submit transaction response = requests.post('http://127.0.0.1:5000/' + auction_contract.contract_name + '/init', json=transaction_to_solution(transaction)) self.assertTrue(response.json()['success'])
def test_withdraw(self): with auction_contract.test_service(): ## create transaction # init init_transaction = auction.init() token = init_transaction['transaction']['outputs'][0] # create auction auction_transaction = auction.create( (token, ), None, None, aggr_vk, t_commit, t_reveal, uid, v0, ov0) auction_object = auction_transaction['transaction']['outputs'][1] ## commit for i in range(len(bidders)): commit_transaction = auction.commit( (auction_object, ), None, None, bidders[i][0], # seq bidders[i][1], # v bidders[i][2] # sigma ) auction_object = commit_transaction['transaction']['outputs'][ 0] ## reveal for i in range(len(bidders)): reveal_transaction = auction.reveal( (auction_object, ), None, (dumps(bidders[i][1]), ), # v bidders[i][0], # seq bidders[i][2] # sigma ) auction_object = reveal_transaction['transaction']['outputs'][ 0] ## withdraw transaction = auction.withdraw( (auction_object, ), None, (dumps(bidders[1][1]), pack(addr)), bidders[1][0], # seq bidders[1][2] # sigma ) ## submit transaction response = requests.post('http://127.0.0.1:5000/' + auction_contract.contract_name + '/withdraw', json=transaction_to_solution(transaction)) self.assertTrue(response.json()['success'])
seq, v = o.random(), i (d, gamma) = elgamal_keygen(bp_params) private_m = [seq, v] Lambda = prepare_blind_sign(bp_params, gamma, private_m) sigs_tilde = [blind_sign(bp_params, ski, gamma, Lambda) for ski in sk] sigs = [unblind(bp_params, sigma_tilde, d) for sigma_tilde in sigs_tilde] sigma = agg_cred(bp_params, sigs) bidders.append((seq, v, sigma)) #################################################################### # create all transactions #################################################################### # init init_tx = auction.init() token = init_tx['transaction']['outputs'][0] create_tx = auction.create( (token,), None, None, aggr_vk, t_commit, t_reveal, uid, v0, ov0 ) auction_object_1 = create_tx['transaction']['outputs'][1]