@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,71 @@
1
+ /**
2
+ * @fileoverview Soroban Contract Manager
3
+ * @description Main class for Soroban contract operations
4
+ * @author Galaxy DevKit Team
5
+ * @version 1.0.0
6
+ * @since 2024-12-01
7
+ * @note Type checking disabled due to Stellar SDK v14 compatibility issues
8
+ */
9
+ import { SorobanRpc } from '@stellar/stellar-sdk';
10
+ import { ContractDeploymentParams, ContractInvocationParams, ContractStateQueryParams, ContractEventQueryParams, ContractDeploymentResult, InvocationResult, SimulationResult, ContractEventDetail, ContractUpgradeParams, ContractUpgradeResult } from '../types/contract-types';
11
+ export declare class SorobanContractManager {
12
+ private rpcUrl;
13
+ private server;
14
+ constructor(rpcUrl?: string);
15
+ /**
16
+ * Deploy a Soroban contract
17
+ */
18
+ deployContract(params: ContractDeploymentParams): Promise<ContractDeploymentResult>;
19
+ /**
20
+ * Invoke a contract method
21
+ */
22
+ invokeContract(params: ContractInvocationParams): Promise<InvocationResult>;
23
+ /**
24
+ * Simulate contract invocation
25
+ */
26
+ simulateInvocation(params: Omit<ContractInvocationParams, 'caller' | 'networkPassphrase'> & {
27
+ account?: string;
28
+ networkPassphrase: string;
29
+ }): Promise<SimulationResult>;
30
+ /**
31
+ * Read contract state
32
+ */
33
+ readContractState(params: ContractStateQueryParams): Promise<any>;
34
+ /**
35
+ * Query contract events
36
+ */
37
+ queryEvents(params: ContractEventQueryParams): Promise<ContractEventDetail[]>;
38
+ /**
39
+ * Upgrade a contract
40
+ */
41
+ upgradeContract(params: ContractUpgradeParams): Promise<ContractUpgradeResult>;
42
+ /**
43
+ * Extract contract ID from transaction result
44
+ */
45
+ private extractContractId;
46
+ /**
47
+ * Extract WASM hash from transaction result
48
+ */
49
+ private extractWasmHash;
50
+ /**
51
+ * Parse events from transaction meta
52
+ */
53
+ private parseEvents;
54
+ /**
55
+ * Parse auth from transaction result
56
+ */
57
+ private parseAuth;
58
+ /**
59
+ * Convert simulation result to invocation result
60
+ */
61
+ private convertSimulationToResult;
62
+ /**
63
+ * Get the RPC server instance
64
+ */
65
+ getServer(): SorobanRpc.Server;
66
+ /**
67
+ * Get the RPC URL
68
+ */
69
+ getRpcUrl(): string;
70
+ }
71
+ //# sourceMappingURL=soroban-contract-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soroban-contract-manager.d.ts","sourceRoot":"","sources":["../../src/soroban/soroban-contract-manager.ts"],"names":[],"mappings":"AACA;;;;;;;GAOG;AAEH,OAAO,EAEL,UAAU,EAQX,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EAEnB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,GAAE,MAA8C;IAKlE;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,wBAAwB,CAAC;IAwEpC;;OAEG;IACG,cAAc,CAClB,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,gBAAgB,CAAC;IA+E5B;;OAEG;IACG,kBAAkB,CACtB,MAAM,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,GAAG,mBAAmB,CAAC,GAAG;QACvE,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,GACA,OAAO,CAAC,gBAAgB,CAAC;IAoD5B;;OAEG;IACG,iBAAiB,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,GAAG,CAAC;IAiCvE;;OAEG;IACG,WAAW,CACf,MAAM,EAAE,wBAAwB,GAC/B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsDjC;;OAEG;IACG,eAAe,CACnB,MAAM,EAAE,qBAAqB,GAC5B,OAAO,CAAC,qBAAqB,CAAC;IA6EjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAuBnB;;OAEG;IACH,OAAO,CAAC,SAAS;IAMjB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAYjC;;OAEG;IACH,SAAS,IAAI,UAAU,CAAC,MAAM;IAI9B;;OAEG;IACH,SAAS,IAAI,MAAM;CAGpB"}
@@ -0,0 +1,376 @@
1
+ // @ts-nocheck
2
+ /**
3
+ * @fileoverview Soroban Contract Manager
4
+ * @description Main class for Soroban contract operations
5
+ * @author Galaxy DevKit Team
6
+ * @version 1.0.0
7
+ * @since 2024-12-01
8
+ * @note Type checking disabled due to Stellar SDK v14 compatibility issues
9
+ */
10
+ import { xdr, SorobanRpc, TransactionBuilder, Contract, BASE_FEE, Address, } from '@stellar/stellar-sdk';
11
+ import { ScValConverter } from '../utils/scval-converter';
12
+ export class SorobanContractManager {
13
+ constructor(rpcUrl = 'https://soroban-testnet.stellar.org') {
14
+ this.rpcUrl = rpcUrl;
15
+ this.server = new SorobanRpc.Server(rpcUrl);
16
+ }
17
+ /**
18
+ * Deploy a Soroban contract
19
+ */
20
+ async deployContract(params) {
21
+ const { wasm, deployer, networkPassphrase, salt } = params;
22
+ try {
23
+ // Get account information
24
+ const account = await this.server.getAccount(deployer.publicKey());
25
+ // Create contract deployment transaction
26
+ const contractArgs = salt ? [salt] : [];
27
+ const contract = new Contract(deployer.publicKey());
28
+ const operation = xdr.HostFunction.hostFunctionTypeCreateContract({
29
+ contractIdPreimage: xdr.ContractIdPreimage.contractIdPreimageFromAddress(new Address(deployer.publicKey()).toScAddress(), salt || xdr.ScVal.scvVoid()),
30
+ executable: xdr.ContractExecutable.contractExecutableWasm(wasm),
31
+ });
32
+ const tx = new TransactionBuilder(account, {
33
+ fee: BASE_FEE,
34
+ networkPassphrase,
35
+ })
36
+ .addOperation({
37
+ type: 'invokeHostFunction',
38
+ hostFunction: operation,
39
+ })
40
+ .setTimeout(30)
41
+ .build();
42
+ // Simulate transaction
43
+ const simulation = await this.server.simulateTransaction(tx);
44
+ if (!SorobanRpc.Api.isSimulationSuccess(simulation)) {
45
+ throw new Error(`Simulation failed: ${simulation.error}`);
46
+ }
47
+ // Prepare transaction
48
+ const preparedTx = SorobanRpc.Api.prepareTransaction(tx, simulation);
49
+ // Sign transaction
50
+ preparedTx.sign(deployer);
51
+ // Send transaction
52
+ const response = await this.server.sendTransaction(preparedTx);
53
+ if (response.status !== 'PENDING') {
54
+ throw new Error(`Transaction failed: ${response.status}`);
55
+ }
56
+ // Wait for transaction completion
57
+ const result = await this.server.getTransaction(response.hash);
58
+ if (!SorobanRpc.Api.isGetTransactionSuccess(result)) {
59
+ throw new Error(`Transaction execution failed: ${result.resultXdr}`);
60
+ }
61
+ // Extract contract ID
62
+ const contractId = this.extractContractId(result);
63
+ return {
64
+ contractId,
65
+ transactionHash: response.hash,
66
+ ledger: result.ledger || 0,
67
+ };
68
+ }
69
+ catch (error) {
70
+ throw new Error(`Contract deployment failed: ${error instanceof Error ? error.message : String(error)}`);
71
+ }
72
+ }
73
+ /**
74
+ * Invoke a contract method
75
+ */
76
+ async invokeContract(params) {
77
+ const { contractId, method, args, caller, networkPassphrase, simulateOnly, } = params;
78
+ try {
79
+ // Get account information
80
+ const account = await this.server.getAccount(caller.publicKey());
81
+ // Create contract instance
82
+ const contract = new Contract(contractId);
83
+ // Encode arguments
84
+ const scArgs = ScValConverter.encodeArgs(args);
85
+ // Create operation
86
+ const tx = new TransactionBuilder(account, {
87
+ fee: BASE_FEE,
88
+ networkPassphrase,
89
+ })
90
+ .addOperation(contract.call(method, ...scArgs))
91
+ .setTimeout(30)
92
+ .build();
93
+ // Simulate transaction
94
+ const simulation = await this.server.simulateTransaction(tx);
95
+ if (!SorobanRpc.Api.isSimulationSuccess(simulation)) {
96
+ throw new Error(`Simulation failed: ${simulation.error}`);
97
+ }
98
+ if (simulateOnly) {
99
+ return this.convertSimulationToResult(simulation);
100
+ }
101
+ // Prepare transaction
102
+ const preparedTx = SorobanRpc.Api.prepareTransaction(tx, simulation);
103
+ // Sign transaction
104
+ preparedTx.sign(caller);
105
+ // Send transaction
106
+ const response = await this.server.sendTransaction(preparedTx);
107
+ if (response.status !== 'PENDING') {
108
+ throw new Error(`Transaction failed: ${response.status}`);
109
+ }
110
+ // Wait for transaction completion
111
+ const result = await this.server.getTransaction(response.hash);
112
+ if (!SorobanRpc.Api.isGetTransactionSuccess(result)) {
113
+ throw new Error(`Transaction execution failed: ${result.resultXdr}`);
114
+ }
115
+ // Parse results
116
+ const txMeta = result.resultMetaXdr;
117
+ const events = this.parseEvents(txMeta);
118
+ const auth = this.parseAuth(result.returnValue);
119
+ return {
120
+ result: result.returnValue,
121
+ transactionHash: response.hash,
122
+ ledger: result.ledger || 0,
123
+ events,
124
+ auth,
125
+ };
126
+ }
127
+ catch (error) {
128
+ throw new Error(`Contract invocation failed: ${error instanceof Error ? error.message : String(error)}`);
129
+ }
130
+ }
131
+ /**
132
+ * Simulate contract invocation
133
+ */
134
+ async simulateInvocation(params) {
135
+ const { contractId, method, args, account, networkPassphrase } = params;
136
+ try {
137
+ // Use provided account or create a mock account
138
+ const sourceAccount = account
139
+ ? await this.server.getAccount(account)
140
+ : new SorobanRpc.Api.Account(account ||
141
+ 'GAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWHF', '1');
142
+ // Create contract instance
143
+ const contract = new Contract(contractId);
144
+ // Encode arguments
145
+ const scArgs = ScValConverter.encodeArgs(args);
146
+ // Create transaction
147
+ const tx = new TransactionBuilder(sourceAccount, {
148
+ fee: BASE_FEE,
149
+ networkPassphrase,
150
+ })
151
+ .addOperation(contract.call(method, ...scArgs))
152
+ .setTimeout(30)
153
+ .build();
154
+ // Simulate transaction
155
+ const simulation = await this.server.simulateTransaction(tx);
156
+ if (!SorobanRpc.Api.isSimulationSuccess(simulation)) {
157
+ throw new Error(`Simulation failed: ${simulation.error}`);
158
+ }
159
+ return {
160
+ result: simulation.result,
161
+ events: this.parseEvents(simulation.result),
162
+ auth: this.parseAuth(simulation.result),
163
+ cpuInstructions: simulation.cpuInstructions || 0,
164
+ memoryBytes: simulation.memoryBytes || 0,
165
+ transactionData: simulation.transactionData,
166
+ minResourceFee: simulation.minResourceFee || '0',
167
+ cost: simulation.cost,
168
+ };
169
+ }
170
+ catch (error) {
171
+ throw new Error(`Contract simulation failed: ${error instanceof Error ? error.message : String(error)}`);
172
+ }
173
+ }
174
+ /**
175
+ * Read contract state
176
+ */
177
+ async readContractState(params) {
178
+ const { contractId, key, networkPassphrase } = params;
179
+ try {
180
+ const contract = new Contract(contractId);
181
+ // Convert key to ScVal if it's a string
182
+ const scKey = typeof key === 'string' ? ScValConverter.toScVal(key) : key;
183
+ // Get ledger key
184
+ const ledgerKey = contract.getFootprint().toLedgerKey(scKey);
185
+ // Get ledger entries
186
+ const response = await this.server.getLedgerEntries(ledgerKey);
187
+ if (!response.entries || response.entries.length === 0) {
188
+ return null;
189
+ }
190
+ const entry = response.entries[0];
191
+ if (!entry.val) {
192
+ return null;
193
+ }
194
+ // Convert from ScVal
195
+ return ScValConverter.fromScVal(entry.val);
196
+ }
197
+ catch (error) {
198
+ throw new Error(`Contract state query failed: ${error instanceof Error ? error.message : String(error)}`);
199
+ }
200
+ }
201
+ /**
202
+ * Query contract events
203
+ */
204
+ async queryEvents(params) {
205
+ const { contractId, startLedger, endLedger, eventTypes, topics, networkPassphrase, } = params;
206
+ try {
207
+ // Build event filters
208
+ const filters = [];
209
+ if (eventTypes && eventTypes.length > 0) {
210
+ filters.push({
211
+ type: 'contract',
212
+ contractIds: [contractId],
213
+ topics: eventTypes.map((type) => ({
214
+ type: 'string',
215
+ value: type,
216
+ })),
217
+ });
218
+ }
219
+ else {
220
+ filters.push({
221
+ type: 'contract',
222
+ contractIds: [contractId],
223
+ });
224
+ }
225
+ // Get events
226
+ const events = await this.server.getEvents({
227
+ startLedger,
228
+ endLedger,
229
+ filters,
230
+ });
231
+ return events.events.map(event => ({
232
+ contractId: event.contractId?.toString() || '',
233
+ type: event.type.toString(),
234
+ topics: event.topics || [],
235
+ data: event.data || xdr.ScVal.scvVoid(),
236
+ timestamp: event.timestamp || 0,
237
+ ledger: event.ledger || 0,
238
+ txHash: event.txHash || '',
239
+ ...event,
240
+ }));
241
+ }
242
+ catch (error) {
243
+ throw new Error(`Event query failed: ${error instanceof Error ? error.message : String(error)}`);
244
+ }
245
+ }
246
+ /**
247
+ * Upgrade a contract
248
+ */
249
+ async upgradeContract(params) {
250
+ const { contractId, newWasm, admin, networkPassphrase } = params;
251
+ try {
252
+ // Get account information
253
+ const account = await this.server.getAccount(admin.publicKey());
254
+ // Create contract instance
255
+ const contract = new Contract(contractId);
256
+ // Create upload operation
257
+ const uploadOp = xdr.HostFunction.hostFunctionTypeUploadContractWasm(newWasm);
258
+ // Create upgrade operation
259
+ const upgradeOp = xdr.HostFunction.hostFunctionTypeCreateContract({
260
+ contractIdPreimage: xdr.ContractIdPreimage.contractIdPreimageFromAddress(new Address(contractId).toScAddress(), xdr.ScVal.scvVoid()),
261
+ executable: xdr.ContractExecutable.contractExecutableStellarAsset(),
262
+ });
263
+ // Build transaction
264
+ const tx = new TransactionBuilder(account, {
265
+ fee: BASE_FEE,
266
+ networkPassphrase,
267
+ })
268
+ .addOperation({ type: 'invokeHostFunction', hostFunction: uploadOp })
269
+ .addOperation({ type: 'invokeHostFunction', hostFunction: upgradeOp })
270
+ .setTimeout(30)
271
+ .build();
272
+ // Simulate transaction
273
+ const simulation = await this.server.simulateTransaction(tx);
274
+ if (!SorobanRpc.Api.isSimulationSuccess(simulation)) {
275
+ throw new Error(`Simulation failed: ${simulation.error}`);
276
+ }
277
+ // Prepare transaction
278
+ const preparedTx = SorobanRpc.Api.prepareTransaction(tx, simulation);
279
+ // Sign transaction
280
+ preparedTx.sign(admin);
281
+ // Send transaction
282
+ const response = await this.server.sendTransaction(preparedTx);
283
+ if (response.status !== 'PENDING') {
284
+ throw new Error(`Transaction failed: ${response.status}`);
285
+ }
286
+ // Wait for transaction completion
287
+ const result = await this.server.getTransaction(response.hash);
288
+ if (!SorobanRpc.Api.isGetTransactionSuccess(result)) {
289
+ throw new Error(`Transaction execution failed: ${result.resultXdr}`);
290
+ }
291
+ // Get new WASM hash
292
+ const newWasmHash = this.extractWasmHash(result);
293
+ return {
294
+ contractId,
295
+ transactionHash: response.hash,
296
+ newWasmHash,
297
+ ledger: result.ledger || 0,
298
+ };
299
+ }
300
+ catch (error) {
301
+ throw new Error(`Contract upgrade failed: ${error instanceof Error ? error.message : String(error)}`);
302
+ }
303
+ }
304
+ /**
305
+ * Extract contract ID from transaction result
306
+ */
307
+ extractContractId(result) {
308
+ // This is a simplified implementation
309
+ // In practice, you'd parse the transaction meta to get the contract ID
310
+ return result.returnValue?.toString() || '';
311
+ }
312
+ /**
313
+ * Extract WASM hash from transaction result
314
+ */
315
+ extractWasmHash(result) {
316
+ // This is a simplified implementation
317
+ // In practice, you'd parse the transaction meta to get the WASM hash
318
+ return result.returnValue?.toString() || '';
319
+ }
320
+ /**
321
+ * Parse events from transaction meta
322
+ */
323
+ parseEvents(meta) {
324
+ if (!meta)
325
+ return [];
326
+ const events = [];
327
+ const sorobanMeta = meta.v3()?.sorobanMeta();
328
+ if (sorobanMeta) {
329
+ for (const event of sorobanMeta.events()) {
330
+ events.push({
331
+ contractId: event.contractId?.toString() || '',
332
+ type: event.type.toString(),
333
+ topics: event.topics(),
334
+ data: event.data(),
335
+ timestamp: 0,
336
+ ledger: 0,
337
+ txHash: '',
338
+ });
339
+ }
340
+ }
341
+ return events;
342
+ }
343
+ /**
344
+ * Parse auth from transaction result
345
+ */
346
+ parseAuth(result) {
347
+ // This is a simplified implementation
348
+ // In practice, you'd parse the auth entries from the result
349
+ return [];
350
+ }
351
+ /**
352
+ * Convert simulation result to invocation result
353
+ */
354
+ convertSimulationToResult(simulation) {
355
+ return {
356
+ result: simulation.result,
357
+ transactionHash: '',
358
+ ledger: 0,
359
+ events: this.parseEvents(simulation.result),
360
+ auth: this.parseAuth(simulation.result),
361
+ };
362
+ }
363
+ /**
364
+ * Get the RPC server instance
365
+ */
366
+ getServer() {
367
+ return this.server;
368
+ }
369
+ /**
370
+ * Get the RPC URL
371
+ */
372
+ getRpcUrl() {
373
+ return this.rpcUrl;
374
+ }
375
+ }
376
+ //# sourceMappingURL=soroban-contract-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"soroban-contract-manager.js","sourceRoot":"","sources":["../../src/soroban/soroban-contract-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * @fileoverview Soroban contract types and interfaces
3
+ * @description Type definitions for Soroban contract operations
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 { Keypair } from '@stellar/stellar-sdk';
10
+ export interface ContractSpec {
11
+ address: string;
12
+ wasmHash?: string;
13
+ functions: ContractFunction[];
14
+ events: ContractEvent[];
15
+ }
16
+ export interface ContractFunction {
17
+ name: string;
18
+ inputs: Array<{
19
+ name: string;
20
+ type: ScType;
21
+ }>;
22
+ outputs: ScType[];
23
+ }
24
+ export interface ContractEvent {
25
+ name: string;
26
+ topics: ScType[];
27
+ data: ScType[];
28
+ }
29
+ export type ScType = 'void' | 'bool' | 'u32' | 'i32' | 'u64' | 'i64' | 'u128' | 'i128' | 'u256' | 'i256' | 'f32' | 'f64' | 'bytes' | 'string' | 'symbol' | 'address' | 'option' | 'result' | 'vec' | 'map' | 'set' | 'tuple';
30
+ export interface ContractDeploymentParams {
31
+ wasm: Buffer;
32
+ deployer: Keypair;
33
+ networkPassphrase: string;
34
+ salt?: xdr.ScVal;
35
+ }
36
+ export interface ContractInvocationParams {
37
+ contractId: string;
38
+ method: string;
39
+ args: any[];
40
+ caller: Keypair;
41
+ networkPassphrase: string;
42
+ simulateOnly?: boolean;
43
+ }
44
+ export interface ContractStateQueryParams {
45
+ contractId: string;
46
+ key: string | xdr.ScVal;
47
+ networkPassphrase: string;
48
+ }
49
+ export interface ContractEventQueryParams {
50
+ contractId: string;
51
+ startLedger?: number;
52
+ endLedger?: number;
53
+ eventTypes?: string[];
54
+ topics?: xdr.ScVal[];
55
+ networkPassphrase: string;
56
+ }
57
+ export interface ContractDeploymentResult {
58
+ contractId: string;
59
+ transactionHash: string;
60
+ ledger: number;
61
+ }
62
+ export interface InvocationResult {
63
+ result: xdr.ScVal;
64
+ transactionHash: string;
65
+ ledger: number;
66
+ events: ContractEventDetail[];
67
+ auth: xdr.SorobanAuthorizationEntry[];
68
+ }
69
+ export interface SimulationResult {
70
+ result: xdr.ScVal;
71
+ events: ContractEventDetail[];
72
+ auth: xdr.SorobanAuthorizationEntry[];
73
+ cpuInstructions: number;
74
+ memoryBytes: number;
75
+ transactionData: xdr.SorobanTransactionData;
76
+ minResourceFee: string;
77
+ cost: xdr.Cost;
78
+ }
79
+ export interface ContractEventDetail {
80
+ contractId: string;
81
+ type: string;
82
+ topics: xdr.ScVal[];
83
+ data: xdr.ScVal[];
84
+ timestamp: number;
85
+ ledger: number;
86
+ txHash: string;
87
+ decodedTopics?: any[];
88
+ decodedData?: any;
89
+ eventName?: string;
90
+ }
91
+ export interface EventSubscription {
92
+ id: string;
93
+ contractId: string;
94
+ eventTypes?: string[];
95
+ onEvent: (event: ContractEventDetail) => void;
96
+ onError?: (error: Error) => void;
97
+ onClose?: () => void;
98
+ }
99
+ export interface ContractAbi {
100
+ name: string;
101
+ version: string;
102
+ functions: AbiFunction[];
103
+ types: AbiType[];
104
+ }
105
+ export interface AbiFunction {
106
+ name: string;
107
+ doc?: string;
108
+ inputs: AbiArgument[];
109
+ outputs: AbiArgument[];
110
+ }
111
+ export interface AbiArgument {
112
+ name: string;
113
+ type: string;
114
+ doc?: string;
115
+ }
116
+ export interface AbiType {
117
+ name: string;
118
+ kind: string;
119
+ fields?: AbiField[];
120
+ generics?: string[];
121
+ }
122
+ export interface AbiField {
123
+ name: string;
124
+ type: string;
125
+ doc?: string;
126
+ }
127
+ export interface TokenContractInfo {
128
+ name: string;
129
+ symbol: string;
130
+ decimals: number;
131
+ totalSupply: string;
132
+ admin: string;
133
+ }
134
+ export interface ContractFactoryConfig {
135
+ wasm: Buffer;
136
+ networkPassphrase: string;
137
+ deployer?: Keypair;
138
+ }
139
+ export interface ContractWrapperOptions {
140
+ contractId: string;
141
+ networkPassphrase: string;
142
+ rpcUrl: string;
143
+ }
144
+ export interface ContractUpgradeParams {
145
+ contractId: string;
146
+ newWasm: Buffer;
147
+ admin: Keypair;
148
+ networkPassphrase: string;
149
+ }
150
+ export interface ContractUpgradeResult {
151
+ contractId: string;
152
+ transactionHash: string;
153
+ newWasmHash: string;
154
+ ledger: number;
155
+ }
156
+ //# sourceMappingURL=contract-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-types.d.ts","sourceRoot":"","sources":["../../../src/soroban/types/contract-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ // @ts-nocheck
2
+ export {};
3
+ //# sourceMappingURL=contract-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract-types.js","sourceRoot":"","sources":["../../../src/soroban/types/contract-types.ts"],"names":[],"mappings":"AAAA,cAAc"}