@kynesyslabs/demosdk 2.12.1 → 3.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/abstraction/EvmCoinFinder.js +14 -2
- package/build/abstraction/EvmCoinFinder.js.map +1 -1
- package/build/abstraction/Identities.js +3 -1
- package/build/abstraction/Identities.js.map +1 -1
- package/build/bridge/nativeBridgeTypes.d.ts +4 -3
- package/build/bridge/nativeBridgeTypes.js.map +1 -1
- package/build/d402/client/types.d.ts +6 -3
- package/build/d402/server/D402Server.d.ts +25 -0
- package/build/d402/server/D402Server.js +63 -2
- package/build/d402/server/D402Server.js.map +1 -1
- package/build/d402/server/middleware.d.ts +7 -4
- package/build/d402/server/middleware.js.map +1 -1
- package/build/d402/server/types.d.ts +15 -7
- package/build/denomination/conversion.test.js +1 -1
- package/build/denomination/conversion.test.js.map +1 -1
- package/build/denomination/index.d.ts +3 -0
- package/build/denomination/index.js +6 -0
- package/build/denomination/index.js.map +1 -1
- package/build/denomination/networkInfo.d.ts +69 -0
- package/build/denomination/networkInfo.js +38 -0
- package/build/denomination/networkInfo.js.map +1 -0
- package/build/denomination/networkInfo.test.d.ts +1 -0
- package/build/denomination/networkInfo.test.js +28 -0
- package/build/denomination/networkInfo.test.js.map +1 -0
- package/build/denomination/roundTripHash.test.d.ts +1 -0
- package/build/denomination/roundTripHash.test.js +227 -0
- package/build/denomination/roundTripHash.test.js.map +1 -0
- package/build/denomination/serializerGate.d.ts +46 -0
- package/build/denomination/serializerGate.js +283 -0
- package/build/denomination/serializerGate.js.map +1 -0
- package/build/denomination/serializerGate.test.d.ts +1 -0
- package/build/denomination/serializerGate.test.js +245 -0
- package/build/denomination/serializerGate.test.js.map +1 -0
- package/build/encryption/zK/interactive/index.js +5 -1
- package/build/encryption/zK/interactive/index.js.map +1 -1
- package/build/escrow/EscrowTransaction.d.ts +36 -5
- package/build/escrow/EscrowTransaction.js +91 -10
- package/build/escrow/EscrowTransaction.js.map +1 -1
- package/build/instant_messaging/L2PSMessagingPeer.js +4 -1
- package/build/instant_messaging/L2PSMessagingPeer.js.map +1 -1
- package/build/ipfs/IPFSOperations.d.ts +37 -10
- package/build/ipfs/IPFSOperations.js +38 -8
- package/build/ipfs/IPFSOperations.js.map +1 -1
- package/build/storage/StorageProgram.d.ts +16 -8
- package/build/storage/StorageProgram.js +16 -8
- package/build/storage/StorageProgram.js.map +1 -1
- package/build/tlsnotary/TLSNotaryService.d.ts +19 -8
- package/build/tlsnotary/TLSNotaryService.js +22 -7
- package/build/tlsnotary/TLSNotaryService.js.map +1 -1
- package/build/tlsnotary/helpers.d.ts +11 -5
- package/build/tlsnotary/helpers.js +17 -5
- package/build/tlsnotary/helpers.js.map +1 -1
- package/build/types/blockchain/CustomCharges.d.ts +28 -16
- package/build/types/blockchain/CustomCharges.js +15 -5
- package/build/types/blockchain/CustomCharges.js.map +1 -1
- package/build/types/blockchain/GCREdit.d.ts +80 -3
- package/build/types/blockchain/NetworkParameters.d.ts +54 -0
- package/build/types/blockchain/NetworkParameters.js +9 -0
- package/build/types/blockchain/NetworkParameters.js.map +1 -0
- package/build/types/blockchain/Transaction.d.ts +21 -3
- package/build/types/blockchain/Transaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/D402PaymentTransaction.d.ts +8 -3
- package/build/types/blockchain/TransactionSubtypes/NetworkUpgradeTransaction.d.ts +20 -0
- package/build/types/blockchain/TransactionSubtypes/NetworkUpgradeTransaction.js +2 -0
- package/build/types/blockchain/TransactionSubtypes/NetworkUpgradeTransaction.js.map +1 -0
- package/build/types/blockchain/TransactionSubtypes/NetworkUpgradeVoteTransaction.d.ts +13 -0
- package/build/types/blockchain/TransactionSubtypes/NetworkUpgradeVoteTransaction.js +2 -0
- package/build/types/blockchain/TransactionSubtypes/NetworkUpgradeVoteTransaction.js.map +1 -0
- package/build/types/blockchain/TransactionSubtypes/StorageProgramTransaction.d.ts +6 -5
- package/build/types/blockchain/TransactionSubtypes/StorageProgramTransaction.js +15 -3
- package/build/types/blockchain/TransactionSubtypes/StorageProgramTransaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/ValidatorExitTransaction.d.ts +10 -0
- package/build/types/blockchain/TransactionSubtypes/ValidatorExitTransaction.js +2 -0
- package/build/types/blockchain/TransactionSubtypes/ValidatorExitTransaction.js.map +1 -0
- package/build/types/blockchain/TransactionSubtypes/ValidatorStakeTransaction.d.ts +15 -0
- package/build/types/blockchain/TransactionSubtypes/ValidatorStakeTransaction.js +2 -0
- package/build/types/blockchain/TransactionSubtypes/ValidatorStakeTransaction.js.map +1 -0
- package/build/types/blockchain/TransactionSubtypes/ValidatorUnstakeTransaction.d.ts +10 -0
- package/build/types/blockchain/TransactionSubtypes/ValidatorUnstakeTransaction.js +2 -0
- package/build/types/blockchain/TransactionSubtypes/ValidatorUnstakeTransaction.js.map +1 -0
- package/build/types/blockchain/TransactionSubtypes/index.d.ts +11 -1
- package/build/types/blockchain/TransactionSubtypes/index.js +7 -0
- package/build/types/blockchain/TransactionSubtypes/index.js.map +1 -1
- package/build/types/blockchain/TxFee.d.ts +16 -3
- package/build/types/blockchain/address.d.ts +23 -0
- package/build/types/blockchain/rawTransaction.d.ts +13 -4
- package/build/types/blockchain/statusNative.d.ts +9 -1
- package/build/types/bridge/bridgeTradePayload.d.ts +1 -1
- package/build/types/gls/StateChange.d.ts +29 -3
- package/build/types/index.d.ts +4 -2
- package/build/types/index.js.map +1 -1
- package/build/types/native/INativePayload.d.ts +6 -1
- package/build/types/validator/ValidatorTypes.d.ts +13 -0
- package/build/types/validator/ValidatorTypes.js +3 -0
- package/build/types/validator/ValidatorTypes.js.map +1 -0
- package/build/wallet/Wallet.d.ts +27 -1
- package/build/wallet/Wallet.js +30 -17
- package/build/wallet/Wallet.js.map +1 -1
- package/build/websdk/DemosTransactions.d.ts +78 -4
- package/build/websdk/DemosTransactions.js +253 -9
- package/build/websdk/DemosTransactions.js.map +1 -1
- package/build/websdk/GCRGeneration.d.ts +11 -2
- package/build/websdk/GCRGeneration.js +143 -14
- package/build/websdk/GCRGeneration.js.map +1 -1
- package/build/websdk/demosclass.d.ts +238 -26
- package/build/websdk/demosclass.js +434 -54
- package/build/websdk/demosclass.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { describe, test, expect } from "@jest/globals";
|
|
2
|
+
import { serializeTransactionContent } from "./serializerGate.js";
|
|
3
|
+
// REVIEW: P4 commit 2 — load-bearing wire boundary. Tests assert byte
|
|
4
|
+
// identity for the pre-fork branch (must equal legacy `JSON.stringify`)
|
|
5
|
+
// and the canonical post-fork shape (`amount`, `transaction_fee.*`, and
|
|
6
|
+
// targeted `gcr_edits[].amount` carriers as OS strings; key order
|
|
7
|
+
// preserved).
|
|
8
|
+
/**
|
|
9
|
+
* Build a `TransactionContent` fixture in the canonical key order, with
|
|
10
|
+
* a mix of `gcr_edits` entries to exercise the per-variant transformer.
|
|
11
|
+
*/
|
|
12
|
+
function buildFixture() {
|
|
13
|
+
const gcr_edits = [
|
|
14
|
+
{
|
|
15
|
+
type: "balance",
|
|
16
|
+
isRollback: false,
|
|
17
|
+
operation: "remove",
|
|
18
|
+
account: "0xsender",
|
|
19
|
+
amount: 100, // legacy DEM number
|
|
20
|
+
txhash: "",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
type: "nonce",
|
|
24
|
+
isRollback: false,
|
|
25
|
+
operation: "add",
|
|
26
|
+
account: "0xsender",
|
|
27
|
+
amount: 1,
|
|
28
|
+
txhash: "",
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
type: "balance",
|
|
32
|
+
isRollback: false,
|
|
33
|
+
operation: "add",
|
|
34
|
+
account: "0xreceiver",
|
|
35
|
+
amount: 100,
|
|
36
|
+
txhash: "",
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
type: "escrow",
|
|
40
|
+
operation: "deposit",
|
|
41
|
+
account: "0xescrow",
|
|
42
|
+
data: {
|
|
43
|
+
sender: "0xsender",
|
|
44
|
+
platform: "twitter",
|
|
45
|
+
username: "@bob",
|
|
46
|
+
amount: 100, // legacy DEM number — should become OS string post-fork
|
|
47
|
+
expiryDays: 30,
|
|
48
|
+
},
|
|
49
|
+
txhash: "",
|
|
50
|
+
isRollback: false,
|
|
51
|
+
},
|
|
52
|
+
];
|
|
53
|
+
const content = {
|
|
54
|
+
type: "native",
|
|
55
|
+
from: "0xsender",
|
|
56
|
+
to: "0xreceiver",
|
|
57
|
+
amount: 100, // legacy DEM
|
|
58
|
+
data: [
|
|
59
|
+
"native",
|
|
60
|
+
{
|
|
61
|
+
nativeOperation: "send",
|
|
62
|
+
args: ["0xreceiver", 100],
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
nonce: 1,
|
|
66
|
+
timestamp: 1700000000000,
|
|
67
|
+
transaction_fee: {
|
|
68
|
+
network_fee: 1,
|
|
69
|
+
rpc_fee: 0,
|
|
70
|
+
additional_fee: 0,
|
|
71
|
+
},
|
|
72
|
+
from_ed25519_address: "0xsender",
|
|
73
|
+
gcr_edits,
|
|
74
|
+
};
|
|
75
|
+
return content;
|
|
76
|
+
}
|
|
77
|
+
describe("serializerGate — pre-fork branch", () => {
|
|
78
|
+
test("output is byte-identical to legacy JSON.stringify for current SDK content", () => {
|
|
79
|
+
const content = buildFixture();
|
|
80
|
+
const expected = JSON.stringify(content);
|
|
81
|
+
expect(serializeTransactionContent(content, false)).toBe(expected);
|
|
82
|
+
});
|
|
83
|
+
test("normalises stray bigint amount back to legacy DEM number", () => {
|
|
84
|
+
const content = buildFixture();
|
|
85
|
+
// Simulate an internal bigint OS amount leaking into content.
|
|
86
|
+
// 100 DEM = 100_000_000_000n OS.
|
|
87
|
+
content.amount = 100000000000n;
|
|
88
|
+
const out = serializeTransactionContent(content, false);
|
|
89
|
+
const parsed = JSON.parse(out);
|
|
90
|
+
expect(parsed.amount).toBe(100);
|
|
91
|
+
});
|
|
92
|
+
test("normalises stray OS-string amount back to DEM number", () => {
|
|
93
|
+
const content = buildFixture();
|
|
94
|
+
content.amount = "100000000000";
|
|
95
|
+
const out = serializeTransactionContent(content, false);
|
|
96
|
+
const parsed = JSON.parse(out);
|
|
97
|
+
expect(parsed.amount).toBe(100);
|
|
98
|
+
});
|
|
99
|
+
test("normalises bigint balance edit back to DEM number", () => {
|
|
100
|
+
const content = buildFixture();
|
|
101
|
+
content.gcr_edits[0].amount = 100000000000n;
|
|
102
|
+
const out = serializeTransactionContent(content, false);
|
|
103
|
+
const parsed = JSON.parse(out);
|
|
104
|
+
expect(parsed.gcr_edits[0].amount).toBe(100);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
describe("serializerGate — post-fork branch", () => {
|
|
108
|
+
test("amount becomes OS string", () => {
|
|
109
|
+
const content = buildFixture();
|
|
110
|
+
const out = serializeTransactionContent(content, true);
|
|
111
|
+
const parsed = JSON.parse(out);
|
|
112
|
+
expect(parsed.amount).toBe("100000000000");
|
|
113
|
+
});
|
|
114
|
+
test("transaction_fee fields all become OS strings", () => {
|
|
115
|
+
const content = buildFixture();
|
|
116
|
+
const out = serializeTransactionContent(content, true);
|
|
117
|
+
const parsed = JSON.parse(out);
|
|
118
|
+
expect(parsed.transaction_fee.network_fee).toBe("1000000000");
|
|
119
|
+
expect(parsed.transaction_fee.rpc_fee).toBe("0");
|
|
120
|
+
expect(parsed.transaction_fee.additional_fee).toBe("0");
|
|
121
|
+
});
|
|
122
|
+
test("gcr_edits balance amounts become OS strings; nonce stays a number", () => {
|
|
123
|
+
const content = buildFixture();
|
|
124
|
+
const out = serializeTransactionContent(content, true);
|
|
125
|
+
const parsed = JSON.parse(out);
|
|
126
|
+
expect(parsed.gcr_edits[0].amount).toBe("100000000000");
|
|
127
|
+
expect(parsed.gcr_edits[1].amount).toBe(1); // nonce — counter, untouched
|
|
128
|
+
expect(parsed.gcr_edits[2].amount).toBe("100000000000");
|
|
129
|
+
});
|
|
130
|
+
test("escrow nested amount becomes OS string", () => {
|
|
131
|
+
const content = buildFixture();
|
|
132
|
+
const out = serializeTransactionContent(content, true);
|
|
133
|
+
const parsed = JSON.parse(out);
|
|
134
|
+
expect(parsed.gcr_edits[3].data.amount).toBe("100000000000");
|
|
135
|
+
});
|
|
136
|
+
test("post-fork output preserves canonical top-level key order", () => {
|
|
137
|
+
const content = buildFixture();
|
|
138
|
+
const out = serializeTransactionContent(content, true);
|
|
139
|
+
const parsed = JSON.parse(out);
|
|
140
|
+
// Canonical order from SPEC_P4 §3.5.
|
|
141
|
+
expect(Object.keys(parsed)).toEqual([
|
|
142
|
+
"type",
|
|
143
|
+
"from",
|
|
144
|
+
"to",
|
|
145
|
+
"amount",
|
|
146
|
+
"data",
|
|
147
|
+
"nonce",
|
|
148
|
+
"timestamp",
|
|
149
|
+
"transaction_fee",
|
|
150
|
+
"from_ed25519_address",
|
|
151
|
+
"gcr_edits",
|
|
152
|
+
]);
|
|
153
|
+
});
|
|
154
|
+
test("post-fork output preserves transaction_fee key order", () => {
|
|
155
|
+
const content = buildFixture();
|
|
156
|
+
const out = serializeTransactionContent(content, true);
|
|
157
|
+
const parsed = JSON.parse(out);
|
|
158
|
+
expect(Object.keys(parsed.transaction_fee)).toEqual([
|
|
159
|
+
"network_fee",
|
|
160
|
+
"rpc_fee",
|
|
161
|
+
"additional_fee",
|
|
162
|
+
]);
|
|
163
|
+
});
|
|
164
|
+
test("non-canonical OS string is normalised", () => {
|
|
165
|
+
const content = buildFixture();
|
|
166
|
+
// "00100" must become "100" after re-emit.
|
|
167
|
+
content.amount = "00100";
|
|
168
|
+
const out = serializeTransactionContent(content, true);
|
|
169
|
+
const parsed = JSON.parse(out);
|
|
170
|
+
expect(parsed.amount).toBe("100");
|
|
171
|
+
});
|
|
172
|
+
test("bigint amount round-trips through the wire", () => {
|
|
173
|
+
const content = buildFixture();
|
|
174
|
+
content.amount = 1500000000n;
|
|
175
|
+
const out = serializeTransactionContent(content, true);
|
|
176
|
+
const parsed = JSON.parse(out);
|
|
177
|
+
expect(parsed.amount).toBe("1500000000");
|
|
178
|
+
});
|
|
179
|
+
test("sub-DEM precision preserved via OS string", () => {
|
|
180
|
+
const content = buildFixture();
|
|
181
|
+
// 0.000000001 DEM = 1n OS.
|
|
182
|
+
content.amount = 1n;
|
|
183
|
+
const out = serializeTransactionContent(content, true);
|
|
184
|
+
const parsed = JSON.parse(out);
|
|
185
|
+
expect(parsed.amount).toBe("1");
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
describe("serializerGate — input invariance", () => {
|
|
189
|
+
test("does not mutate the input content object", () => {
|
|
190
|
+
const content = buildFixture();
|
|
191
|
+
const before = JSON.stringify(content);
|
|
192
|
+
serializeTransactionContent(content, true);
|
|
193
|
+
expect(JSON.stringify(content)).toBe(before);
|
|
194
|
+
});
|
|
195
|
+
});
|
|
196
|
+
describe("serializerGate — transaction_fee key order (myc#19)", () => {
|
|
197
|
+
test("post-fork preserves non-canonical fee insertion order", () => {
|
|
198
|
+
const content = buildFixture();
|
|
199
|
+
// Construct fee with `additional_fee` first to break the old
|
|
200
|
+
// hard-coded literal order.
|
|
201
|
+
content.transaction_fee = {
|
|
202
|
+
additional_fee: 0,
|
|
203
|
+
rpc_fee: 0,
|
|
204
|
+
network_fee: 1,
|
|
205
|
+
};
|
|
206
|
+
const out = serializeTransactionContent(content, true);
|
|
207
|
+
const parsed = JSON.parse(out);
|
|
208
|
+
expect(Object.keys(parsed.transaction_fee)).toEqual([
|
|
209
|
+
"additional_fee",
|
|
210
|
+
"rpc_fee",
|
|
211
|
+
"network_fee",
|
|
212
|
+
]);
|
|
213
|
+
});
|
|
214
|
+
test("pre-fork preserves non-canonical fee insertion order", () => {
|
|
215
|
+
const content = buildFixture();
|
|
216
|
+
content.transaction_fee = {
|
|
217
|
+
additional_fee: 0,
|
|
218
|
+
rpc_fee: 0,
|
|
219
|
+
network_fee: 1,
|
|
220
|
+
};
|
|
221
|
+
const out = serializeTransactionContent(content, false);
|
|
222
|
+
const parsed = JSON.parse(out);
|
|
223
|
+
expect(Object.keys(parsed.transaction_fee)).toEqual([
|
|
224
|
+
"additional_fee",
|
|
225
|
+
"rpc_fee",
|
|
226
|
+
"network_fee",
|
|
227
|
+
]);
|
|
228
|
+
});
|
|
229
|
+
test("post-fork passes through unknown extra fee fields verbatim", () => {
|
|
230
|
+
const content = buildFixture();
|
|
231
|
+
content.transaction_fee = {
|
|
232
|
+
network_fee: 1,
|
|
233
|
+
rpc_fee: 0,
|
|
234
|
+
additional_fee: 0,
|
|
235
|
+
// Future extension field the SDK doesn't know about — must
|
|
236
|
+
// not be dropped (consensus would diverge if the node knows
|
|
237
|
+
// it and we strip it).
|
|
238
|
+
future_field: "abc",
|
|
239
|
+
};
|
|
240
|
+
const out = serializeTransactionContent(content, true);
|
|
241
|
+
const parsed = JSON.parse(out);
|
|
242
|
+
expect(parsed.transaction_fee.future_field).toBe("abc");
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
//# sourceMappingURL=serializerGate.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"serializerGate.test.js","sourceRoot":"","sources":["../../../src/denomination/serializerGate.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,8 +19,12 @@ export class Verifier {
|
|
|
19
19
|
this.modulus = modulus;
|
|
20
20
|
}
|
|
21
21
|
generateChallenge(commitment) {
|
|
22
|
+
// CSPRNG: a predictable challenge breaks the soundness of the
|
|
23
|
+
// interactive ZK proof.
|
|
22
24
|
this.commitment = commitment;
|
|
23
|
-
|
|
25
|
+
const buf = new Uint8Array(1);
|
|
26
|
+
crypto.getRandomValues(buf);
|
|
27
|
+
return buf[0] & 1;
|
|
24
28
|
}
|
|
25
29
|
verifyResponse(response, challenge) {
|
|
26
30
|
const responseSquared = response.modPow(2, this.modulus);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/encryption/zK/interactive/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAGhC,MAAM,OAAO,MAAM;IAKf,YAAY,MAAW,EAAE,MAAW,EAAE,MAAyB;QAC3D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAChC,OAAO,SAAS,KAAK,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClE,CAAC;CACJ;AAED,MAAM,OAAO,QAAQ;IAIjB,YAAY,OAAY;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,iBAAiB,CAAC,UAAe;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/encryption/zK/interactive/index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,aAAa,CAAA;AAGhC,MAAM,OAAO,MAAM;IAKf,YAAY,MAAW,EAAE,MAAW,EAAE,MAAyB;QAC3D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,kBAAkB;QACd,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IACnD,CAAC;IAED,kBAAkB,CAAC,SAAiB;QAChC,OAAO,SAAS,KAAK,CAAC;YAClB,CAAC,CAAC,IAAI,CAAC,WAAW;YAClB,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClE,CAAC;CACJ;AAED,MAAM,OAAO,QAAQ;IAIjB,YAAY,OAAY;QACpB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,iBAAiB,CAAC,UAAe;QAC7B,8DAA8D;QAC9D,wBAAwB;QACxB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QAC3B,OAAO,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IAED,cAAc,CAAC,QAAa,EAAE,SAAiB;QAC3C,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACxD,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;YAClB,OAAO,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAClD,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACnD,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -15,31 +15,62 @@ export declare class EscrowTransaction {
|
|
|
15
15
|
*/
|
|
16
16
|
static getEscrowAddress(platform: string, username: string): string;
|
|
17
17
|
/**
|
|
18
|
-
* Creates a transaction to send DEM to a social identity escrow
|
|
18
|
+
* Creates a transaction to send DEM to a social identity escrow.
|
|
19
|
+
*
|
|
20
|
+
* P4 dual-input:
|
|
21
|
+
* - `bigint` (preferred, post-v3): OS amount.
|
|
22
|
+
* - `number` (deprecated, v2 callers): DEM amount, auto-converted.
|
|
23
|
+
*
|
|
24
|
+
* Internal carrier in `tx.content.amount` and `gcr_edits[].amount`
|
|
25
|
+
* is bigint OS; the serializerGate (called from `demos.sign`)
|
|
26
|
+
* picks the wire shape per fork status. Sub-DEM precision against
|
|
27
|
+
* a pre-fork node throws `SubDemPrecisionError`.
|
|
19
28
|
*
|
|
20
29
|
* @example
|
|
21
30
|
* ```typescript
|
|
31
|
+
* import { denomination } from "@kynesyslabs/demosdk"
|
|
22
32
|
* const tx = await EscrowTransaction.sendToIdentity(
|
|
23
33
|
* demos,
|
|
24
34
|
* "twitter",
|
|
25
35
|
* "@bob",
|
|
26
|
-
* 100,
|
|
36
|
+
* denomination.demToOs(100), // 100 DEM
|
|
27
37
|
* { expiryDays: 30, message: "Welcome to Demos!" }
|
|
28
38
|
* )
|
|
29
|
-
* await demos.
|
|
39
|
+
* await demos.confirm(tx)
|
|
30
40
|
* ```
|
|
31
41
|
*
|
|
32
42
|
* @param demos - Demos SDK instance (must have keypair set)
|
|
33
43
|
* @param platform - Social platform ("twitter", "github", "telegram")
|
|
34
44
|
* @param username - Username on that platform
|
|
35
|
-
* @param amount -
|
|
45
|
+
* @param amount - DEM `number` (legacy) or OS `bigint` (preferred).
|
|
36
46
|
* @param options - Optional parameters
|
|
37
47
|
* @returns Signed transaction ready to submit
|
|
38
48
|
*/
|
|
39
|
-
static sendToIdentity(demos: Demos, platform: "twitter" | "github" | "telegram", username: string, amount: number, options?: {
|
|
49
|
+
static sendToIdentity(demos: Demos, platform: "twitter" | "github" | "telegram", username: string, amount: number | bigint, options?: {
|
|
40
50
|
expiryDays?: number;
|
|
41
51
|
message?: string;
|
|
42
52
|
}): Promise<Transaction>;
|
|
53
|
+
/**
|
|
54
|
+
* Normalise a public-API amount input (`number` legacy DEM or
|
|
55
|
+
* `bigint` OS) into both forms. Used at every boundary that needs
|
|
56
|
+
* dual-shape support during the pre-/post-fork rollout.
|
|
57
|
+
*
|
|
58
|
+
* - `number` input: must be a non-negative integer DEM amount;
|
|
59
|
+
* converted to OS via `OS_PER_DEM`. Fractional DEM `number` is
|
|
60
|
+
* rejected — silently flooring (the previous behaviour) discarded
|
|
61
|
+
* up to ~10^9 OS per call. Callers who need sub-DEM precision
|
|
62
|
+
* must pass a `bigint` OS amount (e.g. `denomination.demToOs("1.5")`).
|
|
63
|
+
* - `bigint` input: treated as OS; DEM form is the integer division
|
|
64
|
+
* `amountOs / OS_PER_DEM`. The pre-fork sub-DEM precision rejection
|
|
65
|
+
* lives in `Demos._assertAmountAcceptableOnTargetNode` (called by
|
|
66
|
+
* `sendToIdentity` before this helper runs).
|
|
67
|
+
*
|
|
68
|
+
* @internal Exposed only to keep the migration paths discoverable.
|
|
69
|
+
*/
|
|
70
|
+
static normalizeAmountInput(amount: number | bigint): {
|
|
71
|
+
amountDem: number;
|
|
72
|
+
amountOs: bigint;
|
|
73
|
+
};
|
|
43
74
|
/**
|
|
44
75
|
* Creates a transaction to claim escrowed funds
|
|
45
76
|
*
|
|
@@ -11,6 +11,7 @@ KyneSys Labs: https://www.kynesys.xyz/
|
|
|
11
11
|
import { Hashing } from "../encryption/Hashing.js";
|
|
12
12
|
import { uint8ArrayToHex } from "../encryption/unifiedCrypto.js";
|
|
13
13
|
import * as skeletons from "../websdk/utils/skeletons.js";
|
|
14
|
+
import { OS_PER_DEM } from "../denomination/index.js";
|
|
14
15
|
/**
|
|
15
16
|
* High-level API for creating escrow transactions
|
|
16
17
|
* Enables trustless sending of DEM to unclaimed social identities
|
|
@@ -31,28 +32,51 @@ export class EscrowTransaction {
|
|
|
31
32
|
return Hashing.sha3_256(identity);
|
|
32
33
|
}
|
|
33
34
|
/**
|
|
34
|
-
* Creates a transaction to send DEM to a social identity escrow
|
|
35
|
+
* Creates a transaction to send DEM to a social identity escrow.
|
|
36
|
+
*
|
|
37
|
+
* P4 dual-input:
|
|
38
|
+
* - `bigint` (preferred, post-v3): OS amount.
|
|
39
|
+
* - `number` (deprecated, v2 callers): DEM amount, auto-converted.
|
|
40
|
+
*
|
|
41
|
+
* Internal carrier in `tx.content.amount` and `gcr_edits[].amount`
|
|
42
|
+
* is bigint OS; the serializerGate (called from `demos.sign`)
|
|
43
|
+
* picks the wire shape per fork status. Sub-DEM precision against
|
|
44
|
+
* a pre-fork node throws `SubDemPrecisionError`.
|
|
35
45
|
*
|
|
36
46
|
* @example
|
|
37
47
|
* ```typescript
|
|
48
|
+
* import { denomination } from "@kynesyslabs/demosdk"
|
|
38
49
|
* const tx = await EscrowTransaction.sendToIdentity(
|
|
39
50
|
* demos,
|
|
40
51
|
* "twitter",
|
|
41
52
|
* "@bob",
|
|
42
|
-
* 100,
|
|
53
|
+
* denomination.demToOs(100), // 100 DEM
|
|
43
54
|
* { expiryDays: 30, message: "Welcome to Demos!" }
|
|
44
55
|
* )
|
|
45
|
-
* await demos.
|
|
56
|
+
* await demos.confirm(tx)
|
|
46
57
|
* ```
|
|
47
58
|
*
|
|
48
59
|
* @param demos - Demos SDK instance (must have keypair set)
|
|
49
60
|
* @param platform - Social platform ("twitter", "github", "telegram")
|
|
50
61
|
* @param username - Username on that platform
|
|
51
|
-
* @param amount -
|
|
62
|
+
* @param amount - DEM `number` (legacy) or OS `bigint` (preferred).
|
|
52
63
|
* @param options - Optional parameters
|
|
53
64
|
* @returns Signed transaction ready to submit
|
|
54
65
|
*/
|
|
55
66
|
static async sendToIdentity(demos, platform, username, amount, options) {
|
|
67
|
+
// P4 commit 3: bigint OS is the canonical internal carrier; the
|
|
68
|
+
// serializerGate (run via demos.sign) emits the right wire shape
|
|
69
|
+
// per the connected node's fork status.
|
|
70
|
+
const { amountOs } = EscrowTransaction.normalizeAmountInput(amount);
|
|
71
|
+
// Sub-DEM precision guard — runs before tx construction so the
|
|
72
|
+
// caller never produces a tx that a pre-fork node will silently
|
|
73
|
+
// truncate. Calls into the cached `getNetworkInfo` fork status.
|
|
74
|
+
// The helper is `private` on Demos but reachable at runtime;
|
|
75
|
+
// cast through `any` to bypass the access modifier (escrow is
|
|
76
|
+
// package-internal — the alternative is to widen Demos's
|
|
77
|
+
// public surface, which we don't want).
|
|
78
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
79
|
+
await demos._assertAmountAcceptableOnTargetNode(amountOs);
|
|
56
80
|
// Get sender address from demos instance
|
|
57
81
|
const { publicKey } = await demos.crypto.getIdentity("ed25519");
|
|
58
82
|
const sender = uint8ArrayToHex(publicKey);
|
|
@@ -62,14 +86,25 @@ export class EscrowTransaction {
|
|
|
62
86
|
const nonce = await demos.getAddressNonce(sender);
|
|
63
87
|
// Create empty transaction
|
|
64
88
|
let tx = structuredClone(skeletons.transaction);
|
|
65
|
-
// Build GCREdits
|
|
89
|
+
// Build GCREdits. NOTE: `demos.sign()` calls `GCRGeneration.generate`
|
|
90
|
+
// which currently overwrites `gcr_edits` with edits derived from
|
|
91
|
+
// the tx content; the inline edits here are dead code today
|
|
92
|
+
// (flagged in SPEC_P4 §2.1). Kept type-correct so they still
|
|
93
|
+
// match the (now-widened) `GCREditBalance.amount` type if/when
|
|
94
|
+
// the dead-code path is wired up.
|
|
95
|
+
//
|
|
96
|
+
// P4 commit 3: edits carry bigint OS internally. The
|
|
97
|
+
// serializerGate normalises them to the right wire shape per
|
|
98
|
+
// fork status. The `GCREditBalance.amount` static type is
|
|
99
|
+
// `number | string`; bigints are passed through `unknown` to
|
|
100
|
+
// satisfy TS — the runtime serializer handles all three shapes.
|
|
66
101
|
const gcrEdits = [
|
|
67
102
|
// 1. Deduct from sender's balance
|
|
68
103
|
{
|
|
69
104
|
type: "balance",
|
|
70
105
|
operation: "remove",
|
|
71
106
|
account: sender,
|
|
72
|
-
amount:
|
|
107
|
+
amount: amountOs,
|
|
73
108
|
txhash: "",
|
|
74
109
|
isRollback: false,
|
|
75
110
|
},
|
|
@@ -82,7 +117,7 @@ export class EscrowTransaction {
|
|
|
82
117
|
sender,
|
|
83
118
|
platform,
|
|
84
119
|
username,
|
|
85
|
-
amount:
|
|
120
|
+
amount: amountOs,
|
|
86
121
|
expiryDays: options?.expiryDays || 30,
|
|
87
122
|
message: options?.message,
|
|
88
123
|
},
|
|
@@ -90,11 +125,13 @@ export class EscrowTransaction {
|
|
|
90
125
|
isRollback: false,
|
|
91
126
|
},
|
|
92
127
|
];
|
|
93
|
-
// Fill transaction content
|
|
128
|
+
// Fill transaction content. Internal carrier is bigint OS; the
|
|
129
|
+
// serializerGate emits the right wire shape (DEM number pre-fork,
|
|
130
|
+
// OS string post-fork) when `demos.sign` hashes.
|
|
94
131
|
tx.content.from = sender;
|
|
95
132
|
tx.content.to = escrowAddress;
|
|
96
133
|
tx.content.nonce = nonce + 1;
|
|
97
|
-
tx.content.amount =
|
|
134
|
+
tx.content.amount = amountOs;
|
|
98
135
|
tx.content.type = "escrow";
|
|
99
136
|
tx.content.timestamp = Date.now();
|
|
100
137
|
tx.content.gcr_edits = gcrEdits;
|
|
@@ -103,13 +140,57 @@ export class EscrowTransaction {
|
|
|
103
140
|
{
|
|
104
141
|
platform,
|
|
105
142
|
username,
|
|
106
|
-
amount
|
|
143
|
+
// The escrow payload's `amount` is a free-form string here;
|
|
144
|
+
// emit canonical OS for forward compatibility with the
|
|
145
|
+
// post-fork node's escrow handler. Pre-fork node tolerates
|
|
146
|
+
// arbitrary strings on this nested field.
|
|
147
|
+
amount: amountOs.toString(),
|
|
107
148
|
operation: "deposit",
|
|
108
149
|
},
|
|
109
150
|
];
|
|
110
151
|
// Sign transaction
|
|
111
152
|
return await demos.sign(tx);
|
|
112
153
|
}
|
|
154
|
+
/**
|
|
155
|
+
* Normalise a public-API amount input (`number` legacy DEM or
|
|
156
|
+
* `bigint` OS) into both forms. Used at every boundary that needs
|
|
157
|
+
* dual-shape support during the pre-/post-fork rollout.
|
|
158
|
+
*
|
|
159
|
+
* - `number` input: must be a non-negative integer DEM amount;
|
|
160
|
+
* converted to OS via `OS_PER_DEM`. Fractional DEM `number` is
|
|
161
|
+
* rejected — silently flooring (the previous behaviour) discarded
|
|
162
|
+
* up to ~10^9 OS per call. Callers who need sub-DEM precision
|
|
163
|
+
* must pass a `bigint` OS amount (e.g. `denomination.demToOs("1.5")`).
|
|
164
|
+
* - `bigint` input: treated as OS; DEM form is the integer division
|
|
165
|
+
* `amountOs / OS_PER_DEM`. The pre-fork sub-DEM precision rejection
|
|
166
|
+
* lives in `Demos._assertAmountAcceptableOnTargetNode` (called by
|
|
167
|
+
* `sendToIdentity` before this helper runs).
|
|
168
|
+
*
|
|
169
|
+
* @internal Exposed only to keep the migration paths discoverable.
|
|
170
|
+
*/
|
|
171
|
+
static normalizeAmountInput(amount) {
|
|
172
|
+
if (typeof amount === "bigint") {
|
|
173
|
+
if (amount < 0n) {
|
|
174
|
+
throw new Error(`[EscrowTransaction] amount must be non-negative, got ${amount}`);
|
|
175
|
+
}
|
|
176
|
+
const amountOs = amount;
|
|
177
|
+
// Sub-DEM precision is allowed at the bigint level — the
|
|
178
|
+
// public API rejection lives in `_assertAmountAcceptableOnTargetNode`,
|
|
179
|
+
// gated on pre-fork node detection. The `amountDem` returned
|
|
180
|
+
// here is integer-truncated; callers that need exact DEM
|
|
181
|
+
// should branch on `amountOs % OS_PER_DEM === 0n` first.
|
|
182
|
+
const amountDem = Number(amountOs / OS_PER_DEM);
|
|
183
|
+
return { amountDem, amountOs };
|
|
184
|
+
}
|
|
185
|
+
if (!Number.isFinite(amount) || amount < 0) {
|
|
186
|
+
throw new Error(`[EscrowTransaction] amount must be a non-negative finite number or bigint, got ${amount}`);
|
|
187
|
+
}
|
|
188
|
+
if (!Number.isInteger(amount)) {
|
|
189
|
+
throw new Error(`[EscrowTransaction] fractional DEM not supported on the number path (got ${amount}); pass a bigint OS amount via denomination.demToOs("${amount}") instead`);
|
|
190
|
+
}
|
|
191
|
+
const amountOs = BigInt(amount) * OS_PER_DEM;
|
|
192
|
+
return { amountDem: amount, amountOs };
|
|
193
|
+
}
|
|
113
194
|
/**
|
|
114
195
|
* Creates a transaction to claim escrowed funds
|
|
115
196
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EscrowTransaction.js","sourceRoot":"","sources":["../../../src/escrow/EscrowTransaction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;EASE;AAIF,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"EscrowTransaction.js","sourceRoot":"","sources":["../../../src/escrow/EscrowTransaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -403,7 +403,10 @@ export class L2PSMessagingPeer {
|
|
|
403
403
|
this.connectionStateHandlers.forEach(h => h(state));
|
|
404
404
|
}
|
|
405
405
|
generateRequestId() {
|
|
406
|
-
|
|
406
|
+
const buf = new Uint8Array(5);
|
|
407
|
+
crypto.getRandomValues(buf);
|
|
408
|
+
const rand = Array.from(buf, b => b.toString(16).padStart(2, "0")).join("");
|
|
409
|
+
return `req_${Date.now()}_${rand}`;
|
|
407
410
|
}
|
|
408
411
|
}
|
|
409
412
|
//# sourceMappingURL=L2PSMessagingPeer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"L2PSMessagingPeer.js","sourceRoot":"","sources":["../../../src/instant_messaging/L2PSMessagingPeer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"L2PSMessagingPeer.js","sourceRoot":"","sources":["../../../src/instant_messaging/L2PSMessagingPeer.ts"],"names":[],"mappings":"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"}
|