diff options
| author | Adam Soltys <[email protected]> | 2020-09-25 12:48:47 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2020-09-25 12:48:47 -0700 |
| commit | c97ede8b3a29e5f742ac73542c83e6d170326760 (patch) | |
| tree | 86c5b2c93699fd55c4dc180d25d79cfdd9b84130 | |
| parent | 072dd8dcce4f28eba78838855f6ae977b868c8b6 (diff) | |
| download | coinos-server-c97ede8b3a29e5f742ac73542c83e6d170326760.tar.gz coinos-server-c97ede8b3a29e5f742ac73542c83e6d170326760.zip | |
record trade completion time
| -rw-r--r-- | db/models/proposals.js | 9 | ||||
| -rw-r--r-- | routes/swaps.js | 16 |
2 files changed, 19 insertions, 6 deletions
diff --git a/db/models/proposals.js b/db/models/proposals.js index 842101ac..ca3de8eb 100644 --- a/db/models/proposals.js +++ b/db/models/proposals.js @@ -19,6 +19,15 @@ const attributes = { comment: null, field: "user_id" }, + completedAt: { + type: DataTypes.DATE, + allowNull: true, + defaultValue: null, + primaryKey: false, + autoIncrement: false, + comment: null, + field: "completedAt" + }, createdAt: { type: DataTypes.DATE, allowNull: false, diff --git a/routes/swaps.js b/routes/swaps.js index 12cf72f9..dbf47ab8 100644 --- a/routes/swaps.js +++ b/routes/swaps.js @@ -144,7 +144,7 @@ app.get( v1 = Math.round(v1 * SATS); v2 = Math.round(v2 * SATS); - let rate = v2 / v1; + let rate = v2/v1; if (v1 > account.balance) throw new Error(`insufficient funds, ${v1} ${account.balance}`); @@ -160,10 +160,13 @@ app.get( where: { a1: a2, a2: a1, - rate: { [Op.lte]: 1/rate }, - accepted: false, + rate: { [Op.lte]: v1/v2 }, + accepted: false }, - order: [["rate", "ASC"], ["id", "ASC"]] + order: [ + ["rate", "ASC"], + ["id", "ASC"] + ] }); for (let i = 0; i < proposals.length; i++) { @@ -177,6 +180,7 @@ app.get( } else { v1 -= p.v2; p.accepted = true; + p.completedAt = new Date(); await p.save(); broadcast("proposal", p); } @@ -188,9 +192,9 @@ app.get( { a1, a2, - v1, + v1, v2, - user_id: user.id + user_id: user.id, }, { transaction } ); |
