@kynesyslabs/demosdk 2.4.23 → 2.4.25
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/Identities.d.ts +52 -10
- package/build/abstraction/Identities.js +139 -20
- package/build/abstraction/Identities.js.map +1 -1
- package/build/types/abstraction/index.d.ts +11 -6
- package/build/types/blockchain/Transaction.d.ts +3 -2
- package/build/types/blockchain/Transaction.js.map +1 -1
- package/build/types/blockchain/TransactionSubtypes/D402PaymentTransaction.d.ts +20 -0
- package/build/types/blockchain/TransactionSubtypes/D402PaymentTransaction.js +3 -0
- package/build/types/blockchain/TransactionSubtypes/D402PaymentTransaction.js.map +1 -0
- package/build/types/blockchain/TransactionSubtypes/index.d.ts +3 -1
- package/build/types/blockchain/TransactionSubtypes/index.js +1 -0
- package/build/types/blockchain/TransactionSubtypes/index.js.map +1 -1
- package/build/websdk/GCRGeneration.d.ts +8 -0
- package/build/websdk/GCRGeneration.js +44 -3
- package/build/websdk/GCRGeneration.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { XMCoreTargetIdentityPayload, Web2CoreTargetIdentityPayload, GithubProof, TwitterProof, InferFromSignaturePayload, DiscordProof, TelegramSignedAttestation, FindDemosIdByWeb2IdentityQuery, FindDemosIdByWeb3IdentityQuery } from "../types/abstraction";
|
|
2
|
+
import { SignableAddress } from "./types/UDResolution";
|
|
2
3
|
import { Demos } from "../websdk/demosclass";
|
|
3
4
|
import { PQCAlgorithm } from "../types/cryptography";
|
|
4
5
|
import { Account, RPCResponseWithValidityData } from "../types";
|
|
@@ -231,27 +232,60 @@ export declare class Identities {
|
|
|
231
232
|
* @returns Object with owner address, network, and registry type
|
|
232
233
|
*/
|
|
233
234
|
private resolveUDDomain;
|
|
235
|
+
/**
|
|
236
|
+
* Get all signable addresses for a UD domain.
|
|
237
|
+
*
|
|
238
|
+
* This method resolves the domain and extracts all addresses from domain records
|
|
239
|
+
* that can be used to sign challenges (EVM and Solana addresses).
|
|
240
|
+
*
|
|
241
|
+
* @param domain The UD domain (e.g., "brad.crypto")
|
|
242
|
+
* @returns Array of signable addresses with their types
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* ```typescript
|
|
246
|
+
* const identities = new Identities()
|
|
247
|
+
* const addresses = await identities.getUDSignableAddresses("brad.crypto")
|
|
248
|
+
* console.log(addresses)
|
|
249
|
+
* // [
|
|
250
|
+
* // { address: "0x1234...", recordKey: "crypto.ETH.address", signatureType: "evm" },
|
|
251
|
+
* // { address: "ABC123...", recordKey: "crypto.SOL.address", signatureType: "solana" }
|
|
252
|
+
* // ]
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
getUDSignableAddresses(domain: string): Promise<SignableAddress[]>;
|
|
256
|
+
/**
|
|
257
|
+
* Detect signature type from address format
|
|
258
|
+
*
|
|
259
|
+
* @param address The blockchain address to analyze
|
|
260
|
+
* @returns "evm" for Ethereum-compatible addresses, "solana" for Solana addresses
|
|
261
|
+
* @throws Error if address format is not recognized
|
|
262
|
+
*
|
|
263
|
+
* @private
|
|
264
|
+
*/
|
|
265
|
+
private detectSignatureType;
|
|
234
266
|
/**
|
|
235
267
|
* Generate a challenge message for Unstoppable Domain ownership verification.
|
|
236
268
|
*
|
|
237
|
-
* The user must sign this challenge with their domain's
|
|
238
|
-
* using MetaMask or
|
|
269
|
+
* The user must sign this challenge with one of their domain's authorized addresses
|
|
270
|
+
* using MetaMask (EVM) or Phantom (Solana) wallet.
|
|
239
271
|
*
|
|
240
272
|
* @param demosPublicKey The user's Demos public key (hex string)
|
|
273
|
+
* @param signingAddress The address that will sign the challenge (from domain's authorized addresses)
|
|
241
274
|
* @returns Challenge message to be signed
|
|
242
275
|
*/
|
|
243
|
-
generateUDChallenge(demosPublicKey: string): string;
|
|
276
|
+
generateUDChallenge(demosPublicKey: string, signingAddress: string): string;
|
|
244
277
|
/**
|
|
245
278
|
* Add an Unstoppable Domain identity to the GCR.
|
|
246
279
|
*
|
|
247
280
|
* Flow:
|
|
248
|
-
* 1.
|
|
249
|
-
* 2. User signs challenge with
|
|
281
|
+
* 1. User selects an authorized address from their domain records
|
|
282
|
+
* 2. User signs challenge with their wallet (MetaMask for EVM, Phantom for Solana)
|
|
250
283
|
* 3. Submit domain + signature for verification
|
|
251
284
|
*
|
|
252
285
|
* @param demos A Demos instance to communicate with the RPC
|
|
253
286
|
* @param domain The UD domain (e.g., "brad.crypto")
|
|
254
|
-
* @param
|
|
287
|
+
* @param signingAddress The address used to sign (from domain's authorized addresses)
|
|
288
|
+
* @param signature Signature from the signing address
|
|
255
289
|
* @param signedData The challenge message that was signed
|
|
256
290
|
* @param referralCode Optional referral code
|
|
257
291
|
* @returns The response from the RPC call
|
|
@@ -259,19 +293,27 @@ export declare class Identities {
|
|
|
259
293
|
* @example
|
|
260
294
|
* ```typescript
|
|
261
295
|
* const identities = new Identities()
|
|
262
|
-
*
|
|
263
|
-
*
|
|
296
|
+
* // Get signable addresses for the domain
|
|
297
|
+
* const addresses = await identities.getUDSignableAddresses("brad.crypto")
|
|
298
|
+
* const signingAddress = addresses[0].address // User selects address
|
|
299
|
+
*
|
|
300
|
+
* // Generate challenge with selected address
|
|
301
|
+
* const challenge = identities.generateUDChallenge(demos.publicKey, signingAddress)
|
|
302
|
+
*
|
|
303
|
+
* // User signs challenge (EVM example with MetaMask)
|
|
264
304
|
* const signature = await ethereum.request({
|
|
265
305
|
* method: 'personal_sign',
|
|
266
|
-
* params: [challenge,
|
|
306
|
+
* params: [challenge, signingAddress]
|
|
267
307
|
* })
|
|
308
|
+
*
|
|
268
309
|
* await identities.addUnstoppableDomainIdentity(
|
|
269
310
|
* demos,
|
|
270
311
|
* "brad.crypto",
|
|
312
|
+
* signingAddress,
|
|
271
313
|
* signature,
|
|
272
314
|
* challenge
|
|
273
315
|
* )
|
|
274
316
|
* ```
|
|
275
317
|
*/
|
|
276
|
-
addUnstoppableDomainIdentity(demos: Demos, domain: string, signature: string, signedData: string, referralCode?: string): Promise<RPCResponseWithValidityData>;
|
|
318
|
+
addUnstoppableDomainIdentity(demos: Demos, domain: string, signingAddress: string, signature: string, signedData: string, referralCode?: string): Promise<RPCResponseWithValidityData>;
|
|
277
319
|
}
|
|
@@ -563,20 +563,131 @@ class Identities {
|
|
|
563
563
|
}
|
|
564
564
|
}
|
|
565
565
|
}
|
|
566
|
+
/**
|
|
567
|
+
* Get all signable addresses for a UD domain.
|
|
568
|
+
*
|
|
569
|
+
* This method resolves the domain and extracts all addresses from domain records
|
|
570
|
+
* that can be used to sign challenges (EVM and Solana addresses).
|
|
571
|
+
*
|
|
572
|
+
* @param domain The UD domain (e.g., "brad.crypto")
|
|
573
|
+
* @returns Array of signable addresses with their types
|
|
574
|
+
*
|
|
575
|
+
* @example
|
|
576
|
+
* ```typescript
|
|
577
|
+
* const identities = new Identities()
|
|
578
|
+
* const addresses = await identities.getUDSignableAddresses("brad.crypto")
|
|
579
|
+
* console.log(addresses)
|
|
580
|
+
* // [
|
|
581
|
+
* // { address: "0x1234...", recordKey: "crypto.ETH.address", signatureType: "evm" },
|
|
582
|
+
* // { address: "ABC123...", recordKey: "crypto.SOL.address", signatureType: "solana" }
|
|
583
|
+
* // ]
|
|
584
|
+
* ```
|
|
585
|
+
*/
|
|
586
|
+
async getUDSignableAddresses(domain) {
|
|
587
|
+
// Common UD record keys for crypto addresses
|
|
588
|
+
const UD_RECORD_KEYS = [
|
|
589
|
+
"crypto.ETH.address",
|
|
590
|
+
"crypto.SOL.address",
|
|
591
|
+
"crypto.BTC.address",
|
|
592
|
+
"crypto.MATIC.address",
|
|
593
|
+
"token.EVM.ETH.ETH.address",
|
|
594
|
+
"token.EVM.MATIC.MATIC.address",
|
|
595
|
+
"token.SOL.SOL.SOL.address",
|
|
596
|
+
"token.SOL.SOL.USDC.address",
|
|
597
|
+
];
|
|
598
|
+
const tokenId = ethers_1.ethers.namehash(domain);
|
|
599
|
+
const resolverAbi = [
|
|
600
|
+
"function ownerOf(uint256 tokenId) external view returns (address)",
|
|
601
|
+
"function get(string calldata key, uint256 tokenId) external view returns (string memory)",
|
|
602
|
+
];
|
|
603
|
+
// Try networks in order: Polygon → Base → Sonic → Ethereum UNS → Ethereum CNS
|
|
604
|
+
const networks = [
|
|
605
|
+
{ name: "polygon", registry: "0xa9a6A3626993D487d2Dbda3173cf58cA1a9D9e9f", rpc: "https://polygon-rpc.com" },
|
|
606
|
+
{ name: "base", registry: "0xF6c1b83977DE3dEffC476f5048A0a84d3375d498", rpc: "https://mainnet.base.org" },
|
|
607
|
+
{ name: "sonic", registry: "0xDe1DAdcF11a7447C3D093e97FdbD513f488cE3b4", rpc: "https://rpc.soniclabs.com" },
|
|
608
|
+
{ name: "ethereum", registry: "0x049aba7510f45BA5b64ea9E658E342F904DB358D", rpc: "https://eth.llamarpc.com" },
|
|
609
|
+
];
|
|
610
|
+
for (const network of networks) {
|
|
611
|
+
try {
|
|
612
|
+
const provider = new ethers_1.ethers.JsonRpcProvider(network.rpc);
|
|
613
|
+
const contract = new ethers_1.ethers.Contract(network.registry, resolverAbi, provider);
|
|
614
|
+
// Verify domain exists on this network
|
|
615
|
+
await contract.ownerOf(tokenId);
|
|
616
|
+
// Fetch all record values
|
|
617
|
+
const records = {};
|
|
618
|
+
for (const key of UD_RECORD_KEYS) {
|
|
619
|
+
try {
|
|
620
|
+
const value = await contract.get(key, tokenId);
|
|
621
|
+
records[key] = value || null;
|
|
622
|
+
}
|
|
623
|
+
catch {
|
|
624
|
+
records[key] = null;
|
|
625
|
+
}
|
|
626
|
+
}
|
|
627
|
+
// Extract signable addresses
|
|
628
|
+
const signableAddresses = [];
|
|
629
|
+
for (const [key, value] of Object.entries(records)) {
|
|
630
|
+
if (!value || value === "")
|
|
631
|
+
continue;
|
|
632
|
+
try {
|
|
633
|
+
const signatureType = this.detectSignatureType(value);
|
|
634
|
+
signableAddresses.push({
|
|
635
|
+
address: value,
|
|
636
|
+
recordKey: key,
|
|
637
|
+
signatureType,
|
|
638
|
+
});
|
|
639
|
+
}
|
|
640
|
+
catch {
|
|
641
|
+
// Skip addresses that don't match EVM or Solana format
|
|
642
|
+
continue;
|
|
643
|
+
}
|
|
644
|
+
}
|
|
645
|
+
return signableAddresses;
|
|
646
|
+
}
|
|
647
|
+
catch {
|
|
648
|
+
// Try next network
|
|
649
|
+
continue;
|
|
650
|
+
}
|
|
651
|
+
}
|
|
652
|
+
throw new Error(`Domain ${domain} not found on any supported network`);
|
|
653
|
+
}
|
|
654
|
+
/**
|
|
655
|
+
* Detect signature type from address format
|
|
656
|
+
*
|
|
657
|
+
* @param address The blockchain address to analyze
|
|
658
|
+
* @returns "evm" for Ethereum-compatible addresses, "solana" for Solana addresses
|
|
659
|
+
* @throws Error if address format is not recognized
|
|
660
|
+
*
|
|
661
|
+
* @private
|
|
662
|
+
*/
|
|
663
|
+
detectSignatureType(address) {
|
|
664
|
+
// EVM addresses: 0x + 40 hex characters (secp256k1)
|
|
665
|
+
const evmPattern = /^0x[0-9a-fA-F]{40}$/;
|
|
666
|
+
// Solana addresses: base58 encoded, 32-44 characters (ed25519)
|
|
667
|
+
const solanaPattern = /^[1-9A-HJ-NP-Za-km-z]{32,44}$/;
|
|
668
|
+
if (evmPattern.test(address)) {
|
|
669
|
+
return "evm";
|
|
670
|
+
}
|
|
671
|
+
if (solanaPattern.test(address)) {
|
|
672
|
+
return "solana";
|
|
673
|
+
}
|
|
674
|
+
throw new Error(`Unrecognized address format: ${address}. ` +
|
|
675
|
+
`Expected EVM (0x...) or Solana (base58) address.`);
|
|
676
|
+
}
|
|
566
677
|
/**
|
|
567
678
|
* Generate a challenge message for Unstoppable Domain ownership verification.
|
|
568
679
|
*
|
|
569
|
-
* The user must sign this challenge with their domain's
|
|
570
|
-
* using MetaMask or
|
|
680
|
+
* The user must sign this challenge with one of their domain's authorized addresses
|
|
681
|
+
* using MetaMask (EVM) or Phantom (Solana) wallet.
|
|
571
682
|
*
|
|
572
683
|
* @param demosPublicKey The user's Demos public key (hex string)
|
|
684
|
+
* @param signingAddress The address that will sign the challenge (from domain's authorized addresses)
|
|
573
685
|
* @returns Challenge message to be signed
|
|
574
686
|
*/
|
|
575
|
-
generateUDChallenge(demosPublicKey) {
|
|
687
|
+
generateUDChallenge(demosPublicKey, signingAddress) {
|
|
576
688
|
const timestamp = Date.now();
|
|
577
689
|
const nonce = Math.random().toString(36).substring(7);
|
|
578
|
-
return (`Link
|
|
579
|
-
`Demos Key: ${demosPublicKey}\n` +
|
|
690
|
+
return (`Link ${signingAddress} to Demos identity ${demosPublicKey}\n` +
|
|
580
691
|
`Timestamp: ${timestamp}\n` +
|
|
581
692
|
`Nonce: ${nonce}`);
|
|
582
693
|
}
|
|
@@ -584,13 +695,14 @@ class Identities {
|
|
|
584
695
|
* Add an Unstoppable Domain identity to the GCR.
|
|
585
696
|
*
|
|
586
697
|
* Flow:
|
|
587
|
-
* 1.
|
|
588
|
-
* 2. User signs challenge with
|
|
698
|
+
* 1. User selects an authorized address from their domain records
|
|
699
|
+
* 2. User signs challenge with their wallet (MetaMask for EVM, Phantom for Solana)
|
|
589
700
|
* 3. Submit domain + signature for verification
|
|
590
701
|
*
|
|
591
702
|
* @param demos A Demos instance to communicate with the RPC
|
|
592
703
|
* @param domain The UD domain (e.g., "brad.crypto")
|
|
593
|
-
* @param
|
|
704
|
+
* @param signingAddress The address used to sign (from domain's authorized addresses)
|
|
705
|
+
* @param signature Signature from the signing address
|
|
594
706
|
* @param signedData The challenge message that was signed
|
|
595
707
|
* @param referralCode Optional referral code
|
|
596
708
|
* @returns The response from the RPC call
|
|
@@ -598,34 +710,41 @@ class Identities {
|
|
|
598
710
|
* @example
|
|
599
711
|
* ```typescript
|
|
600
712
|
* const identities = new Identities()
|
|
601
|
-
*
|
|
602
|
-
*
|
|
713
|
+
* // Get signable addresses for the domain
|
|
714
|
+
* const addresses = await identities.getUDSignableAddresses("brad.crypto")
|
|
715
|
+
* const signingAddress = addresses[0].address // User selects address
|
|
716
|
+
*
|
|
717
|
+
* // Generate challenge with selected address
|
|
718
|
+
* const challenge = identities.generateUDChallenge(demos.publicKey, signingAddress)
|
|
719
|
+
*
|
|
720
|
+
* // User signs challenge (EVM example with MetaMask)
|
|
603
721
|
* const signature = await ethereum.request({
|
|
604
722
|
* method: 'personal_sign',
|
|
605
|
-
* params: [challenge,
|
|
723
|
+
* params: [challenge, signingAddress]
|
|
606
724
|
* })
|
|
725
|
+
*
|
|
607
726
|
* await identities.addUnstoppableDomainIdentity(
|
|
608
727
|
* demos,
|
|
609
728
|
* "brad.crypto",
|
|
729
|
+
* signingAddress,
|
|
610
730
|
* signature,
|
|
611
731
|
* challenge
|
|
612
732
|
* )
|
|
613
733
|
* ```
|
|
614
734
|
*/
|
|
615
|
-
async addUnstoppableDomainIdentity(demos, domain, signature, signedData, referralCode) {
|
|
616
|
-
//
|
|
617
|
-
const
|
|
618
|
-
//
|
|
619
|
-
|
|
620
|
-
const publicKey =
|
|
735
|
+
async addUnstoppableDomainIdentity(demos, domain, signingAddress, signature, signedData, referralCode) {
|
|
736
|
+
// Detect signature type from address format
|
|
737
|
+
const signatureType = this.detectSignatureType(signingAddress);
|
|
738
|
+
// Get Demos public key
|
|
739
|
+
const ed25519 = await demos.crypto.getIdentity("ed25519");
|
|
740
|
+
const publicKey = (0, encryption_1.uint8ArrayToHex)(ed25519.publicKey);
|
|
621
741
|
const udPayload = {
|
|
622
742
|
domain,
|
|
623
|
-
|
|
743
|
+
signingAddress,
|
|
744
|
+
signatureType,
|
|
624
745
|
signature,
|
|
625
746
|
publicKey,
|
|
626
747
|
signedData,
|
|
627
|
-
network,
|
|
628
|
-
registryType,
|
|
629
748
|
};
|
|
630
749
|
const payload = {
|
|
631
750
|
context: "ud",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Identities.js","sourceRoot":"","sources":["../../../src/abstraction/Identities.ts"],"names":[],"mappings":"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"}
|
|
@@ -165,18 +165,20 @@ export interface BaseUdIdentityPayload {
|
|
|
165
165
|
* Unstoppable Domains identity payload
|
|
166
166
|
*
|
|
167
167
|
* Follows signature-based verification pattern (like XM identities)
|
|
168
|
-
* User signs challenge with
|
|
168
|
+
* User signs challenge with any authorized address from domain records
|
|
169
169
|
*
|
|
170
|
-
* Multi-chain support: Polygon L2, Base L2, Sonic,
|
|
170
|
+
* Multi-chain support: Polygon L2, Base L2, Sonic, Ethereum L1, and Solana
|
|
171
|
+
* Multi-signature support: EVM (secp256k1) and Solana (ed25519)
|
|
171
172
|
*/
|
|
172
173
|
export interface UDIdentityPayload {
|
|
173
174
|
domain: string;
|
|
174
|
-
|
|
175
|
+
signingAddress: string;
|
|
176
|
+
signatureType: "evm" | "solana";
|
|
175
177
|
signature: string;
|
|
176
178
|
publicKey: string;
|
|
177
179
|
signedData: string;
|
|
178
|
-
network
|
|
179
|
-
registryType
|
|
180
|
+
network?: "polygon" | "ethereum" | "base" | "sonic" | "solana";
|
|
181
|
+
registryType?: "UNS" | "CNS";
|
|
180
182
|
}
|
|
181
183
|
export interface UDIdentityAssignPayload extends BaseUdIdentityPayload {
|
|
182
184
|
method: "ud_identity_assign";
|
|
@@ -203,7 +205,10 @@ export interface UserPoints {
|
|
|
203
205
|
twitter: number;
|
|
204
206
|
github: number;
|
|
205
207
|
discord: number;
|
|
206
|
-
telegram
|
|
208
|
+
telegram?: number;
|
|
209
|
+
};
|
|
210
|
+
udDomains?: {
|
|
211
|
+
[domain: string]: number;
|
|
207
212
|
};
|
|
208
213
|
referrals: number;
|
|
209
214
|
demosFollow: number;
|
|
@@ -14,9 +14,10 @@ import { StorageProgramPayload } from "./TransactionSubtypes/StorageProgramTrans
|
|
|
14
14
|
import { L2PSHashPayload } from "./TransactionSubtypes/L2PSHashTransaction";
|
|
15
15
|
import { ContractDeployPayload } from "./TransactionSubtypes/ContractDeployTransaction";
|
|
16
16
|
import { ContractCallPayload } from "./TransactionSubtypes/ContractCallTransaction";
|
|
17
|
-
|
|
17
|
+
import { D402PaymentPayload } from "./TransactionSubtypes/D402PaymentTransaction";
|
|
18
|
+
export type TransactionContentData = ["web2Request", IWeb2Payload] | ["crosschainOperation", XMScript] | ["native", INativePayload] | ["demoswork", DemoScript] | ["l2psEncryptedTx", L2PSEncryptedPayload] | ["identity", IdentityPayload] | ["instantMessaging", InstantMessagingPayload] | ["nativeBridge", NativeBridgeTxPayload] | ["storage", StoragePayload] | ["storageProgram", StorageProgramPayload] | ["l2ps_hash_update", L2PSHashPayload] | ["contractDeploy", ContractDeployPayload] | ["contractCall", ContractCallPayload] | ["d402_payment", D402PaymentPayload];
|
|
18
19
|
export interface TransactionContent {
|
|
19
|
-
type: "web2Request" | "crosschainOperation" | "subnet" | "native" | "demoswork" | "genesis" | "NODE_ONLINE" | "identity" | "instantMessaging" | "nativeBridge" | "l2psEncryptedTx" | "storage" | "storageProgram" | "l2ps_hash_update" | "contractDeploy" | "contractCall";
|
|
20
|
+
type: "web2Request" | "crosschainOperation" | "subnet" | "native" | "demoswork" | "genesis" | "NODE_ONLINE" | "identity" | "instantMessaging" | "nativeBridge" | "l2psEncryptedTx" | "storage" | "storageProgram" | "l2ps_hash_update" | "contractDeploy" | "contractCall" | "d402_payment";
|
|
20
21
|
from: string;
|
|
21
22
|
from_ed25519_address: string;
|
|
22
23
|
to: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/types/blockchain/Transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"Transaction.js","sourceRoot":"","sources":["../../../../src/types/blockchain/Transaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AA2FA,uCAAuC;AACvC,wDAAqC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Transaction, TransactionContent } from "../Transaction";
|
|
2
|
+
/**
|
|
3
|
+
* D402 Payment Payload
|
|
4
|
+
* Represents a gasless payment transaction in the D402 protocol
|
|
5
|
+
*/
|
|
6
|
+
export interface D402PaymentPayload {
|
|
7
|
+
/** Recipient's Demos address */
|
|
8
|
+
to: string;
|
|
9
|
+
/** Payment amount in smallest unit */
|
|
10
|
+
amount: number;
|
|
11
|
+
/** Optional memo/description for the payment */
|
|
12
|
+
memo?: string;
|
|
13
|
+
}
|
|
14
|
+
export type D402PaymentTransactionContent = Omit<TransactionContent, 'type' | 'data'> & {
|
|
15
|
+
type: 'd402_payment';
|
|
16
|
+
data: ['d402_payment', D402PaymentPayload];
|
|
17
|
+
};
|
|
18
|
+
export interface D402PaymentTransaction extends Omit<Transaction, 'content'> {
|
|
19
|
+
content: D402PaymentTransactionContent;
|
|
20
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"D402PaymentTransaction.js","sourceRoot":"","sources":["../../../../../src/types/blockchain/TransactionSubtypes/D402PaymentTransaction.ts"],"names":[],"mappings":""}
|
|
@@ -11,6 +11,7 @@ export * from './StorageTransaction';
|
|
|
11
11
|
export * from './StorageProgramTransaction';
|
|
12
12
|
export * from './ContractDeployTransaction';
|
|
13
13
|
export * from './ContractCallTransaction';
|
|
14
|
+
export * from './D402PaymentTransaction';
|
|
14
15
|
import { L2PSTransaction } from './L2PSTransaction';
|
|
15
16
|
import { L2PSHashTransaction } from './L2PSHashTransaction';
|
|
16
17
|
import { Web2Transaction } from './Web2Transaction';
|
|
@@ -24,4 +25,5 @@ import { StorageTransaction } from './StorageTransaction';
|
|
|
24
25
|
import { StorageProgramTransaction } from './StorageProgramTransaction';
|
|
25
26
|
import { ContractDeployTransaction } from './ContractDeployTransaction';
|
|
26
27
|
import { ContractCallTransaction } from './ContractCallTransaction';
|
|
27
|
-
|
|
28
|
+
import { D402PaymentTransaction } from './D402PaymentTransaction';
|
|
29
|
+
export type SpecificTransaction = L2PSTransaction | L2PSHashTransaction | Web2Transaction | CrosschainTransaction | NativeTransaction | DemosworkTransaction | IdentityTransaction | InstantMessagingTransaction | NativeBridgeTransaction | StorageTransaction | StorageProgramTransaction | ContractDeployTransaction | ContractCallTransaction | D402PaymentTransaction;
|
|
@@ -27,4 +27,5 @@ __exportStar(require("./StorageTransaction"), exports);
|
|
|
27
27
|
__exportStar(require("./StorageProgramTransaction"), exports);
|
|
28
28
|
__exportStar(require("./ContractDeployTransaction"), exports);
|
|
29
29
|
__exportStar(require("./ContractCallTransaction"), exports);
|
|
30
|
+
__exportStar(require("./D402PaymentTransaction"), exports);
|
|
30
31
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/types/blockchain/TransactionSubtypes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,wDAAqC;AACrC,oDAAiC;AACjC,0DAAuC;AACvC,sDAAmC;AACnC,yDAAsC;AACtC,wDAAqC;AACrC,gEAA6C;AAC7C,4DAAyC;AACzC,uDAAoC;AACpC,8DAA2C;AAC3C,8DAA2C;AAC3C,4DAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/types/blockchain/TransactionSubtypes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAiC;AACjC,wDAAqC;AACrC,oDAAiC;AACjC,0DAAuC;AACvC,sDAAmC;AACnC,yDAAsC;AACtC,wDAAqC;AACrC,gEAA6C;AAC7C,4DAAyC;AACzC,uDAAoC;AACpC,8DAA2C;AAC3C,8DAA2C;AAC3C,4DAAyC;AACzC,2DAAwC"}
|
|
@@ -37,3 +37,11 @@ export declare class HandleNativeOperations {
|
|
|
37
37
|
export declare class HandleIdentityOperations {
|
|
38
38
|
static handle(tx: Transaction): Promise<GCREditIdentity[]>;
|
|
39
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* This class is responsible for handling D402 payment operations when generating the GCREdit
|
|
42
|
+
* for a transaction.
|
|
43
|
+
* D402 payments are gasless (sponsored) and transfer DEM from buyer to seller.
|
|
44
|
+
*/
|
|
45
|
+
export declare class HandleD402Operations {
|
|
46
|
+
static handle(tx: Transaction, isRollback?: boolean): Promise<GCREdit[]>;
|
|
47
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.HandleIdentityOperations = exports.HandleNativeOperations = exports.GCRGeneration = void 0;
|
|
3
|
+
exports.HandleD402Operations = exports.HandleIdentityOperations = exports.HandleNativeOperations = exports.GCRGeneration = void 0;
|
|
4
4
|
const Hashing_1 = require("../encryption/Hashing");
|
|
5
5
|
/**
|
|
6
6
|
* This class is responsible for generating the GCREdit for a transaction and is used
|
|
@@ -33,12 +33,17 @@ class GCRGeneration {
|
|
|
33
33
|
var identityEdits = await HandleIdentityOperations.handle(tx);
|
|
34
34
|
gcrEdits.push(...identityEdits);
|
|
35
35
|
break;
|
|
36
|
+
case "d402_payment": {
|
|
37
|
+
var d402Edits = await HandleD402Operations.handle(tx, isRollback);
|
|
38
|
+
gcrEdits.push(...d402Edits);
|
|
39
|
+
break;
|
|
40
|
+
}
|
|
36
41
|
}
|
|
37
42
|
// SECTION Operations valid for all tx types
|
|
38
43
|
// Add gas operation edit with check for availability of gas amount in the sender's balance
|
|
39
44
|
nonceEdits: try {
|
|
40
|
-
// INFO: Skip gas for identity
|
|
41
|
-
if (content.type === "identity") {
|
|
45
|
+
// INFO: Skip gas for identity and D402 payments (gasless/sponsored transactions)
|
|
46
|
+
if (content.type === "identity" || content.type === "d402_payment") {
|
|
42
47
|
break nonceEdits;
|
|
43
48
|
}
|
|
44
49
|
var gasAmount = 1; // TODO Implement gas calculation to reach 1 cent per tx
|
|
@@ -247,4 +252,40 @@ class HandleIdentityOperations {
|
|
|
247
252
|
}
|
|
248
253
|
}
|
|
249
254
|
exports.HandleIdentityOperations = HandleIdentityOperations;
|
|
255
|
+
/**
|
|
256
|
+
* This class is responsible for handling D402 payment operations when generating the GCREdit
|
|
257
|
+
* for a transaction.
|
|
258
|
+
* D402 payments are gasless (sponsored) and transfer DEM from buyer to seller.
|
|
259
|
+
*/
|
|
260
|
+
class HandleD402Operations {
|
|
261
|
+
static async handle(tx, isRollback = false) {
|
|
262
|
+
const edits = [];
|
|
263
|
+
// Import the D402PaymentPayload type at runtime
|
|
264
|
+
const d402PayloadData = tx.content.data;
|
|
265
|
+
const d402Payload = d402PayloadData[1];
|
|
266
|
+
const { to, amount } = d402Payload;
|
|
267
|
+
// Remove amount from sender's balance
|
|
268
|
+
const subtractEdit = {
|
|
269
|
+
type: "balance",
|
|
270
|
+
operation: "remove",
|
|
271
|
+
isRollback: isRollback,
|
|
272
|
+
account: tx.content.from_ed25519_address,
|
|
273
|
+
txhash: tx.hash,
|
|
274
|
+
amount: amount,
|
|
275
|
+
};
|
|
276
|
+
edits.push(subtractEdit);
|
|
277
|
+
// Add amount to recipient's balance
|
|
278
|
+
const addEdit = {
|
|
279
|
+
type: "balance",
|
|
280
|
+
operation: "add",
|
|
281
|
+
isRollback: isRollback,
|
|
282
|
+
account: to,
|
|
283
|
+
txhash: tx.hash,
|
|
284
|
+
amount: amount,
|
|
285
|
+
};
|
|
286
|
+
edits.push(addEdit);
|
|
287
|
+
return edits;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
exports.HandleD402Operations = HandleD402Operations;
|
|
250
291
|
//# sourceMappingURL=GCRGeneration.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GCRGeneration.js","sourceRoot":"","sources":["../../../src/websdk/GCRGeneration.ts"],"names":[],"mappings":";;;AAWA,kDAA8C;AAI9C;;;;GAIG;AACH,MAAa,aAAa;IACtB,MAAM,CAAC,KAAK,CAAC,QAAQ,CACjB,EAAe,EACf,aAAsB,KAAK;QAE3B,MAAM,QAAQ,GAAc,EAAE,CAAA;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAA;QAEtB,gCAAgC;QAChC,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,WAAW;gBACZ,sBAAsB;gBACtB,MAAK;YACT,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACZ,IAAI,WAAW,GAAG,MAAM,sBAAsB,CAAC,MAAM,CACjD,EAAE,EACF,UAAU,CACb,CAAA;gBACD,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,CAAA;gBAC7B,MAAK;YACT,CAAC;YACD,KAAK,aAAa,CAAC;YACnB,KAAK,qBAAqB;gBACtB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,CAAA;gBAC1D,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzB,MAAK;YACT,KAAK,SAAS;gBACV,sBAAsB;gBACtB,MAAK;YACT,KAAK,UAAU;gBACX,IAAI,aAAa,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;gBAC7D,QAAQ,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAA;gBAC/B,MAAK;
|
|
1
|
+
{"version":3,"file":"GCRGeneration.js","sourceRoot":"","sources":["../../../src/websdk/GCRGeneration.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kynesyslabs/demosdk",
|
|
3
|
-
"version": "2.4.
|
|
3
|
+
"version": "2.4.25",
|
|
4
4
|
"description": "Demosdk is a JavaScript/TypeScript SDK that provides a unified interface for interacting with Demos network",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|