第十一阶段 stage 3:自营混币器
- Domain/OwnMixer:注资开张、NPC 客户存入、按匿名集洗污点出款(和普通混币器同一套抽象,匿名集主要是本金和收入)、手续费收入取回全额带污点、本金带自己的污点;客流按"费率 + 出款剩下的污点"和 Tumbler 比,乘黑市声望;风声累积按概率查封(全部没收、记 FENCING、停业)、便衣存入(记 FENCING)、卷款跑路(全额污点、记 FRAUD、黑市声望下降、永久关闭) - 灰网页"自营混币器"标签(买下场外换币台就有;TerminalWindow 拆成 partial,页面在 TerminalWindow.OwnMix.cs):状态、费率、口碑、风声、匿名集、各币种本金/收入/客户在途;费率、开张/暂停、注资(账单转账)、取回、卷款跑路(合约签名) - 夜间结算、日志、报纸新闻;浏览器显示"自营混币器"地址名 - Tuning.OwnMix*(research/mixsim 标定),单元测试,手册与 8 种语言 - 实测:注资 20 PSC 开张,三晚各一笔存入、一次便衣 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9d95e1f760
commit
71002cbced
17 files changed
+820
-16
No files matched your search
@@ -24,6 +24,16 @@
|
||||
- 存档数据版本 4:读旧存档时出块奖励和 NPC 算力按 stage 1 的新数值放大 10 倍(保留减半进度)。
|
||||
- 手册“收黑币”一节改写为“换币客户”,8 种语言。
|
||||
|
||||
### 第十一阶段 stage 3:自营混币器
|
||||
|
||||
- 买下场外换币台就开放,灰网页多一个“自营混币器”标签。注资(PSC、CRC、CRT、CRA,账单转账)后开张,NPC 客户把带污点的币存进来,几天后出款,你收手续费;费率可选 1% / 2% / 3% / 5% / 8% / 12%,可以暂停营业。
|
||||
- 和普通混币器一样,每一轮按匿名集洗掉一部分污点;匿名集主要是你的本金和没取走的收入(客户在途的币按 25% 算),每轮清洗率 = 35% × 匿名集 / (匿名集 + 20,000)。客户拿“费率 + 出款剩下的污点 × 0.1”和 Tumbler 的混币器比,便宜就多来,黑市声望越高客人越多(Tumbler 关停或被制裁时客人更多)。
|
||||
- 手续费收入留在池子里,取回时先取收入(全额带污点),再取本金(带本金自己的污点)。客户在途的币不能取。
|
||||
- 风险:风声随客流累积、每晚衰减,按风声有概率被治安部查封(本金、收入和客户的币全部没收,记销赃罪证 = 池子价值的 1%、封顶 400,停业 7 天,上报纸);营业的晚上有 3% 概率来一笔便衣存入(记销赃罪证)。随时可以卷款跑路(点两次确认、签名):连同客户的币全部卷走、全额带污点,记诈骗罪证 400、黑市声望 −25,混币器永久关闭。
|
||||
- 模拟(research/mixsim,费率 3%,第 61–90 天):注资 1 万每天手续费约 108、2 万约 220、4 万约 350;90 天净收益在 2 万本金附近最好(约 1.07 万),本金再加大查封风险吃掉收益。
|
||||
- 手册“换币客户”一节加一段自营混币器,8 种语言;夜间日志和报纸新闻。
|
||||
|
||||
|
||||
## 1.1.0
|
||||
|
||||
市场与洗钱的平衡调整:Poinbase 改为订单簿、DEX 稳定币对改为稳定币池、保险基金和爆仓新闻、预测市场流动性、收黑币、浏览器记录钱包的每一笔进出。存档兼容,读旧存档时自动升级。
|
||||
|
||||
@@ -0,0 +1,226 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Decentralized.Domain
|
||||
{
|
||||
/// <summary>自营混币器里一种币:玩家的本金(数量、污点额)和还没取走的手续费收入(取走时全额带污点)。</summary>
|
||||
public sealed class MixPool
|
||||
{
|
||||
public double Capital, CapTaint, Earned;
|
||||
}
|
||||
|
||||
/// <summary>NPC 客户的一笔存入:扣掉手续费后的数量、存入时的污点额(信用点)、轮数、到期日。</summary>
|
||||
public sealed class OwnMixDeposit
|
||||
{
|
||||
public string Asset;
|
||||
public double Amount, Taint;
|
||||
public int Rounds, ReadyDay;
|
||||
}
|
||||
|
||||
/// <summary>一晚发生的事。Kind:deposit(今晚存入合计)/ payout(今晚出款合计,Ratio 是出款剩下的污点比例)/ sting(便衣存入)/ seized(被查封)。</summary>
|
||||
public sealed class OwnMixEvent
|
||||
{
|
||||
public string Kind;
|
||||
public double Value, Ratio, Crime;
|
||||
public int Count;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 自营混币器:玩家注资开张,NPC 客户把带污点的币存进来,几天后出款,玩家收手续费。和普通混币器一样,每一轮按匿名集洗掉一部分污点:
|
||||
/// 匿名集主要是玩家的本金和没取走的收入(客户在途的币按一个比例折算),注资越多洗得越干净,客户越愿意来。
|
||||
/// 手续费是玩家的收入,留在池子里,取走时全额带污点;本金取回时带着它自己的污点(注资用脏币,取回的也脏)。
|
||||
/// 客流 = 基础需求(天) × 黑市声望 × 和 Tumbler 比的吸引力(费率加上出款剩下的污点,近期出款的滑动平均就是口碑)。
|
||||
/// 风声随客流累积、每晚衰减,按风声有概率被查封:池子和在途的存入全部没收,记销赃罪证,停业若干天。营业的晚上可能有便衣存入,记销赃罪证。
|
||||
/// 玩家可以随时卷款跑路:池子连同客户的币全部进钱包、全额带污点,记诈骗罪证,混币器永久关闭。
|
||||
/// </summary>
|
||||
public sealed class OwnMixer
|
||||
{
|
||||
public static readonly string[] AssetsList = { Assets.PSC, Assets.CRC, Assets.CRT, Assets.CRA };
|
||||
|
||||
public bool Open;
|
||||
public bool Closed;
|
||||
public int SeizedUntil = -1;
|
||||
public double Fee = Tuning.OwnMixFeeDefault;
|
||||
/// <summary>口碑:近期出款剩下的污点比例(滑动平均),越低越好;开张时按当时的匿名集估。</summary>
|
||||
public double Rating = 1;
|
||||
public double Heat;
|
||||
public Dictionary<string, MixPool> Pools = new Dictionary<string, MixPool>();
|
||||
public List<OwnMixDeposit> Pending = new List<OwnMixDeposit>();
|
||||
/// <summary>累计手续费收入(信用点,按入账时的价格),统计用。</summary>
|
||||
public double FeesTotal;
|
||||
|
||||
public bool Seized(int day) => day <= SeizedUntil;
|
||||
public bool Running(int day) => Open && !Closed && !Seized(day);
|
||||
|
||||
public MixPool Pool(string asset)
|
||||
{
|
||||
if (!Pools.TryGetValue(asset, out var p)) Pools[asset] = p = new MixPool();
|
||||
return p;
|
||||
}
|
||||
|
||||
/// <summary>一种币在池子里的总数:本金、收入、客户在途的币。</summary>
|
||||
public double Total(string asset) => Pool(asset).Capital + Pool(asset).Earned + Pending.Where(x => x.Asset == asset).Sum(x => x.Amount);
|
||||
|
||||
/// <summary>匿名集(信用点):玩家的本金和收入,加上客户在途的币按 OwnMixPendingWeight 折算(主要靠注资撑起来)。</summary>
|
||||
public double Anonymity(Func<string, double> price) => AssetsList.Sum(a => (Free(a) + Tuning.OwnMixPendingWeight * Pending.Where(x => x.Asset == a).Sum(x => x.Amount)) * price(a));
|
||||
|
||||
/// <summary>每一轮洗掉的污点比例:基准清洗率 × 匿名集 / (匿名集 + OwnMixAnon0)。</summary>
|
||||
public static double RoundRate(double anonymity) => Tuning.MixerCleanRate * anonymity / (anonymity + Tuning.OwnMixAnon0);
|
||||
|
||||
/// <summary>按平均轮数出款时剩下的污点比例。</summary>
|
||||
public static double Remain(double rate) => Math.Pow(1 - rate, Tuning.OwnMixAvgRounds);
|
||||
|
||||
/// <summary>玩家能取走的:本金加收入(客户在途的币不能动)。</summary>
|
||||
public double Free(string asset) => Pool(asset).Capital + Pool(asset).Earned;
|
||||
|
||||
/// <summary>开张(或停业后重新开张):口碑按现在的匿名集估。</summary>
|
||||
public void Start(Func<string, double> price)
|
||||
{
|
||||
Open = true;
|
||||
Rating = Remain(RoundRate(Anonymity(price)));
|
||||
}
|
||||
|
||||
/// <summary>注资:币从钱包进本金,污点按价值比例随币走。</summary>
|
||||
public bool Inject(Wallet w, string asset, double amount, Func<string, double> price)
|
||||
{
|
||||
if (amount <= 0 || w.Avail(asset) + 1e-9 < amount || !AssetsList.Contains(asset)) return false;
|
||||
double total = w.Value(price), share = total > 0 ? Math.Min(1, amount * price(asset) / total) : 0;
|
||||
double taint = w.Taint * share, basis = w.Basis * share;
|
||||
w.Add(asset, -amount); w.Taint -= taint; w.Basis -= basis;
|
||||
var p = Pool(asset);
|
||||
p.Capital += amount; p.CapTaint += taint;
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>取回:不超过 <see cref="Free"/>。先取手续费收入(全额带污点),再取本金(按本金的污点比例)。over 是超出钱包价值、没加进去的污点。</summary>
|
||||
public bool Withdraw(Wallet w, string asset, double amount, Func<string, double> price, out double over)
|
||||
{
|
||||
over = 0;
|
||||
var p = Pool(asset);
|
||||
if (amount <= 0 || amount > Free(asset) + 1e-9) return false;
|
||||
double fromFees = Math.Min(amount, p.Earned), fromCap = Math.Min(p.Capital, amount - fromFees);
|
||||
double capTaint = p.Capital > 1e-12 ? p.CapTaint * fromCap / p.Capital : 0;
|
||||
p.Earned -= fromFees; p.Capital -= fromCap; p.CapTaint -= capTaint;
|
||||
w.Add(asset, fromFees + fromCap);
|
||||
over = w.AddTaintCapped(fromFees * price(asset) + capTaint, price);
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>卷款跑路:本金、收入和客户在途的币全部进钱包、全额带污点,永久关闭。返回 (币种, 数量);over 是超出钱包价值的污点。</summary>
|
||||
public List<KeyValuePair<string, double>> Rug(Wallet w, Func<string, double> price, out double over)
|
||||
{
|
||||
over = 0;
|
||||
var got = new List<KeyValuePair<string, double>>();
|
||||
foreach (var a in AssetsList)
|
||||
{
|
||||
double amt = Total(a);
|
||||
if (amt <= 1e-9) continue;
|
||||
w.Add(a, amt);
|
||||
over += w.AddTaintCapped(amt * price(a), price);
|
||||
got.Add(new KeyValuePair<string, double>(a, amt));
|
||||
}
|
||||
Pools.Clear(); Pending.Clear();
|
||||
Open = false; Closed = true;
|
||||
return got;
|
||||
}
|
||||
|
||||
/// <summary>今晚的基础需求(信用点):随天数增长。</summary>
|
||||
public static double Demand(int day) => Tuning.OwnMixDemand0 + Tuning.OwnMixDemandPerDay * day;
|
||||
|
||||
/// <summary>
|
||||
/// 和 Tumbler 的混币器比,分到的客流(0–1):客户的成本 = 费率 + 出款剩下的污点比例 × OwnMixTaintWeight,比对手便宜就多分。
|
||||
/// rivalRemain 是对手出款剩下的污点比例;对手关停时客户的另一条路是不混(成本再加 OwnMixRivalGone)。
|
||||
/// </summary>
|
||||
public double Share(double rivalFee, double rivalRemain, bool rivalOpen)
|
||||
{
|
||||
double mine = Fee + Rating * Tuning.OwnMixTaintWeight;
|
||||
double rival = rivalFee + rivalRemain * Tuning.OwnMixTaintWeight + (rivalOpen ? 0 : Tuning.OwnMixRivalGone);
|
||||
return 1 / (1 + Math.Exp((mine - rival) / Tuning.OwnMixFeeScale));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 夜间:到期的存入出款(按匿名集洗掉污点),口碑跟着出款走;营业中接新的存入;风声累积、按风声查封。
|
||||
/// bmRep:黑市声望(0–100);rivalFee、rivalRemain、rivalOpen:Tumbler 混币器的费率、出款剩下的污点比例、是否在营业;enforce:剧情带来的执法倍数;crackdown:镇压期间。
|
||||
/// </summary>
|
||||
public List<OwnMixEvent> Night(int day, Func<string, double> price, int bmRep, double rivalFee, double rivalRemain, bool rivalOpen, double enforce, bool crackdown, Rng rng)
|
||||
{
|
||||
var evs = new List<OwnMixEvent>();
|
||||
if (Closed || Seized(day)) return evs;
|
||||
|
||||
// 出款(客户的币回到客户手里,污点按匿名集洗掉一部分)
|
||||
double rate = RoundRate(Anonymity(price));
|
||||
double paid = 0; int paidN = 0;
|
||||
foreach (var dep in Pending.Where(x => x.ReadyDay <= day).ToList())
|
||||
{
|
||||
Pending.Remove(dep);
|
||||
paid += dep.Amount * price(dep.Asset);
|
||||
paidN++;
|
||||
}
|
||||
if (paidN > 0)
|
||||
{
|
||||
double remain = Remain(rate);
|
||||
Rating += Tuning.OwnMixRatingSpeed * (remain - Rating);
|
||||
evs.Add(new OwnMixEvent { Kind = "payout", Value = paid, Ratio = remain, Count = paidN });
|
||||
}
|
||||
|
||||
// 存入
|
||||
double inValue = 0; int n = 0;
|
||||
if (Open)
|
||||
{
|
||||
double repF = Tuning.OwnMixRepMin + (1 - Tuning.OwnMixRepMin) * Math.Max(0, Math.Min(100, bmRep)) / 100.0;
|
||||
double demand = Demand(day) * repF * Share(rivalFee, rivalRemain, rivalOpen);
|
||||
double left = demand * rng.Range(1 - Tuning.OwnMixNoise, 1 + Tuning.OwnMixNoise);
|
||||
while (left > Tuning.MixerMin)
|
||||
{
|
||||
double v = Math.Min(left, Tuning.OwnMixTicket * rng.Range(0.5, 1.5));
|
||||
left -= v;
|
||||
string asset = Pick(rng);
|
||||
double px = price(asset);
|
||||
if (px <= 0) continue;
|
||||
double amt = v / px;
|
||||
Pool(asset).Earned += amt * Fee;
|
||||
FeesTotal += v * Fee;
|
||||
int rounds = rng.Range(1, Tuning.MixerMaxRounds);
|
||||
Pending.Add(new OwnMixDeposit { Asset = asset, Amount = amt * (1 - Fee), Taint = v * rng.Range(Tuning.OwnMixInTaintMin, Tuning.OwnMixInTaintMax), Rounds = rounds, ReadyDay = day + rounds });
|
||||
inValue += v; n++;
|
||||
}
|
||||
if (n > 0)
|
||||
{
|
||||
evs.Add(new OwnMixEvent { Kind = "deposit", Value = inValue, Count = n });
|
||||
// 便衣:营业的晚上按概率有一笔存入来自治安部
|
||||
if (rng.Chance(Tuning.OwnMixSting))
|
||||
{
|
||||
double v = inValue / n;
|
||||
evs.Add(new OwnMixEvent { Kind = "sting", Value = v, Crime = Math.Min(Tuning.CrimeEventCap, v * Tuning.OwnMixStingCrime) });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 风声与查封
|
||||
Heat = Heat * Tuning.OwnMixHeatKeep + inValue / Tuning.OwnMixHeatScale;
|
||||
if (rng.Chance(SeizeChance(enforce, crackdown)))
|
||||
{
|
||||
double lost = AssetsList.Sum(a => Total(a) * price(a));
|
||||
evs.Add(new OwnMixEvent { Kind = "seized", Value = lost, Crime = Math.Min(Tuning.CrimeEventCap, lost * Tuning.OwnMixSeizeCrime) });
|
||||
Pools.Clear(); Pending.Clear();
|
||||
SeizedUntil = day + Tuning.OwnMixSeizeDays;
|
||||
Heat = 0; Open = false;
|
||||
}
|
||||
return evs;
|
||||
}
|
||||
|
||||
/// <summary>今晚被查封的概率:风声 × 系数 × 执法倍数(镇压期间再乘),封顶。</summary>
|
||||
public double SeizeChance(double enforce, bool crackdown) => Math.Min(Tuning.OwnMixSeizeMax, Tuning.OwnMixSeizeRate * Heat * enforce * (crackdown ? Tuning.OwnMixSeizeCrackdown : 1));
|
||||
|
||||
/// <summary>风声的三档提示:0 低、1 中、2 高(按今晚的查封概率)。</summary>
|
||||
public int HeatLevel(double enforce) { double s = SeizeChance(enforce, false); return s < Tuning.OwnMixHeatMid ? 0 : s < Tuning.OwnMixHeatHigh ? 1 : 2; }
|
||||
|
||||
private static string Pick(Rng rng)
|
||||
{
|
||||
double r = rng.NextDouble() * Tuning.OwnMixAssetWeights.Sum();
|
||||
for (int i = 0; i < AssetsList.Length; i++) { r -= Tuning.OwnMixAssetWeights[i]; if (r <= 0) return AssetsList[i]; }
|
||||
return AssetsList[AssetsList.Length - 1];
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -303,6 +303,23 @@ namespace Decentralized.Domain
|
||||
/// <summary>买币客户:要买的币的市值(房租的倍数);出价相对市价的随机溢价范围(可能低于市价,成不成交由玩家决定)。</summary>
|
||||
public const double OtcBuyMinRents = 2, OtcBuyMaxRents = 8;
|
||||
public const double OtcBidMin = -0.05, OtcBidMax = 0.30;
|
||||
/// <summary>
|
||||
/// 自营混币器(买下场外换币台就开放):默认费率、可选费率;口碑(近期出款剩下的污点比例)跟出款走的速度、客户把剩下的污点比例折成费率的权重、Tumbler 关停时客户不混的额外成本、匿名集的半饱和值(每轮清洗率 = 基准 × 匿名集 /(匿名集 + 它))、平均轮数、客户在途的币计入匿名集的比例;
|
||||
/// 基础需求(信用点,随天数增长)、黑市声望 0 时的需求系数、客流对成本差的灵敏度、每晚需求的随机幅度、单笔存入的平均额;
|
||||
/// 客户存入的币的污点比例范围;各币种的需求权重(PSC、CRC、CRT、CRA);营业时每晚有便衣存入的概率和记罪证的比例(按一笔存入的额);
|
||||
/// 风声每晚保留的比例和累积的标度、按风声的查封概率系数与上限、镇压期间的倍数、查封记罪证的比例、停业天数、风声提示的两档界线;卷款跑路记的诈骗罪证和黑市声望损失。
|
||||
/// </summary>
|
||||
public const double OwnMixFeeDefault = 0.03;
|
||||
public static readonly double[] OwnMixFees = { 0.01, 0.02, 0.03, 0.05, 0.08, 0.12 };
|
||||
public const double OwnMixRatingSpeed = 0.2, OwnMixTaintWeight = 0.1, OwnMixRivalGone = 0.03, OwnMixAnon0 = 20000, OwnMixAvgRounds = 3, OwnMixPendingWeight = 0.25;
|
||||
public const double OwnMixDemand0 = 20000, OwnMixDemandPerDay = 700, OwnMixRepMin = 0.3, OwnMixFeeScale = 0.015, OwnMixNoise = 0.3, OwnMixTicket = 800;
|
||||
public const double OwnMixInTaintMin = 0.4, OwnMixInTaintMax = 1.0;
|
||||
public static readonly double[] OwnMixAssetWeights = { 0.3, 0.1, 0.4, 0.2 };
|
||||
public const double OwnMixSting = 0.03, OwnMixStingCrime = 0.1;
|
||||
public const double OwnMixHeatKeep = 0.9, OwnMixHeatScale = 100000, OwnMixSeizeRate = 0.01, OwnMixSeizeMax = 0.5, OwnMixSeizeCrackdown = 2, OwnMixSeizeCrime = 0.01, OwnMixHeatMid = 0.01, OwnMixHeatHigh = 0.03;
|
||||
public const int OwnMixSeizeDays = 7, OwnMixRugRep = 25;
|
||||
public const double OwnMixRugCrime = 400;
|
||||
|
||||
/// <summary>假客服:每天上门的概率;伪造转账:用币付款的顾客里是骗子的比例;两者都从第几天起。</summary>
|
||||
public const double FakeSupportChance = 0.04, FakeTransferShare = 0.08;
|
||||
public const int ScamMinDay = 10;
|
||||
|
||||
@@ -295,6 +295,34 @@ namespace Decentralized.Domain
|
||||
["OtcUnlockPrice"] = Tuning.OtcUnlockPrice,
|
||||
["OtcValueMaxRents"] = Tuning.OtcValueMaxRents,
|
||||
["OtcValueMinRents"] = Tuning.OtcValueMinRents,
|
||||
["OwnMixAnon0"] = Tuning.OwnMixAnon0,
|
||||
["OwnMixAvgRounds"] = Tuning.OwnMixAvgRounds,
|
||||
["OwnMixDemand0"] = Tuning.OwnMixDemand0,
|
||||
["OwnMixDemandPerDay"] = Tuning.OwnMixDemandPerDay,
|
||||
["OwnMixFeeDefault"] = Tuning.OwnMixFeeDefault,
|
||||
["OwnMixFeeScale"] = Tuning.OwnMixFeeScale,
|
||||
["OwnMixHeatHigh"] = Tuning.OwnMixHeatHigh,
|
||||
["OwnMixHeatKeep"] = Tuning.OwnMixHeatKeep,
|
||||
["OwnMixHeatMid"] = Tuning.OwnMixHeatMid,
|
||||
["OwnMixHeatScale"] = Tuning.OwnMixHeatScale,
|
||||
["OwnMixInTaintMax"] = Tuning.OwnMixInTaintMax,
|
||||
["OwnMixInTaintMin"] = Tuning.OwnMixInTaintMin,
|
||||
["OwnMixNoise"] = Tuning.OwnMixNoise,
|
||||
["OwnMixPendingWeight"] = Tuning.OwnMixPendingWeight,
|
||||
["OwnMixRatingSpeed"] = Tuning.OwnMixRatingSpeed,
|
||||
["OwnMixRepMin"] = Tuning.OwnMixRepMin,
|
||||
["OwnMixRivalGone"] = Tuning.OwnMixRivalGone,
|
||||
["OwnMixRugCrime"] = Tuning.OwnMixRugCrime,
|
||||
["OwnMixRugRep"] = Tuning.OwnMixRugRep,
|
||||
["OwnMixSeizeCrackdown"] = Tuning.OwnMixSeizeCrackdown,
|
||||
["OwnMixSeizeCrime"] = Tuning.OwnMixSeizeCrime,
|
||||
["OwnMixSeizeDays"] = Tuning.OwnMixSeizeDays,
|
||||
["OwnMixSeizeMax"] = Tuning.OwnMixSeizeMax,
|
||||
["OwnMixSeizeRate"] = Tuning.OwnMixSeizeRate,
|
||||
["OwnMixSting"] = Tuning.OwnMixSting,
|
||||
["OwnMixStingCrime"] = Tuning.OwnMixStingCrime,
|
||||
["OwnMixTaintWeight"] = Tuning.OwnMixTaintWeight,
|
||||
["OwnMixTicket"] = Tuning.OwnMixTicket,
|
||||
["PerpAdlHaircut"] = Tuning.PerpAdlHaircut,
|
||||
["PerpBanDays"] = Tuning.PerpBanDays,
|
||||
["PerpDebtDays"] = Tuning.PerpDebtDays,
|
||||
@@ -490,6 +518,8 @@ namespace Decentralized.Domain
|
||||
["CraSpiralPath"] = Array.ConvertAll(Tuning.CraSpiralPath, v => (double)v),
|
||||
["IntelTipAcc"] = Array.ConvertAll(Tuning.IntelTipAcc, v => (double)v),
|
||||
["IntelTipPrice"] = Array.ConvertAll(Tuning.IntelTipPrice, v => (double)v),
|
||||
["OwnMixAssetWeights"] = Array.ConvertAll(Tuning.OwnMixAssetWeights, v => (double)v),
|
||||
["OwnMixFees"] = Array.ConvertAll(Tuning.OwnMixFees, v => (double)v),
|
||||
["PonziRates"] = Array.ConvertAll(Tuning.PonziRates, v => (double)v),
|
||||
["SparkSpiralPath"] = Array.ConvertAll(Tuning.SparkSpiralPath, v => (double)v),
|
||||
["UsedHealthMax"] = Array.ConvertAll(Tuning.UsedHealthMax, v => (double)v),
|
||||
|
||||
@@ -248,7 +248,7 @@ black.kind.Contraband.3,Schmuggelware (hoch)
|
||||
black.kind.Tech,Hightech (Aufpreis)
|
||||
nightlog.bm.ready,"Schwarzmarkt: {0} eingetroffen; sobald du öffnest, kommt ein Kurier vorbei."
|
||||
guide.web3.title,Web3-Handbuch
|
||||
guide.web3.text,"Bank und Handel: Die Bankseite ist nur lesbar und zeigt Bargeld, Miete und das CRC auf dem Poinbase-Konto. Die Seite „Guthaben“ von Poinbase regelt Ein- und Auszahlungen; zuerst wird der Coin gewählt: CRC geht über das Bankkonto oder die Wallet, alle anderen Coins nur über die Wallet. Eine Einzahlung von der Bank wandelt Credits in CRC auf deinem Poinbase-Konto um; eine Auszahlung auf die Bank wandelt CRC zurück in Credits um und durchläuft eine Compliance-Prüfung, die die Kontamination des Poinbase-Kontos bewertet. Eine Auszahlung auf eine Wallet braucht die Zieladresse und mehrere Bestätigungen bis zur Gutschrift; die Gasgebühr ist fest auf Normal gesetzt und wird vom abgehenden Coin abgezogen. Ist das Adressformat oder die Prüfziffer falsch, wird abgelehnt; bei einer formal gültigen Adresse, die niemand nutzt, sind die Coins nach der Überweisung weg.¶Handel: PSC steht für Probably Stolen Coin, den durch Grafikkarten und Miner geschürften Coin. Der Poinbase-Spotmarkt hat zwei Paare, PSC/CRC und SPARK/CRC, je nach dem im Chart gewählten Coin. Käufe und Verkäufe werden beide als Menge des gehandelten Coins eingegeben; die Vorschau zeigt den gezahlten oder erhaltenen Notierungs-Coin, der Durchschnittspreis enthält die Gebühr, die Slippage nicht.¶Auf der Web3-Handelsseite lassen sich beliebige zwei Coins tauschen, stets über CRC als Zwischenschritt: Ist CRC eine Seite, läuft der Tausch über einen Pool, sonst über zwei Pools mit zwei Gebühren und sich addierender Slippage; die Vorschau zeigt Menge, Anzahl der Pools und Verlust. Stablecoin-Tausch (CRT oder CRA gegen CRC) läuft über Stable-Pools: {StableFee:%} Gebühr und kaum Slippage nahe der Bindung; beim Depeg wird die Liquidität dünner, beim Zusammenbruch wird sie abgezogen und die Slippage springt.§Hardware-Wallets: On-Chain-Coins liegen auf PLEDGER-Hardware-Wallets, jede mit eigenem Guthaben und eigener Kontamination. Eine Wallet ist ein Gegenstand: Ziehe sie auf das Handelsterminal, um sie zu laden. Öffne sie auf der Wallets-Seite des Terminals; verbinde und trenne sie oben rechts im Terminal. Der Handel der Web3-Seite sowie Shop und Mixer der Graunetz-Seite nutzen die verbundene Wallet; ohne Wallet oder ohne Verbindung sind sie nur lesbar und alle Guthaben zeigen 0. Kunden, die in Coins zahlen, zahlen auf die verbundene Wallet.¶Zahlungen (Shop, Mixer, Ponero-Schalter, Einstellgebühren) beginnen als Rechnung auf dem Handelsterminal; gib die Empfängeradresse auf der Wallet ein und halte zum Signieren ✓ gedrückt. Die letzten beiden Zeichen einer Adresse bilden eine Prüfsumme, sodass ein einzelner Tippfehler meist abgefangen wird; gelegentlich ist die Eingabe dennoch gültig und die Coins gehen an eine ungenutzte Adresse. Auch DEX-Swaps erfordern eine Signatur auf der Wallet.¶Poinbase ist ein Verwahrkonto; Einzahlungen erfolgen von der Wallet an die Einzahlungsadresse von Poinbase (nur PSC, CRC und SPARK; die regulierte Börse nimmt weder das CRT des Schwarzmarkts noch das CRA der Revolution, und die Wallet blockiert Überweisungen dieser Coins an die Einzahlungsadresse), Auszahlungen werden auf der Seite „Guthaben“ von Poinbase gestartet. Der Explorer auf der Wallets-Seite zeigt Überweisungen nach Adresse, ausschließlich tatsächlich erfolgte: jede Bewegung in und aus deinen Wallets (Überweisungen, DEX-Tausch und andere Vertragsaufrufe, Miner-Erträge, Auszahlungen, Coins, die andere dir schicken); Ponero ist ein Privacy Coin und erscheint nie. Weitere Hardware-Wallets verkauft Dr. Jackson; ziehe eine auf das Handelsterminal, um sie hinzuzufügen, bis zu {WalletMax}. Im Shop gibt es günstigere Exemplare. Eine nicht mehr benötigte Wallet kann auf der Wallets-Seite zerstört werden; ihre Coins sind dauerhaft verloren, ebenso alles, was danach an ihre Adresse gesendet wird.¶Überweisungen kosten Gasgebühren: langsam, normal oder schnell, und die Gas-Preise steigen und fallen im Wochenverlauf; bei Netzwerküberlastung steigen die Gasgebühren und langsame Transaktionen können aus dem Mempool fliegen. Vor dem Senden die vollständige Adresse prüfen.§Staking: Im Revolution-Pool gestakte CRA erzielen einen Tageszinssatz, der dem Einsatz zugeschlagen wird; eine Auszahlung erfordert einen vorherigen Antrag und vier Tage Wartezeit – ohne Zinsen während des Wartens und ohne vorzeitige Entnahme. CRA ist teilbesichert: Jedes CRA wird von CRC-Reserven der Revolution und vom Ausgleichstoken SPARK gedeckt; Reservedeckung und Besicherungsquote stehen auf der Staking-Seite. Zinsen werden in neuem, unbesichertem CRA gezahlt, das die Reservedeckung verwässert, umso schneller, je mehr gestakt ist; bei zu niedriger Deckung senkt die Revolution den Zinssatz. Die Revolution greift manchmal in die Reserve; zuvor gibt es Gerüchte, das ist das Vorzeichen. Fällt die Deckung danach unter {CraCrashRatio:%}, bricht das System zusammen: CRA ist binnen drei Tagen wertlos und vier Tage Entsperrung sind zu langLine truncated
|
||||
guide.web3.text,"Bank und Handel: Die Bankseite ist nur lesbar und zeigt Bargeld, Miete und das CRC auf dem Poinbase-Konto. Die Seite „Guthaben“ von Poinbase regelt Ein- und Auszahlungen; zuerst wird der Coin gewählt: CRC geht über das Bankkonto oder die Wallet, alle anderen Coins nur über die Wallet. Eine Einzahlung von der Bank wandelt Credits in CRC auf deinem Poinbase-Konto um; eine Auszahlung auf die Bank wandelt CRC zurück in Credits um und durchläuft eine Compliance-Prüfung, die die Kontamination des Poinbase-Kontos bewertet. Eine Auszahlung auf eine Wallet braucht die Zieladresse und mehrere Bestätigungen bis zur Gutschrift; die Gasgebühr ist fest auf Normal gesetzt und wird vom abgehenden Coin abgezogen. Ist das Adressformat oder die Prüfziffer falsch, wird abgelehnt; bei einer formal gültigen Adresse, die niemand nutzt, sind die Coins nach der Überweisung weg.¶Handel: PSC steht für Probably Stolen Coin, den durch Grafikkarten und Miner geschürften Coin. Der Poinbase-Spotmarkt hat zwei Paare, PSC/CRC und SPARK/CRC, je nach dem im Chart gewählten Coin. Käufe und Verkäufe werden beide als Menge des gehandelten Coins eingegeben; die Vorschau zeigt den gezahlten oder erhaltenen Notierungs-Coin, der Durchschnittspreis enthält die Gebühr, die Slippage nicht.¶Auf der Web3-Handelsseite lassen sich beliebige zwei Coins tauschen, stets über CRC als Zwischenschritt: Ist CRC eine Seite, läuft der Tausch über einen Pool, sonst über zwei Pools mit zwei Gebühren und sich addierender Slippage; die Vorschau zeigt Menge, Anzahl der Pools und Verlust. Stablecoin-Tausch (CRT oder CRA gegen CRC) läuft über Stable-Pools: {StableFee:%} Gebühr und kaum Slippage nahe der Bindung; beim Depeg wird die Liquidität dünner, beim Zusammenbruch wird sie abgezogen und die Slippage springt.§Hardware-Wallets: On-Chain-Coins liegen auf PLEDGER-Hardware-Wallets, jede mit eigenem Guthaben und eigener Kontamination. Eine Wallet ist ein Gegenstand: Ziehe sie auf das Handelsterminal, um sie zu laden. Öffne sie auf der Wallets-Seite des Terminals; verbinde und trenne sie oben rechts im Terminal. Der Handel der Web3-Seite sowie Shop und Mixer der Graunetz-Seite nutzen die verbundene Wallet; ohne Wallet oder ohne Verbindung sind sie nur lesbar und alle Guthaben zeigen 0. Kunden, die in Coins zahlen, zahlen auf die verbundene Wallet.¶Zahlungen (Shop, Mixer, Ponero-Schalter, Einstellgebühren) beginnen als Rechnung auf dem Handelsterminal; gib die Empfängeradresse auf der Wallet ein und halte zum Signieren ✓ gedrückt. Die letzten beiden Zeichen einer Adresse bilden eine Prüfsumme, sodass ein einzelner Tippfehler meist abgefangen wird; gelegentlich ist die Eingabe dennoch gültig und die Coins gehen an eine ungenutzte Adresse. Auch DEX-Swaps erfordern eine Signatur auf der Wallet.¶Poinbase ist ein Verwahrkonto; Einzahlungen erfolgen von der Wallet an die Einzahlungsadresse von Poinbase (nur PSC, CRC und SPARK; die regulierte Börse nimmt weder das CRT des Schwarzmarkts noch das CRA der Revolution, und die Wallet blockiert Überweisungen dieser Coins an die Einzahlungsadresse), Auszahlungen werden auf der Seite „Guthaben“ von Poinbase gestartet. Der Explorer auf der Wallets-Seite zeigt Überweisungen nach Adresse, ausschließlich tatsächlich erfolgte: jede Bewegung in und aus deinen Wallets (Überweisungen, DEX-Tausch und andere Vertragsaufrufe, Miner-Erträge, Auszahlungen, Coins, die andere dir schicken); Ponero ist ein Privacy Coin und erscheint nie. Weitere Hardware-Wallets verkauft Dr. Jackson; ziehe eine auf das Handelsterminal, um sie hinzuzufügen, bis zu {WalletMax}. Im Shop gibt es günstigere Exemplare. Eine nicht mehr benötigte Wallet kann auf der Wallets-Seite zerstört werden; ihre Coins sind dauerhaft verloren, ebenso alles, was danach an ihre Adresse gesendet wird.¶Überweisungen kosten Gasgebühren: langsam, normal oder schnell, und die Gas-Preise steigen und fallen im Wochenverlauf; bei Netzwerküberlastung steigen die Gasgebühren und langsame Transaktionen können aus dem Mempool fliegen. Vor dem Senden die vollständige Adresse prüfen.§Staking: Im Revolution-Pool gestakte CRA erzielen einen Tageszinssatz, der dem Einsatz zugeschlagen wird; eine Auszahlung erfordert einen vorherigen Antrag und vier Tage Wartezeit – ohne Zinsen während des Wartens und ohne vorzeitige Entnahme. CRA ist teilbesichert: Jedes CRA wird von CRC-Reserven der Revolution und vom Ausgleichstoken SPARK gedeckt; Reservedeckung und Besicherungsquote stehen auf der Staking-Seite. Zinsen werden in neuem, unbesichertem CRA gezahlt, das die Reservedeckung verwässert, umso schneller, je mehr gestakt ist; bei zu niedriger Deckung senkt die Revolution den Zinssatz. Die Revolution greift manchmal in die Reserve; zuvor gibt es Gerüchte, das ist das Vorzeichen. Fällt die Deckung danach unter {CraCrashRatio:%}, bricht das System zusammen: CRA ist binnen drei Tagen wertlos und vier Tage Entsperrung sind zu langLine truncated
|
||||
courier.odd1,...Paket ist da.
|
||||
courier.odd2,(Seine Hand bleibt in der Tasche.) Hier unterschreiben.
|
||||
courier.sign,Unterschreiben
|
||||
@@ -997,6 +997,44 @@ otc.msg.cash,Nicht genug Bargeld.
|
||||
otc.msg.sting,"Der Kunde war ein verdeckter Ermittler: {0} Bargeld beschlagnahmt, Hehlerei erfasst."
|
||||
otc.msg.bought,"{0} {1} erhalten, {2} Bargeld gezahlt."
|
||||
otc.msg.sold,"{0} {1} gesendet, {2} Bargeld erhalten."
|
||||
gray.sub.own,Eigener Mixer
|
||||
ownmix.h,Eigener Mixer
|
||||
ownmix.status.closed,Geschlossen (Rug Pull)
|
||||
ownmix.status.seized,"Beschlagnahmt, geschlossen bis Tag {0}"
|
||||
ownmix.status.open,Geöffnet
|
||||
ownmix.status.paused,Pausiert
|
||||
ownmix.k.fee,Gebühr
|
||||
ownmix.k.rating,Ansehen (Restkontamination)
|
||||
ownmix.k.heat,Fahndungsdruck
|
||||
ownmix.heat.0,Niedrig
|
||||
ownmix.heat.1,Mittel
|
||||
ownmix.heat.2,Hoch
|
||||
ownmix.k.anon,Anonymitätsset
|
||||
ownmix.k.fees,Erzielte Gebühren
|
||||
ownmix.col.capital,Kapital
|
||||
ownmix.col.earned,Einnahmen
|
||||
ownmix.col.pending,Kunden-Coins
|
||||
ownmix.open,Öffnen
|
||||
ownmix.pause,Pausieren
|
||||
ownmix.inject,Einzahlung
|
||||
ownmix.withdraw,Auszahlung
|
||||
ownmix.free,Auszahlbar: {0} {1}
|
||||
ownmix.err,Übersteigt den auszahlbaren Betrag.
|
||||
ownmix.injected,{0} {1} eingezahlt.
|
||||
ownmix.withdrawn,{0} {1} ausgezahlt.
|
||||
ownmix.withdraw.sum,{0} {1} aus eigenem Mixer auszahlen
|
||||
pay.ownmix,Einzahlung eigener Mixer: {0} {1}
|
||||
ownmix.rug,Rug Pull ({0})
|
||||
ownmix.rug.confirm,"Erneut klicken, um {0} einzustecken"
|
||||
ownmix.rug.sum,Alle Gelder aus eigenem Mixer einstecken
|
||||
ownmix.rugged,{0} eingesteckt; der Mixer ist geschlossen.
|
||||
nightlog.ownmix.in,"Eigener Mixer: Einzahlungen: {0}, gesamt {1}, Gebühren: {2}."
|
||||
nightlog.ownmix.sting,Eine Einzahlung im eigenen Mixer stammte von einem verdeckten Ermittler; Hehlerei erfasst.
|
||||
nightlog.ownmix.seized,"Security hat den eigenen Mixer beschlagnahmt: Der Pool von {0} wurde konfisziert, Hehlerei erfasst."
|
||||
news.ownmix.seized.title,Security schließt Mixing-Dienst
|
||||
news.ownmix.seized.desc,Security hat einen auf der Unteren Ebene betriebenen Mixing-Dienst geschlossen und sämtliche Gelder beschlagnahmt. Der Betreiber wurde bisher nicht identifiziert.
|
||||
news.ownmix.rug.title,Mixing-Dienst verschwindet mit Geldern
|
||||
news.ownmix.rug.desc,"Ein Mixing-Dienst auf der Unteren Ebene hat über Nacht den Betrieb eingestellt, und alle Nutzergelder im Transit sind verschwunden."
|
||||
pay.otc,OTC-Kunde {0} {1} (Bargeld {2})
|
||||
otc.upgrade.title,OTC-Schalter
|
||||
otc.upgrade.desc,"Fügt der Schwarzen Lampe ein neues Ziel hinzu: OTC-Kunden. Einige verkaufen Coins unbekannter Herkunft, andere kaufen Coins; alle Geschäfte werden in bar abgewickelt. Enthält eine Schwarze Lampe."
|
||||
|
||||
@@ -248,7 +248,7 @@ black.kind.Contraband.3,Contraband (high)
|
||||
black.kind.Tech,High-tech (markup)
|
||||
nightlog.bm.ready,Black market: {0} arrived; a courier will come by once you open.
|
||||
guide.web3.title,Web3 Handbook
|
||||
guide.web3.text,"Bank and trading: the Bank page is read-only and shows cash, rent and the CRC in your Poinbase account. Poinbase's Funds page handles deposits and withdrawals; pick the coin first: CRC can go through the bank account or a wallet, every other coin only through a wallet. Depositing from the bank turns credits into CRC in your Poinbase account; withdrawing to the bank turns CRC back into credits and goes through compliance screening, which looks at the Poinbase account's taint. Withdrawing to a wallet needs a payee address and a few confirmations before it arrives; the gas fee is fixed at the normal tier and taken from the coin sent. A wrong address format or checksum is rejected; a correctly formatted address nobody uses means the coins are gone.¶Trading: PSC stands for Probably Stolen Coin, the coin mined by GPUs and miners. Poinbase spot has two pairs, PSC/CRC and SPARK/CRC, following the coin picked on the chart. Buys and sells are both entered as an amount of the traded coin; the preview shows the quote coin paid or received, the average price includes the fee and the slippage does not.¶The Web3 trade page can swap any two coins, always through CRC: with CRC on one side it uses one pool, otherwise two pools, with two fees and stacked slippage; the preview shows the amount received, the pools crossed and the loss. Stablecoin swaps (CRT or CRA against CRC) use stable pools: a {StableFee:%} fee and almost no slippage near the peg; during a depeg liquidity thins, and in a collapse it is pulled and slippage jumps.§Hardware wallets: on-chain coins sit in PLEDGER hardware wallets, each with its own balances and taint. A wallet is an item: drag it onto the trading terminal to load it. Open it on the terminal's Wallets page; connect and disconnect at the top right of the terminal. Trading on the Web3 page and the shop and mixer on the Gray Net page use the connected wallet; with no wallet or no connection they are view-only and every balance reads 0. Coin-paying customers pay into the connected wallet.¶Payments (shop, mixer, Ponero desk, listing fees) start as an invoice on the terminal; type the payee address on the wallet and hold ✓ to sign. The last two characters of an address are a checksum, so a one-character typo is usually caught; once in a while it happens to be valid and the coins go to an address nobody uses. DEX swaps also need a signature on the wallet.¶Poinbase is a custodial account; deposits are sent from a wallet to Poinbase's deposit address (only PSC, CRC and SPARK; the compliant exchange takes neither the black market's CRT nor the Revolution's CRA, and the wallet blocks sending them to the deposit address) and withdrawals are started on Poinbase's Funds page. The Explorer on the Wallets page looks up transfers by address and shows only transfers that really happened: every movement in and out of your wallets (transfers, DEX swaps and other contract calls, miner payouts, withdrawals, coins others send you); Ponero is a privacy coin and never shows. More hardware wallets are sold by Dr. Jackson; drag one onto the trading terminal to add it, up to {WalletMax}. The shop has cheaper ones. A wallet you no longer want can be destroyed on the Wallets page; its coins are lost for good, and anything sent to its address afterwards is lost too.¶Transfers pay a gas fee: slow, normal or fast, and gas prices rise and fall over roughly a week; when the network is congested gas fees rise and slow transactions may be dropped from the mempool. Check the full address before sending.§Staking: CRA staked in the Revolution pool earns a daily rate that compounds into the stake; withdrawing means requesting first and waiting four days, with no interest while waiting and no way to take it early. CRA is partly collateralized: each CRA is backed by the CRC reserve the Revolution holds and by the balance token SPARK; reserve coverage and the collateral ratio are shown on the staking page. Interest is paid in new uncollateralized CRA, which dilutes reserve coverage, faster the more is staked; when coverage is too low the Revolution cuts the rate. The Revolution sometimes diverts the reserve, preceded by rumors: that is the warning. If coverage then falls below {CraCrashRatio:%} it collapses: CRA is worthless within three days and four days of unlocking is too slow; above that there is only a discount, and money from raiding the upper class slowly refills the reserve.¶Official minting: deposit CRC and SPARK (ratio per the current collateral ratio; the preview shows what is needed) to mint CRA, queued {CraMintDaysMin}-{CraMintDaysMax} days; the minted CRA goes straight into staking. Burning turns CRA back into CRC and SPARK, waiting as long as the unlock period; when the reserve is short the CRC share is cut by coverage. Queued mints and burns may be dishonored in full by the Revolution: the nightly chance is how far the CRA price is below 1 times {CraRugPerDepeg}; if the price is not below 1 it cLine truncated
|
||||
guide.web3.text,"Bank and trading: the Bank page is read-only and shows cash, rent and the CRC in your Poinbase account. Poinbase's Funds page handles deposits and withdrawals; pick the coin first: CRC can go through the bank account or a wallet, every other coin only through a wallet. Depositing from the bank turns credits into CRC in your Poinbase account; withdrawing to the bank turns CRC back into credits and goes through compliance screening, which looks at the Poinbase account's taint. Withdrawing to a wallet needs a payee address and a few confirmations before it arrives; the gas fee is fixed at the normal tier and taken from the coin sent. A wrong address format or checksum is rejected; a correctly formatted address nobody uses means the coins are gone.¶Trading: PSC stands for Probably Stolen Coin, the coin mined by GPUs and miners. Poinbase spot has two pairs, PSC/CRC and SPARK/CRC, following the coin picked on the chart. Buys and sells are both entered as an amount of the traded coin; the preview shows the quote coin paid or received, the average price includes the fee and the slippage does not.¶The Web3 trade page can swap any two coins, always through CRC: with CRC on one side it uses one pool, otherwise two pools, with two fees and stacked slippage; the preview shows the amount received, the pools crossed and the loss. Stablecoin swaps (CRT or CRA against CRC) use stable pools: a {StableFee:%} fee and almost no slippage near the peg; during a depeg liquidity thins, and in a collapse it is pulled and slippage jumps.§Hardware wallets: on-chain coins sit in PLEDGER hardware wallets, each with its own balances and taint. A wallet is an item: drag it onto the trading terminal to load it. Open it on the terminal's Wallets page; connect and disconnect at the top right of the terminal. Trading on the Web3 page and the shop and mixer on the Gray Net page use the connected wallet; with no wallet or no connection they are view-only and every balance reads 0. Coin-paying customers pay into the connected wallet.¶Payments (shop, mixer, Ponero desk, listing fees) start as an invoice on the terminal; type the payee address on the wallet and hold ✓ to sign. The last two characters of an address are a checksum, so a one-character typo is usually caught; once in a while it happens to be valid and the coins go to an address nobody uses. DEX swaps also need a signature on the wallet.¶Poinbase is a custodial account; deposits are sent from a wallet to Poinbase's deposit address (only PSC, CRC and SPARK; the compliant exchange takes neither the black market's CRT nor the Revolution's CRA, and the wallet blocks sending them to the deposit address) and withdrawals are started on Poinbase's Funds page. The Explorer on the Wallets page looks up transfers by address and shows only transfers that really happened: every movement in and out of your wallets (transfers, DEX swaps and other contract calls, miner payouts, withdrawals, coins others send you); Ponero is a privacy coin and never shows. More hardware wallets are sold by Dr. Jackson; drag one onto the trading terminal to add it, up to {WalletMax}. The shop has cheaper ones. A wallet you no longer want can be destroyed on the Wallets page; its coins are lost for good, and anything sent to its address afterwards is lost too.¶Transfers pay a gas fee: slow, normal or fast, and gas prices rise and fall over roughly a week; when the network is congested gas fees rise and slow transactions may be dropped from the mempool. Check the full address before sending.§Staking: CRA staked in the Revolution pool earns a daily rate that compounds into the stake; withdrawing means requesting first and waiting four days, with no interest while waiting and no way to take it early. CRA is partly collateralized: each CRA is backed by the CRC reserve the Revolution holds and by the balance token SPARK; reserve coverage and the collateral ratio are shown on the staking page. Interest is paid in new uncollateralized CRA, which dilutes reserve coverage, faster the more is staked; when coverage is too low the Revolution cuts the rate. The Revolution sometimes diverts the reserve, preceded by rumors: that is the warning. If coverage then falls below {CraCrashRatio:%} it collapses: CRA is worthless within three days and four days of unlocking is too slow; above that there is only a discount, and money from raiding the upper class slowly refills the reserve.¶Official minting: deposit CRC and SPARK (ratio per the current collateral ratio; the preview shows what is needed) to mint CRA, queued {CraMintDaysMin}-{CraMintDaysMax} days; the minted CRA goes straight into staking. Burning turns CRA back into CRC and SPARK, waiting as long as the unlock period; when the reserve is short the CRC share is cut by coverage. Queued mints and burns may be dishonored in full by the Revolution: the nightly chance is how far the CRA price is below 1 times {CraRugPerDepeg}; if the price is not below 1 it cLine truncated
|
||||
courier.odd1,...Package is here.
|
||||
courier.odd2,(His hand stays in his pocket.) Sign here.
|
||||
courier.sign,Sign
|
||||
@@ -997,6 +997,44 @@ otc.msg.cash,Not enough cash.
|
||||
otc.msg.sting,"The client was undercover: {0} cash confiscated, fencing on record."
|
||||
otc.msg.bought,"Received {0} {1}, paid {2} cash."
|
||||
otc.msg.sold,"Sent {0} {1}, received {2} cash."
|
||||
gray.sub.own,My mixer
|
||||
ownmix.h,My mixer
|
||||
ownmix.status.closed,Closed (rug pulled)
|
||||
ownmix.status.seized,"Seized, closed until day {0}"
|
||||
ownmix.status.open,Open
|
||||
ownmix.status.paused,Paused
|
||||
ownmix.k.fee,Fee
|
||||
ownmix.k.rating,Reputation (taint left on payouts)
|
||||
ownmix.k.heat,Heat
|
||||
ownmix.heat.0,Low
|
||||
ownmix.heat.1,Medium
|
||||
ownmix.heat.2,High
|
||||
ownmix.k.anon,Anonymity set
|
||||
ownmix.k.fees,Fees earned
|
||||
ownmix.col.capital,Capital
|
||||
ownmix.col.earned,Earnings
|
||||
ownmix.col.pending,Client coins
|
||||
ownmix.open,Open
|
||||
ownmix.pause,Pause
|
||||
ownmix.inject,Fund
|
||||
ownmix.withdraw,Withdraw
|
||||
ownmix.free,Withdrawable: {0} {1}
|
||||
ownmix.err,More than the withdrawable amount.
|
||||
ownmix.injected,Funded {0} {1}.
|
||||
ownmix.withdrawn,Withdrew {0} {1}.
|
||||
ownmix.withdraw.sum,Withdraw {0} {1} from my mixer
|
||||
pay.ownmix,My mixer funding {0} {1}
|
||||
ownmix.rug,Pull the rug ({0})
|
||||
ownmix.rug.confirm,Click again to take {0}
|
||||
ownmix.rug.sum,Take all funds from my mixer
|
||||
ownmix.rugged,Took {0}; the mixer is closed.
|
||||
nightlog.ownmix.in,"My mixer: {0} deposits, {1} in total, fees {2}."
|
||||
nightlog.ownmix.sting,A deposit at my mixer came from an undercover officer; fencing on record.
|
||||
nightlog.ownmix.seized,"Security seized my mixer: the pool of {0} was confiscated, fencing on record."
|
||||
news.ownmix.seized.title,Security shuts down a mixing service
|
||||
news.ownmix.seized.desc,Security has shut down a mixing service operating in the lower levels and confiscated all its funds. The operator has not been identified.
|
||||
news.ownmix.rug.title,Mixing service vanishes with funds
|
||||
news.ownmix.rug.desc,"A mixing service in the lower levels shut down overnight, and all user funds in transit are gone."
|
||||
pay.otc,OTC client {0} {1} (cash {2})
|
||||
otc.upgrade.title,OTC Desk
|
||||
otc.upgrade.desc,"Adds a Black Lamp target: OTC clients. Some come to sell coins of unknown origin, some come to buy coins; all deals are settled in cash. Includes one Black Lamp."
|
||||
|
||||
@@ -248,7 +248,7 @@ black.kind.Contraband.3,Contrabando (alto)
|
||||
black.kind.Tech,Alta tecnología (con sobreprecio)
|
||||
nightlog.bm.ready,Mercado negro: {0} ha llegado; un mensajero pasará en cuanto abras.
|
||||
guide.web3.title,Manual de Web3
|
||||
guide.web3.text,"Banco y comercio: la página del banco es de solo lectura y muestra efectivo, alquiler y el CRC de la cuenta de Poinbase. La página Fondos de Poinbase gestiona depósitos y retiros; primero se elige la moneda: el CRC puede ir por la cuenta bancaria o la billetera, las demás monedas solo por la billetera. Depositar desde el banco convierte créditos en CRC en tu cuenta de Poinbase; retirar al banco convierte CRC nuevamente en créditos y pasa por una revisión de cumplimiento que evalúa la contaminación de la cuenta de Poinbase. Retirar a una billetera exige la dirección de destino y varias confirmaciones hasta acreditarse; la comisión de gas es fija, nivel normal, y se descuenta de la moneda enviada. Si el formato de la dirección o el dígito de control es incorrecto, se rechaza; si el formato es válido pero nadie usa esa dirección, las monedas enviadas se pierden.¶Comercio: PSC significa Probably Stolen Coin, la moneda minada por tarjetas gráficas y mineros (máquinas). El mercado spot de Poinbase tiene dos pares, PSC/CRC y SPARK/CRC, según la moneda elegida en el gráfico. Tanto las compras como las ventas se introducen como cantidad de la moneda negociada; la vista previa muestra la moneda de cotización pagada o recibida, el precio medio incluye la comisión y el deslizamiento no.¶La página de comercio de Web3 permite intercambiar cualquier par de monedas, siempre a través de CRC: si CRC está en un extremo se usa un fondo, si no, dos fondos, con dos comisiones y deslizamiento acumulado; la vista previa muestra la cantidad obtenida, los fondos recorridos y la pérdida. Los canjes entre stablecoins (CRT o CRA contra CRC) usan fondos estables: comisión de {StableFee:%} y casi sin deslizamiento cerca de la paridad; durante una pérdida de paridad la liquidez se reduce, y en un colapso se retira y el deslizamiento se dispara.§Billeteras de hardware: las monedas en cadena residen en billeteras de hardware PLEDGER, cada una con sus propios saldos y contaminación. Una billetera es un objeto: arrástrala a la terminal de comercio para cargarla. Ábrela en la página Billeteras de la terminal; conéctala y desconéctala arriba a la derecha de la terminal. El comercio de la página Web3, la tienda y el mezclador de la página Red gris usan la billetera conectada; sin billetera o sin conexión, son solo de lectura y todos los saldos marcan 0. Los clientes que pagan con monedas pagan a la billetera conectada.¶Los pagos (tienda, mezclador, mostrador de Ponero, tarifas de publicación) comienzan como una factura en la terminal; ingresa la dirección del destinatario en la billetera y mantén presionado ✓ para firmar. Los dos últimos caracteres de una dirección son una suma de verificación, por lo que un error tipográfico de un carácter suele detectarse; de vez en cuando resulta válido y las monedas van a una dirección que nadie usa. Los intercambios en DEX también requieren firmar en la billetera.¶Poinbase es una cuenta de custodia; los depósitos se envían desde la billetera a la dirección de depósito de Poinbase (solo PSC, CRC y SPARK; la plataforma regulada no acepta el CRT del mercado negro ni el CRA de la Revolución, y la billetera bloquea su envío a la dirección de depósito) y los retiros se inician en la página Fondos de Poinbase. El Explorador de la página Billeteras permite consultar transferencias por dirección y solo muestra transferencias realmente ocurridas: cada entrada y salida de tus billeteras (transferencias, canjes en DEX y otras llamadas a contratos, ingresos de mineros, retiros, monedas que otros te envían); Ponero es una moneda de privacidad y nunca aparece. El Dr. Jackson vende más billeteras de hardware; arrastra una a la terminal de comercio para agregarla, hasta {WalletMax}. La tienda tiene opciones más baratas. Una billetera que ya no desees puede destruirse en la página Billeteras; sus monedas se pierden para siempre, y todo lo que se envíe después a su dirección también.¶Las transferencias pagan una comisión de gas: lenta, normal o rápida, y los precios del gas suben y bajan en aproximadamente una semana; cuando la red se congestiona, las comisiones de gas suben y las transacciones lentas pueden ser descartadas del mempool. Verifica la dirección completa antes de enviar.§Staking: el CRA en staking en el fondo de la Revolución genera una tasa diaria que se capitaliza en el monto; retirar implica solicitarlo primero y esperar cuatro días, sin intereses durante la espera y sin forma de retirarlo antes. CRA está parcialmente colateralizado: cada CRA está respaldado por la reserva de CRC de la Revolución y por el token de balance SPARK; la cobertura de la reserva y la tasa de colateralización aparecen en la página de staking. Los intereses se pagan con CRA nuevo sin colateral, lo que diluye la cobertura de la reserva, más rápido cuanto más staking haya; si la cobertura es demasiado baja, la Revolución recorta la Line truncated
|
||||
guide.web3.text,"Banco y comercio: la página del banco es de solo lectura y muestra efectivo, alquiler y el CRC de la cuenta de Poinbase. La página Fondos de Poinbase gestiona depósitos y retiros; primero se elige la moneda: el CRC puede ir por la cuenta bancaria o la billetera, las demás monedas solo por la billetera. Depositar desde el banco convierte créditos en CRC en tu cuenta de Poinbase; retirar al banco convierte CRC nuevamente en créditos y pasa por una revisión de cumplimiento que evalúa la contaminación de la cuenta de Poinbase. Retirar a una billetera exige la dirección de destino y varias confirmaciones hasta acreditarse; la comisión de gas es fija, nivel normal, y se descuenta de la moneda enviada. Si el formato de la dirección o el dígito de control es incorrecto, se rechaza; si el formato es válido pero nadie usa esa dirección, las monedas enviadas se pierden.¶Comercio: PSC significa Probably Stolen Coin, la moneda minada por tarjetas gráficas y mineros (máquinas). El mercado spot de Poinbase tiene dos pares, PSC/CRC y SPARK/CRC, según la moneda elegida en el gráfico. Tanto las compras como las ventas se introducen como cantidad de la moneda negociada; la vista previa muestra la moneda de cotización pagada o recibida, el precio medio incluye la comisión y el deslizamiento no.¶La página de comercio de Web3 permite intercambiar cualquier par de monedas, siempre a través de CRC: si CRC está en un extremo se usa un fondo, si no, dos fondos, con dos comisiones y deslizamiento acumulado; la vista previa muestra la cantidad obtenida, los fondos recorridos y la pérdida. Los canjes entre stablecoins (CRT o CRA contra CRC) usan fondos estables: comisión de {StableFee:%} y casi sin deslizamiento cerca de la paridad; durante una pérdida de paridad la liquidez se reduce, y en un colapso se retira y el deslizamiento se dispara.§Billeteras de hardware: las monedas en cadena residen en billeteras de hardware PLEDGER, cada una con sus propios saldos y contaminación. Una billetera es un objeto: arrástrala a la terminal de comercio para cargarla. Ábrela en la página Billeteras de la terminal; conéctala y desconéctala arriba a la derecha de la terminal. El comercio de la página Web3, la tienda y el mezclador de la página Red gris usan la billetera conectada; sin billetera o sin conexión, son solo de lectura y todos los saldos marcan 0. Los clientes que pagan con monedas pagan a la billetera conectada.¶Los pagos (tienda, mezclador, mostrador de Ponero, tarifas de publicación) comienzan como una factura en la terminal; ingresa la dirección del destinatario en la billetera y mantén presionado ✓ para firmar. Los dos últimos caracteres de una dirección son una suma de verificación, por lo que un error tipográfico de un carácter suele detectarse; de vez en cuando resulta válido y las monedas van a una dirección que nadie usa. Los intercambios en DEX también requieren firmar en la billetera.¶Poinbase es una cuenta de custodia; los depósitos se envían desde la billetera a la dirección de depósito de Poinbase (solo PSC, CRC y SPARK; la plataforma regulada no acepta el CRT del mercado negro ni el CRA de la Revolución, y la billetera bloquea su envío a la dirección de depósito) y los retiros se inician en la página Fondos de Poinbase. El Explorador de la página Billeteras permite consultar transferencias por dirección y solo muestra transferencias realmente ocurridas: cada entrada y salida de tus billeteras (transferencias, canjes en DEX y otras llamadas a contratos, ingresos de mineros, retiros, monedas que otros te envían); Ponero es una moneda de privacidad y nunca aparece. El Dr. Jackson vende más billeteras de hardware; arrastra una a la terminal de comercio para agregarla, hasta {WalletMax}. La tienda tiene opciones más baratas. Una billetera que ya no desees puede destruirse en la página Billeteras; sus monedas se pierden para siempre, y todo lo que se envíe después a su dirección también.¶Las transferencias pagan una comisión de gas: lenta, normal o rápida, y los precios del gas suben y bajan en aproximadamente una semana; cuando la red se congestiona, las comisiones de gas suben y las transacciones lentas pueden ser descartadas del mempool. Verifica la dirección completa antes de enviar.§Staking: el CRA en staking en el fondo de la Revolución genera una tasa diaria que se capitaliza en el monto; retirar implica solicitarlo primero y esperar cuatro días, sin intereses durante la espera y sin forma de retirarlo antes. CRA está parcialmente colateralizado: cada CRA está respaldado por la reserva de CRC de la Revolución y por el token de balance SPARK; la cobertura de la reserva y la tasa de colateralización aparecen en la página de staking. Los intereses se pagan con CRA nuevo sin colateral, lo que diluye la cobertura de la reserva, más rápido cuanto más staking haya; si la cobertura es demasiado baja, la Revolución recorta la Line truncated
|
||||
courier.odd1,...Llegó el paquete.
|
||||
courier.odd2,(Mantiene la mano en el bolsillo). Firma aquí.
|
||||
courier.sign,Firmar
|
||||
@@ -997,6 +997,44 @@ otc.msg.cash,Efectivo insuficiente.
|
||||
otc.msg.sting,"El cliente era un agente encubierto: {0} en efectivo confiscado, receptación registrada."
|
||||
otc.msg.bought,"Recibiste {0} {1}, pagaste {2} en efectivo."
|
||||
otc.msg.sold,"Enviaste {0} {1}, recibiste {2} en efectivo."
|
||||
gray.sub.own,Mi mezclador
|
||||
ownmix.h,Mi mezclador
|
||||
ownmix.status.closed,Cerrado (rug pull)
|
||||
ownmix.status.seized,"Clausurado, cerrado hasta el día {0}"
|
||||
ownmix.status.open,Abierto
|
||||
ownmix.status.paused,Pausado
|
||||
ownmix.k.fee,Comisión
|
||||
ownmix.k.rating,Reputación (contaminación restante en pagos)
|
||||
ownmix.k.heat,Alerta
|
||||
ownmix.heat.0,Baja
|
||||
ownmix.heat.1,Media
|
||||
ownmix.heat.2,Alta
|
||||
ownmix.k.anon,Conjunto de anonimato
|
||||
ownmix.k.fees,Comisiones ganadas
|
||||
ownmix.col.capital,Capital
|
||||
ownmix.col.earned,Ganancias
|
||||
ownmix.col.pending,Monedas de clientes
|
||||
ownmix.open,Abrir
|
||||
ownmix.pause,Pausar
|
||||
ownmix.inject,Inyectar
|
||||
ownmix.withdraw,Retiro
|
||||
ownmix.free,Retirable: {0} {1}
|
||||
ownmix.err,Supera la cantidad retirable.
|
||||
ownmix.injected,Se inyectaron {0} {1}.
|
||||
ownmix.withdrawn,Se retiraron {0} {1}.
|
||||
ownmix.withdraw.sum,Retirar {0} {1} de mi mezclador
|
||||
pay.ownmix,Inyección a mi mezclador: {0} {1}
|
||||
ownmix.rug,Hacer rug pull ({0})
|
||||
ownmix.rug.confirm,Haz clic de nuevo para llevarte {0}
|
||||
ownmix.rug.sum,Llevarse todos los fondos de mi mezclador
|
||||
ownmix.rugged,Te llevaste {0}; el mezclador quedó cerrado.
|
||||
nightlog.ownmix.in,"Mi mezclador: depósitos: {0}, total: {1}, comisiones: {2}."
|
||||
nightlog.ownmix.sting,Un depósito en mi mezclador provino de un agente encubierto; se registró receptación.
|
||||
nightlog.ownmix.seized,"Seguridad clausuró mi mezclador: se confiscó el fondo de {0}, se registró receptación."
|
||||
news.ownmix.seized.title,Seguridad clausura un servicio de mezclado
|
||||
news.ownmix.seized.desc,Seguridad clausuró un servicio de mezclado que operaba en el Nivel inferior y confiscó todos sus fondos. No se ha identificado al operador.
|
||||
news.ownmix.rug.title,Un servicio de mezclado desaparece con los fondos
|
||||
news.ownmix.rug.desc,Un servicio de mezclado en el Nivel inferior cerró de la noche a la mañana y todos los fondos de los usuarios en tránsito han desaparecido.
|
||||
pay.otc,Cliente OTC {0} {1} (efectivo {2})
|
||||
otc.upgrade.title,Mostrador OTC
|
||||
otc.upgrade.desc,Añade un objetivo a la Lámpara negra: Clientes OTC. Algunos vienen a vender monedas de origen desconocido y otros a comprar; todos los tratos se liquidan en efectivo. Incluye una Lámpara negra.
|
||||
|
||||
@@ -248,7 +248,7 @@ black.kind.Contraband.3,Contrebande (élevée)
|
||||
black.kind.Tech,High-tech (majoration)
|
||||
nightlog.bm.ready,Marché noir : {0} est arrivé ; un livreur passera dès l'ouverture.
|
||||
guide.web3.title,Manuel Web3
|
||||
guide.web3.text,"Banque et trading : la page Banque est en lecture seule et affiche les espèces, le loyer et les CRC du compte Poinbase. La page Fonds de Poinbase gère dépôts et retraits ; on choisit d'abord la pièce : le CRC passe par le compte bancaire ou le portefeuille, les autres pièces uniquement par le portefeuille. Le dépôt depuis la banque convertit les crédits en CRC sur votre compte Poinbase ; le retrait vers la banque reconvertit les CRC en crédits et passe par un contrôle de conformité, qui évalue la contamination du compte Poinbase. Un retrait vers un portefeuille demande l'adresse du destinataire et plusieurs confirmations avant d'arriver ; les frais de gas sont fixés au niveau normal et prélevés sur la pièce envoyée. Un format d'adresse ou un chiffre de contrôle incorrect est refusé ; une adresse au format valide mais que personne n'utilise fait perdre les pièces envoyées.¶Trading : PSC signifie Probably Stolen Coin, la pièce minée par les cartes graphiques et les mineurs (machines). Le spot de Poinbase propose deux paires, PSC/CRC et SPARK/CRC, selon la pièce choisie sur le graphique. Les achats comme les ventes se saisissent en quantité de la monnaie échangée ; l'aperçu indique la monnaie de cotation payée ou reçue, le prix moyen inclut les frais et le glissement non.¶La page de trading Web3 permet d'échanger deux pièces au choix, toujours via le CRC : si le CRC est d'un côté, un seul pool est utilisé, sinon deux pools, avec deux frais et un glissement cumulé ; l'aperçu indique le montant obtenu, le nombre de pools traversés et la perte. Les échanges entre stablecoins (CRT ou CRA contre CRC) passent par des pools stables : {StableFee:%} de frais et quasiment aucun glissement près de l'ancrage ; en cas de désancrage la liquidité s'amincit, et en cas d'effondrement elle est retirée et le glissement s'envole.§Portefeuilles matériels : les pièces sur la blockchain sont conservées dans des portefeuilles matériels PLEDGER, chacun avec ses propres soldes et sa contamination. Un portefeuille est un objet : glissez-le sur le terminal de trading pour le charger. Ouvrez-le sur la page Portefeuilles du terminal ; connectez et déconnectez-le en haut à droite du terminal. Le trading de la page Web3, la boutique et le mixeur de la page Réseau gris utilisent le portefeuille connecté ; sans portefeuille ou sans connexion, ils sont en lecture seule et tous les soldes affichent 0. Les clients qui paient en pièces paient sur le portefeuille connecté.¶Les paiements (boutique, mixeur, comptoir Ponero, frais de mise en vente) débutent par une facture sur le terminal ; saisissez l'adresse du destinataire sur le portefeuille et maintenez ✓ pour signer. Les deux derniers caractères d'une adresse sont une somme de contrôle, de sorte qu'une faute de frappe d'un caractère est généralement interceptée ; il arrive parfois qu'elle soit valide par hasard et les pièces partent alors vers une adresse inutilisée. Les échanges sur le DEX nécessitent également une signature sur le portefeuille.¶Poinbase est un compte dépositaire ; le dépôt s'effectue depuis le portefeuille vers l'adresse de dépôt de Poinbase (uniquement PSC, CRC et SPARK ; la plateforme réglementée n'accepte ni le CRT du Marché noir ni le CRA de la Révolution, et le portefeuille bloque leur envoi vers l'adresse de dépôt), le retrait se lance depuis la page Fonds de Poinbase. L'Explorateur de la page Portefeuilles permet de consulter les transferts par adresse, en n'affichant que les transferts réellement effectués : chaque entrée et sortie de vos portefeuilles (transferts, échanges DEX et autres appels de contrat, gains des mineurs, retraits, pièces que d'autres vous envoient) ; Ponero est une monnaie de confidentialité et n'apparaît jamais. D'autres portefeuilles matériels sont vendus par le Pr Jackson ; glissez-en un sur le terminal de trading pour l'ajouter, jusqu'à {WalletMax} au total. La boutique en propose des moins chers. Un portefeuille devenu inutile peut être détruit sur la page Portefeuilles ; ses pièces sont perdues définitivement, et tout ce qui est envoyé ensuite à son adresse l'est aussi.¶Les transferts sont soumis à des frais de gas : lent, normal ou rapide, et le prix du gas monte et descend sur environ une semaine ; lorsque le réseau est saturé, les frais de gas augmentent et les transactions lentes peuvent être évincées de la mempool. Vérifiez l'adresse complète avant d'envoyer.§Staking : le CRA staké dans le pool de la Révolution rapporte un taux quotidien capitalisé dans le montant staké ; retirer nécessite d'en faire la demande préalable et d'attendre quatre jours, sans intérêt durant cette période ni moyen de récupérer les fonds plus tôt. Le CRA est partiellement collatéralisé : chaque CRA est soutenu par la réserve de CRC détenue par la Révolution et par le jeton d'équilibre SPARK ; le taux de couverture de laLine truncated
|
||||
guide.web3.text,"Banque et trading : la page Banque est en lecture seule et affiche les espèces, le loyer et les CRC du compte Poinbase. La page Fonds de Poinbase gère dépôts et retraits ; on choisit d'abord la pièce : le CRC passe par le compte bancaire ou le portefeuille, les autres pièces uniquement par le portefeuille. Le dépôt depuis la banque convertit les crédits en CRC sur votre compte Poinbase ; le retrait vers la banque reconvertit les CRC en crédits et passe par un contrôle de conformité, qui évalue la contamination du compte Poinbase. Un retrait vers un portefeuille demande l'adresse du destinataire et plusieurs confirmations avant d'arriver ; les frais de gas sont fixés au niveau normal et prélevés sur la pièce envoyée. Un format d'adresse ou un chiffre de contrôle incorrect est refusé ; une adresse au format valide mais que personne n'utilise fait perdre les pièces envoyées.¶Trading : PSC signifie Probably Stolen Coin, la pièce minée par les cartes graphiques et les mineurs (machines). Le spot de Poinbase propose deux paires, PSC/CRC et SPARK/CRC, selon la pièce choisie sur le graphique. Les achats comme les ventes se saisissent en quantité de la monnaie échangée ; l'aperçu indique la monnaie de cotation payée ou reçue, le prix moyen inclut les frais et le glissement non.¶La page de trading Web3 permet d'échanger deux pièces au choix, toujours via le CRC : si le CRC est d'un côté, un seul pool est utilisé, sinon deux pools, avec deux frais et un glissement cumulé ; l'aperçu indique le montant obtenu, le nombre de pools traversés et la perte. Les échanges entre stablecoins (CRT ou CRA contre CRC) passent par des pools stables : {StableFee:%} de frais et quasiment aucun glissement près de l'ancrage ; en cas de désancrage la liquidité s'amincit, et en cas d'effondrement elle est retirée et le glissement s'envole.§Portefeuilles matériels : les pièces sur la blockchain sont conservées dans des portefeuilles matériels PLEDGER, chacun avec ses propres soldes et sa contamination. Un portefeuille est un objet : glissez-le sur le terminal de trading pour le charger. Ouvrez-le sur la page Portefeuilles du terminal ; connectez et déconnectez-le en haut à droite du terminal. Le trading de la page Web3, la boutique et le mixeur de la page Réseau gris utilisent le portefeuille connecté ; sans portefeuille ou sans connexion, ils sont en lecture seule et tous les soldes affichent 0. Les clients qui paient en pièces paient sur le portefeuille connecté.¶Les paiements (boutique, mixeur, comptoir Ponero, frais de mise en vente) débutent par une facture sur le terminal ; saisissez l'adresse du destinataire sur le portefeuille et maintenez ✓ pour signer. Les deux derniers caractères d'une adresse sont une somme de contrôle, de sorte qu'une faute de frappe d'un caractère est généralement interceptée ; il arrive parfois qu'elle soit valide par hasard et les pièces partent alors vers une adresse inutilisée. Les échanges sur le DEX nécessitent également une signature sur le portefeuille.¶Poinbase est un compte dépositaire ; le dépôt s'effectue depuis le portefeuille vers l'adresse de dépôt de Poinbase (uniquement PSC, CRC et SPARK ; la plateforme réglementée n'accepte ni le CRT du Marché noir ni le CRA de la Révolution, et le portefeuille bloque leur envoi vers l'adresse de dépôt), le retrait se lance depuis la page Fonds de Poinbase. L'Explorateur de la page Portefeuilles permet de consulter les transferts par adresse, en n'affichant que les transferts réellement effectués : chaque entrée et sortie de vos portefeuilles (transferts, échanges DEX et autres appels de contrat, gains des mineurs, retraits, pièces que d'autres vous envoient) ; Ponero est une monnaie de confidentialité et n'apparaît jamais. D'autres portefeuilles matériels sont vendus par le Pr Jackson ; glissez-en un sur le terminal de trading pour l'ajouter, jusqu'à {WalletMax} au total. La boutique en propose des moins chers. Un portefeuille devenu inutile peut être détruit sur la page Portefeuilles ; ses pièces sont perdues définitivement, et tout ce qui est envoyé ensuite à son adresse l'est aussi.¶Les transferts sont soumis à des frais de gas : lent, normal ou rapide, et le prix du gas monte et descend sur environ une semaine ; lorsque le réseau est saturé, les frais de gas augmentent et les transactions lentes peuvent être évincées de la mempool. Vérifiez l'adresse complète avant d'envoyer.§Staking : le CRA staké dans le pool de la Révolution rapporte un taux quotidien capitalisé dans le montant staké ; retirer nécessite d'en faire la demande préalable et d'attendre quatre jours, sans intérêt durant cette période ni moyen de récupérer les fonds plus tôt. Le CRA est partiellement collatéralisé : chaque CRA est soutenu par la réserve de CRC détenue par la Révolution et par le jeton d'équilibre SPARK ; le taux de couverture de laLine truncated
|
||||
courier.odd1,...Le colis est là.
|
||||
courier.odd2,(Sa main reste dans sa poche.) Signez ici.
|
||||
courier.sign,Signer
|
||||
@@ -997,6 +997,44 @@ otc.msg.cash,Espèces insuffisantes.
|
||||
otc.msg.sting,"Le client était sous couverture : {0} en espèces confisqués, recel consigné."
|
||||
otc.msg.bought,"Reçu {0} {1}, payé {2} en espèces."
|
||||
otc.msg.sold,"Envoyé {0} {1}, reçu {2} en espèces."
|
||||
gray.sub.own,Mon mixeur
|
||||
ownmix.h,Mon mixeur
|
||||
ownmix.status.closed,Fermé (rug pull)
|
||||
ownmix.status.seized,"Saisi, fermé jusqu'au jour {0}"
|
||||
ownmix.status.open,Ouvert
|
||||
ownmix.status.paused,En pause
|
||||
ownmix.k.fee,Frais
|
||||
ownmix.k.rating,Réputation (contamination restante)
|
||||
ownmix.k.heat,Alerte
|
||||
ownmix.heat.0,Faible
|
||||
ownmix.heat.1,Moyenne
|
||||
ownmix.heat.2,Élevée
|
||||
ownmix.k.anon,Ensemble d'anonymat
|
||||
ownmix.k.fees,Frais perçus
|
||||
ownmix.col.capital,Capital
|
||||
ownmix.col.earned,Gains
|
||||
ownmix.col.pending,Pièces clients
|
||||
ownmix.open,Ouvrir
|
||||
ownmix.pause,Suspendre
|
||||
ownmix.inject,Injecter
|
||||
ownmix.withdraw,Retrait
|
||||
ownmix.free,Retrait possible : {0} {1}
|
||||
ownmix.err,Dépasse le montant disponible au retrait.
|
||||
ownmix.injected,Injection de {0} {1}.
|
||||
ownmix.withdrawn,Retrait de {0} {1}.
|
||||
ownmix.withdraw.sum,Retirer {0} {1} de mon mixeur
|
||||
pay.ownmix,Financement de mon mixeur : {0} {1}
|
||||
ownmix.rug,Rug pull ({0})
|
||||
ownmix.rug.confirm,Cliquer à nouveau pour emporter {0}
|
||||
ownmix.rug.sum,Emporter tous les fonds de mon mixeur
|
||||
ownmix.rugged,{0} emportés ; le mixeur est fermé.
|
||||
nightlog.ownmix.in,"Mon mixeur : dépôts : {0}, total : {1}, frais : {2}."
|
||||
nightlog.ownmix.sting,Un dépôt dans mon mixeur provenait d'un agent infiltré de la Sécurité ; recel consigné.
|
||||
nightlog.ownmix.seized,"La Sécurité a saisi mon mixeur : le pool de {0} a été confisqué, recel consigné."
|
||||
news.ownmix.seized.title,La Sécurité ferme un service de mixage
|
||||
news.ownmix.seized.desc,La Sécurité a fermé un service de mixage opérant au Niveau inférieur et a confisqué tous ses fonds. L'opérateur n'a pas été identifié.
|
||||
news.ownmix.rug.title,Un service de mixage disparaît avec les fonds
|
||||
news.ownmix.rug.desc,"Un service de mixage du Niveau inférieur a fermé du jour au lendemain, et tous les fonds des utilisateurs en transit ont disparu."
|
||||
pay.otc,Client OTC {0} {1} (liquide {2})
|
||||
otc.upgrade.title,Comptoir OTC
|
||||
otc.upgrade.desc,"Ajoute une cible à la Lampe noire : Clients OTC. Certains viennent vendre des jetons d'origine inconnue, d'autres viennent en acheter ; toutes les transactions se règlent en liquide. Inclut une Lampe noire."
|
||||
|
||||
@@ -248,7 +248,7 @@ black.kind.Contraband.3,禁制品(高)
|
||||
black.kind.Tech,ハイテク品(割増)
|
||||
nightlog.bm.ready,闇市場:{0} が到着。開店後に配達人が届けてくれる。
|
||||
guide.web3.title,Web3ハンドブック
|
||||
guide.web3.text,銀行と取引:銀行ページは閲覧専用で、現金、家賃、Poinbase口座のCRCを表示する。入金と出金はPoinbaseの資金ページで行い、先にコインを選ぶ。CRCは銀行口座とウォレットのどちらでも可能で、他のコインはウォレットのみ。銀行からの入金はクレジットをPoinbase口座のCRCに変換し、銀行への出金はCRCをクレジットに戻すが、Poinbase口座の汚染を対象としたコンプライアンス審査が行われる。ウォレットへの出金は受取アドレスの入力が必要で、数回の承認を経て着金する。ガス代は通常の段階で固定され、送るコインから差し引かれる。アドレスの形式やチェックディジットが誤っていると拒否される。形式が正しくても誰も使っていないアドレスに送ったコインは失われる。¶取引:PSCは Probably Stolen Coin の略称で、グラフィックボードや専用採掘機で採掘されるコイン。Poinbaseの現物にはPSC/CRCとSPARK/CRCの2つのペアがあり、チャートで選んだコインに合わせて切り替わる。買いも売りも取引対象のコインの数量で入力する。プレビューには支払う・受け取る決済通貨が表示され、平均価格は手数料込み、スリッページは手数料を含まない。¶Web3の取引ページでは任意の2種類のコインを交換でき、必ずCRCを経由する。CRCが片側なら1つのプール、そうでなければ2つのプールを通り、手数料は2回、スリッページは重なる。プレビューに受取数量、経由するプール数、損失が表示される。ステーブルコイン同士(CRT・CRAとCRC)はステーブルプールを使い、手数料は{StableFee:%}、ペッグ付近ではスリッページがほぼない。ペッグが外れると流動性が薄くなり、崩壊時には流動性が引き揚げられてスリッページが急増する。§ハードウェアウォレット:チェーン上のコインはPLEDGERハードウェアウォレットに保管され、ウォレットごとに残高と汚染が個別に管理される。ウォレットはアイテムで、取引ターミナルにドラッグして読み込む。ターミナルのウォレットページで開き、ターミナル右上で接続・切断する。Web3ページの取引とグレーネットページのショップ、ミキサーは接続されたウォレットを使用する。ウォレットがない、または接続していないときは閲覧のみで、残高はすべて0になる。コイン決済の客は接続されたウォレットに支払う。¶支払い(ショップ、ミキサー、Ponero窓口、出品手数料)はまずターミナルで請求書を発行し、ウォレット側で送金先アドレスを入力して✓を長押しして署名する。アドレスの末尾2文字はチェックサムのため、1文字の誤入力なら通常は検出されるが、偶然有効なアドレスに一致した場合は誰も使っていないアドレスにコインが送られてしまう。DEXでのスワップもウォレットでの署名が必要となる。¶Poinbaseはカストディ口座で、入金はウォレットからPoinbaseの入金アドレスへ送金し(受け付けるのはPSC、CRC、SPARKのみ。規制下の取引所なので闇市場のCRTと革命軍のCRAは受け付けず、入金アドレスへの送金はウォレットが止める)、出金はPoinbaseの資金ページで行う。ウォレットページのエクスプローラーではアドレスで送金履歴を検索でき、実際に行われた送金のみが表示される:自分のウォレットのすべての入出金(送金、DEXスワップなどのコントラクト呼び出し、採掘機の収益、出金、他人から送られたコイン)。Poneroはプライバシーコインのため表示されない。追加のハードウェアウォレットはジャックソン博士から購入し、取引ターミナルにドラッグして追加する(最大{WalletMax}個)。ショップにはより安価なものもある。不要になったウォレットは、ウォレットページで破棄できる。中のコインは永久に失われ、その後このアドレスに送られたものも失われる。¶送金にはガス代が必要で、低速・通常・高速の3段階があり、ガス価格は約1週間周期で上下する。ネットワーク混雑時はガス代が高騰し、低速のトランザクションはメムプールから除外されることがある。送金前にアドレス全体を必ず確認すること。§ステーキング:革命家のプールにCRAをステーキングすると日利が付与され、利息は元本に複利で組み入れられる。出金するにはまず申請しLine truncated
|
||||
guide.web3.text,銀行と取引:銀行ページは閲覧専用で、現金、家賃、Poinbase口座のCRCを表示する。入金と出金はPoinbaseの資金ページで行い、先にコインを選ぶ。CRCは銀行口座とウォレットのどちらでも可能で、他のコインはウォレットのみ。銀行からの入金はクレジットをPoinbase口座のCRCに変換し、銀行への出金はCRCをクレジットに戻すが、Poinbase口座の汚染を対象としたコンプライアンス審査が行われる。ウォレットへの出金は受取アドレスの入力が必要で、数回の承認を経て着金する。ガス代は通常の段階で固定され、送るコインから差し引かれる。アドレスの形式やチェックディジットが誤っていると拒否される。形式が正しくても誰も使っていないアドレスに送ったコインは失われる。¶取引:PSCは Probably Stolen Coin の略称で、グラフィックボードや専用採掘機で採掘されるコイン。Poinbaseの現物にはPSC/CRCとSPARK/CRCの2つのペアがあり、チャートで選んだコインに合わせて切り替わる。買いも売りも取引対象のコインの数量で入力する。プレビューには支払う・受け取る決済通貨が表示され、平均価格は手数料込み、スリッページは手数料を含まない。¶Web3の取引ページでは任意の2種類のコインを交換でき、必ずCRCを経由する。CRCが片側なら1つのプール、そうでなければ2つのプールを通り、手数料は2回、スリッページは重なる。プレビューに受取数量、経由するプール数、損失が表示される。ステーブルコイン同士(CRT・CRAとCRC)はステーブルプールを使い、手数料は{StableFee:%}、ペッグ付近ではスリッページがほぼない。ペッグが外れると流動性が薄くなり、崩壊時には流動性が引き揚げられてスリッページが急増する。§ハードウェアウォレット:チェーン上のコインはPLEDGERハードウェアウォレットに保管され、ウォレットごとに残高と汚染が個別に管理される。ウォレットはアイテムで、取引ターミナルにドラッグして読み込む。ターミナルのウォレットページで開き、ターミナル右上で接続・切断する。Web3ページの取引とグレーネットページのショップ、ミキサーは接続されたウォレットを使用する。ウォレットがない、または接続していないときは閲覧のみで、残高はすべて0になる。コイン決済の客は接続されたウォレットに支払う。¶支払い(ショップ、ミキサー、Ponero窓口、出品手数料)はまずターミナルで請求書を発行し、ウォレット側で送金先アドレスを入力して✓を長押しして署名する。アドレスの末尾2文字はチェックサムのため、1文字の誤入力なら通常は検出されるが、偶然有効なアドレスに一致した場合は誰も使っていないアドレスにコインが送られてしまう。DEXでのスワップもウォレットでの署名が必要となる。¶Poinbaseはカストディ口座で、入金はウォレットからPoinbaseの入金アドレスへ送金し(受け付けるのはPSC、CRC、SPARKのみ。規制下の取引所なので闇市場のCRTと革命軍のCRAは受け付けず、入金アドレスへの送金はウォレットが止める)、出金はPoinbaseの資金ページで行う。ウォレットページのエクスプローラーではアドレスで送金履歴を検索でき、実際に行われた送金のみが表示される:自分のウォレットのすべての入出金(送金、DEXスワップなどのコントラクト呼び出し、採掘機の収益、出金、他人から送られたコイン)。Poneroはプライバシーコインのため表示されない。追加のハードウェアウォレットはジャックソン博士から購入し、取引ターミナルにドラッグして追加する(最大{WalletMax}個)。ショップにはより安価なものもある。不要になったウォレットは、ウォレットページで破棄できる。中のコインは永久に失われ、その後このアドレスに送られたものも失われる。¶送金にはガス代が必要で、低速・通常・高速の3段階があり、ガス価格は約1週間周期で上下する。ネットワーク混雑時はガス代が高騰し、低速のトランザクションはメムプールから除外されることがある。送金前にアドレス全体を必ず確認すること。§ステーキング:革命家のプールにCRAをステーキングすると日利が付与され、利息は元本に複利で組み入れられる。出金するにはまず申請しLine truncated
|
||||
courier.odd1,……荷物が届いた。
|
||||
courier.odd2,(ポケットに手を入れたままだ)ここにサインを。
|
||||
courier.sign,サイン
|
||||
@@ -997,6 +997,44 @@ otc.msg.cash,現金が足りない。
|
||||
otc.msg.sting,相手は潜入捜査官だった:現金{0}が没収され、盗品売買が記録された。
|
||||
otc.msg.bought,{0} {1}を受け取り、現金{2}を支払った。
|
||||
otc.msg.sold,{0} {1}を送金し、現金{2}を受け取った。
|
||||
gray.sub.own,自営ミキサー
|
||||
ownmix.h,自営ミキサー
|
||||
ownmix.status.closed,閉鎖(ラグプル)
|
||||
ownmix.status.seized,差し押さえ、第{0}日まで閉鎖
|
||||
ownmix.status.open,営業中
|
||||
ownmix.status.paused,一時停止中
|
||||
ownmix.k.fee,手数料率
|
||||
ownmix.k.rating,評判(出金に残る汚染)
|
||||
ownmix.k.heat,警戒度
|
||||
ownmix.heat.0,低
|
||||
ownmix.heat.1,中
|
||||
ownmix.heat.2,高
|
||||
ownmix.k.anon,匿名セット
|
||||
ownmix.k.fees,累計手数料
|
||||
ownmix.col.capital,元本
|
||||
ownmix.col.earned,収益
|
||||
ownmix.col.pending,顧客コイン
|
||||
ownmix.open,営業開始
|
||||
ownmix.pause,一時停止
|
||||
ownmix.inject,資金投入
|
||||
ownmix.withdraw,出金
|
||||
ownmix.free,出金可能:{0} {1}
|
||||
ownmix.err,出金可能な数量を超えています。
|
||||
ownmix.injected,{0} {1}を投入した。
|
||||
ownmix.withdrawn,{0} {1}を出金した。
|
||||
ownmix.withdraw.sum,自営ミキサーから{0} {1}を出金
|
||||
pay.ownmix,自営ミキサーへの資金投入 {0} {1}
|
||||
ownmix.rug,ラグプル({0})
|
||||
ownmix.rug.confirm,再度クリックして{0}を持ち逃げ
|
||||
ownmix.rug.sum,自営ミキサーの全資金を持ち逃げ
|
||||
ownmix.rugged,{0}を持ち逃げした。ミキサーは閉鎖された。
|
||||
nightlog.ownmix.in,自営ミキサー:入金{0}件、合計{1}、手数料{2}。
|
||||
nightlog.ownmix.sting,自営ミキサーへの入金の1件が警察の潜入捜査官によるものだった。故買の罪証が記録された。
|
||||
nightlog.ownmix.seized,警察が自営ミキサーを摘発:プール内の{0}が全額没収され、故買の罪証が記録された。
|
||||
news.ownmix.seized.title,警察がミキサーサービスを摘発
|
||||
news.ownmix.seized.desc,警察は下層で運営されていたミキサーサービスを摘発し、全資金を押収した。運営者の身元は特定されていない。
|
||||
news.ownmix.rug.title,ミキサーサービスが資金を持ち逃げ
|
||||
news.ownmix.rug.desc,下層のミキサーサービスが一夜にして閉鎖され、送金途中の全ユーザー資金が消失した。
|
||||
pay.otc,OTC客 {0} {1}(現金 {2})
|
||||
otc.upgrade.title,OTCデスク
|
||||
otc.upgrade.desc,黒いランプの対象に「OTC客」が追加される。出所不明のコインを売りに来る者や、コインを買いに来る者が訪れ、すべての取引は現金で決済される。黒いランプが1個付属。
|
||||
|
||||
@@ -248,7 +248,7 @@ black.kind.Contraband.3,Kontrabanda (wysoki poziom)
|
||||
black.kind.Tech,Zaawansowana technologia (marża)
|
||||
nightlog.bm.ready,Czarny Rynek: {0} na miejscu; kurier pojawi się po otwarciu lokalu.
|
||||
guide.web3.title,Podręcznik Web3
|
||||
guide.web3.text,"Bank i handel: strona banku jest tylko do odczytu i pokazuje gotówkę, czynsz oraz CRC na koncie Poinbase. Strona Środki w Poinbase obsługuje wpłaty i wypłaty; najpierw wybiera się monetę: CRC może iść przez konto bankowe lub portfel, pozostałe monety tylko przez portfel. Wpłata z banku zamienia kredyty na CRC na koncie Poinbase; wypłata do banku zamienia CRC z powrotem na kredyty i podlega kontroli zgodności, sprawdzającej skażenie konta Poinbase. Wypłata do portfela wymaga podania adresu odbiorcy i kilku potwierdzeń do zaksięgowania; opłata gas jest stała, na poziomie normalnym, i pobierana z wysyłanej monety. Błędny format adresu lub cyfra kontrolna powoduje odrzucenie; adres o poprawnym formacie, którego nikt nie używa, oznacza utratę wysłanych monet.¶Handel: PSC to skrót od Probably Stolen Coin, monety wydobywanej przez karty graficzne i koparki. Rynek spot Poinbase ma dwie pary, PSC/CRC i SPARK/CRC, zależnie od monety wybranej na wykresie. Zarówno zakup, jak i sprzedaż wpisuje się jako ilość monety bazowej; podgląd pokazuje zapłaconą lub otrzymaną monetę kwotowaną, średnia cena zawiera prowizję, a poślizg nie.¶Strona handlu Web3 pozwala wymienić dowolne dwie monety, zawsze przez CRC: gdy CRC jest po jednej stronie, używana jest jedna pula, w przeciwnym razie dwie, z dwiema opłatami i sumującym się poślizgiem; podgląd pokazuje otrzymaną ilość, liczbę pul i stratę. Wymiany między stablecoinami (CRT lub CRA na CRC) idą przez pule stabilne: prowizja {StableFee:%} i prawie zerowy poślizg blisko powiązania; przy utracie powiązania płynność maleje, a przy krachu zostaje wycofana i poślizg gwałtownie rośnie.§Portfele sprzętowe: monety w łańcuchu znajdują się w portfelach sprzętowych PLEDGER, a każdy z nich ma własne saldo i poziom skażenia. Portfel jest przedmiotem: przeciągnij go na terminal handlowy, aby go załadować. Otwórz go na stronie Portfele w terminalu; połącz i odłącz w prawym górnym rogu terminala. Handel na stronie Web3 oraz sklep i mikser na stronie Szara sieć korzystają z połączonego portfela; bez portfela lub bez połączenia są tylko do odczytu, a wszystkie salda wynoszą 0. Klienci płacący monetami płacą na połączony portfel.¶Płatności (sklep, mikser, kantor Ponero, opłaty za wystawienie) zaczynają się od rachunku w terminalu; wpisz adres odbiorcy w portfelu i przytrzymaj ✓, aby podpisać. Dwa ostatnie znaki adresu to suma kontrolna, więc pomyłka o jeden znak jest zwykle wychwytywana; sporadycznie zdarza się, że okazuje się poprawny i monety trafiają pod adres, z którego nikt nie korzysta. Wymiany na DEX również wymagają podpisu na portfelu.¶Poinbase to konto powiernicze; wpłaty wysyła się z portfela na adres wpłat Poinbase (tylko PSC, CRC i SPARK; regulowana giełda nie przyjmuje CRT Czarnego Rynku ani CRA Rewolucji, a portfel blokuje wysłanie ich na adres wpłat), a wypłaty zleca się na stronie Środki w Poinbase. Eksplorator na stronie Portfele pozwala sprawdzać przelewy według adresu i pokazuje wyłącznie przelewy, które faktycznie miały miejsce: każdy ruch do i z twoich portfeli (przelewy, wymiany na DEX i inne wywołania kontraktów, zyski koparek, wypłaty, monety wysyłane ci przez innych); Ponero to moneta prywatności i nigdy się nie pojawia. Więcej portfeli sprzętowych sprzedaje Dr Jackson; przeciągnij portfel na terminal handlowy, aby go dodać – maksymalnie do {WalletMax}. W sklepie dostępne są tańsze. Niepotrzebny portfel można zniszczyć na stronie Portfele; jego monety przepadają na zawsze, podobnie jak wszystko, co zostanie później wysłane na jego adres.¶Przelewy wymagają opłaty gas: wolnej, normalnej lub szybkiej, a ceny gasu rosną i spadają w cyklu około tygodnia; gdy sieć jest przeciążona, opłaty gas rosną, a powolne transakcje mogą zostać usunięte z mempoola. Przed wysłaniem sprawdź pełny adres.§Staking: CRA ulokowane w puli Rewolucji przynosi dzienny zysk według stawki dziennej, doliczany do wkładu; wypłata wymaga wcześniejszego złożenia wniosku i odczekania czterech dni, bez naliczania odsetek w okresie oczekiwania i bez możliwości wcześniejszego odbioru. CRA jest częściowo zabezpieczone: każde CRA wspierają rezerwa CRC należąca do Rewolucji oraz token równoważący SPARK; pokrycie rezerwy i stopa zabezpieczenia widnieją na stronie stakingu. Odsetki wypłacane są w nowych, niezabezpieczonych CRA, co rozwadnia pokrycie rezerwy, tym szybciej, im więcej w stakingu; przy zbyt niskim pokryciu Rewolucja obniża stawkę. Rewolucja czasem sięga po rezerwę, a wcześniej krążą pogłoski: to zapowiedź. Jeśli potem pokrycie spadnie poniżej {CraCrashRatio:%}, następuje krach: CRA staje się bezwartościowe w ciągu trzech dni, a cztery dni na odblokowanie to za wolno; powyżej tego progu jest tylko dyskonto, a środki z grabieży Górnego poziomu stopniowo odbudowują rezerwę.Line truncated
|
||||
guide.web3.text,"Bank i handel: strona banku jest tylko do odczytu i pokazuje gotówkę, czynsz oraz CRC na koncie Poinbase. Strona Środki w Poinbase obsługuje wpłaty i wypłaty; najpierw wybiera się monetę: CRC może iść przez konto bankowe lub portfel, pozostałe monety tylko przez portfel. Wpłata z banku zamienia kredyty na CRC na koncie Poinbase; wypłata do banku zamienia CRC z powrotem na kredyty i podlega kontroli zgodności, sprawdzającej skażenie konta Poinbase. Wypłata do portfela wymaga podania adresu odbiorcy i kilku potwierdzeń do zaksięgowania; opłata gas jest stała, na poziomie normalnym, i pobierana z wysyłanej monety. Błędny format adresu lub cyfra kontrolna powoduje odrzucenie; adres o poprawnym formacie, którego nikt nie używa, oznacza utratę wysłanych monet.¶Handel: PSC to skrót od Probably Stolen Coin, monety wydobywanej przez karty graficzne i koparki. Rynek spot Poinbase ma dwie pary, PSC/CRC i SPARK/CRC, zależnie od monety wybranej na wykresie. Zarówno zakup, jak i sprzedaż wpisuje się jako ilość monety bazowej; podgląd pokazuje zapłaconą lub otrzymaną monetę kwotowaną, średnia cena zawiera prowizję, a poślizg nie.¶Strona handlu Web3 pozwala wymienić dowolne dwie monety, zawsze przez CRC: gdy CRC jest po jednej stronie, używana jest jedna pula, w przeciwnym razie dwie, z dwiema opłatami i sumującym się poślizgiem; podgląd pokazuje otrzymaną ilość, liczbę pul i stratę. Wymiany między stablecoinami (CRT lub CRA na CRC) idą przez pule stabilne: prowizja {StableFee:%} i prawie zerowy poślizg blisko powiązania; przy utracie powiązania płynność maleje, a przy krachu zostaje wycofana i poślizg gwałtownie rośnie.§Portfele sprzętowe: monety w łańcuchu znajdują się w portfelach sprzętowych PLEDGER, a każdy z nich ma własne saldo i poziom skażenia. Portfel jest przedmiotem: przeciągnij go na terminal handlowy, aby go załadować. Otwórz go na stronie Portfele w terminalu; połącz i odłącz w prawym górnym rogu terminala. Handel na stronie Web3 oraz sklep i mikser na stronie Szara sieć korzystają z połączonego portfela; bez portfela lub bez połączenia są tylko do odczytu, a wszystkie salda wynoszą 0. Klienci płacący monetami płacą na połączony portfel.¶Płatności (sklep, mikser, kantor Ponero, opłaty za wystawienie) zaczynają się od rachunku w terminalu; wpisz adres odbiorcy w portfelu i przytrzymaj ✓, aby podpisać. Dwa ostatnie znaki adresu to suma kontrolna, więc pomyłka o jeden znak jest zwykle wychwytywana; sporadycznie zdarza się, że okazuje się poprawny i monety trafiają pod adres, z którego nikt nie korzysta. Wymiany na DEX również wymagają podpisu na portfelu.¶Poinbase to konto powiernicze; wpłaty wysyła się z portfela na adres wpłat Poinbase (tylko PSC, CRC i SPARK; regulowana giełda nie przyjmuje CRT Czarnego Rynku ani CRA Rewolucji, a portfel blokuje wysłanie ich na adres wpłat), a wypłaty zleca się na stronie Środki w Poinbase. Eksplorator na stronie Portfele pozwala sprawdzać przelewy według adresu i pokazuje wyłącznie przelewy, które faktycznie miały miejsce: każdy ruch do i z twoich portfeli (przelewy, wymiany na DEX i inne wywołania kontraktów, zyski koparek, wypłaty, monety wysyłane ci przez innych); Ponero to moneta prywatności i nigdy się nie pojawia. Więcej portfeli sprzętowych sprzedaje Dr Jackson; przeciągnij portfel na terminal handlowy, aby go dodać – maksymalnie do {WalletMax}. W sklepie dostępne są tańsze. Niepotrzebny portfel można zniszczyć na stronie Portfele; jego monety przepadają na zawsze, podobnie jak wszystko, co zostanie później wysłane na jego adres.¶Przelewy wymagają opłaty gas: wolnej, normalnej lub szybkiej, a ceny gasu rosną i spadają w cyklu około tygodnia; gdy sieć jest przeciążona, opłaty gas rosną, a powolne transakcje mogą zostać usunięte z mempoola. Przed wysłaniem sprawdź pełny adres.§Staking: CRA ulokowane w puli Rewolucji przynosi dzienny zysk według stawki dziennej, doliczany do wkładu; wypłata wymaga wcześniejszego złożenia wniosku i odczekania czterech dni, bez naliczania odsetek w okresie oczekiwania i bez możliwości wcześniejszego odbioru. CRA jest częściowo zabezpieczone: każde CRA wspierają rezerwa CRC należąca do Rewolucji oraz token równoważący SPARK; pokrycie rezerwy i stopa zabezpieczenia widnieją na stronie stakingu. Odsetki wypłacane są w nowych, niezabezpieczonych CRA, co rozwadnia pokrycie rezerwy, tym szybciej, im więcej w stakingu; przy zbyt niskim pokryciu Rewolucja obniża stawkę. Rewolucja czasem sięga po rezerwę, a wcześniej krążą pogłoski: to zapowiedź. Jeśli potem pokrycie spadnie poniżej {CraCrashRatio:%}, następuje krach: CRA staje się bezwartościowe w ciągu trzech dni, a cztery dni na odblokowanie to za wolno; powyżej tego progu jest tylko dyskonto, a środki z grabieży Górnego poziomu stopniowo odbudowują rezerwę.Line truncated
|
||||
courier.odd1,...Paczka dotarła.
|
||||
courier.odd2,(Trzyma rękę w kieszeni.) Podpisz tutaj.
|
||||
courier.sign,Podpisz
|
||||
@@ -997,6 +997,44 @@ otc.msg.cash,Za mało gotówki.
|
||||
otc.msg.sting,"Klient był tajniakiem: skonfiskowano {0} w gotówce, odnotowano paserstwo."
|
||||
otc.msg.bought,"Otrzymano {0} {1}, zapłacono {2} w gotówce."
|
||||
otc.msg.sold,"Wysłano {0} {1}, otrzymano {2} w gotówce."
|
||||
gray.sub.own,Mój mikser
|
||||
ownmix.h,Mój mikser
|
||||
ownmix.status.closed,Zamknięty (rug pull)
|
||||
ownmix.status.seized,"Zajęty, zamknięty do dnia {0}"
|
||||
ownmix.status.open,Czynny
|
||||
ownmix.status.paused,Wstrzymany
|
||||
ownmix.k.fee,Prowizja
|
||||
ownmix.k.rating,Reputacja (skażenie wypłat)
|
||||
ownmix.k.heat,Rozgłos
|
||||
ownmix.heat.0,Niski
|
||||
ownmix.heat.1,Średni
|
||||
ownmix.heat.2,Wysoki
|
||||
ownmix.k.anon,Zbiór anonimowości
|
||||
ownmix.k.fees,Zarobione prowizje
|
||||
ownmix.col.capital,Kapitał
|
||||
ownmix.col.earned,Zyski
|
||||
ownmix.col.pending,Monety klientów
|
||||
ownmix.open,Otwórz
|
||||
ownmix.pause,Wstrzymaj
|
||||
ownmix.inject,Zasil
|
||||
ownmix.withdraw,Wypłata
|
||||
ownmix.free,Do wypłaty: {0} {1}
|
||||
ownmix.err,Przekracza kwotę dostępną do wypłaty.
|
||||
ownmix.injected,Zasilono {0} {1}.
|
||||
ownmix.withdrawn,Wypłacono {0} {1}.
|
||||
ownmix.withdraw.sum,Wypłata {0} {1} z mojego miksera
|
||||
pay.ownmix,Zasilenie mojego miksera {0} {1}
|
||||
ownmix.rug,Rug pull ({0})
|
||||
ownmix.rug.confirm,"Kliknij ponownie, aby zabrać {0}"
|
||||
ownmix.rug.sum,Zabierz wszystkie środki z mojego miksera
|
||||
ownmix.rugged,Zabrano {0}; mikser został zamknięty.
|
||||
nightlog.ownmix.in,"Mój mikser: wpłaty: {0}, łącznie {1}, prowizje: {2}."
|
||||
nightlog.ownmix.sting,Wpłata do mojego miksera pochodziła od tajnego funkcjonariusza Ochrony; odnotowano paserstwo.
|
||||
nightlog.ownmix.seized,"Ochrona zajęła mój mikser: pula {0} została skonfiskowana, odnotowano paserstwo."
|
||||
news.ownmix.seized.title,Ochrona zamyka serwis miksujący
|
||||
news.ownmix.seized.desc,Ochrona zamknęła serwis miksujący działający na Dolnym poziomie i skonfiskowała wszystkie jego środki. Tożsamość operatora nie została ustalona.
|
||||
news.ownmix.rug.title,Serwis miksujący znika ze środkami
|
||||
news.ownmix.rug.desc,"Serwis miksujący na Dolnym poziomie zamknął się z dnia na dzień, a wszystkie przetwarzane środki użytkowników zniknęły."
|
||||
pay.otc,Klient OTC {0} {1} (gotówka {2})
|
||||
otc.upgrade.title,Punkt OTC
|
||||
otc.upgrade.desc,"Dodaje cel Czarnej lampy: Klienci OTC. Jedni przychodzą sprzedać monety nieznanego pochodzenia, inni kupić monety; wszystkie transakcje są rozliczane w gotówce. Zawiera jedną Czarną lampę."
|
||||
|
||||
@@ -248,7 +248,7 @@ black.kind.Contraband.3,Контрабанда (высок.)
|
||||
black.kind.Tech,Высокие технологии (наценка)
|
||||
nightlog.bm.ready,Чёрный рынок: доставлен товар «{0}»; курьер заглянет после открытия.
|
||||
guide.web3.title,Руководство по Web3
|
||||
guide.web3.text,"Банк и торговля: страница банка только для чтения и показывает наличные, аренду и CRC на счёте Poinbase. Страница «Средства» в Poinbase отвечает за ввод и вывод; сначала выбирается монета: CRC можно вводить и выводить через банковский счёт или кошелёк, остальные монеты только через кошелёк. Депозит из банка конвертирует кредиты в CRC на счёте Poinbase; вывод в банк меняет CRC обратно на кредиты и проходит проверку соответствия, оценивающую загрязнение счёта Poinbase. Вывод на кошелёк требует адрес получателя и нескольких подтверждений до зачисления; комиссия за газ фиксирована на обычном уровне и списывается с отправляемой монеты. Неверный формат адреса или контрольная сумма приводят к отказу; адрес с верным форматом, которым никто не пользуется, означает потерю отправленных монет.¶Торговля: PSC означает Probably Stolen Coin — это монета, которую добывают видеокарты и асик-майнеры. На спотовом рынке Poinbase две пары, PSC/CRC и SPARK/CRC, по монете, выбранной на графике. И покупка, и продажа вводятся как количество торгуемой монеты; в предпросмотре видно, сколько котируемой монеты уйдёт или придёт, средняя цена включает комиссию, проскальзывание — нет.¶На торговой странице Web3 можно обменять любые две монеты, всегда через CRC: если CRC с одной стороны, используется один пул, иначе два пула, две комиссии и суммирующееся проскальзывание; предпросмотр показывает получаемое количество, число пулов и потери. Обмен стейблкоинов (CRT или CRA на CRC) идёт через стабильные пулы: комиссия {StableFee:%} и почти нулевое проскальзывание возле привязки; при отвязке ликвидность редеет, при обвале её выводят, и проскальзывание резко растёт.§Аппаратные кошельки: ончейн-монеты хранятся на аппаратных кошельках PLEDGER, баланс и загрязнение у каждого свои. Кошелёк — это предмет: перетащите его на торговый терминал, чтобы загрузить. Открывайте его на странице «Кошельки» терминала; подключайте и отключайте в правом верхнем углу терминала. Торговля на странице Web3, магазин и миксер на странице «Серая сеть» используют подключённый кошелёк; без кошелька или без подключения они доступны только для просмотра, а все балансы равны 0. Покупатели, платящие монетами, платят на подключённый кошелёк.¶Платежи (магазин, миксер, пункт обмена Ponero, комиссия за размещение) начинаются со счёта на терминале; введите адрес получателя на кошельке и удерживайте ✓, чтобы подписать. Последние два символа адреса — контрольная сумма, поэтому опечатка в один символ обычно отсекается; изредка адрес случайно оказывается валидным, и монеты уходят на адрес, которым никто не пользуется. Для обмена на DEX также требуется подпись на кошельке.¶Poinbase — кастодиальный аккаунт; депозит отправляется с кошелька на адрес депозита Poinbase (только PSC, CRC и SPARK; регулируемая биржа не принимает ни CRT чёрного рынLine truncated
|
||||
guide.web3.text,"Банк и торговля: страница банка только для чтения и показывает наличные, аренду и CRC на счёте Poinbase. Страница «Средства» в Poinbase отвечает за ввод и вывод; сначала выбирается монета: CRC можно вводить и выводить через банковский счёт или кошелёк, остальные монеты только через кошелёк. Депозит из банка конвертирует кредиты в CRC на счёте Poinbase; вывод в банк меняет CRC обратно на кредиты и проходит проверку соответствия, оценивающую загрязнение счёта Poinbase. Вывод на кошелёк требует адрес получателя и нескольких подтверждений до зачисления; комиссия за газ фиксирована на обычном уровне и списывается с отправляемой монеты. Неверный формат адреса или контрольная сумма приводят к отказу; адрес с верным форматом, которым никто не пользуется, означает потерю отправленных монет.¶Торговля: PSC означает Probably Stolen Coin — это монета, которую добывают видеокарты и асик-майнеры. На спотовом рынке Poinbase две пары, PSC/CRC и SPARK/CRC, по монете, выбранной на графике. И покупка, и продажа вводятся как количество торгуемой монеты; в предпросмотре видно, сколько котируемой монеты уйдёт или придёт, средняя цена включает комиссию, проскальзывание — нет.¶На торговой странице Web3 можно обменять любые две монеты, всегда через CRC: если CRC с одной стороны, используется один пул, иначе два пула, две комиссии и суммирующееся проскальзывание; предпросмотр показывает получаемое количество, число пулов и потери. Обмен стейблкоинов (CRT или CRA на CRC) идёт через стабильные пулы: комиссия {StableFee:%} и почти нулевое проскальзывание возле привязки; при отвязке ликвидность редеет, при обвале её выводят, и проскальзывание резко растёт.§Аппаратные кошельки: ончейн-монеты хранятся на аппаратных кошельках PLEDGER, баланс и загрязнение у каждого свои. Кошелёк — это предмет: перетащите его на торговый терминал, чтобы загрузить. Открывайте его на странице «Кошельки» терминала; подключайте и отключайте в правом верхнем углу терминала. Торговля на странице Web3, магазин и миксер на странице «Серая сеть» используют подключённый кошелёк; без кошелька или без подключения они доступны только для просмотра, а все балансы равны 0. Покупатели, платящие монетами, платят на подключённый кошелёк.¶Платежи (магазин, миксер, пункт обмена Ponero, комиссия за размещение) начинаются со счёта на терминале; введите адрес получателя на кошельке и удерживайте ✓, чтобы подписать. Последние два символа адреса — контрольная сумма, поэтому опечатка в один символ обычно отсекается; изредка адрес случайно оказывается валидным, и монеты уходят на адрес, которым никто не пользуется. Для обмена на DEX также требуется подпись на кошельке.¶Poinbase — кастодиальный аккаунт; депозит отправляется с кошелька на адрес депозита Poinbase (только PSC, CRC и SPARK; регулируемая биржа не принимает ни CRT чёрного рынLine truncated
|
||||
courier.odd1,...Посылка пришла.
|
||||
courier.odd2,(Его рука остаётся в кармане.) Подпиши здесь.
|
||||
courier.sign,Подписать
|
||||
@@ -997,6 +997,44 @@ otc.msg.cash,Недостаточно наличных.
|
||||
otc.msg.sting,"Клиент был под прикрытием: конфисковано {0} наличными, зафиксирован сбыт краденого."
|
||||
otc.msg.bought,"Получено {0} {1}, выплачено {2} наличными."
|
||||
otc.msg.sold,"Отправлено {0} {1}, получено {2} наличными."
|
||||
gray.sub.own,Мой миксер
|
||||
ownmix.h,Мой миксер
|
||||
ownmix.status.closed,Закрыт (рагпул)
|
||||
ownmix.status.seized,"Опечатан, закрыт до дня {0}"
|
||||
ownmix.status.open,Открыт
|
||||
ownmix.status.paused,Приостановлен
|
||||
ownmix.k.fee,Комиссия
|
||||
ownmix.k.rating,Репутация (остаток «грязи»)
|
||||
ownmix.k.heat,Шумиха
|
||||
ownmix.heat.0,Низкая
|
||||
ownmix.heat.1,Средняя
|
||||
ownmix.heat.2,Высокая
|
||||
ownmix.k.anon,Анонимный пул
|
||||
ownmix.k.fees,Всего комиссий
|
||||
ownmix.col.capital,Капитал
|
||||
ownmix.col.earned,Доход
|
||||
ownmix.col.pending,Монеты клиентов
|
||||
ownmix.open,Открыть
|
||||
ownmix.pause,Пауза
|
||||
ownmix.inject,Внести
|
||||
ownmix.withdraw,Вывод
|
||||
ownmix.free,Доступно для вывода: {0} {1}
|
||||
ownmix.err,Превышает доступную для вывода сумму.
|
||||
ownmix.injected,Внесено {0} {1}.
|
||||
ownmix.withdrawn,Выведено {0} {1}.
|
||||
ownmix.withdraw.sum,Вывод {0} {1} из моего миксера
|
||||
pay.ownmix,Взнос в мой миксер: {0} {1}
|
||||
ownmix.rug,Совершить рагпул ({0})
|
||||
ownmix.rug.confirm,"Нажмите ещё раз, чтобы забрать {0}"
|
||||
ownmix.rug.sum,Забрать все средства из моего миксера
|
||||
ownmix.rugged,Забрано {0}; миксер закрыт.
|
||||
nightlog.ownmix.in,"Мой миксер: депозитов: {0}, всего {1}, комиссии: {2}."
|
||||
nightlog.ownmix.sting,Один из депозитов в моём миксере поступил от офицера под прикрытием; зафиксирован сбыт краденого.
|
||||
nightlog.ownmix.seized,"Служба безопасности закрыла мой миксер: пул в {0} конфискован, зафиксирован сбыт краденого."
|
||||
news.ownmix.seized.title,Служба безопасности закрыла сервис-миксер
|
||||
news.ownmix.seized.desc,"Служба безопасности закрыла сервис-миксер, работавший на Нижнем уровне, и конфисковала все его средства. Личность оператора пока не установлена."
|
||||
news.ownmix.rug.title,Сервис-миксер исчез вместе со средствами
|
||||
news.ownmix.rug.desc,"Сервис-миксер на Нижнем уровне внезапно закрылся за ночь, а все средства пользователей в обработке исчезли."
|
||||
pay.otc,OTC-клиент {0} {1} (наличные {2})
|
||||
otc.upgrade.title,OTC-стойка
|
||||
otc.upgrade.desc,"Добавляет новую цель для Чёрной лампы: OTC-клиенты. Одни приходят продать монеты неизвестного происхождения, другие — купить монеты; все сделки рассчитываются наличными. Включает одну Чёрную лампу."
|
||||
|
||||
@@ -247,7 +247,7 @@ black.kind.Contraband.3,违禁品(高)
|
||||
black.kind.Tech,高科技物品(加价)
|
||||
nightlog.bm.ready,商店:{0} 到货,开店后会有快递员上门。
|
||||
guide.web3.title,Web3 手册
|
||||
guide.web3.text,"银行与交易:银行页只读,显示现金、房租和 Poinbase 账户里的 CRC。Poinbase 的资金页管入金和出金,先选币种:CRC 可以走银行账户或钱包,其他币只能走钱包。从银行入金把信用点换成 Poinbase 账户里的 CRC;出金到银行把 CRC 换回信用点,要过合规审查,审查看 Poinbase 账户的污点。出金到钱包要填收款地址,等几次确认才到账,Gas 费固定按普通档、从转出的币里扣;地址格式或校验位不对会被拒绝,格式对但没人用的地址,币转过去就没了。¶交易:PSC 全称 Probably Stolen Coin,是显卡和矿机挖出的币。Poinbase 现货有 PSC/CRC 和 SPARK/CRC 两个交易对,跟着行情图选中的币切换。买入和卖出都填所交易币的数量,预览显示要付或能得到的计价币,均价含手续费,滑点不含。¶Web3 交易页可以任选两种币互换,实际都经 CRC 中转:CRC 在一端走一个池,否则走两个池,付两次手续费、滑点叠加,预览里会显示得到的数量、经过的池数和损耗。稳定币之间(CRT、CRA 对 CRC)走稳定币池:手续费 {StableFee:%},挂钩附近几乎没有滑点;脱锚时流动性变差,崩盘时流动性被撤走,滑点急剧变大。§硬件钱包:链上的币放在 PLEDGER 硬件钱包里,每个钱包的余额和污点分别计算。钱包是一件物品,拖到交易终端上加载;在终端的钱包页打开,在终端右上角连接或断开。Web3 页的交易和灰网页的商店、混币器用已连接的钱包,没有钱包或没有连接时只能看,余额都是 0;用币付款的顾客也进已连接的钱包。¶付款(商店、混币器、Ponero 兑换处、上架费)先在终端开账单,再在钱包里手输收款地址、按住 ✓ 签名;地址末尾两位是校验位,输错一位多半会被拦下,偶尔碰巧合法,币就转进了没人用的地址。DEX 兑换也要在钱包上签名。¶Poinbase 是托管账户,入金要从钱包转到它的充值地址(只收 PSC、CRC、SPARK;黑市的 CRT、革命军的 CRA 合规交易所不收,往充值地址转会被钱包拦下),出金在 Poinbase 的资金页发起。钱包页的浏览器可以按地址查转账记录,只显示真实发生的转账:你的钱包的每一笔进出(转账、DEX 兑换和其他合约调用、矿机收益、出金、别人转来的币);Ponero 是隐私币,不显示。更多硬件钱包向杰克逊博士购买,拖到交易终端上添加,最多 {WalletMax} 个;商店里也有更便宜的。不要的钱包可以在钱包页销毁,里面的币永久丢失,之后发到这个地址的币也丢了。¶转账要付 Gas 费,分慢、普通、快三档,Gas 价格大约一周一个起落;网络拥堵时 Gas 费变贵,慢档可能被挤出内存池。转账前核对完整地址。§质押:把 CRA 质押进革命军质押池每天有日息,利息并入本金;取出要先申请,等四天才到账,等待期间没有利息,也不能提前拿。CRA 是部分抵押的:每份 CRA 由革命军持有的 CRC 储备和平衡代币 SPARK 共同支撑,储备覆盖率和抵押率显示在质押页。质押利息以没有抵押的新 CRA 付出,会稀释储备覆盖率,质押的人越多稀释越快;覆盖率太低革命军会降息。革命军有时会挪用储备,先有风声,那是预兆;挪用后覆盖率跌破 {CraCrashRatio:%} 就崩盘:三天内 CRA 归零,四天的解锁期来不及;没跌破只是折价,劫掠上层带来的资金会慢慢把储备补回来。¶官方铸造:存入 CRC 和 SPARK(比例按当前抵押率,界面预览需要多少)铸造 CRA,排 {CraMintDaysMin}~{CraMintDaysMax} 天,铸出的 CRA 直接进质押;销毁把 CRA 换回 CRC 和 SPARK,等待和解锁期一样长,储备不足时 CRC 份额按覆盖率打折。排队的铸造和销毁,官方可能整笔不兑现:每晚的概率是 CRA 价格低于 1 的幅度乘以 {CraRugPerDepeg},价格不低于 1 就不会。¶质押可以存 CRA、CRC、CRT、SPARK:后三种先在二级市场按市价换成 CRA(经 CRC 中转,付手续费和滑点)再质押。SPARK 价格波动很大,崩盘时会跟着暴跌。质押、铸造、销毁都是合约调用,要在钱包上签名。§矿机:RatDigg 矿机(M1 / M2 / M3)是独立的机器,算力比显卡大得多、耗电更省,要放电池才挖,可以放模块,不占矿架槽位;只在商店的矿机商那里有,要黑市声望(M1 {AsicRepM1}、M2 {AsicRepM2}、M3 {AsicRepM3}),偶尔有二手的。烧毁后须按顺序把电子元件拖到它身上修复,修复后健康降低 {AsicRepairHealthCut}。第 {EraMin} 到 {EraMax} 天之间会有一次""矿机时代"",提前几天上报纸预告,之后大矿场的耗电成本砍半,全网算力涨上去,显卡矿工的收益被摊薄,低档显卡Line truncated
|
||||
guide.web3.text,"银行与交易:银行页只读,显示现金、房租和 Poinbase 账户里的 CRC。Poinbase 的资金页管入金和出金,先选币种:CRC 可以走银行账户或钱包,其他币只能走钱包。从银行入金把信用点换成 Poinbase 账户里的 CRC;出金到银行把 CRC 换回信用点,要过合规审查,审查看 Poinbase 账户的污点。出金到钱包要填收款地址,等几次确认才到账,Gas 费固定按普通档、从转出的币里扣;地址格式或校验位不对会被拒绝,格式对但没人用的地址,币转过去就没了。¶交易:PSC 全称 Probably Stolen Coin,是显卡和矿机挖出的币。Poinbase 现货有 PSC/CRC 和 SPARK/CRC 两个交易对,跟着行情图选中的币切换。买入和卖出都填所交易币的数量,预览显示要付或能得到的计价币,均价含手续费,滑点不含。¶Web3 交易页可以任选两种币互换,实际都经 CRC 中转:CRC 在一端走一个池,否则走两个池,付两次手续费、滑点叠加,预览里会显示得到的数量、经过的池数和损耗。稳定币之间(CRT、CRA 对 CRC)走稳定币池:手续费 {StableFee:%},挂钩附近几乎没有滑点;脱锚时流动性变差,崩盘时流动性被撤走,滑点急剧变大。§硬件钱包:链上的币放在 PLEDGER 硬件钱包里,每个钱包的余额和污点分别计算。钱包是一件物品,拖到交易终端上加载;在终端的钱包页打开,在终端右上角连接或断开。Web3 页的交易和灰网页的商店、混币器用已连接的钱包,没有钱包或没有连接时只能看,余额都是 0;用币付款的顾客也进已连接的钱包。¶付款(商店、混币器、Ponero 兑换处、上架费)先在终端开账单,再在钱包里手输收款地址、按住 ✓ 签名;地址末尾两位是校验位,输错一位多半会被拦下,偶尔碰巧合法,币就转进了没人用的地址。DEX 兑换也要在钱包上签名。¶Poinbase 是托管账户,入金要从钱包转到它的充值地址(只收 PSC、CRC、SPARK;黑市的 CRT、革命军的 CRA 合规交易所不收,往充值地址转会被钱包拦下),出金在 Poinbase 的资金页发起。钱包页的浏览器可以按地址查转账记录,只显示真实发生的转账:你的钱包的每一笔进出(转账、DEX 兑换和其他合约调用、矿机收益、出金、别人转来的币);Ponero 是隐私币,不显示。更多硬件钱包向杰克逊博士购买,拖到交易终端上添加,最多 {WalletMax} 个;商店里也有更便宜的。不要的钱包可以在钱包页销毁,里面的币永久丢失,之后发到这个地址的币也丢了。¶转账要付 Gas 费,分慢、普通、快三档,Gas 价格大约一周一个起落;网络拥堵时 Gas 费变贵,慢档可能被挤出内存池。转账前核对完整地址。§质押:把 CRA 质押进革命军质押池每天有日息,利息并入本金;取出要先申请,等四天才到账,等待期间没有利息,也不能提前拿。CRA 是部分抵押的:每份 CRA 由革命军持有的 CRC 储备和平衡代币 SPARK 共同支撑,储备覆盖率和抵押率显示在质押页。质押利息以没有抵押的新 CRA 付出,会稀释储备覆盖率,质押的人越多稀释越快;覆盖率太低革命军会降息。革命军有时会挪用储备,先有风声,那是预兆;挪用后覆盖率跌破 {CraCrashRatio:%} 就崩盘:三天内 CRA 归零,四天的解锁期来不及;没跌破只是折价,劫掠上层带来的资金会慢慢把储备补回来。¶官方铸造:存入 CRC 和 SPARK(比例按当前抵押率,界面预览需要多少)铸造 CRA,排 {CraMintDaysMin}~{CraMintDaysMax} 天,铸出的 CRA 直接进质押;销毁把 CRA 换回 CRC 和 SPARK,等待和解锁期一样长,储备不足时 CRC 份额按覆盖率打折。排队的铸造和销毁,官方可能整笔不兑现:每晚的概率是 CRA 价格低于 1 的幅度乘以 {CraRugPerDepeg},价格不低于 1 就不会。¶质押可以存 CRA、CRC、CRT、SPARK:后三种先在二级市场按市价换成 CRA(经 CRC 中转,付手续费和滑点)再质押。SPARK 价格波动很大,崩盘时会跟着暴跌。质押、铸造、销毁都是合约调用,要在钱包上签名。§矿机:RatDigg 矿机(M1 / M2 / M3)是独立的机器,算力比显卡大得多、耗电更省,要放电池才挖,可以放模块,不占矿架槽位;只在商店的矿机商那里有,要黑市声望(M1 {AsicRepM1}、M2 {AsicRepM2}、M3 {AsicRepM3}),偶尔有二手的。烧毁后须按顺序把电子元件拖到它身上修复,修复后健康降低 {AsicRepairHealthCut}。第 {EraMin} 到 {EraMax} 天之间会有一次""矿机时代"",提前几天上报纸预告,之后大矿场的耗电成本砍半,全网算力涨上去,显卡矿工的收益被摊薄,低档显卡Line truncated
|
||||
courier.odd1,……东西到了。
|
||||
courier.odd2,"(他的手一直放在口袋里)在这儿签个字。"
|
||||
courier.sign,签收
|
||||
@@ -996,6 +996,44 @@ otc.msg.cash,现金不够。
|
||||
otc.msg.sting,对方是便衣:现金 {0} 被没收,记销赃罪证。
|
||||
otc.msg.bought,收到 {0} {1},付现金 {2}。
|
||||
otc.msg.sold,转出 {0} {1},收现金 {2}。
|
||||
gray.sub.own,自营混币器
|
||||
ownmix.h,自营混币器
|
||||
ownmix.status.closed,已关闭(卷款跑路)
|
||||
ownmix.status.seized,被查封,停业到第 {0} 天
|
||||
ownmix.status.open,营业中
|
||||
ownmix.status.paused,暂停营业
|
||||
ownmix.k.fee,费率
|
||||
ownmix.k.rating,口碑(出款剩下的污点)
|
||||
ownmix.k.heat,风声
|
||||
ownmix.heat.0,低
|
||||
ownmix.heat.1,中
|
||||
ownmix.heat.2,高
|
||||
ownmix.k.anon,匿名集
|
||||
ownmix.k.fees,累计手续费
|
||||
ownmix.col.capital,本金
|
||||
ownmix.col.earned,收入
|
||||
ownmix.col.pending,客户在途
|
||||
ownmix.open,开张
|
||||
ownmix.pause,暂停营业
|
||||
ownmix.inject,注资
|
||||
ownmix.withdraw,取回
|
||||
ownmix.free,可取回:{0} {1}
|
||||
ownmix.err,超出可取回的数量。
|
||||
ownmix.injected,注资 {0} {1}。
|
||||
ownmix.withdrawn,取回 {0} {1}。
|
||||
ownmix.withdraw.sum,从自营混币器取回 {0} {1}
|
||||
pay.ownmix,自营混币器注资 {0} {1}
|
||||
ownmix.rug,卷款跑路({0})
|
||||
ownmix.rug.confirm,再点一次,卷走 {0}
|
||||
ownmix.rug.sum,卷走自营混币器的全部资金
|
||||
ownmix.rugged,卷走 {0},混币器关闭。
|
||||
nightlog.ownmix.in,自营混币器:{0} 笔存入,共 {1},手续费 {2}。
|
||||
nightlog.ownmix.sting,自营混币器有一笔存入来自治安部便衣,记销赃罪证。
|
||||
nightlog.ownmix.seized,自营混币器被治安部查封,池子 {0} 全部没收,记销赃罪证。
|
||||
news.ownmix.seized.title,治安部查封一家混币服务
|
||||
news.ownmix.seized.desc,治安部宣布查封一家在下层区运营的混币服务,没收全部资金,运营者身份仍在调查。
|
||||
news.ownmix.rug.title,混币服务卷款跑路
|
||||
news.ownmix.rug.desc,下层区一家混币服务突然关闭,用户在途的资金全部消失。
|
||||
pay.otc,换币客户 {0} {1}(现金 {2})
|
||||
otc.upgrade.title,场外换币台
|
||||
otc.upgrade.desc,暗灯多一个目标:换币客户。有人来卖来路不明的币,有人来买币,都用现金结算。附赠一盏暗灯。
|
||||
|
||||
@@ -104,6 +104,31 @@ namespace Decentralized
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>自营混币器的夜间:客户存入、出款、便衣、查封。对手是 Tumbler 的混币器(关停或被制裁时不算对手)。</summary>
|
||||
private static void OwnMixNight(SaveData d, int day, PlayerStore ps)
|
||||
{
|
||||
var m = d.OwnMix;
|
||||
bool rivalOpen = !d.Story.MixerClosed && !d.Mixer.Sanctioned(day);
|
||||
double rivalRemain = Math.Pow(1 - Mixer.RoundRate(Tuning.OwnMixTicket), Tuning.OwnMixAvgRounds);
|
||||
var evs = m.Night(day, Session.Price, StoreReputation.GetBMReputation(), Mixer.Fee, rivalRemain, rivalOpen, StoryMods.Current.Sanction(day), ActiveEvents().Contains(MarketEvent.Crackdown), d.Rng);
|
||||
foreach (var e in evs)
|
||||
{
|
||||
if (e.Kind == "deposit") ps.AddNightLog(L.T("nightlog.ownmix.in", e.Count, Fmt.Credits(e.Value), Fmt.Credits(e.Value * m.Fee)));
|
||||
else if (e.Kind == "sting")
|
||||
{
|
||||
ps.secData.CommitCrime("FENCING", (int)Math.Round(e.Crime));
|
||||
ps.AddNightLog(L.T("nightlog.ownmix.sting"), "cc7755");
|
||||
}
|
||||
else if (e.Kind == "seized")
|
||||
{
|
||||
ps.secData.CommitCrime("FENCING", (int)Math.Round(e.Crime));
|
||||
ps.AddNightLog(L.T("nightlog.ownmix.seized", Fmt.Credits(e.Value)), "cc7755");
|
||||
News.Show("pd_news_ownmix_seized_" + day, L.T("news.ownmix.seized.title"), L.T("news.ownmix.seized.desc"), 4, 8);
|
||||
}
|
||||
Log.Info($"自营混币器 {e.Kind}:{e.Value:0}({e.Count} 笔),比例 {e.Ratio:0.00},罪证 {e.Crime:0},口碑 {m.Rating:0.00},风声 {m.Heat:0.00}");
|
||||
}
|
||||
}
|
||||
|
||||
private static void OnSleepEarly()
|
||||
{
|
||||
Session.TonightCards.Clear();
|
||||
@@ -276,6 +301,7 @@ namespace Decentralized
|
||||
|
||||
var ps = PlayerStore.Instance;
|
||||
if (mined > 0) ps.AddNightLog(L.T("nightlog.mined", Fmt.Num(mined)));
|
||||
if (Unlock.OtcUnlocked) OwnMixNight(d, day, ps);
|
||||
var mixBefore = d.SnapshotAll();
|
||||
var mixed = d.Mixer.Night(d.WalletAt, day, Session.Price, d.Rng);
|
||||
d.ChainDiffAll(mixBefore, d.Address("mixer"));
|
||||
|
||||
@@ -90,6 +90,8 @@ namespace Decentralized
|
||||
public Mixer Mixer = new Mixer();
|
||||
/// <summary>换币台的累计成交与客户地址编号。</summary>
|
||||
public OtcDesk Otc = new OtcDesk();
|
||||
/// <summary>自营混币器(买下场外换币台就开放)。</summary>
|
||||
public OwnMixer OwnMix = new OwnMixer();
|
||||
public BlackMarket Black = new BlackMarket();
|
||||
public List<MarketEvent> ActiveEvents = new List<MarketEvent>();
|
||||
public NightReport LastNight;
|
||||
@@ -200,6 +202,7 @@ namespace Decentralized
|
||||
Log.Info($"存档数据升级到版本 4:出块奖励 {Data.Network.Reward:0}、NPC 算力 {Data.Network.NpcHash:0}");
|
||||
}
|
||||
if (Data.Otc == null) Data.Otc = new OtcDesk();
|
||||
if (Data.OwnMix == null) Data.OwnMix = new OwnMixer();
|
||||
if (Data.Story == null) Data.Story = new StoryMods();
|
||||
StoryMods.Current = Data.Story;
|
||||
Log.Info($"状态已载入(第 {Data.Day} 天,PSC {Data.Market.Price:0.00})");
|
||||
|
||||
@@ -0,0 +1,136 @@
|
||||
using System;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using UnityEngine;
|
||||
using Decentralized.Domain;
|
||||
|
||||
namespace Decentralized
|
||||
{
|
||||
/// <summary>灰网页的"自营混币器"(买下场外换币台就有):状态、口碑、风声、池子,费率、开张或暂停、注资、取回、卷款跑路。规则见 <see cref="OwnMixer"/>。</summary>
|
||||
public static partial class TerminalWindow
|
||||
{
|
||||
private static string _ownAsset = Assets.CRT;
|
||||
private static bool _ownRugConfirm;
|
||||
private static readonly float[] OwnWBase = { 70f, 110f, 110f, 110f };
|
||||
private static float[] OwnW => Sc(OwnWBase);
|
||||
private static readonly TextAnchor[] OwnAligns = { TextAnchor.MiddleLeft, TextAnchor.MiddleRight, TextAnchor.MiddleRight, TextAnchor.MiddleRight };
|
||||
|
||||
private static void OwnMixPage(CustomUIBuilder b)
|
||||
{
|
||||
var d = Session.Data;
|
||||
var m = d.OwnMix;
|
||||
int day = StoreStation.GetDayCounter();
|
||||
double enforce = StoryMods.Current.Sanction(day);
|
||||
Columns(b, l =>
|
||||
{
|
||||
l.AddHeader(L.T("ownmix.h"));
|
||||
string status = m.Closed ? L.T("ownmix.status.closed") : m.Seized(day) ? L.T("ownmix.status.seized", m.SeizedUntil + 1) : m.Open ? L.T("ownmix.status.open") : L.T("ownmix.status.paused");
|
||||
l.AddLabel(status, m.Closed || m.Seized(day) ? "ownmix_status_note" : "ownmix_status_dim");
|
||||
var w = new[] { 220f, 200f };
|
||||
TableRow(l, w, L.T("ownmix.k.fee"), (m.Fee * 100).ToString("0", CultureInfo.InvariantCulture) + "%");
|
||||
TableRow(l, w, L.T("ownmix.k.rating"), (m.Rating * 100).ToString("0", CultureInfo.InvariantCulture) + "%");
|
||||
TableRow(l, w, L.T("ownmix.k.heat"), L.T("ownmix.heat." + m.HeatLevel(enforce)));
|
||||
TableRow(l, w, L.T("ownmix.k.anon"), Fmt.Credits(m.Anonymity(Session.Price)));
|
||||
TableRow(l, w, L.T("ownmix.k.fees"), Fmt.Credits(m.FeesTotal));
|
||||
l.AddSeparator();
|
||||
TableHeader(l, OwnW.Sum() + 8f, OwnW, OwnAligns, L.T("col.asset"), L.T("ownmix.col.capital"), L.T("ownmix.col.earned"), L.T("ownmix.col.pending"));
|
||||
foreach (var a in OwnMixer.AssetsList)
|
||||
{
|
||||
var p = m.Pool(a);
|
||||
double pend = m.Total(a) - m.Free(a);
|
||||
TableRow(l, OwnW.Sum() + 8f, OwnW, OwnAligns, new[] { a, Fmt.Num(p.Capital), Fmt.Num(p.Earned), Fmt.Num(pend) });
|
||||
}
|
||||
}, r =>
|
||||
{
|
||||
if (m.Closed || m.Seized(day)) { r.AddLabel(m.Closed ? L.T("ownmix.status.closed") : L.T("ownmix.status.seized", m.SeizedUntil + 1), "ownmix_closed_note"); return; }
|
||||
var w = d.Hot;
|
||||
r.AddHeader(L.T("ownmix.k.fee"));
|
||||
r.BeginRow(4f);
|
||||
foreach (var f in Tuning.OwnMixFees)
|
||||
{
|
||||
double fee = f;
|
||||
PledgerSkin.Pick(r, (fee * 100).ToString("0", CultureInfo.InvariantCulture) + "%", Math.Abs(fee - m.Fee) < 1e-9, () => { m.Fee = fee; Session.Save(); Open(); }, _picked);
|
||||
}
|
||||
r.End();
|
||||
r.AddButton(m.Open ? L.T("ownmix.pause") : L.T("ownmix.open"), () =>
|
||||
{
|
||||
if (m.Open) m.Open = false; else m.Start(Session.Price);
|
||||
Log.Info($"自营混币器:{(m.Open ? "开张" : "暂停")},费率 {m.Fee:P0}");
|
||||
Session.Save(); Open();
|
||||
});
|
||||
r.AddSeparator();
|
||||
r.BeginRow(4f);
|
||||
foreach (var a in OwnMixer.AssetsList)
|
||||
{
|
||||
var asset = a;
|
||||
PledgerSkin.Pick(r, asset, asset == _ownAsset, () => { _ownAsset = asset; Open(); }, _picked);
|
||||
}
|
||||
r.End();
|
||||
r.AddLabel(L.T("mixer.balance", _ownAsset, Fmt.Num(w.Avail(_ownAsset))));
|
||||
r.AddLabel(L.T("ownmix.free", Fmt.Num(m.Free(_ownAsset)), _ownAsset));
|
||||
AmountRow(r, true, _ownAsset);
|
||||
r.BeginRow(6f);
|
||||
r.AddButton(L.T("ownmix.inject"), () =>
|
||||
{
|
||||
if (!ReadAmount(out double v)) return;
|
||||
string asset = _ownAsset;
|
||||
BillFor(d.Address("ownmix"), L.T("pay.ownmix", Fmt.Num(v), asset), asset, v, pw =>
|
||||
{
|
||||
if (!m.Inject(pw, asset, v, Session.Price)) { _message = L.T("msg.balance"); Open(); return; }
|
||||
_message = L.T("ownmix.injected", Fmt.Num(v), asset);
|
||||
Log.Info($"自营混币器注资 {v} {asset},匿名集 {m.Anonymity(Session.Price):0}");
|
||||
Session.Save(); Open();
|
||||
});
|
||||
});
|
||||
r.AddButton(L.T("ownmix.withdraw"), () =>
|
||||
{
|
||||
if (!ReadAmount(out double v)) return;
|
||||
string asset = _ownAsset;
|
||||
if (v > m.Free(asset) + 1e-9) { _message = L.T("ownmix.err"); Open(); return; }
|
||||
_message = L.T("hw.wait");
|
||||
Open();
|
||||
WalletWindow.OpenForBill(new WalletWindow.Bill
|
||||
{
|
||||
Contract = true, Party = d.Address("ownmix"), Asset = asset, Amount = 0, Spend = 0, FeeAsset = BestFeeAsset(w),
|
||||
Summary = L.T("ownmix.withdraw.sum", Fmt.Num(v), asset),
|
||||
Execute = pw =>
|
||||
{
|
||||
if (!m.Withdraw(pw, asset, v, Session.Price, out double over)) { _message = L.T("ownmix.err"); Open(); return; }
|
||||
_message = L.T("ownmix.withdrawn", Fmt.Num(v), asset) + TaintCrime.Commit(over);
|
||||
Log.Info($"自营混币器取回 {v} {asset},钱包污点 {pw.Taint:0},超出 {over:0}");
|
||||
Session.Save(); Open();
|
||||
},
|
||||
});
|
||||
});
|
||||
r.End();
|
||||
r.AddSeparator();
|
||||
double total = OwnMixer.AssetsList.Sum(a => m.Total(a) * Session.Price(a));
|
||||
if (total <= 1e-9) return;
|
||||
r.AddButton(_ownRugConfirm ? L.T("ownmix.rug.confirm", Fmt.Credits(total)) : L.T("ownmix.rug", Fmt.Credits(total)), () =>
|
||||
{
|
||||
if (!_ownRugConfirm) { _ownRugConfirm = true; Open(); return; }
|
||||
_ownRugConfirm = false;
|
||||
_message = L.T("hw.wait");
|
||||
Open();
|
||||
WalletWindow.OpenForBill(new WalletWindow.Bill
|
||||
{
|
||||
Contract = true, Party = d.Address("ownmix"), Asset = Assets.CRT, Amount = 0, Spend = 0, FeeAsset = BestFeeAsset(w),
|
||||
Summary = L.T("ownmix.rug.sum"),
|
||||
Execute = pw =>
|
||||
{
|
||||
if (m.Closed) return;
|
||||
double value = OwnMixer.AssetsList.Sum(a => m.Total(a) * Session.Price(a));
|
||||
m.Rug(pw, Session.Price, out double over);
|
||||
PlayerStore.Instance.secData.CommitCrime("FRAUD", (int)Tuning.OwnMixRugCrime);
|
||||
StoreReputation.ModReputation(StoreReputation.FACTION_BLACK_MARKET, -Tuning.OwnMixRugRep);
|
||||
News.Show("pd_news_ownmix_rug_" + StoreStation.GetDayCounter(), L.T("news.ownmix.rug.title"), L.T("news.ownmix.rug.desc"), 4);
|
||||
_message = L.T("ownmix.rugged", Fmt.Credits(value)) + TaintCrime.Commit(over);
|
||||
Log.Info($"自营混币器卷款跑路:{value:0},钱包 {pw.Address}");
|
||||
Session.Save(); Open();
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,7 @@ namespace Decentralized
|
||||
/// 交易终端窗口:首页三个入口(银行、Poinbase、Web3)加报告。银行是真实的信用点(存取、房租);
|
||||
/// Poinbase 是合规交易所;Web3 是去中心化交易和链上钱包。每次操作后按当前页重建窗口。
|
||||
/// </summary>
|
||||
public static class TerminalWindow
|
||||
public static partial class TerminalWindow
|
||||
{
|
||||
public const string Id = "pd_terminal";
|
||||
private const float Bezel = 6f;
|
||||
@@ -1537,19 +1537,21 @@ namespace Decentralized
|
||||
b.End();
|
||||
}
|
||||
|
||||
private static bool GrayAvailable => Unlock.MixerUnlocked || Unlock.BlackUnlocked;
|
||||
private enum GrayTab { Mixer, Black }
|
||||
private static bool GrayAvailable => Unlock.MixerUnlocked || Unlock.BlackUnlocked || Unlock.OtcUnlocked;
|
||||
|
||||
private static bool GrayTabOn(GrayTab t) => t == GrayTab.Mixer ? Unlock.MixerUnlocked : t == GrayTab.Black ? Unlock.BlackUnlocked : Unlock.OtcUnlocked;
|
||||
private enum GrayTab { Mixer, Black, Own }
|
||||
private static GrayTab _grayTab = GrayTab.Mixer;
|
||||
|
||||
/// <summary>灰网:混币器和商店,各自在人脉网络里解锁,解锁了哪个就有哪个。</summary>
|
||||
private static void GrayPage(CustomUIBuilder b)
|
||||
{
|
||||
if (_grayTab == GrayTab.Mixer && !Unlock.MixerUnlocked) _grayTab = GrayTab.Black;
|
||||
if (_grayTab == GrayTab.Black && !Unlock.BlackUnlocked) _grayTab = GrayTab.Mixer;
|
||||
if (Unlock.MixerUnlocked && Unlock.BlackUnlocked)
|
||||
TabRows(b, Enum.GetValues(typeof(GrayTab)).Cast<GrayTab>().Select(t => { var tab = t; return new TabDef { Name = L.T("gray.sub." + t.ToString().ToLowerInvariant()), On = tab == _grayTab, Click = () => { _grayTab = tab; _message = null; Open(); } }; }).ToList(), false);
|
||||
var tabs = Enum.GetValues(typeof(GrayTab)).Cast<GrayTab>().Where(GrayTabOn).ToList();
|
||||
if (!GrayTabOn(_grayTab) && tabs.Count > 0) _grayTab = tabs[0];
|
||||
if (tabs.Count > 1)
|
||||
TabRows(b, tabs.Select(t => { var tab = t; return new TabDef { Name = L.T("gray.sub." + t.ToString().ToLowerInvariant()), On = tab == _grayTab, Click = () => { _grayTab = tab; _message = null; Open(); } }; }).ToList(), false);
|
||||
if (!Session.Data.Connected) b.AddLabel(L.T("web3.err.noconn"), "term_note");
|
||||
if (_grayTab == GrayTab.Mixer) MixerPage(b); else BlackPage(b);
|
||||
if (_grayTab == GrayTab.Mixer) MixerPage(b); else if (_grayTab == GrayTab.Own) OwnMixPage(b); else BlackPage(b);
|
||||
}
|
||||
|
||||
/// <summary>Web3:链上钱包与去中心化交易。</summary>
|
||||
@@ -1651,6 +1653,7 @@ namespace Decentralized
|
||||
case "intel": return L.T("intel.h");
|
||||
case "ponzi": return L.T("ponzi.h");
|
||||
case "tumbler": return "Tumbler";
|
||||
case "ownmix": return L.T("gray.sub.own");
|
||||
}
|
||||
}
|
||||
var sl = d.Black.Sellers.FirstOrDefault(x => ChainAddress.Same(x.Name, a));
|
||||
|
||||
@@ -1419,6 +1419,55 @@ internal static class Program
|
||||
Check(desk.Volume == 1000 && desk.Deals == 2, "成交统计");
|
||||
});
|
||||
|
||||
Test("自营混币器:注资取回的污点、匿名集与清洗率、客流、出款、查封、卷款跑路", () =>
|
||||
{
|
||||
Func<string, double> pr = a => 1;
|
||||
var w = new Wallet { Address = "w" }; w.Add(Assets.CRT, 30000);
|
||||
var m = new OwnMixer();
|
||||
Check(m.Inject(w, Assets.CRT, 20000, pr) && m.Pool(Assets.CRT).Capital == 20000 && m.Pool(Assets.CRT).CapTaint == 0, "干净的币注资,本金不带污点");
|
||||
Check(!m.Inject(w, Assets.CRT, 1e6, pr) && !m.Inject(w, Assets.SPARK, 1, pr), "余额不够、币种不支持被拒");
|
||||
Check(OwnMixer.RoundRate(40000) > OwnMixer.RoundRate(10000) && OwnMixer.RoundRate(1e9) <= Tuning.MixerCleanRate + 1e-9 && OwnMixer.RoundRate(0) == 0, "匿名集越大清洗率越高,封顶基准清洗率");
|
||||
m.Start(pr);
|
||||
Check(m.Open && Near(m.Rating, OwnMixer.Remain(OwnMixer.RoundRate(20000)), 1e-9), "开张时口碑按匿名集估");
|
||||
double rr = 0.29;
|
||||
var cheap = new OwnMixer { Fee = 0.01, Rating = 0.3 }; var dear = new OwnMixer { Fee = 0.08, Rating = 0.3 }; var dirty = new OwnMixer { Fee = 0.01, Rating = 0.9 };
|
||||
Check(cheap.Share(0.03, rr, true) > dear.Share(0.03, rr, true) && cheap.Share(0.03, rr, true) > dirty.Share(0.03, rr, true), "费率低、出款干净的分到的客流多");
|
||||
Check(cheap.Share(0.03, rr, false) > cheap.Share(0.03, rr, true), "对手关停时客流更多");
|
||||
// 营业几晚:有存入、有手续费,到期的出款
|
||||
var rng = new Rng(4);
|
||||
double fees0 = m.FeesTotal;
|
||||
int deposits = 0, payouts = 0;
|
||||
for (int day = 40; day < 50; day++)
|
||||
foreach (var e in m.Night(day, pr, 60, Tuning.MixerFee, rr, true, 1, false, rng))
|
||||
{
|
||||
if (e.Kind == "deposit") deposits++;
|
||||
if (e.Kind == "payout") payouts++;
|
||||
if (e.Kind == "seized") Check(m.Pools.Count == 0 && m.Pending.Count == 0, "查封清空池子");
|
||||
}
|
||||
Check(deposits > 0 && payouts > 0 && m.FeesTotal > fees0, $"营业中有存入和出款:{deposits} / {payouts},手续费 {m.FeesTotal - fees0:0}");
|
||||
Check(m.Pending.All(x => x.ReadyDay >= 50), "到期的都出款了");
|
||||
// 取回:收入全额带污点,本金按本金的污点
|
||||
var m2 = new OwnMixer(); var w2 = new Wallet { Address = "w2" }; w2.Add(Assets.PSC, 1000); w2.Taint = 500;
|
||||
m2.Inject(w2, Assets.PSC, 1000, pr);
|
||||
Check(Near(m2.Pool(Assets.PSC).CapTaint, 500, 1e-9) && w2.Taint < 1e-9, "脏币注资,污点跟着进本金");
|
||||
m2.Pool(Assets.PSC).Earned = 100;
|
||||
var w3 = new Wallet { Address = "w3" }; w3.Add(Assets.CRC, 10000);
|
||||
Check(m2.Withdraw(w3, Assets.PSC, 100, pr, out double o1) && Near(w3.Taint, 100, 1e-9) && o1 == 0, "先取收入:全额带污点");
|
||||
Check(m2.Withdraw(w3, Assets.PSC, 500, pr, out _) && Near(w3.Taint, 100 + 250, 1e-9), "再取本金:按本金的污点比例");
|
||||
Check(!m2.Withdraw(w3, Assets.PSC, 1000, pr, out _), "不能超过可取回的数量");
|
||||
m2.Pending.Add(new OwnMixDeposit { Asset = Assets.PSC, Amount = 300, Taint = 200, Rounds = 2, ReadyDay = 99 });
|
||||
Check(Near(m2.Free(Assets.PSC), 500, 1e-9) && Near(m2.Total(Assets.PSC), 800, 1e-9), "客户在途的币不能取");
|
||||
// 卷款跑路:连同客户的币全部卷走、全额带污点,永久关闭
|
||||
var w4 = new Wallet { Address = "w4" };
|
||||
var got = m2.Rug(w4, pr, out double o4);
|
||||
Check(Near(w4.Get(Assets.PSC), 800, 1e-9) && Near(w4.Taint, 800, 1e-9) && m2.Closed && !m2.Open && got.Count == 1, "卷走全部、全额污点、关闭");
|
||||
Check(m2.Night(100, pr, 60, Tuning.MixerFee, rr, true, 1, false, new Rng(1)).Count == 0, "关闭后不再有夜间事件");
|
||||
// 查封:风声足够大时被查封,停业若干天
|
||||
var m3 = new OwnMixer { Heat = 1e6 }; m3.Inject(new Wallet { Address = "x", Balances = { [Assets.CRT] = 5000 } }, Assets.CRT, 5000, pr); m3.Start(pr);
|
||||
var ev = m3.Night(60, pr, 60, Tuning.MixerFee, rr, true, 1, false, new Rng(2));
|
||||
Check(ev.Any(e => e.Kind == "seized" && e.Crime > 0 && e.Crime <= Tuning.CrimeEventCap) && m3.Seized(60 + Tuning.OwnMixSeizeDays) && !m3.Seized(61 + Tuning.OwnMixSeizeDays) && !m3.Open, "风声大时被查封、记罪证、停业");
|
||||
});
|
||||
|
||||
Test("预测市场:LMSR 定价、最大亏损、买卖", () =>
|
||||
{
|
||||
// 流动性:第 38 天在 5% 的盘口押 50,均价比现价贵约 10%(与先验无关,50% 盘口押 50 约 0.5%)
|
||||
|
||||
Reference in new issue
Block a user