@argonprotocol/mainchain 1.4.3-dev.5e4d8d6a → 1.4.3-dev.6de0a801
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/browser/index.d.ts +409 -1556
- package/browser/index.js +45 -11
- package/browser/index.js.map +1 -1
- package/lib/index.cjs +45 -11
- package/lib/index.cjs.map +1 -1
- package/lib/index.d.cts +409 -1556
- package/lib/index.d.ts +409 -1556
- package/lib/index.js +45 -11
- package/lib/index.js.map +1 -1
- package/package.json +2 -2
- package/src/interfaces/augment-api-consts.ts +23 -29
- package/src/interfaces/augment-api-errors.ts +5 -3
- package/src/interfaces/augment-api-events.ts +167 -1272
- package/src/interfaces/augment-api-query.ts +148 -787
- package/src/interfaces/augment-api-rpc.ts +85 -597
- package/src/interfaces/augment-api-runtime.ts +24 -177
- package/src/interfaces/augment-api-tx.ts +275 -1400
- package/src/interfaces/augment-types.ts +46 -1352
- package/src/interfaces/ethereum/types.ts +1 -7
- package/src/interfaces/lookup.ts +371 -682
- package/src/interfaces/registry.ts +1 -275
- package/src/interfaces/types-lookup.ts +56 -698
package/lib/index.cjs
CHANGED
|
@@ -596,6 +596,21 @@ var Vault = class _Vault {
|
|
|
596
596
|
availableSecuritization() {
|
|
597
597
|
return this.securitization - this.securitizationLocked;
|
|
598
598
|
}
|
|
599
|
+
availableBondSpace(priceIndex, bondLots, bondFullCapacityPerFrame) {
|
|
600
|
+
if (this.securitizedSatoshis <= 0) return 0n;
|
|
601
|
+
const microgonsPerBond = BigInt(MICROGONS_PER_ARGON);
|
|
602
|
+
const totalBondCapacityMicrogons = priceIndex.getSatoshiPriceInTargetMicrogons(
|
|
603
|
+
BigInt(this.securitizedSatoshis)
|
|
604
|
+
);
|
|
605
|
+
const capacityMicrogons = bondFullCapacityPerFrame ? totalBondCapacityMicrogons : totalBondCapacityMicrogons / 10n;
|
|
606
|
+
const bondCapacity = Number(capacityMicrogons / microgonsPerBond);
|
|
607
|
+
const activeBonds = [..._nullishCoalesce(bondLots, () => ( []))].reduce(
|
|
608
|
+
(sum, bondLot) => sum + bondLot.activeBonds,
|
|
609
|
+
0
|
|
610
|
+
);
|
|
611
|
+
const availableBonds = activeBonds < bondCapacity ? bondCapacity - activeBonds : 0;
|
|
612
|
+
return BigInt(availableBonds) * microgonsPerBond;
|
|
613
|
+
}
|
|
599
614
|
getRelockCapacity() {
|
|
600
615
|
return [...this.securitizationReleaseSchedule.values()].reduce((acc, val) => acc + val, 0n);
|
|
601
616
|
}
|
|
@@ -1051,20 +1066,22 @@ var BitcoinLock = class _BitcoinLock {
|
|
|
1051
1066
|
if (maxMicrogonsAtTarget !== void 0 && maxMicrogonsAtTarget < btcMicrogonsAtTarget) {
|
|
1052
1067
|
price = maxMicrogonsAtTarget;
|
|
1053
1068
|
}
|
|
1069
|
+
const multiplierBn = this.redemptionMultiplierBn(priceIndex);
|
|
1070
|
+
return BigInt(
|
|
1071
|
+
new (0, BN.default)(price.toString()).times(multiplierBn).integerValue(BN.default.ROUND_DOWN).toFixed(0)
|
|
1072
|
+
);
|
|
1073
|
+
}
|
|
1074
|
+
static redemptionMultiplierBn(priceIndex) {
|
|
1054
1075
|
const r = priceIndex.rValue;
|
|
1055
|
-
let multiplier;
|
|
1056
1076
|
if (r.gte(1)) {
|
|
1057
|
-
|
|
1077
|
+
return new (0, BN.default)(1);
|
|
1058
1078
|
} else if (r.gte(0.9)) {
|
|
1059
|
-
|
|
1079
|
+
return new (0, BN.default)(20).times(r.pow(2)).minus(new (0, BN.default)(38).times(r)).plus(19);
|
|
1060
1080
|
} else if (r.gte(0.01)) {
|
|
1061
|
-
|
|
1081
|
+
return new (0, BN.default)(0.5618).times(r).plus(0.3944).div(r);
|
|
1062
1082
|
} else {
|
|
1063
|
-
|
|
1083
|
+
return new (0, BN.default)(1).div(r).times(new (0, BN.default)(0.576).times(r).plus(0.4));
|
|
1064
1084
|
}
|
|
1065
|
-
return BigInt(
|
|
1066
|
-
new (0, BN.default)(price.toString()).times(multiplier).integerValue(BN.default.ROUND_DOWN).toFixed(0)
|
|
1067
|
-
);
|
|
1068
1085
|
}
|
|
1069
1086
|
static async getConfig(client) {
|
|
1070
1087
|
const bitcoinNetwork = await client.query.bitcoinUtxos.bitcoinNetwork();
|
|
@@ -1302,9 +1319,26 @@ var BitcoinLock = class _BitcoinLock {
|
|
|
1302
1319
|
}
|
|
1303
1320
|
return { lock, createdAtHeight: blockHeight, txResult };
|
|
1304
1321
|
}
|
|
1305
|
-
static
|
|
1306
|
-
|
|
1307
|
-
|
|
1322
|
+
static satoshisRequiredForRedemptionAmount(priceIndex, redemptionAmount) {
|
|
1323
|
+
if (redemptionAmount <= 0n) return 0n;
|
|
1324
|
+
const multiplierBn = this.redemptionMultiplierBn(priceIndex);
|
|
1325
|
+
const targetMicrogonsPerBtc = priceIndex.getSatoshiPriceInTargetMicrogons(SATS_PER_BTC);
|
|
1326
|
+
let requiredTargetMicrogons = BigInt(
|
|
1327
|
+
new (0, BN.default)(redemptionAmount.toString()).div(multiplierBn).integerValue(BN.default.ROUND_CEIL).toFixed(0)
|
|
1328
|
+
);
|
|
1329
|
+
while (this.calculateRedemptionAmount(priceIndex, requiredTargetMicrogons) < redemptionAmount) {
|
|
1330
|
+
requiredTargetMicrogons += 1n;
|
|
1331
|
+
}
|
|
1332
|
+
let satoshis = BigInt(
|
|
1333
|
+
new (0, BN.default)(requiredTargetMicrogons.toString()).times(SATS_PER_BTC.toString()).div(targetMicrogonsPerBtc.toString()).integerValue(BN.default.ROUND_CEIL).toFixed(0)
|
|
1334
|
+
);
|
|
1335
|
+
while (this.calculateRedemptionAmountFromSatoshis(priceIndex, satoshis) < redemptionAmount) {
|
|
1336
|
+
satoshis += 1n;
|
|
1337
|
+
}
|
|
1338
|
+
while (satoshis > 0n && this.calculateRedemptionAmountFromSatoshis(priceIndex, satoshis - 1n) >= redemptionAmount) {
|
|
1339
|
+
satoshis -= 1n;
|
|
1340
|
+
}
|
|
1341
|
+
return satoshis;
|
|
1308
1342
|
}
|
|
1309
1343
|
};
|
|
1310
1344
|
|