aboutsummaryrefslogtreecommitdiffstats
path: root/routes/assets.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2021-09-24 02:19:30 -0400
committerAdam Soltys <[email protected]>2021-09-24 02:19:30 -0400
commit18814242ad055ecd6f9de1d23209958e12aee69c (patch)
treef9abc8b8716b5587c8a71700df62ebfe2098f4f6 /routes/assets.js
parentfd44b77a4ddac5beef34f65be8e5558f4b4291f9 (diff)
downloadcoinos-server-18814242ad055ecd6f9de1d23209958e12aee69c.tar.gz
coinos-server-18814242ad055ecd6f9de1d23209958e12aee69c.zip
always create account on issuance
Diffstat (limited to 'routes/assets.js')
-rw-r--r--routes/assets.js88
1 files changed, 47 insertions, 41 deletions
diff --git a/routes/assets.js b/routes/assets.js
index 72d4c329..b33e43b4 100644
--- a/routes/assets.js
+++ b/routes/assets.js
@@ -204,7 +204,6 @@ app.post(
await account.reload({ transaction });
emit(user.username, "account", account);
- if (address) return;
account = await db.Account.create(
{
asset,
@@ -216,7 +215,7 @@ app.post(
name,
balance: 0,
network: "liquid",
- pending: params.asset_amount * SATS
+ pending: address ? 0 : params.asset_amount * SATS
},
{ transaction }
);
@@ -227,30 +226,33 @@ app.post(
user.username,
params.asset_amount,
ticker,
- name
+ name,
+ account.id
);
- const asset_payment = await db.Payment.create(
- {
- account_id: account.id,
- user_id,
- hash: txid,
- amount: params.asset_amount * SATS,
- received: true,
- confirmed: false,
- address: asset_address,
- network: "liquid"
- },
- { transaction }
- );
- emit(user.username, "payment", asset_payment);
+ if (!address) {
+ const asset_payment = await db.Payment.create(
+ {
+ account_id: account.id,
+ user_id,
+ hash: txid,
+ amount: params.asset_amount * SATS,
+ received: true,
+ confirmed: false,
+ address: asset_address,
+ network: "liquid"
+ },
+ { transaction }
+ );
+ emit(user.username, "payment", asset_payment);
- issuances[txid] = {
- user_id,
- asset,
- asset_amount: params.asset_amount,
- asset_payment_id: asset_payment.id
- };
+ issuances[txid] = {
+ user_id,
+ asset,
+ asset_amount: params.asset_amount,
+ asset_payment_id: asset_payment.id
+ };
+ }
if (token_amount) {
account = await db.Account.create(
@@ -262,30 +264,32 @@ app.post(
precision: 8,
name: `${name} Reissuance Token`,
balance: 0,
- pending: token_amount * SATS
+ pending: address ? 0 : token_amount * SATS
},
{ transaction }
);
emit(user.username, "account", account);
- const token_payment = await db.Payment.create(
- {
- account_id: account.id,
- user_id,
- hash: txid,
- amount: token_amount * SATS,
- received: true,
- confirmed: false,
- address: token_address,
- network: "liquid"
- },
- { transaction }
- );
- emit(user.username, "payment", token_payment);
+ if (!address) {
+ const token_payment = await db.Payment.create(
+ {
+ account_id: account.id,
+ user_id,
+ hash: txid,
+ amount: token_amount * SATS,
+ received: true,
+ confirmed: false,
+ address: token_address,
+ network: "liquid"
+ },
+ { transaction }
+ );
+ emit(user.username, "payment", token_payment);
- issuances[txid].token = token;
- issuances[txid].token_amount = token_amount;
- issuances[txid].token_payment_id = token_payment.id;
+ issuances[txid].token = token;
+ issuances[txid].token_amount = token_amount;
+ issuances[txid].token_payment_id = token_payment.id;
+ }
}
});
@@ -309,6 +313,8 @@ app.post(
}
});
+ l.info("registering", asset, account.contract);
+
try {
const { data: result } = await axios.post(
"https://assets.blockstream.info/",