@waiaas/adapter-ripple 2.13.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * XRPL address utility functions.
3
+ *
4
+ * Handles r-address (classic) and X-address format conversion,
5
+ * drops/XRP unit conversion, and address validation.
6
+ */
7
+ /** XRP has 6 decimal places. 1 XRP = 1,000,000 drops. */
8
+ export declare const XRP_DECIMALS = 6;
9
+ export declare const DROPS_PER_XRP = 1000000n;
10
+ /**
11
+ * Detect whether an address is in X-address format.
12
+ * X-addresses start with 'X' (mainnet) or 'T' (testnet).
13
+ */
14
+ export declare function isXAddress(address: string): boolean;
15
+ /**
16
+ * Decode an X-address to its classic r-address and optional destination tag.
17
+ * @throws Error if the address is not a valid X-address
18
+ */
19
+ export declare function decodeXAddress(xAddress: string): {
20
+ classicAddress: string;
21
+ tag: number | false;
22
+ };
23
+ /**
24
+ * Validate a Ripple address (classic r-address or X-address).
25
+ */
26
+ export declare function isValidRippleAddress(address: string): boolean;
27
+ /**
28
+ * Convert drops (bigint) to XRP string with up to 6 decimal places.
29
+ * Example: 1000000n -> "1", 500000n -> "0.5", 1n -> "0.000001"
30
+ */
31
+ export declare function dropsToXrp(drops: bigint): string;
32
+ /**
33
+ * Convert XRP string to drops (bigint).
34
+ * Example: "1" -> 1000000n, "0.5" -> 500000n, "0.000001" -> 1n
35
+ */
36
+ export declare function xrpToDrops(xrp: string): bigint;
37
+ //# sourceMappingURL=address-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-utils.d.ts","sourceRoot":"","sources":["../src/address-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,yDAAyD;AACzD,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,aAAa,WAAa,CAAC;AAExC;;;GAGG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAGhG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAahD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAc9C"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * XRPL address utility functions.
3
+ *
4
+ * Handles r-address (classic) and X-address format conversion,
5
+ * drops/XRP unit conversion, and address validation.
6
+ */
7
+ import { isValidClassicAddress, isValidXAddress, xAddressToClassicAddress } from 'xrpl';
8
+ /** XRP has 6 decimal places. 1 XRP = 1,000,000 drops. */
9
+ export const XRP_DECIMALS = 6;
10
+ export const DROPS_PER_XRP = 1000000n;
11
+ /**
12
+ * Detect whether an address is in X-address format.
13
+ * X-addresses start with 'X' (mainnet) or 'T' (testnet).
14
+ */
15
+ export function isXAddress(address) {
16
+ return isValidXAddress(address);
17
+ }
18
+ /**
19
+ * Decode an X-address to its classic r-address and optional destination tag.
20
+ * @throws Error if the address is not a valid X-address
21
+ */
22
+ export function decodeXAddress(xAddress) {
23
+ const result = xAddressToClassicAddress(xAddress);
24
+ return { classicAddress: result.classicAddress, tag: result.tag };
25
+ }
26
+ /**
27
+ * Validate a Ripple address (classic r-address or X-address).
28
+ */
29
+ export function isValidRippleAddress(address) {
30
+ return isValidClassicAddress(address) || isValidXAddress(address);
31
+ }
32
+ /**
33
+ * Convert drops (bigint) to XRP string with up to 6 decimal places.
34
+ * Example: 1000000n -> "1", 500000n -> "0.5", 1n -> "0.000001"
35
+ */
36
+ export function dropsToXrp(drops) {
37
+ const isNegative = drops < 0n;
38
+ const absDrops = isNegative ? -drops : drops;
39
+ const wholePart = absDrops / DROPS_PER_XRP;
40
+ const fracPart = absDrops % DROPS_PER_XRP;
41
+ if (fracPart === 0n) {
42
+ return `${isNegative ? '-' : ''}${wholePart.toString()}`;
43
+ }
44
+ // Pad fractional part to 6 digits, then strip trailing zeros
45
+ const fracStr = fracPart.toString().padStart(6, '0').replace(/0+$/, '');
46
+ return `${isNegative ? '-' : ''}${wholePart.toString()}.${fracStr}`;
47
+ }
48
+ /**
49
+ * Convert XRP string to drops (bigint).
50
+ * Example: "1" -> 1000000n, "0.5" -> 500000n, "0.000001" -> 1n
51
+ */
52
+ export function xrpToDrops(xrp) {
53
+ const trimmed = xrp.trim();
54
+ if (trimmed === '')
55
+ throw new Error('Cannot convert empty string to drops');
56
+ const parts = trimmed.split('.');
57
+ if (parts.length > 2)
58
+ throw new Error(`Invalid XRP value: ${xrp}`);
59
+ const wholePart = parts[0] ?? '0';
60
+ const fracPart = (parts[1] ?? '').padEnd(6, '0').slice(0, 6);
61
+ const whole = BigInt(wholePart) * DROPS_PER_XRP;
62
+ const frac = BigInt(fracPart);
63
+ return trimmed.startsWith('-') ? -((-whole) + frac) : whole + frac;
64
+ }
65
+ //# sourceMappingURL=address-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-utils.js","sourceRoot":"","sources":["../src/address-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,MAAM,CAAC;AAExF,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,QAAU,CAAC;AAExC;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,OAAe;IACxC,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC;AAClC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,qBAAqB,CAAC,OAAO,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,KAAa;IACtC,MAAM,UAAU,GAAG,KAAK,GAAG,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7C,MAAM,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC3C,MAAM,QAAQ,GAAG,QAAQ,GAAG,aAAa,CAAC;IAE1C,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QACpB,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;IAC3D,CAAC;IAED,6DAA6D;IAC7D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,OAAO,EAAE,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,OAAO,KAAK,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAE5E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;IAEnE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC;IAClC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,aAAa,CAAC;IAChD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9B,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;AACrE,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * XRPL Currency Code utilities for Trust Line tokens.
3
+ *
4
+ * Handles 3-char ISO currency codes (e.g., "USD", "EUR") and
5
+ * 40-char hex currency codes (non-standard tokens).
6
+ * IOU tokens have up to 15 significant digits of precision.
7
+ */
8
+ /** XRPL IOU tokens have up to 15 significant digits. */
9
+ export declare const IOU_DECIMALS = 15;
10
+ /**
11
+ * Validate an XRPL currency code.
12
+ * Accepts:
13
+ * - 3-character ISO codes (letters only, not "XRP" which is reserved)
14
+ * - 40-character hex codes (uppercase hex digits)
15
+ */
16
+ export declare function isValidCurrencyCode(code: string): boolean;
17
+ /**
18
+ * Normalize a currency code to uppercase.
19
+ * 3-char codes: uppercase. 40-char hex: uppercase.
20
+ */
21
+ export declare function normalizeCurrencyCode(code: string): string;
22
+ /**
23
+ * Parse a Trust Line token address in "{currency}.{issuer}" format.
24
+ * @throws ChainError('INVALID_INSTRUCTION') if format is invalid
25
+ */
26
+ export declare function parseTrustLineToken(tokenAddress: string): {
27
+ currency: string;
28
+ issuer: string;
29
+ };
30
+ /**
31
+ * Convert a decimal string value to bigint in smallest unit.
32
+ * Example: "100.5" with 15 decimals -> 100_500_000_000_000_000n
33
+ */
34
+ export declare function iouToSmallestUnit(value: string, decimals: number): bigint;
35
+ /**
36
+ * Convert a bigint in smallest unit back to decimal string.
37
+ * Example: 100_500_000_000_000_000n with 15 decimals -> "100.5"
38
+ */
39
+ export declare function smallestUnitToIou(amount: bigint, decimals: number): string;
40
+ //# sourceMappingURL=currency-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency-utils.d.ts","sourceRoot":"","sources":["../src/currency-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,wDAAwD;AACxD,eAAO,MAAM,YAAY,KAAK,CAAC;AAa/B;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgBzD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAwB9F;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAuBzE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAiB1E"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * XRPL Currency Code utilities for Trust Line tokens.
3
+ *
4
+ * Handles 3-char ISO currency codes (e.g., "USD", "EUR") and
5
+ * 40-char hex currency codes (non-standard tokens).
6
+ * IOU tokens have up to 15 significant digits of precision.
7
+ */
8
+ import { ChainError } from '@waiaas/core';
9
+ /** XRPL IOU tokens have up to 15 significant digits. */
10
+ export const IOU_DECIMALS = 15;
11
+ const MULTIPLIER_CACHE = new Map();
12
+ function getMultiplier(decimals) {
13
+ let cached = MULTIPLIER_CACHE.get(decimals);
14
+ if (!cached) {
15
+ cached = 10n ** BigInt(decimals);
16
+ MULTIPLIER_CACHE.set(decimals, cached);
17
+ }
18
+ return cached;
19
+ }
20
+ /**
21
+ * Validate an XRPL currency code.
22
+ * Accepts:
23
+ * - 3-character ISO codes (letters only, not "XRP" which is reserved)
24
+ * - 40-character hex codes (uppercase hex digits)
25
+ */
26
+ export function isValidCurrencyCode(code) {
27
+ if (!code || typeof code !== 'string')
28
+ return false;
29
+ // 3-char ISO code: letters only, not "XRP"
30
+ if (code.length === 3) {
31
+ if (!/^[A-Za-z]{3}$/.test(code))
32
+ return false;
33
+ if (code.toUpperCase() === 'XRP')
34
+ return false;
35
+ return true;
36
+ }
37
+ // 40-char hex code
38
+ if (code.length === 40) {
39
+ return /^[0-9A-Fa-f]{40}$/.test(code);
40
+ }
41
+ return false;
42
+ }
43
+ /**
44
+ * Normalize a currency code to uppercase.
45
+ * 3-char codes: uppercase. 40-char hex: uppercase.
46
+ */
47
+ export function normalizeCurrencyCode(code) {
48
+ return code.toUpperCase();
49
+ }
50
+ /**
51
+ * Parse a Trust Line token address in "{currency}.{issuer}" format.
52
+ * @throws ChainError('INVALID_INSTRUCTION') if format is invalid
53
+ */
54
+ export function parseTrustLineToken(tokenAddress) {
55
+ if (!tokenAddress || typeof tokenAddress !== 'string') {
56
+ throw new ChainError('INVALID_INSTRUCTION', 'ripple', {
57
+ message: `Invalid Trust Line token address: ${tokenAddress}`,
58
+ });
59
+ }
60
+ const dotIndex = tokenAddress.indexOf('.');
61
+ if (dotIndex === -1 || dotIndex === 0 || dotIndex === tokenAddress.length - 1) {
62
+ throw new ChainError('INVALID_INSTRUCTION', 'ripple', {
63
+ message: `Invalid Trust Line token address format. Expected "{currency}.{issuer}", got: ${tokenAddress}`,
64
+ });
65
+ }
66
+ const currency = tokenAddress.slice(0, dotIndex);
67
+ const issuer = tokenAddress.slice(dotIndex + 1);
68
+ if (!currency || !issuer) {
69
+ throw new ChainError('INVALID_INSTRUCTION', 'ripple', {
70
+ message: `Invalid Trust Line token address: empty currency or issuer in ${tokenAddress}`,
71
+ });
72
+ }
73
+ return { currency: normalizeCurrencyCode(currency), issuer };
74
+ }
75
+ /**
76
+ * Convert a decimal string value to bigint in smallest unit.
77
+ * Example: "100.5" with 15 decimals -> 100_500_000_000_000_000n
78
+ */
79
+ export function iouToSmallestUnit(value, decimals) {
80
+ const trimmed = value.trim();
81
+ if (trimmed === '' || trimmed === '0')
82
+ return 0n;
83
+ const isNegative = trimmed.startsWith('-');
84
+ const absValue = isNegative ? trimmed.slice(1) : trimmed;
85
+ const parts = absValue.split('.');
86
+ if (parts.length > 2) {
87
+ throw new ChainError('INVALID_INSTRUCTION', 'ripple', {
88
+ message: `Invalid IOU value: ${value}`,
89
+ });
90
+ }
91
+ const wholePart = parts[0] ?? '0';
92
+ const fracPart = (parts[1] ?? '').padEnd(decimals, '0').slice(0, decimals);
93
+ const multiplier = getMultiplier(decimals);
94
+ const whole = BigInt(wholePart) * multiplier;
95
+ const frac = BigInt(fracPart);
96
+ const result = whole + frac;
97
+ return isNegative ? -result : result;
98
+ }
99
+ /**
100
+ * Convert a bigint in smallest unit back to decimal string.
101
+ * Example: 100_500_000_000_000_000n with 15 decimals -> "100.5"
102
+ */
103
+ export function smallestUnitToIou(amount, decimals) {
104
+ if (amount === 0n)
105
+ return '0';
106
+ const isNegative = amount < 0n;
107
+ const absAmount = isNegative ? -amount : amount;
108
+ const multiplier = getMultiplier(decimals);
109
+ const wholePart = absAmount / multiplier;
110
+ const fracPart = absAmount % multiplier;
111
+ if (fracPart === 0n) {
112
+ return `${isNegative ? '-' : ''}${wholePart.toString()}`;
113
+ }
114
+ // Pad fractional part and strip trailing zeros
115
+ const fracStr = fracPart.toString().padStart(decimals, '0').replace(/0+$/, '');
116
+ return `${isNegative ? '-' : ''}${wholePart.toString()}.${fracStr}`;
117
+ }
118
+ //# sourceMappingURL=currency-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currency-utils.js","sourceRoot":"","sources":["../src/currency-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { RippleAdapter } from './adapter.js';
2
+ export { isXAddress, decodeXAddress, isValidRippleAddress, dropsToXrp, xrpToDrops, XRP_DECIMALS, DROPS_PER_XRP, } from './address-utils.js';
3
+ export { parseRippleTransaction } from './tx-parser.js';
4
+ export { IOU_DECIMALS, isValidCurrencyCode, normalizeCurrencyCode, parseTrustLineToken, iouToSmallestUnit, smallestUnitToIou, } from './currency-utils.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,6 @@
1
+ // @waiaas/adapter-ripple
2
+ export { RippleAdapter } from './adapter.js';
3
+ export { isXAddress, decodeXAddress, isValidRippleAddress, dropsToXrp, xrpToDrops, XRP_DECIMALS, DROPS_PER_XRP, } from './address-utils.js';
4
+ export { parseRippleTransaction } from './tx-parser.js';
5
+ export { IOU_DECIMALS, isValidCurrencyCode, normalizeCurrencyCode, parseTrustLineToken, iouToSmallestUnit, smallestUnitToIou, } from './currency-utils.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,cAAc,EACd,oBAAoB,EACpB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * XLS-20 NFT utility functions for XRPL.
3
+ *
4
+ * Provides helpers for:
5
+ * - Decoding hex-encoded NFT URIs to UTF-8 strings
6
+ * - Parsing NFTokenID to extract taxon and sequence fields
7
+ *
8
+ * @see Phase 473-01 (XLS-20 NFT adapter)
9
+ */
10
+ /**
11
+ * Decode a hex-encoded NFT URI to a UTF-8 string.
12
+ * XRPL stores URIs as uppercase hex strings in NFToken objects.
13
+ *
14
+ * @param hexUri - Hex-encoded URI string (e.g., "697066733A2F2F...")
15
+ * @returns Decoded UTF-8 string (e.g., "ipfs://...")
16
+ */
17
+ export declare function decodeNftUri(hexUri: string): string;
18
+ /**
19
+ * Parse an XLS-20 NFTokenID (64-char hex) to extract embedded fields.
20
+ *
21
+ * NFTokenID structure (256 bits / 64 hex chars):
22
+ * [0-3] Flags (16 bits)
23
+ * [4-7] TransferFee (16 bits)
24
+ * [8-47] Issuer AccountID (160 bits / 40 hex chars)
25
+ * [48-55] Taxon (32 bits, scrambled with sequence)
26
+ * [56-63] Sequence (32 bits)
27
+ *
28
+ * Note: The taxon field in the NFTokenID is scrambled (XORed) with the sequence
29
+ * using a deterministic algorithm. This function returns the raw (scrambled) taxon.
30
+ *
31
+ * @param nftTokenId - 64-character hex NFTokenID
32
+ * @returns Parsed fields: flags, transferFee, issuer, taxon (raw), sequence
33
+ */
34
+ export declare function parseNftTokenId(nftTokenId: string): {
35
+ flags: number;
36
+ transferFee: number;
37
+ issuer: string;
38
+ taxon: number;
39
+ sequence: number;
40
+ };
41
+ //# sourceMappingURL=nft-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nft-utils.d.ts","sourceRoot":"","sources":["../src/nft-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQnD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB,CAYA"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * XLS-20 NFT utility functions for XRPL.
3
+ *
4
+ * Provides helpers for:
5
+ * - Decoding hex-encoded NFT URIs to UTF-8 strings
6
+ * - Parsing NFTokenID to extract taxon and sequence fields
7
+ *
8
+ * @see Phase 473-01 (XLS-20 NFT adapter)
9
+ */
10
+ /**
11
+ * Decode a hex-encoded NFT URI to a UTF-8 string.
12
+ * XRPL stores URIs as uppercase hex strings in NFToken objects.
13
+ *
14
+ * @param hexUri - Hex-encoded URI string (e.g., "697066733A2F2F...")
15
+ * @returns Decoded UTF-8 string (e.g., "ipfs://...")
16
+ */
17
+ export function decodeNftUri(hexUri) {
18
+ if (!hexUri || hexUri.length === 0)
19
+ return '';
20
+ // Convert hex pairs to bytes, then decode as UTF-8
21
+ const bytes = new Uint8Array(hexUri.length / 2);
22
+ for (let i = 0; i < hexUri.length; i += 2) {
23
+ bytes[i / 2] = parseInt(hexUri.substring(i, i + 2), 16);
24
+ }
25
+ return new TextDecoder().decode(bytes);
26
+ }
27
+ /**
28
+ * Parse an XLS-20 NFTokenID (64-char hex) to extract embedded fields.
29
+ *
30
+ * NFTokenID structure (256 bits / 64 hex chars):
31
+ * [0-3] Flags (16 bits)
32
+ * [4-7] TransferFee (16 bits)
33
+ * [8-47] Issuer AccountID (160 bits / 40 hex chars)
34
+ * [48-55] Taxon (32 bits, scrambled with sequence)
35
+ * [56-63] Sequence (32 bits)
36
+ *
37
+ * Note: The taxon field in the NFTokenID is scrambled (XORed) with the sequence
38
+ * using a deterministic algorithm. This function returns the raw (scrambled) taxon.
39
+ *
40
+ * @param nftTokenId - 64-character hex NFTokenID
41
+ * @returns Parsed fields: flags, transferFee, issuer, taxon (raw), sequence
42
+ */
43
+ export function parseNftTokenId(nftTokenId) {
44
+ if (!nftTokenId || nftTokenId.length !== 64) {
45
+ throw new Error(`Invalid NFTokenID: expected 64 hex chars, got ${nftTokenId?.length ?? 0}`);
46
+ }
47
+ const flags = parseInt(nftTokenId.substring(0, 4), 16);
48
+ const transferFee = parseInt(nftTokenId.substring(4, 8), 16);
49
+ const issuer = nftTokenId.substring(8, 48);
50
+ const taxon = parseInt(nftTokenId.substring(48, 56), 16);
51
+ const sequence = parseInt(nftTokenId.substring(56, 64), 16);
52
+ return { flags, transferFee, issuer, taxon, sequence };
53
+ }
54
+ //# sourceMappingURL=nft-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nft-utils.js","sourceRoot":"","sources":["../src/nft-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9C,mDAAmD;IACnD,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,UAAkB;IAOhD,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,EAAE,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,iDAAiD,UAAU,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5D,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;AACzD,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * XRPL transaction parser for sign-only operations.
3
+ *
4
+ * Parses raw XRPL transaction JSON into structured ParsedTransaction format.
5
+ * Supports Payment (native + IOU), TrustSet, and unknown transaction types.
6
+ */
7
+ import type { ParsedTransaction } from '@waiaas/core';
8
+ /**
9
+ * Parse a raw XRPL transaction JSON string into structured operations.
10
+ */
11
+ export declare function parseRippleTransaction(rawTx: string): ParsedTransaction;
12
+ //# sourceMappingURL=tx-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-parser.d.ts","sourceRoot":"","sources":["../src/tx-parser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAwC,MAAM,cAAc,CAAC;AAG5F;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAmFvE"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * XRPL transaction parser for sign-only operations.
3
+ *
4
+ * Parses raw XRPL transaction JSON into structured ParsedTransaction format.
5
+ * Supports Payment (native + IOU), TrustSet, and unknown transaction types.
6
+ */
7
+ import { iouToSmallestUnit, IOU_DECIMALS } from './currency-utils.js';
8
+ /**
9
+ * Parse a raw XRPL transaction JSON string into structured operations.
10
+ */
11
+ export function parseRippleTransaction(rawTx) {
12
+ const tx = JSON.parse(rawTx);
13
+ const operations = [];
14
+ const txType = tx['TransactionType'];
15
+ if (txType === 'Payment') {
16
+ const amount = tx['Amount'];
17
+ let type;
18
+ let token;
19
+ let parsedAmount;
20
+ if (typeof amount === 'string') {
21
+ // Native XRP transfer (amount in drops)
22
+ type = 'NATIVE_TRANSFER';
23
+ parsedAmount = BigInt(amount);
24
+ }
25
+ else if (typeof amount === 'object' && amount !== null) {
26
+ // IOU token transfer
27
+ type = 'TOKEN_TRANSFER';
28
+ const amountObj = amount;
29
+ token = `${amountObj.currency ?? 'unknown'}.${amountObj.issuer ?? 'unknown'}`;
30
+ // IOU values: convert to 15-decimal smallest unit for full precision
31
+ try {
32
+ const value = amountObj.value ?? '0';
33
+ parsedAmount = iouToSmallestUnit(value, IOU_DECIMALS);
34
+ }
35
+ catch {
36
+ parsedAmount = 0n;
37
+ }
38
+ }
39
+ else {
40
+ type = 'UNKNOWN';
41
+ }
42
+ operations.push({
43
+ type,
44
+ to: tx['Destination'],
45
+ amount: parsedAmount,
46
+ token,
47
+ });
48
+ }
49
+ else if (txType === 'TrustSet') {
50
+ const limitAmount = tx['LimitAmount'];
51
+ operations.push({
52
+ type: 'APPROVE',
53
+ to: limitAmount?.issuer,
54
+ token: limitAmount ? `${limitAmount.currency ?? 'unknown'}.${limitAmount.issuer ?? 'unknown'}` : undefined,
55
+ });
56
+ }
57
+ else if (txType === 'OfferCreate') {
58
+ // DEX offer: TakerGets is what the Account gives (= spending amount)
59
+ const takerGets = tx['TakerGets'];
60
+ let parsedAmount;
61
+ let token;
62
+ if (typeof takerGets === 'string') {
63
+ // XRP in drops
64
+ parsedAmount = BigInt(takerGets);
65
+ }
66
+ else if (typeof takerGets === 'object' && takerGets !== null) {
67
+ const iou = takerGets;
68
+ token = `${iou.currency ?? 'unknown'}.${iou.issuer ?? 'unknown'}`;
69
+ try {
70
+ parsedAmount = iouToSmallestUnit(iou.value ?? '0', IOU_DECIMALS);
71
+ }
72
+ catch {
73
+ parsedAmount = 0n;
74
+ }
75
+ }
76
+ operations.push({
77
+ type: 'CONTRACT_CALL',
78
+ amount: parsedAmount,
79
+ token,
80
+ method: 'OfferCreate',
81
+ });
82
+ }
83
+ else if (txType === 'OfferCancel') {
84
+ operations.push({
85
+ type: 'CONTRACT_CALL',
86
+ method: 'OfferCancel',
87
+ });
88
+ }
89
+ else {
90
+ operations.push({
91
+ type: 'UNKNOWN',
92
+ method: txType,
93
+ });
94
+ }
95
+ return { operations, rawTx };
96
+ }
97
+ //# sourceMappingURL=tx-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tx-parser.js","sourceRoot":"","sources":["../src/tx-parser.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@waiaas/adapter-ripple",
3
+ "version": "2.13.0",
4
+ "description": "WAIaaS Ripple chain adapter - XRP Ledger native transfer support",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/minhoyoo-iotrust/WAIaaS.git",
10
+ "directory": "packages/adapters/ripple"
11
+ },
12
+ "homepage": "https://github.com/minhoyoo-iotrust/WAIaaS#readme",
13
+ "bugs": {
14
+ "url": "https://github.com/minhoyoo-iotrust/WAIaaS/issues"
15
+ },
16
+ "publishConfig": {
17
+ "access": "public"
18
+ },
19
+ "main": "dist/index.js",
20
+ "types": "dist/index.d.ts",
21
+ "exports": {
22
+ ".": {
23
+ "import": "./dist/index.js",
24
+ "types": "./dist/index.d.ts"
25
+ }
26
+ },
27
+ "files": [
28
+ "dist"
29
+ ],
30
+ "scripts": {
31
+ "build": "tsc -p tsconfig.build.json",
32
+ "test": "vitest run",
33
+ "test:unit": "vitest run",
34
+ "test:integration": "[ -d src/__tests__/integration ] && vitest run --dir src/__tests__/integration || true",
35
+ "test:security": "[ -d src/__tests__/security ] && vitest run --dir src/__tests__/security || true",
36
+ "test:chain": "[ -d src/__tests__/chain ] && vitest run --dir src/__tests__/chain || true",
37
+ "test:platform": "[ -d src/__tests__/platform ] && vitest run --dir src/__tests__/platform || true",
38
+ "lint": "eslint src/",
39
+ "typecheck": "tsc --noEmit",
40
+ "clean": "rm -rf dist"
41
+ },
42
+ "dependencies": {
43
+ "@waiaas/core": "workspace:*",
44
+ "xrpl": "^4.1.0",
45
+ "ripple-keypairs": "^2.0.0"
46
+ }
47
+ }