Skip to content

Commit

Permalink
Fixed dispenser parsign, protocol changes and updated fixtures
Browse files Browse the repository at this point in the history
  • Loading branch information
chiguireitor committed Nov 17, 2020
1 parent 2d36b4f commit cf2b1a4
Show file tree
Hide file tree
Showing 10 changed files with 117 additions and 6 deletions.
23 changes: 23 additions & 0 deletions counterpartylib/lib/messages/dispenser.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,16 @@ def initialise(db):
asset_idx ON dispensers (asset)
''')

cursor.execute('''CREATE TABLE IF NOT EXISTS dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER)
''')

def validate (db, source, asset, give_quantity, escrow_quantity, mainchainrate, status, open_address, block_index):
problems = []
order_match = None
Expand Down Expand Up @@ -288,4 +298,17 @@ def dispense(db, tx):
cursor.execute('UPDATE DISPENSERS SET give_remaining=:give_remaining, status=:status \
WHERE source=:source AND asset=:asset AND satoshirate=:satoshirate AND give_quantity=:give_quantity AND status=:prev_status', dispenser)

bindings = {
'tx_index': tx['tx_index'],
'tx_hash': tx['tx_hash'],
'block_index': tx['block_index'],
'source': tx['destination'],
'destination': tx['source'],
'asset': dispenser['asset'],
'dispense_quantity': actually_given
}
sql = 'INSERT INTO dispenses(tx_index, tx_hash, block_index, source, destination, asset, dispense_quantity) \
VALUES(:tx_index, :tx_hash, :block_index, :source, :destination, :asset, :dispense_quantity);'
cursor.execute(sql, bindings)

cursor.close()
12 changes: 6 additions & 6 deletions counterpartylib/protocol_changes.json
Original file line number Diff line number Diff line change
Expand Up @@ -192,22 +192,22 @@
"minimum_version_major": 9,
"minimum_version_minor": 57,
"minimum_version_revision": 0,
"block_index": 1000000,
"testnet_block_index": 2000000
"block_index": 585538,
"testnet_block_index": 1569194
},
"sweep_send": {
"minimum_version_major": 9,
"minimum_version_minor": 57,
"minimum_version_revision": 0,
"block_index": 600609,
"testnet_block_index": 1518300
"block_index": 585538,
"testnet_block_index": 1569194
},
"dispensers": {
"minimum_version_major": 9,
"minimum_version_minor": 57,
"minimum_version_revision": 0,
"block_index": 600609,
"testnet_block_index": 1518300
"block_index": 585538,
"testnet_block_index": 1569194
},
"mpma_sends": {
"minimum_version_major": 9,
Expand Down
11 changes: 11 additions & 0 deletions counterpartylib/test/fixtures/scenarios/multisig_1_of_2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,17 @@ CREATE TRIGGER _dispensers_update AFTER UPDATE ON dispensers BEGIN
INSERT INTO undolog VALUES(NULL, 'UPDATE dispensers SET tx_index='||quote(old.tx_index)||',tx_hash='||quote(old.tx_hash)||',block_index='||quote(old.block_index)||',source='||quote(old.source)||',asset='||quote(old.asset)||',give_quantity='||quote(old.give_quantity)||',escrow_quantity='||quote(old.escrow_quantity)||',satoshirate='||quote(old.satoshirate)||',status='||quote(old.status)||',give_remaining='||quote(old.give_remaining)||' WHERE rowid='||old.rowid);
END;

-- Table dispenses
DROP TABLE IF EXISTS dispenses;
CREATE TABLE dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER);

-- Table dividends
DROP TABLE IF EXISTS dividends;
CREATE TABLE dividends(
Expand Down
11 changes: 11 additions & 0 deletions counterpartylib/test/fixtures/scenarios/multisig_1_of_3.sql
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,17 @@ CREATE TRIGGER _dispensers_update AFTER UPDATE ON dispensers BEGIN
INSERT INTO undolog VALUES(NULL, 'UPDATE dispensers SET tx_index='||quote(old.tx_index)||',tx_hash='||quote(old.tx_hash)||',block_index='||quote(old.block_index)||',source='||quote(old.source)||',asset='||quote(old.asset)||',give_quantity='||quote(old.give_quantity)||',escrow_quantity='||quote(old.escrow_quantity)||',satoshirate='||quote(old.satoshirate)||',status='||quote(old.status)||',give_remaining='||quote(old.give_remaining)||' WHERE rowid='||old.rowid);
END;

-- Table dispenses
DROP TABLE IF EXISTS dispenses;
CREATE TABLE dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER);

-- Table dividends
DROP TABLE IF EXISTS dividends;
CREATE TABLE dividends(
Expand Down
11 changes: 11 additions & 0 deletions counterpartylib/test/fixtures/scenarios/multisig_2_of_2.sql
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,17 @@ CREATE TRIGGER _dispensers_update AFTER UPDATE ON dispensers BEGIN
INSERT INTO undolog VALUES(NULL, 'UPDATE dispensers SET tx_index='||quote(old.tx_index)||',tx_hash='||quote(old.tx_hash)||',block_index='||quote(old.block_index)||',source='||quote(old.source)||',asset='||quote(old.asset)||',give_quantity='||quote(old.give_quantity)||',escrow_quantity='||quote(old.escrow_quantity)||',satoshirate='||quote(old.satoshirate)||',status='||quote(old.status)||',give_remaining='||quote(old.give_remaining)||' WHERE rowid='||old.rowid);
END;

-- Table dispenses
DROP TABLE IF EXISTS dispenses;
CREATE TABLE dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER);

-- Table dividends
DROP TABLE IF EXISTS dividends;
CREATE TABLE dividends(
Expand Down
11 changes: 11 additions & 0 deletions counterpartylib/test/fixtures/scenarios/multisig_2_of_3.sql
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,17 @@ CREATE TRIGGER _dispensers_update AFTER UPDATE ON dispensers BEGIN
INSERT INTO undolog VALUES(NULL, 'UPDATE dispensers SET tx_index='||quote(old.tx_index)||',tx_hash='||quote(old.tx_hash)||',block_index='||quote(old.block_index)||',source='||quote(old.source)||',asset='||quote(old.asset)||',give_quantity='||quote(old.give_quantity)||',escrow_quantity='||quote(old.escrow_quantity)||',satoshirate='||quote(old.satoshirate)||',status='||quote(old.status)||',give_remaining='||quote(old.give_remaining)||' WHERE rowid='||old.rowid);
END;

-- Table dispenses
DROP TABLE IF EXISTS dispenses;
CREATE TABLE dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER);

-- Table dividends
DROP TABLE IF EXISTS dividends;
CREATE TABLE dividends(
Expand Down
11 changes: 11 additions & 0 deletions counterpartylib/test/fixtures/scenarios/multisig_3_of_3.sql
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,17 @@ CREATE TRIGGER _dispensers_update AFTER UPDATE ON dispensers BEGIN
INSERT INTO undolog VALUES(NULL, 'UPDATE dispensers SET tx_index='||quote(old.tx_index)||',tx_hash='||quote(old.tx_hash)||',block_index='||quote(old.block_index)||',source='||quote(old.source)||',asset='||quote(old.asset)||',give_quantity='||quote(old.give_quantity)||',escrow_quantity='||quote(old.escrow_quantity)||',satoshirate='||quote(old.satoshirate)||',status='||quote(old.status)||',give_remaining='||quote(old.give_remaining)||' WHERE rowid='||old.rowid);
END;

-- Table dispenses
DROP TABLE IF EXISTS dispenses;
CREATE TABLE dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER);

-- Table dividends
DROP TABLE IF EXISTS dividends;
CREATE TABLE dividends(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1039,6 +1039,17 @@ CREATE TRIGGER _dispensers_update AFTER UPDATE ON dispensers BEGIN
INSERT INTO undolog VALUES(NULL, 'UPDATE dispensers SET tx_index='||quote(old.tx_index)||',tx_hash='||quote(old.tx_hash)||',block_index='||quote(old.block_index)||',source='||quote(old.source)||',asset='||quote(old.asset)||',give_quantity='||quote(old.give_quantity)||',escrow_quantity='||quote(old.escrow_quantity)||',satoshirate='||quote(old.satoshirate)||',status='||quote(old.status)||',give_remaining='||quote(old.give_remaining)||' WHERE rowid='||old.rowid);
END;

-- Table dispenses
DROP TABLE IF EXISTS dispenses;
CREATE TABLE dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER);

-- Table dividends
DROP TABLE IF EXISTS dividends;
CREATE TABLE dividends(
Expand Down
11 changes: 11 additions & 0 deletions counterpartylib/test/fixtures/scenarios/simplesig.sql
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,17 @@ CREATE TRIGGER _dispensers_update AFTER UPDATE ON dispensers BEGIN
INSERT INTO undolog VALUES(NULL, 'UPDATE dispensers SET tx_index='||quote(old.tx_index)||',tx_hash='||quote(old.tx_hash)||',block_index='||quote(old.block_index)||',source='||quote(old.source)||',asset='||quote(old.asset)||',give_quantity='||quote(old.give_quantity)||',escrow_quantity='||quote(old.escrow_quantity)||',satoshirate='||quote(old.satoshirate)||',status='||quote(old.status)||',give_remaining='||quote(old.give_remaining)||' WHERE rowid='||old.rowid);
END;

-- Table dispenses
DROP TABLE IF EXISTS dispenses;
CREATE TABLE dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER);

-- Table dividends
DROP TABLE IF EXISTS dividends;
CREATE TABLE dividends(
Expand Down
11 changes: 11 additions & 0 deletions counterpartylib/test/fixtures/scenarios/unittest_fixture.sql
Original file line number Diff line number Diff line change
Expand Up @@ -1038,6 +1038,17 @@ CREATE TRIGGER _dispensers_update AFTER UPDATE ON dispensers BEGIN
INSERT INTO undolog VALUES(NULL, 'UPDATE dispensers SET tx_index='||quote(old.tx_index)||',tx_hash='||quote(old.tx_hash)||',block_index='||quote(old.block_index)||',source='||quote(old.source)||',asset='||quote(old.asset)||',give_quantity='||quote(old.give_quantity)||',escrow_quantity='||quote(old.escrow_quantity)||',satoshirate='||quote(old.satoshirate)||',status='||quote(old.status)||',give_remaining='||quote(old.give_remaining)||' WHERE rowid='||old.rowid);
END;

-- Table dispenses
DROP TABLE IF EXISTS dispenses;
CREATE TABLE dispenses(
tx_index INTEGER PRIMARY KEY,
tx_hash TEXT UNIQUE,
block_index INTEGER,
source TEXT,
destination TEXT,
asset TEXT,
dispense_quantity INTEGER);

-- Table dividends
DROP TABLE IF EXISTS dividends;
CREATE TABLE dividends(
Expand Down

0 comments on commit cf2b1a4

Please sign in to comment.