|
|
@ -41,6 +41,8 @@ import bitcoin |
|
|
|
from synchronizer import WalletSynchronizer |
|
|
|
from mnemonic import Mnemonic |
|
|
|
|
|
|
|
import paymentrequest |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# internal ID for imported account |
|
|
@ -1262,8 +1264,18 @@ class Abstract_Wallet(object): |
|
|
|
r = {'time':timestamp, 'amount':amount, 'exp':expiration, 'address':addr, 'memo':message, 'id':_id} |
|
|
|
return r |
|
|
|
|
|
|
|
def sign_payment_request(self, key, alias, alias_addr, password): |
|
|
|
req = self.receive_requests.get(key) |
|
|
|
alias_privkey = self.get_private_key(alias_addr, password)[0] |
|
|
|
pr = paymentrequest.make_unsigned_request(req) |
|
|
|
paymentrequest.sign_request_with_alias(pr, alias, alias_privkey) |
|
|
|
req['name'] = pr.pki_data |
|
|
|
req['sig'] = pr.signature.encode('hex') |
|
|
|
self.receive_requests[key] = req |
|
|
|
self.storage.put('payment_requests', self.receive_requests) |
|
|
|
|
|
|
|
def add_payment_request(self, req, config): |
|
|
|
import paymentrequest, shutil, os |
|
|
|
import shutil, os |
|
|
|
addr = req['address'] |
|
|
|
amount = req.get('amount') |
|
|
|
message = req.get('memo') |
|
|
@ -1280,7 +1292,7 @@ class Abstract_Wallet(object): |
|
|
|
src = os.path.join(os.path.dirname(__file__), 'www', 'index.html') |
|
|
|
shutil.copy(src, index) |
|
|
|
key = req.get('id', addr) |
|
|
|
pr, requestor = paymentrequest.make_request(config, req) |
|
|
|
pr = paymentrequest.make_request(config, req) |
|
|
|
path = os.path.join(rdir, key + '.bip70') |
|
|
|
with open(path, 'w') as f: |
|
|
|
f.write(pr.SerializeToString()) |
|
|
|