@galaxy-kj/core-stellar-sdk 2.0.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.
Files changed (179) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +576 -0
  3. package/dist/claimable-balances/claimable-balance-manager.d.ts +99 -0
  4. package/dist/claimable-balances/claimable-balance-manager.d.ts.map +1 -0
  5. package/dist/claimable-balances/claimable-balance-manager.js +352 -0
  6. package/dist/claimable-balances/claimable-balance-manager.js.map +1 -0
  7. package/dist/claimable-balances/helpers.d.ts +66 -0
  8. package/dist/claimable-balances/helpers.d.ts.map +1 -0
  9. package/dist/claimable-balances/helpers.js +179 -0
  10. package/dist/claimable-balances/helpers.js.map +1 -0
  11. package/dist/claimable-balances/index.d.ts +12 -0
  12. package/dist/claimable-balances/index.d.ts.map +1 -0
  13. package/dist/claimable-balances/index.js +14 -0
  14. package/dist/claimable-balances/index.js.map +1 -0
  15. package/dist/claimable-balances/predicate-builder.d.ts +66 -0
  16. package/dist/claimable-balances/predicate-builder.d.ts.map +1 -0
  17. package/dist/claimable-balances/predicate-builder.js +169 -0
  18. package/dist/claimable-balances/predicate-builder.js.map +1 -0
  19. package/dist/claimable-balances/types.d.ts +123 -0
  20. package/dist/claimable-balances/types.d.ts.map +1 -0
  21. package/dist/claimable-balances/types.js +9 -0
  22. package/dist/claimable-balances/types.js.map +1 -0
  23. package/dist/hooks/use-stellar.d.ts +48 -0
  24. package/dist/hooks/use-stellar.d.ts.map +1 -0
  25. package/dist/hooks/use-stellar.js +510 -0
  26. package/dist/hooks/use-stellar.js.map +1 -0
  27. package/dist/index.d.ts +19 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +28 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/liquidity-pools/calculations.d.ts +113 -0
  32. package/dist/liquidity-pools/calculations.d.ts.map +1 -0
  33. package/dist/liquidity-pools/calculations.js +291 -0
  34. package/dist/liquidity-pools/calculations.js.map +1 -0
  35. package/dist/liquidity-pools/helpers.d.ts +102 -0
  36. package/dist/liquidity-pools/helpers.d.ts.map +1 -0
  37. package/dist/liquidity-pools/helpers.js +219 -0
  38. package/dist/liquidity-pools/helpers.js.map +1 -0
  39. package/dist/liquidity-pools/index.d.ts +13 -0
  40. package/dist/liquidity-pools/index.d.ts.map +1 -0
  41. package/dist/liquidity-pools/index.js +18 -0
  42. package/dist/liquidity-pools/index.js.map +1 -0
  43. package/dist/liquidity-pools/liquidity-pool-manager.d.ts +106 -0
  44. package/dist/liquidity-pools/liquidity-pool-manager.d.ts.map +1 -0
  45. package/dist/liquidity-pools/liquidity-pool-manager.js +387 -0
  46. package/dist/liquidity-pools/liquidity-pool-manager.js.map +1 -0
  47. package/dist/liquidity-pools/types.d.ts +135 -0
  48. package/dist/liquidity-pools/types.d.ts.map +1 -0
  49. package/dist/liquidity-pools/types.js +6 -0
  50. package/dist/liquidity-pools/types.js.map +1 -0
  51. package/dist/liquidity-pools/validation.d.ts +75 -0
  52. package/dist/liquidity-pools/validation.d.ts.map +1 -0
  53. package/dist/liquidity-pools/validation.js +218 -0
  54. package/dist/liquidity-pools/validation.js.map +1 -0
  55. package/dist/services/stellar-service.d.ts +231 -0
  56. package/dist/services/stellar-service.d.ts.map +1 -0
  57. package/dist/services/stellar-service.js +674 -0
  58. package/dist/services/stellar-service.js.map +1 -0
  59. package/dist/soroban/helpers/contract-factory.d.ts +45 -0
  60. package/dist/soroban/helpers/contract-factory.d.ts.map +1 -0
  61. package/dist/soroban/helpers/contract-factory.js +84 -0
  62. package/dist/soroban/helpers/contract-factory.js.map +1 -0
  63. package/dist/soroban/helpers/token-contract-wrapper.d.ts +104 -0
  64. package/dist/soroban/helpers/token-contract-wrapper.d.ts.map +1 -0
  65. package/dist/soroban/helpers/token-contract-wrapper.js +286 -0
  66. package/dist/soroban/helpers/token-contract-wrapper.js.map +1 -0
  67. package/dist/soroban/index.d.ts +19 -0
  68. package/dist/soroban/index.d.ts.map +1 -0
  69. package/dist/soroban/index.js +19 -0
  70. package/dist/soroban/index.js.map +1 -0
  71. package/dist/soroban/soroban-contract-manager.d.ts +71 -0
  72. package/dist/soroban/soroban-contract-manager.d.ts.map +1 -0
  73. package/dist/soroban/soroban-contract-manager.js +376 -0
  74. package/dist/soroban/soroban-contract-manager.js.map +1 -0
  75. package/dist/soroban/types/contract-types.d.ts +156 -0
  76. package/dist/soroban/types/contract-types.d.ts.map +1 -0
  77. package/dist/soroban/types/contract-types.js +3 -0
  78. package/dist/soroban/types/contract-types.js.map +1 -0
  79. package/dist/soroban/utils/abi-parser.d.ts +90 -0
  80. package/dist/soroban/utils/abi-parser.d.ts.map +1 -0
  81. package/dist/soroban/utils/abi-parser.js +308 -0
  82. package/dist/soroban/utils/abi-parser.js.map +1 -0
  83. package/dist/soroban/utils/error-parser.d.ts +70 -0
  84. package/dist/soroban/utils/error-parser.d.ts.map +1 -0
  85. package/dist/soroban/utils/error-parser.js +302 -0
  86. package/dist/soroban/utils/error-parser.js.map +1 -0
  87. package/dist/soroban/utils/event-decoder.d.ts +91 -0
  88. package/dist/soroban/utils/event-decoder.d.ts.map +1 -0
  89. package/dist/soroban/utils/event-decoder.js +307 -0
  90. package/dist/soroban/utils/event-decoder.js.map +1 -0
  91. package/dist/soroban/utils/event-monitor.d.ts +93 -0
  92. package/dist/soroban/utils/event-monitor.d.ts.map +1 -0
  93. package/dist/soroban/utils/event-monitor.js +282 -0
  94. package/dist/soroban/utils/event-monitor.js.map +1 -0
  95. package/dist/soroban/utils/function-signature-builder.d.ts +98 -0
  96. package/dist/soroban/utils/function-signature-builder.d.ts.map +1 -0
  97. package/dist/soroban/utils/function-signature-builder.js +272 -0
  98. package/dist/soroban/utils/function-signature-builder.js.map +1 -0
  99. package/dist/soroban/utils/scval-converter.d.ts +48 -0
  100. package/dist/soroban/utils/scval-converter.d.ts.map +1 -0
  101. package/dist/soroban/utils/scval-converter.js +320 -0
  102. package/dist/soroban/utils/scval-converter.js.map +1 -0
  103. package/dist/sponsored-reserves/builders/sponsored-account-builder.d.ts +58 -0
  104. package/dist/sponsored-reserves/builders/sponsored-account-builder.d.ts.map +1 -0
  105. package/dist/sponsored-reserves/builders/sponsored-account-builder.js +159 -0
  106. package/dist/sponsored-reserves/builders/sponsored-account-builder.js.map +1 -0
  107. package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.d.ts +104 -0
  108. package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.d.ts.map +1 -0
  109. package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.js +258 -0
  110. package/dist/sponsored-reserves/builders/sponsored-claimable-balance-builder.js.map +1 -0
  111. package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.d.ts +96 -0
  112. package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.d.ts.map +1 -0
  113. package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.js +320 -0
  114. package/dist/sponsored-reserves/builders/sponsored-data-entry-builder.js.map +1 -0
  115. package/dist/sponsored-reserves/builders/sponsored-signer-builder.d.ts +100 -0
  116. package/dist/sponsored-reserves/builders/sponsored-signer-builder.d.ts.map +1 -0
  117. package/dist/sponsored-reserves/builders/sponsored-signer-builder.js +271 -0
  118. package/dist/sponsored-reserves/builders/sponsored-signer-builder.js.map +1 -0
  119. package/dist/sponsored-reserves/builders/sponsored-trustline-builder.d.ts +87 -0
  120. package/dist/sponsored-reserves/builders/sponsored-trustline-builder.d.ts.map +1 -0
  121. package/dist/sponsored-reserves/builders/sponsored-trustline-builder.js +281 -0
  122. package/dist/sponsored-reserves/builders/sponsored-trustline-builder.js.map +1 -0
  123. package/dist/sponsored-reserves/index.d.ts +20 -0
  124. package/dist/sponsored-reserves/index.d.ts.map +1 -0
  125. package/dist/sponsored-reserves/index.js +24 -0
  126. package/dist/sponsored-reserves/index.js.map +1 -0
  127. package/dist/sponsored-reserves/services/sponsored-reserves-manager.d.ts +144 -0
  128. package/dist/sponsored-reserves/services/sponsored-reserves-manager.d.ts.map +1 -0
  129. package/dist/sponsored-reserves/services/sponsored-reserves-manager.js +536 -0
  130. package/dist/sponsored-reserves/services/sponsored-reserves-manager.js.map +1 -0
  131. package/dist/sponsored-reserves/templates/claimable-balance-template.d.ts +96 -0
  132. package/dist/sponsored-reserves/templates/claimable-balance-template.d.ts.map +1 -0
  133. package/dist/sponsored-reserves/templates/claimable-balance-template.js +306 -0
  134. package/dist/sponsored-reserves/templates/claimable-balance-template.js.map +1 -0
  135. package/dist/sponsored-reserves/templates/multi-operation-template.d.ts +99 -0
  136. package/dist/sponsored-reserves/templates/multi-operation-template.d.ts.map +1 -0
  137. package/dist/sponsored-reserves/templates/multi-operation-template.js +313 -0
  138. package/dist/sponsored-reserves/templates/multi-operation-template.js.map +1 -0
  139. package/dist/sponsored-reserves/templates/user-onboarding-template.d.ts +79 -0
  140. package/dist/sponsored-reserves/templates/user-onboarding-template.d.ts.map +1 -0
  141. package/dist/sponsored-reserves/templates/user-onboarding-template.js +262 -0
  142. package/dist/sponsored-reserves/templates/user-onboarding-template.js.map +1 -0
  143. package/dist/sponsored-reserves/types/sponsored-reserves-types.d.ts +364 -0
  144. package/dist/sponsored-reserves/types/sponsored-reserves-types.d.ts.map +1 -0
  145. package/dist/sponsored-reserves/types/sponsored-reserves-types.js +9 -0
  146. package/dist/sponsored-reserves/types/sponsored-reserves-types.js.map +1 -0
  147. package/dist/sponsored-reserves/utils/cost-calculator.d.ts +98 -0
  148. package/dist/sponsored-reserves/utils/cost-calculator.d.ts.map +1 -0
  149. package/dist/sponsored-reserves/utils/cost-calculator.js +238 -0
  150. package/dist/sponsored-reserves/utils/cost-calculator.js.map +1 -0
  151. package/dist/sponsored-reserves/utils/sponsorship-validation.d.ts +112 -0
  152. package/dist/sponsored-reserves/utils/sponsorship-validation.d.ts.map +1 -0
  153. package/dist/sponsored-reserves/utils/sponsorship-validation.js +394 -0
  154. package/dist/sponsored-reserves/utils/sponsorship-validation.js.map +1 -0
  155. package/dist/types/stellar-sdk-compat.d.ts +25 -0
  156. package/dist/types/stellar-sdk-compat.d.ts.map +1 -0
  157. package/dist/types/stellar-sdk-compat.js +44 -0
  158. package/dist/types/stellar-sdk-compat.js.map +1 -0
  159. package/dist/types/stellar-types.d.ts +160 -0
  160. package/dist/types/stellar-types.d.ts.map +1 -0
  161. package/dist/types/stellar-types.js +9 -0
  162. package/dist/types/stellar-types.js.map +1 -0
  163. package/dist/utils/encryption.utils.d.ts +9 -0
  164. package/dist/utils/encryption.utils.d.ts.map +1 -0
  165. package/dist/utils/encryption.utils.js +44 -0
  166. package/dist/utils/encryption.utils.js.map +1 -0
  167. package/dist/utils/network-utils.d.ts +138 -0
  168. package/dist/utils/network-utils.d.ts.map +1 -0
  169. package/dist/utils/network-utils.js +240 -0
  170. package/dist/utils/network-utils.js.map +1 -0
  171. package/dist/utils/stellar-utils.d.ts +114 -0
  172. package/dist/utils/stellar-utils.d.ts.map +1 -0
  173. package/dist/utils/stellar-utils.js +186 -0
  174. package/dist/utils/stellar-utils.js.map +1 -0
  175. package/dist/utils/supabase-client.d.ts +2 -0
  176. package/dist/utils/supabase-client.d.ts.map +1 -0
  177. package/dist/utils/supabase-client.js +9 -0
  178. package/dist/utils/supabase-client.js.map +1 -0
  179. package/package.json +60 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"function-signature-builder.js","sourceRoot":"","sources":["../../../src/soroban/utils/function-signature-builder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @fileoverview Soroban type conversion utilities
3
+ * @description Convert between JavaScript types and Soroban ScVal
4
+ * @author Galaxy DevKit Team
5
+ * @version 1.0.0
6
+ * @since 2024-12-01
7
+ */
8
+ import { xdr } from '@stellar/stellar-sdk';
9
+ import { ScType } from '../types/contract-types';
10
+ export declare class ScValConverter {
11
+ /**
12
+ * Convert JavaScript value to ScVal
13
+ */
14
+ static toScVal(value: any, type?: ScType): xdr.ScVal;
15
+ /**
16
+ * Convert JavaScript value to typed ScVal
17
+ */
18
+ static toTypedScVal(value: any, type: ScType): xdr.ScVal;
19
+ /**
20
+ * Convert ScVal to JavaScript value
21
+ */
22
+ static fromScVal(scVal: xdr.ScVal): any;
23
+ /**
24
+ * Encode function arguments
25
+ */
26
+ static encodeArgs(args: any[], types?: ScType[]): xdr.ScVal[];
27
+ /**
28
+ * Decode function result
29
+ */
30
+ static decodeResult(result: xdr.ScVal, type?: ScType): any;
31
+ /**
32
+ * Convert ScVal to typed JavaScript value
33
+ */
34
+ static fromTypedScVal(scVal: xdr.ScVal, type: ScType): any;
35
+ /**
36
+ * Convert JavaScript symbol to ScVal symbol
37
+ */
38
+ static toSymbol(value: string): xdr.ScVal;
39
+ /**
40
+ * Convert JavaScript address to ScVal address
41
+ */
42
+ static toAddress(address: string): xdr.ScVal;
43
+ /**
44
+ * Convert JavaScript bytes to ScVal bytes
45
+ */
46
+ static toBytes(data: string | Buffer): xdr.ScVal;
47
+ }
48
+ //# sourceMappingURL=scval-converter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scval-converter.d.ts","sourceRoot":"","sources":["../../../src/soroban/utils/scval-converter.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AAEH,OAAO,EAAE,GAAG,EAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEjD,qBAAa,cAAc;IACzB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;IA6EpD;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;IAwGxD;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG;IAgFvC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE;IAW7D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG;IAO1D;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,GAAG,GAAG;IAkF1D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;IAIzC;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,GAAG,CAAC,KAAK;IAI5C;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,GAAG,CAAC,KAAK;CAIjD"}
@@ -0,0 +1,320 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @fileoverview Soroban type conversion utilities
4
+ * @description Convert between JavaScript types and Soroban ScVal
5
+ * @author Galaxy DevKit Team
6
+ * @version 1.0.0
7
+ * @since 2024-12-01
8
+ */
9
+ import { xdr, ScInt, Address } from '@stellar/stellar-sdk';
10
+ export class ScValConverter {
11
+ /**
12
+ * Convert JavaScript value to ScVal
13
+ */
14
+ static toScVal(value, type) {
15
+ if (value === null || value === undefined) {
16
+ return xdr.ScVal.scvVoid();
17
+ }
18
+ if (type) {
19
+ return this.toTypedScVal(value, type);
20
+ }
21
+ // Auto-detect type
22
+ if (typeof value === 'boolean') {
23
+ return xdr.ScVal.scvBool(value);
24
+ }
25
+ if (typeof value === 'number') {
26
+ if (Number.isInteger(value)) {
27
+ return xdr.ScVal.scvI32(value);
28
+ }
29
+ return xdr.ScVal.scvI64(new ScInt(value).toI64());
30
+ }
31
+ if (typeof value === 'bigint') {
32
+ if (value >= 0) {
33
+ return xdr.ScVal.scvU64(new ScInt(value).toU64());
34
+ }
35
+ return xdr.ScVal.scvI64(new ScInt(value).toI64());
36
+ }
37
+ if (typeof value === 'string') {
38
+ // Check if it's an address
39
+ if (value.startsWith('G') && value.length === 56) {
40
+ try {
41
+ const address = new Address(value);
42
+ return address.toScVal();
43
+ }
44
+ catch {
45
+ // Not a valid address, treat as string
46
+ }
47
+ }
48
+ return xdr.ScVal.scvString(value);
49
+ }
50
+ if (Buffer.isBuffer(value)) {
51
+ return xdr.ScVal.scvBytes(value);
52
+ }
53
+ if (Array.isArray(value)) {
54
+ const scVals = value.map(item => this.toScVal(item));
55
+ return xdr.ScVal.scvVec(scVals);
56
+ }
57
+ if (typeof value === 'object') {
58
+ // Handle Map
59
+ if (value instanceof Map) {
60
+ const entries = Array.from(value.entries()).map(([k, v]) => new xdr.ScMapEntry({
61
+ key: this.toScVal(k),
62
+ val: this.toScVal(v),
63
+ }));
64
+ return xdr.ScVal.scvMap(entries);
65
+ }
66
+ // Handle object as Map
67
+ const entries = Object.entries(value).map(([k, v]) => new xdr.ScMapEntry({
68
+ key: this.toScVal(k),
69
+ val: this.toScVal(v),
70
+ }));
71
+ return xdr.ScVal.scvMap(entries);
72
+ }
73
+ throw new Error(`Unsupported type for ScVal conversion: ${typeof value}`);
74
+ }
75
+ /**
76
+ * Convert JavaScript value to typed ScVal
77
+ */
78
+ static toTypedScVal(value, type) {
79
+ switch (type) {
80
+ case 'void':
81
+ return xdr.ScVal.scvVoid();
82
+ case 'bool':
83
+ return xdr.ScVal.scvBool(Boolean(value));
84
+ case 'u32':
85
+ return xdr.ScVal.scvU32(Number(value));
86
+ case 'i32':
87
+ return xdr.ScVal.scvI32(Number(value));
88
+ case 'u64':
89
+ return xdr.ScVal.scvU64(new ScInt(value).toU64());
90
+ case 'i64':
91
+ return xdr.ScVal.scvI64(new ScInt(value).toI64());
92
+ case 'u128':
93
+ return xdr.ScVal.scvU128(new ScInt(value).toU128());
94
+ case 'i128':
95
+ return xdr.ScVal.scvI128(new ScInt(value).toI128());
96
+ case 'u256':
97
+ return xdr.ScVal.scvU256(new ScInt(value).toU256());
98
+ case 'i256':
99
+ return xdr.ScVal.scvI256(new ScInt(value).toI256());
100
+ case 'f32':
101
+ return xdr.ScVal.scvF32(new xdr.Float(Number(value)));
102
+ case 'f64':
103
+ return xdr.ScVal.scvF64(new xdr.Double(Number(value)));
104
+ case 'bytes':
105
+ return xdr.ScVal.scvBytes(Buffer.isBuffer(value) ? value : Buffer.from(value));
106
+ case 'string':
107
+ return xdr.ScVal.scvString(String(value));
108
+ case 'symbol':
109
+ return xdr.ScVal.scvSymbol(value);
110
+ case 'address':
111
+ if (typeof value === 'string') {
112
+ return new Address(value).toScVal();
113
+ }
114
+ return value.toScVal();
115
+ case 'option':
116
+ if (value === null || value === undefined) {
117
+ return xdr.ScVal.scvVoid();
118
+ }
119
+ return this.toScVal(value);
120
+ case 'vec':
121
+ if (!Array.isArray(value)) {
122
+ throw new Error('Expected array for vec type');
123
+ }
124
+ return xdr.ScVal.scvVec(value.map(item => this.toScVal(item)));
125
+ case 'map':
126
+ if (!(value instanceof Map) && typeof value !== 'object') {
127
+ throw new Error('Expected object or Map for map type');
128
+ }
129
+ const entries = value instanceof Map
130
+ ? Array.from(value.entries())
131
+ : Object.entries(value);
132
+ return xdr.ScVal.scvMap(entries.map(([k, v]) => new xdr.ScMapEntry({
133
+ key: this.toScVal(k),
134
+ val: this.toScVal(v),
135
+ })));
136
+ case 'set':
137
+ if (!Array.isArray(value) && !(value instanceof Set)) {
138
+ throw new Error('Expected array or Set for set type');
139
+ }
140
+ const values = value instanceof Set ? Array.from(value) : value;
141
+ return xdr.ScVal.scvVec(values.map(item => this.toScVal(item)));
142
+ case 'tuple':
143
+ if (!Array.isArray(value)) {
144
+ throw new Error('Expected array for tuple type');
145
+ }
146
+ return xdr.ScVal.scvVec(value.map(item => this.toScVal(item)));
147
+ default:
148
+ throw new Error(`Unsupported ScType: ${type}`);
149
+ }
150
+ }
151
+ /**
152
+ * Convert ScVal to JavaScript value
153
+ */
154
+ static fromScVal(scVal) {
155
+ switch (scVal.switch()) {
156
+ case xdr.ScValType.scvVoid():
157
+ return null;
158
+ case xdr.ScValType.scvBool():
159
+ return scVal.bool();
160
+ case xdr.ScValType.scvU32():
161
+ return scVal.u32();
162
+ case xdr.ScValType.scvI32():
163
+ return scVal.i32();
164
+ case xdr.ScValType.scvU64():
165
+ return new ScInt(scVal.u64()).toBigInt();
166
+ case xdr.ScValType.scvI64():
167
+ return new ScInt(scVal.i64()).toBigInt();
168
+ case xdr.ScValType.scvU128():
169
+ return new ScInt(scVal.u128()).toBigInt();
170
+ case xdr.ScValType.scvI128():
171
+ return new ScInt(scVal.i128()).toBigInt();
172
+ case xdr.ScValType.scvU256():
173
+ return new ScInt(scVal.u256()).toBigInt();
174
+ case xdr.ScValType.scvI256():
175
+ return new ScInt(scVal.i256()).toBigInt();
176
+ case xdr.ScValType.scvF32():
177
+ return scVal.f32();
178
+ case xdr.ScValType.scvF64():
179
+ return scVal.f64();
180
+ case xdr.ScValType.scvBytes():
181
+ return scVal.bytes();
182
+ case xdr.ScValType.scvString():
183
+ return scVal.str().toString();
184
+ case xdr.ScValType.scvSymbol():
185
+ return scVal.symbol().toString();
186
+ case xdr.ScValType.scvAddress():
187
+ return Address.fromScVal(scVal).toString();
188
+ case xdr.ScValType.scvVec():
189
+ return scVal.vec().map(item => this.fromScVal(item));
190
+ case xdr.ScValType.scvMap():
191
+ const map = new Map();
192
+ for (const entry of scVal.map()) {
193
+ map.set(this.fromScVal(entry.key()), this.fromScVal(entry.val()));
194
+ }
195
+ return map;
196
+ case xdr.ScValType.scvContractInstance():
197
+ return scVal.instance();
198
+ case xdr.ScValType.scvLedgerKeyNonce():
199
+ return scVal.nonceKey();
200
+ case xdr.ScValType.scvLedgerKeyContractCode():
201
+ return scVal.contractCode();
202
+ case xdr.ScValType.scvLedgerKeyContractData():
203
+ return scVal.contractData();
204
+ case xdr.ScValType.scvLedgerKeyState():
205
+ return scVal.state();
206
+ default:
207
+ throw new Error(`Unsupported ScVal type: ${scVal.switch().name}`);
208
+ }
209
+ }
210
+ /**
211
+ * Encode function arguments
212
+ */
213
+ static encodeArgs(args, types) {
214
+ if (types && types.length !== args.length) {
215
+ throw new Error('Number of types must match number of arguments');
216
+ }
217
+ return args.map((arg, index) => {
218
+ const type = types ? types[index] : undefined;
219
+ return this.toScVal(arg, type);
220
+ });
221
+ }
222
+ /**
223
+ * Decode function result
224
+ */
225
+ static decodeResult(result, type) {
226
+ if (type) {
227
+ return this.fromTypedScVal(result, type);
228
+ }
229
+ return this.fromScVal(result);
230
+ }
231
+ /**
232
+ * Convert ScVal to typed JavaScript value
233
+ */
234
+ static fromTypedScVal(scVal, type) {
235
+ switch (type) {
236
+ case 'void':
237
+ return null;
238
+ case 'bool':
239
+ return scVal.switch() === xdr.ScValType.scvBool() ? scVal.bool() : null;
240
+ case 'u32':
241
+ return scVal.switch() === xdr.ScValType.scvU32() ? scVal.u32() : null;
242
+ case 'i32':
243
+ return scVal.switch() === xdr.ScValType.scvI32() ? scVal.i32() : null;
244
+ case 'u64':
245
+ case 'i64':
246
+ case 'u128':
247
+ case 'i128':
248
+ case 'u256':
249
+ case 'i256':
250
+ return this.fromScVal(scVal);
251
+ case 'f32':
252
+ return scVal.switch() === xdr.ScValType.scvF32() ? scVal.f32() : null;
253
+ case 'f64':
254
+ return scVal.switch() === xdr.ScValType.scvF64() ? scVal.f64() : null;
255
+ case 'bytes':
256
+ return scVal.switch() === xdr.ScValType.scvBytes()
257
+ ? scVal.bytes()
258
+ : null;
259
+ case 'string':
260
+ return scVal.switch() === xdr.ScValType.scvString()
261
+ ? scVal.str().toString()
262
+ : null;
263
+ case 'symbol':
264
+ return scVal.switch() === xdr.ScValType.scvSymbol()
265
+ ? scVal.symbol().toString()
266
+ : null;
267
+ case 'address':
268
+ return scVal.switch() === xdr.ScValType.scvAddress()
269
+ ? Address.fromScVal(scVal).toString()
270
+ : null;
271
+ case 'option':
272
+ if (scVal.switch() === xdr.ScValType.scvVoid()) {
273
+ return null;
274
+ }
275
+ return this.fromScVal(scVal);
276
+ case 'vec':
277
+ case 'tuple':
278
+ return scVal.switch() === xdr.ScValType.scvVec()
279
+ ? scVal.vec().map(item => this.fromScVal(item))
280
+ : null;
281
+ case 'map':
282
+ if (scVal.switch() === xdr.ScValType.scvMap()) {
283
+ const obj = {};
284
+ for (const entry of scVal.map()) {
285
+ const key = this.fromScVal(entry.key());
286
+ const val = this.fromScVal(entry.val());
287
+ obj[typeof key === 'string' ? key : String(key)] = val;
288
+ }
289
+ return obj;
290
+ }
291
+ return null;
292
+ case 'set':
293
+ return scVal.switch() === xdr.ScValType.scvVec()
294
+ ? new Set(scVal.vec().map(item => this.fromScVal(item)))
295
+ : null;
296
+ default:
297
+ throw new Error(`Unsupported ScType: ${type}`);
298
+ }
299
+ }
300
+ /**
301
+ * Convert JavaScript symbol to ScVal symbol
302
+ */
303
+ static toSymbol(value) {
304
+ return xdr.ScVal.scvSymbol(value);
305
+ }
306
+ /**
307
+ * Convert JavaScript address to ScVal address
308
+ */
309
+ static toAddress(address) {
310
+ return new Address(address).toScVal();
311
+ }
312
+ /**
313
+ * Convert JavaScript bytes to ScVal bytes
314
+ */
315
+ static toBytes(data) {
316
+ const buffer = Buffer.isBuffer(data) ? data : Buffer.from(data, 'hex');
317
+ return xdr.ScVal.scvBytes(buffer);
318
+ }
319
+ }
320
+ //# sourceMappingURL=scval-converter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scval-converter.js","sourceRoot":"","sources":["../../../src/soroban/utils/scval-converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @fileoverview Builder for sponsored account creation operations
3
+ * @description Handles building operations for sponsored account creation
4
+ * @author Galaxy DevKit Team
5
+ * @version 1.0.0
6
+ * @since 2024-12-01
7
+ */
8
+ import { xdr } from '@stellar/stellar-sdk';
9
+ import { NetworkConfig } from '../../types/stellar-types';
10
+ import { SponsorshipResult } from '../types/sponsored-reserves-types';
11
+ /**
12
+ * Builder class for sponsored account creation
13
+ * @class SponsoredAccountBuilder
14
+ */
15
+ export declare class SponsoredAccountBuilder {
16
+ private manager;
17
+ private server;
18
+ private networkConfig;
19
+ /**
20
+ * Creates a new SponsoredAccountBuilder instance
21
+ * @param networkConfig - Network configuration
22
+ */
23
+ constructor(networkConfig: NetworkConfig);
24
+ /**
25
+ * Builds operations for sponsored account creation
26
+ * @param sponsorPublicKey - Sponsor's public key
27
+ * @param newAccountPublicKey - New account's public key
28
+ * @param startingBalance - Starting balance (can be "0" when sponsored)
29
+ * @returns Array of operations
30
+ */
31
+ buildSponsoredAccountCreation(sponsorPublicKey: string, newAccountPublicKey: string, startingBalance?: string): xdr.Operation[];
32
+ /**
33
+ * Creates a sponsored account with full transaction execution
34
+ * @param sponsorSecret - Sponsor's secret key
35
+ * @param newAccountSecret - New account's secret key
36
+ * @param startingBalance - Starting balance
37
+ * @returns Promise<SponsorshipResult>
38
+ */
39
+ createSponsoredAccount(sponsorSecret: string, newAccountSecret: string, startingBalance?: string): Promise<SponsorshipResult>;
40
+ /**
41
+ * Builds an unsigned transaction for sponsored account creation
42
+ * @param sponsorPublicKey - Sponsor's public key
43
+ * @param newAccountPublicKey - New account's public key
44
+ * @param startingBalance - Starting balance
45
+ * @returns Promise with transaction XDR and required signers
46
+ */
47
+ buildUnsignedTransaction(sponsorPublicKey: string, newAccountPublicKey: string, startingBalance?: string): Promise<{
48
+ xdr: string;
49
+ requiredSigners: string[];
50
+ }>;
51
+ /**
52
+ * Estimates transaction fee
53
+ * @param operationCount - Number of operations
54
+ * @returns Fee in stroops as string
55
+ */
56
+ private estimateFee;
57
+ }
58
+ //# sourceMappingURL=sponsored-account-builder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sponsored-account-builder.d.ts","sourceRoot":"","sources":["../../../src/sponsored-reserves/builders/sponsored-account-builder.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAKL,GAAG,EACJ,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAsB,MAAM,mCAAmC,CAAC;AAI1F;;;GAGG;AACH,qBAAa,uBAAuB;IAClC,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,aAAa,CAAgB;IAErC;;;OAGG;gBACS,aAAa,EAAE,aAAa;IAMxC;;;;;;OAMG;IACH,6BAA6B,CAC3B,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,GAAE,MAAY,GAC5B,GAAG,CAAC,SAAS,EAAE;IAsClB;;;;;;OAMG;IACG,sBAAsB,CAC1B,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EACxB,eAAe,GAAE,MAAY,GAC5B,OAAO,CAAC,iBAAiB,CAAC;IAuD7B;;;;;;OAMG;IACG,wBAAwB,CAC5B,gBAAgB,EAAE,MAAM,EACxB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,GAAE,MAAY,GAC5B,OAAO,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAuCtD;;;;OAIG;YACW,WAAW;CAS1B"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * @fileoverview Builder for sponsored account creation operations
3
+ * @description Handles building operations for sponsored account creation
4
+ * @author Galaxy DevKit Team
5
+ * @version 1.0.0
6
+ * @since 2024-12-01
7
+ */
8
+ import { Keypair, Operation, TransactionBuilder, Horizon, } from '@stellar/stellar-sdk';
9
+ import { validatePublicKey, validateSecretKey, validateAmount } from '../utils/sponsorship-validation';
10
+ import { SponsoredReservesManager } from '../services/sponsored-reserves-manager';
11
+ /**
12
+ * Builder class for sponsored account creation
13
+ * @class SponsoredAccountBuilder
14
+ */
15
+ export class SponsoredAccountBuilder {
16
+ /**
17
+ * Creates a new SponsoredAccountBuilder instance
18
+ * @param networkConfig - Network configuration
19
+ */
20
+ constructor(networkConfig) {
21
+ this.networkConfig = networkConfig;
22
+ this.server = new Horizon.Server(networkConfig.horizonUrl);
23
+ this.manager = new SponsoredReservesManager(networkConfig);
24
+ }
25
+ /**
26
+ * Builds operations for sponsored account creation
27
+ * @param sponsorPublicKey - Sponsor's public key
28
+ * @param newAccountPublicKey - New account's public key
29
+ * @param startingBalance - Starting balance (can be "0" when sponsored)
30
+ * @returns Array of operations
31
+ */
32
+ buildSponsoredAccountCreation(sponsorPublicKey, newAccountPublicKey, startingBalance = '0') {
33
+ if (!validatePublicKey(sponsorPublicKey)) {
34
+ throw new Error('Invalid sponsor public key');
35
+ }
36
+ if (!validatePublicKey(newAccountPublicKey)) {
37
+ throw new Error('Invalid new account public key');
38
+ }
39
+ if (!validateAmount(startingBalance, true)) {
40
+ throw new Error('Invalid starting balance');
41
+ }
42
+ const operations = [];
43
+ // Begin sponsoring
44
+ operations.push(Operation.beginSponsoringFutureReserves({
45
+ sponsoredId: newAccountPublicKey,
46
+ }));
47
+ // Create account operation
48
+ operations.push(Operation.createAccount({
49
+ destination: newAccountPublicKey,
50
+ startingBalance: startingBalance,
51
+ }));
52
+ // End sponsoring (source must be the new account)
53
+ operations.push(Operation.endSponsoringFutureReserves({
54
+ source: newAccountPublicKey,
55
+ }));
56
+ return operations;
57
+ }
58
+ /**
59
+ * Creates a sponsored account with full transaction execution
60
+ * @param sponsorSecret - Sponsor's secret key
61
+ * @param newAccountSecret - New account's secret key
62
+ * @param startingBalance - Starting balance
63
+ * @returns Promise<SponsorshipResult>
64
+ */
65
+ async createSponsoredAccount(sponsorSecret, newAccountSecret, startingBalance = '0') {
66
+ if (!validateSecretKey(sponsorSecret)) {
67
+ throw new Error('Invalid sponsor secret key');
68
+ }
69
+ if (!validateSecretKey(newAccountSecret)) {
70
+ throw new Error('Invalid new account secret key');
71
+ }
72
+ const sponsorKeypair = Keypair.fromSecret(sponsorSecret);
73
+ const newAccountKeypair = Keypair.fromSecret(newAccountSecret);
74
+ // Load sponsor account
75
+ const sponsorAccount = await this.server.loadAccount(sponsorKeypair.publicKey());
76
+ // Build transaction with sponsored account creation
77
+ const transaction = new TransactionBuilder(sponsorAccount, {
78
+ fee: await this.estimateFee(3),
79
+ networkPassphrase: this.networkConfig.passphrase,
80
+ })
81
+ .addOperation(Operation.beginSponsoringFutureReserves({
82
+ sponsoredId: newAccountKeypair.publicKey(),
83
+ }))
84
+ .addOperation(Operation.createAccount({
85
+ destination: newAccountKeypair.publicKey(),
86
+ startingBalance: startingBalance,
87
+ }))
88
+ .addOperation(Operation.endSponsoringFutureReserves({
89
+ source: newAccountKeypair.publicKey(),
90
+ }))
91
+ .setTimeout(180)
92
+ .build();
93
+ // Sign with both keypairs
94
+ transaction.sign(sponsorKeypair);
95
+ transaction.sign(newAccountKeypair);
96
+ // Submit transaction
97
+ const result = await this.server.submitTransaction(transaction);
98
+ return {
99
+ hash: result.hash,
100
+ status: result.successful ? 'success' : 'failed',
101
+ ledger: result.ledger.toString(),
102
+ createdAt: new Date(),
103
+ sponsoredEntries: [{ type: 'account', id: newAccountKeypair.publicKey() }],
104
+ feePaid: transaction.fee.toString(),
105
+ };
106
+ }
107
+ /**
108
+ * Builds an unsigned transaction for sponsored account creation
109
+ * @param sponsorPublicKey - Sponsor's public key
110
+ * @param newAccountPublicKey - New account's public key
111
+ * @param startingBalance - Starting balance
112
+ * @returns Promise with transaction XDR and required signers
113
+ */
114
+ async buildUnsignedTransaction(sponsorPublicKey, newAccountPublicKey, startingBalance = '0') {
115
+ if (!validatePublicKey(sponsorPublicKey)) {
116
+ throw new Error('Invalid sponsor public key');
117
+ }
118
+ if (!validatePublicKey(newAccountPublicKey)) {
119
+ throw new Error('Invalid new account public key');
120
+ }
121
+ const sponsorAccount = await this.server.loadAccount(sponsorPublicKey);
122
+ const transaction = new TransactionBuilder(sponsorAccount, {
123
+ fee: await this.estimateFee(3),
124
+ networkPassphrase: this.networkConfig.passphrase,
125
+ })
126
+ .addOperation(Operation.beginSponsoringFutureReserves({
127
+ sponsoredId: newAccountPublicKey,
128
+ }))
129
+ .addOperation(Operation.createAccount({
130
+ destination: newAccountPublicKey,
131
+ startingBalance: startingBalance,
132
+ }))
133
+ .addOperation(Operation.endSponsoringFutureReserves({
134
+ source: newAccountPublicKey,
135
+ }))
136
+ .setTimeout(180)
137
+ .build();
138
+ return {
139
+ xdr: transaction.toXDR(),
140
+ requiredSigners: [sponsorPublicKey, newAccountPublicKey],
141
+ };
142
+ }
143
+ /**
144
+ * Estimates transaction fee
145
+ * @param operationCount - Number of operations
146
+ * @returns Fee in stroops as string
147
+ */
148
+ async estimateFee(operationCount = 1) {
149
+ try {
150
+ const feeStats = await this.server.feeStats();
151
+ const baseFee = parseInt(feeStats.max_fee.mode, 10);
152
+ return (baseFee * operationCount).toString();
153
+ }
154
+ catch {
155
+ return (100 * operationCount).toString();
156
+ }
157
+ }
158
+ }
159
+ //# sourceMappingURL=sponsored-account-builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sponsored-account-builder.js","sourceRoot":"","sources":["../../../src/sponsored-reserves/builders/sponsored-account-builder.ts"],"names":[],"mappings":"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"}