@openzeppelin/adapter-stellar 1.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 (165) hide show
  1. package/README.md +272 -0
  2. package/dist/config.cjs +21 -0
  3. package/dist/config.cjs.map +1 -0
  4. package/dist/config.d.cts +8 -0
  5. package/dist/config.d.cts.map +1 -0
  6. package/dist/config.d.mts +8 -0
  7. package/dist/config.d.mts.map +1 -0
  8. package/dist/config.mjs +20 -0
  9. package/dist/config.mjs.map +1 -0
  10. package/dist/index.cjs +7564 -0
  11. package/dist/index.cjs.map +1 -0
  12. package/dist/index.d.cts +261 -0
  13. package/dist/index.d.cts.map +1 -0
  14. package/dist/index.d.mts +263 -0
  15. package/dist/index.d.mts.map +1 -0
  16. package/dist/index.mjs +7529 -0
  17. package/dist/index.mjs.map +1 -0
  18. package/dist/metadata.cjs +22 -0
  19. package/dist/metadata.cjs.map +1 -0
  20. package/dist/metadata.d.cts +7 -0
  21. package/dist/metadata.d.cts.map +1 -0
  22. package/dist/metadata.d.mts +7 -0
  23. package/dist/metadata.d.mts.map +1 -0
  24. package/dist/metadata.mjs +21 -0
  25. package/dist/metadata.mjs.map +1 -0
  26. package/dist/networks-BrV516-R.d.cts +15 -0
  27. package/dist/networks-BrV516-R.d.cts.map +1 -0
  28. package/dist/networks-C0MmhJcu.d.mts +15 -0
  29. package/dist/networks-C0MmhJcu.d.mts.map +1 -0
  30. package/dist/networks-DgUFSTiC.cjs +76 -0
  31. package/dist/networks-DgUFSTiC.cjs.map +1 -0
  32. package/dist/networks-QbEPbaGT.mjs +46 -0
  33. package/dist/networks-QbEPbaGT.mjs.map +1 -0
  34. package/dist/networks.cjs +8 -0
  35. package/dist/networks.d.cts +2 -0
  36. package/dist/networks.d.mts +2 -0
  37. package/dist/networks.mjs +3 -0
  38. package/dist/vite-config.cjs +43 -0
  39. package/dist/vite-config.cjs.map +1 -0
  40. package/dist/vite-config.d.cts +35 -0
  41. package/dist/vite-config.d.cts.map +1 -0
  42. package/dist/vite-config.d.mts +35 -0
  43. package/dist/vite-config.d.mts.map +1 -0
  44. package/dist/vite-config.mjs +42 -0
  45. package/dist/vite-config.mjs.map +1 -0
  46. package/package.json +114 -0
  47. package/src/__tests__/getDefaultServiceConfig.test.ts +105 -0
  48. package/src/access-control/actions.ts +214 -0
  49. package/src/access-control/feature-detection.ts +238 -0
  50. package/src/access-control/index.ts +54 -0
  51. package/src/access-control/indexer-client.ts +1474 -0
  52. package/src/access-control/onchain-reader.ts +446 -0
  53. package/src/access-control/service.ts +1431 -0
  54. package/src/access-control/validation.ts +256 -0
  55. package/src/adapter.ts +659 -0
  56. package/src/config.ts +43 -0
  57. package/src/configuration/__tests__/explorer.test.ts +80 -0
  58. package/src/configuration/__tests__/rpc.test.ts +355 -0
  59. package/src/configuration/execution.ts +83 -0
  60. package/src/configuration/explorer.ts +105 -0
  61. package/src/configuration/index.ts +5 -0
  62. package/src/configuration/network-services.ts +210 -0
  63. package/src/configuration/rpc.ts +270 -0
  64. package/src/configuration.ts +2 -0
  65. package/src/contract/__tests__/complete-type-coverage.test.ts +78 -0
  66. package/src/contract/index.ts +3 -0
  67. package/src/contract/loader.ts +498 -0
  68. package/src/contract/transformer.ts +1 -0
  69. package/src/contract/type.ts +65 -0
  70. package/src/index.ts +23 -0
  71. package/src/mapping/constants.ts +89 -0
  72. package/src/mapping/enum-metadata.ts +237 -0
  73. package/src/mapping/field-generator.ts +296 -0
  74. package/src/mapping/index.ts +5 -0
  75. package/src/mapping/struct-fields.ts +106 -0
  76. package/src/mapping/tuple-components.ts +43 -0
  77. package/src/mapping/type-coverage-validator.ts +151 -0
  78. package/src/mapping/type-mapper.ts +203 -0
  79. package/src/metadata.ts +16 -0
  80. package/src/networks/README.md +84 -0
  81. package/src/networks/index.ts +19 -0
  82. package/src/networks/mainnet.ts +20 -0
  83. package/src/networks/testnet.ts +20 -0
  84. package/src/networks.ts +2 -0
  85. package/src/query/handler.ts +411 -0
  86. package/src/query/index.ts +4 -0
  87. package/src/query/view-checker.ts +32 -0
  88. package/src/sac/spec-cache.ts +68 -0
  89. package/src/sac/spec-source.ts +35 -0
  90. package/src/sac/xdr.ts +101 -0
  91. package/src/transaction/components/AdvancedInfo.tsx +34 -0
  92. package/src/transaction/components/FeeConfiguration.tsx +41 -0
  93. package/src/transaction/components/StellarRelayerOptions.tsx +60 -0
  94. package/src/transaction/components/TransactionTiming.tsx +77 -0
  95. package/src/transaction/components/index.ts +5 -0
  96. package/src/transaction/components/useStellarRelayerOptions.ts +114 -0
  97. package/src/transaction/eoa.ts +229 -0
  98. package/src/transaction/execution-strategy.ts +33 -0
  99. package/src/transaction/formatter.ts +296 -0
  100. package/src/transaction/index.ts +4 -0
  101. package/src/transaction/relayer.ts +575 -0
  102. package/src/transaction/sender.ts +156 -0
  103. package/src/transform/index.ts +4 -0
  104. package/src/transform/input-parser.ts +9 -0
  105. package/src/transform/output-formatter.ts +133 -0
  106. package/src/transform/parsers/complex-parser.ts +157 -0
  107. package/src/transform/parsers/generic-parser.ts +171 -0
  108. package/src/transform/parsers/index.ts +86 -0
  109. package/src/transform/parsers/primitive-parser.ts +123 -0
  110. package/src/transform/parsers/scval-converter.ts +405 -0
  111. package/src/transform/parsers/struct-parser.ts +324 -0
  112. package/src/transform/parsers/types.ts +35 -0
  113. package/src/types/__tests__/artifacts.test.ts +89 -0
  114. package/src/types/artifacts.ts +19 -0
  115. package/src/utils/__tests__/artifacts.test.ts +77 -0
  116. package/src/utils/artifacts.ts +30 -0
  117. package/src/utils/formatting.ts +122 -0
  118. package/src/utils/index.ts +6 -0
  119. package/src/utils/input-parsing.ts +336 -0
  120. package/src/utils/safe-type-parser.ts +303 -0
  121. package/src/utils/stellar-types.ts +35 -0
  122. package/src/utils/type-detection.ts +163 -0
  123. package/src/utils/xdr-ordering.ts +36 -0
  124. package/src/validation/__tests__/address.test.ts +267 -0
  125. package/src/validation/address.ts +136 -0
  126. package/src/validation/eoa.ts +33 -0
  127. package/src/validation/index.ts +3 -0
  128. package/src/validation/relayer.ts +13 -0
  129. package/src/vite-config.ts +67 -0
  130. package/src/wallet/README.md +93 -0
  131. package/src/wallet/__tests__/connection.test.ts +72 -0
  132. package/src/wallet/components/StellarWalletUiRoot.tsx +161 -0
  133. package/src/wallet/components/account/AccountDisplay.tsx +50 -0
  134. package/src/wallet/components/connect/ConnectButton.tsx +100 -0
  135. package/src/wallet/components/connect/ConnectorDialog.tsx +125 -0
  136. package/src/wallet/components/index.ts +3 -0
  137. package/src/wallet/connection.ts +151 -0
  138. package/src/wallet/context/StellarWalletContext.ts +32 -0
  139. package/src/wallet/context/index.ts +4 -0
  140. package/src/wallet/context/useStellarWalletContext.ts +17 -0
  141. package/src/wallet/hooks/facade-hooks.ts +31 -0
  142. package/src/wallet/hooks/index.ts +7 -0
  143. package/src/wallet/hooks/useStellarAccount.ts +27 -0
  144. package/src/wallet/hooks/useStellarConnect.ts +60 -0
  145. package/src/wallet/hooks/useStellarDisconnect.ts +47 -0
  146. package/src/wallet/hooks/useUiKitConfig.ts +40 -0
  147. package/src/wallet/implementation/wallets-kit-implementation.ts +379 -0
  148. package/src/wallet/index.ts +11 -0
  149. package/src/wallet/services/__tests__/configResolutionService.test.ts +163 -0
  150. package/src/wallet/services/configResolutionService.ts +65 -0
  151. package/src/wallet/stellar-wallets-kit/StellarWalletsKitConnectButton.tsx +82 -0
  152. package/src/wallet/stellar-wallets-kit/__mocks__/@creit.tech/stellar-wallets-kit.ts +48 -0
  153. package/src/wallet/stellar-wallets-kit/__tests__/export-service.test.ts +93 -0
  154. package/src/wallet/stellar-wallets-kit/__tests__/stellarUiKitManager.test.ts +0 -0
  155. package/src/wallet/stellar-wallets-kit/config-generator.ts +75 -0
  156. package/src/wallet/stellar-wallets-kit/export-service.ts +19 -0
  157. package/src/wallet/stellar-wallets-kit/index.ts +3 -0
  158. package/src/wallet/stellar-wallets-kit/stellarUiKitManager.ts +235 -0
  159. package/src/wallet/types.ts +19 -0
  160. package/src/wallet/utils/__tests__/filterWalletComponents.test.ts +150 -0
  161. package/src/wallet/utils/__tests__/uiKitService.test.ts +189 -0
  162. package/src/wallet/utils/filterWalletComponents.ts +89 -0
  163. package/src/wallet/utils/index.ts +3 -0
  164. package/src/wallet/utils/stellarWalletImplementationManager.ts +118 -0
  165. package/src/wallet/utils/uiKitService.ts +74 -0
@@ -0,0 +1,22 @@
1
+ const require_index = require('./index.cjs');
2
+ let _web3icons_react = require("@web3icons/react");
3
+
4
+ //#region src/metadata.ts
5
+ const ecosystemMetadata = {
6
+ id: "stellar",
7
+ name: "Stellar",
8
+ description: "Stellar is a fast, energy-efficient blockchain network designed for real-world financial applications. It enables near-instant global payments at low cost, connects digital assets to traditional finance, and supports smart contracts through Soroban.",
9
+ explorerGuidance: "contract IDs on Stellar Expert",
10
+ addressExample: "GCKFBEIYV2U22IO2BJ4KVJOIP7XPWQGQFKKWXR6DOSJBV7STMAQSMTGG",
11
+ iconComponent: _web3icons_react.NetworkStellar,
12
+ bgColorClass: "bg-sky-100",
13
+ textColorClass: "text-sky-900",
14
+ defaultFeatureConfig: {
15
+ enabled: true,
16
+ showInUI: true
17
+ }
18
+ };
19
+
20
+ //#endregion
21
+ exports.ecosystemMetadata = ecosystemMetadata;
22
+ //# sourceMappingURL=metadata.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.cjs","names":["NetworkStellar"],"sources":["../src/metadata.ts"],"sourcesContent":["import { NetworkStellar } from '@web3icons/react';\n\nimport type { EcosystemMetadata } from '@openzeppelin/ui-types';\n\nexport const ecosystemMetadata: EcosystemMetadata = {\n id: 'stellar',\n name: 'Stellar',\n description:\n 'Stellar is a fast, energy-efficient blockchain network designed for real-world financial applications. It enables near-instant global payments at low cost, connects digital assets to traditional finance, and supports smart contracts through Soroban.',\n explorerGuidance: 'contract IDs on Stellar Expert',\n addressExample: 'GCKFBEIYV2U22IO2BJ4KVJOIP7XPWQGQFKKWXR6DOSJBV7STMAQSMTGG',\n iconComponent: NetworkStellar,\n bgColorClass: 'bg-sky-100',\n textColorClass: 'text-sky-900',\n defaultFeatureConfig: { enabled: true, showInUI: true },\n};\n"],"mappings":";;;;AAIA,MAAa,oBAAuC;CAClD,IAAI;CACJ,MAAM;CACN,aACE;CACF,kBAAkB;CAClB,gBAAgB;CAChB,eAAeA;CACf,cAAc;CACd,gBAAgB;CAChB,sBAAsB;EAAE,SAAS;EAAM,UAAU;EAAM;CACxD"}
@@ -0,0 +1,7 @@
1
+ import { EcosystemMetadata } from "@openzeppelin/ui-types";
2
+
3
+ //#region src/metadata.d.ts
4
+ declare const ecosystemMetadata: EcosystemMetadata;
5
+ //#endregion
6
+ export { ecosystemMetadata };
7
+ //# sourceMappingURL=metadata.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.cts","names":[],"sources":["../src/metadata.ts"],"sourcesContent":[],"mappings":";;;cAIa,mBAAmB"}
@@ -0,0 +1,7 @@
1
+ import { EcosystemMetadata } from "@openzeppelin/ui-types";
2
+
3
+ //#region src/metadata.d.ts
4
+ declare const ecosystemMetadata: EcosystemMetadata;
5
+ //#endregion
6
+ export { ecosystemMetadata };
7
+ //# sourceMappingURL=metadata.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.d.mts","names":[],"sources":["../src/metadata.ts"],"sourcesContent":[],"mappings":";;;cAIa,mBAAmB"}
@@ -0,0 +1,21 @@
1
+ import { NetworkStellar } from "@web3icons/react";
2
+
3
+ //#region src/metadata.ts
4
+ const ecosystemMetadata = {
5
+ id: "stellar",
6
+ name: "Stellar",
7
+ description: "Stellar is a fast, energy-efficient blockchain network designed for real-world financial applications. It enables near-instant global payments at low cost, connects digital assets to traditional finance, and supports smart contracts through Soroban.",
8
+ explorerGuidance: "contract IDs on Stellar Expert",
9
+ addressExample: "GCKFBEIYV2U22IO2BJ4KVJOIP7XPWQGQFKKWXR6DOSJBV7STMAQSMTGG",
10
+ iconComponent: NetworkStellar,
11
+ bgColorClass: "bg-sky-100",
12
+ textColorClass: "text-sky-900",
13
+ defaultFeatureConfig: {
14
+ enabled: true,
15
+ showInUI: true
16
+ }
17
+ };
18
+
19
+ //#endregion
20
+ export { ecosystemMetadata };
21
+ //# sourceMappingURL=metadata.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata.mjs","names":[],"sources":["../src/metadata.ts"],"sourcesContent":["import { NetworkStellar } from '@web3icons/react';\n\nimport type { EcosystemMetadata } from '@openzeppelin/ui-types';\n\nexport const ecosystemMetadata: EcosystemMetadata = {\n id: 'stellar',\n name: 'Stellar',\n description:\n 'Stellar is a fast, energy-efficient blockchain network designed for real-world financial applications. It enables near-instant global payments at low cost, connects digital assets to traditional finance, and supports smart contracts through Soroban.',\n explorerGuidance: 'contract IDs on Stellar Expert',\n addressExample: 'GCKFBEIYV2U22IO2BJ4KVJOIP7XPWQGQFKKWXR6DOSJBV7STMAQSMTGG',\n iconComponent: NetworkStellar,\n bgColorClass: 'bg-sky-100',\n textColorClass: 'text-sky-900',\n defaultFeatureConfig: { enabled: true, showInUI: true },\n};\n"],"mappings":";;;AAIA,MAAa,oBAAuC;CAClD,IAAI;CACJ,MAAM;CACN,aACE;CACF,kBAAkB;CAClB,gBAAgB;CAChB,eAAe;CACf,cAAc;CACd,gBAAgB;CAChB,sBAAsB;EAAE,SAAS;EAAM,UAAU;EAAM;CACxD"}
@@ -0,0 +1,15 @@
1
+ import { StellarNetworkConfig } from "@openzeppelin/ui-types";
2
+
3
+ //#region src/networks/mainnet.d.ts
4
+ declare const stellarPublic: StellarNetworkConfig;
5
+ //#endregion
6
+ //#region src/networks/testnet.d.ts
7
+ declare const stellarTestnet: StellarNetworkConfig;
8
+ //#endregion
9
+ //#region src/networks/index.d.ts
10
+ declare const stellarMainnetNetworks: StellarNetworkConfig[];
11
+ declare const stellarTestnetNetworks: StellarNetworkConfig[];
12
+ declare const stellarNetworks: StellarNetworkConfig[];
13
+ //#endregion
14
+ export { stellarPublic as a, stellarTestnet as i, stellarNetworks as n, stellarTestnetNetworks as r, stellarMainnetNetworks as t };
15
+ //# sourceMappingURL=networks-BrV516-R.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks-BrV516-R.d.cts","names":[],"sources":["../src/networks/mainnet.ts","../src/networks/testnet.ts","../src/networks/index.ts"],"sourcesContent":[],"mappings":";;;cAKa,eAAe;;;cCAf,gBAAgB;;;ADAhB,cECA,sBFDe,EECS,oBFapC,EAAA;cEVY,wBAAwB;cAGxB,iBAAiB"}
@@ -0,0 +1,15 @@
1
+ import { StellarNetworkConfig } from "@openzeppelin/ui-types";
2
+
3
+ //#region src/networks/mainnet.d.ts
4
+ declare const stellarPublic: StellarNetworkConfig;
5
+ //#endregion
6
+ //#region src/networks/testnet.d.ts
7
+ declare const stellarTestnet: StellarNetworkConfig;
8
+ //#endregion
9
+ //#region src/networks/index.d.ts
10
+ declare const stellarMainnetNetworks: StellarNetworkConfig[];
11
+ declare const stellarTestnetNetworks: StellarNetworkConfig[];
12
+ declare const stellarNetworks: StellarNetworkConfig[];
13
+ //#endregion
14
+ export { stellarPublic as a, stellarTestnet as i, stellarNetworks as n, stellarTestnetNetworks as r, stellarMainnetNetworks as t };
15
+ //# sourceMappingURL=networks-C0MmhJcu.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks-C0MmhJcu.d.mts","names":[],"sources":["../src/networks/mainnet.ts","../src/networks/testnet.ts","../src/networks/index.ts"],"sourcesContent":[],"mappings":";;;cAKa,eAAe;;;cCAf,gBAAgB;;;ADAhB,cECA,sBFDe,EECS,oBFapC,EAAA;cEVY,wBAAwB;cAGxB,iBAAiB"}
@@ -0,0 +1,76 @@
1
+ const require_index = require('./index.cjs');
2
+ let _web3icons_react = require("@web3icons/react");
3
+
4
+ //#region src/networks/mainnet.ts
5
+ const stellarPublic = {
6
+ id: "stellar-public",
7
+ exportConstName: "stellarPublic",
8
+ name: "Stellar",
9
+ ecosystem: "stellar",
10
+ network: "stellar",
11
+ type: "mainnet",
12
+ isTestnet: false,
13
+ horizonUrl: "https://horizon.stellar.org",
14
+ sorobanRpcUrl: "https://mainnet.sorobanrpc.com",
15
+ networkPassphrase: "Public Global Stellar Network ; September 2015",
16
+ explorerUrl: "https://stellar.expert/explorer/public",
17
+ iconComponent: _web3icons_react.NetworkStellar,
18
+ accessControlIndexerUrl: "https://openzeppelin-stellar-mainnet.graphql.subquery.network"
19
+ };
20
+
21
+ //#endregion
22
+ //#region src/networks/testnet.ts
23
+ const stellarTestnet = {
24
+ id: "stellar-testnet",
25
+ exportConstName: "stellarTestnet",
26
+ name: "Stellar Testnet",
27
+ ecosystem: "stellar",
28
+ network: "stellar",
29
+ type: "testnet",
30
+ isTestnet: true,
31
+ horizonUrl: "https://horizon-testnet.stellar.org",
32
+ sorobanRpcUrl: "https://soroban-testnet.stellar.org",
33
+ networkPassphrase: "Test SDF Network ; September 2015",
34
+ explorerUrl: "https://stellar.expert/explorer/testnet",
35
+ iconComponent: _web3icons_react.NetworkStellar,
36
+ accessControlIndexerUrl: "https://openzeppelin-stellar-testnet.graphql.subquery.network"
37
+ };
38
+
39
+ //#endregion
40
+ //#region src/networks/index.ts
41
+ const stellarMainnetNetworks = [stellarPublic];
42
+ const stellarTestnetNetworks = [stellarTestnet];
43
+ const stellarNetworks = [...stellarMainnetNetworks, ...stellarTestnetNetworks];
44
+
45
+ //#endregion
46
+ Object.defineProperty(exports, 'stellarMainnetNetworks', {
47
+ enumerable: true,
48
+ get: function () {
49
+ return stellarMainnetNetworks;
50
+ }
51
+ });
52
+ Object.defineProperty(exports, 'stellarNetworks', {
53
+ enumerable: true,
54
+ get: function () {
55
+ return stellarNetworks;
56
+ }
57
+ });
58
+ Object.defineProperty(exports, 'stellarPublic', {
59
+ enumerable: true,
60
+ get: function () {
61
+ return stellarPublic;
62
+ }
63
+ });
64
+ Object.defineProperty(exports, 'stellarTestnet', {
65
+ enumerable: true,
66
+ get: function () {
67
+ return stellarTestnet;
68
+ }
69
+ });
70
+ Object.defineProperty(exports, 'stellarTestnetNetworks', {
71
+ enumerable: true,
72
+ get: function () {
73
+ return stellarTestnetNetworks;
74
+ }
75
+ });
76
+ //# sourceMappingURL=networks-DgUFSTiC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks-DgUFSTiC.cjs","names":["NetworkStellar","NetworkStellar"],"sources":["../src/networks/mainnet.ts","../src/networks/testnet.ts","../src/networks/index.ts"],"sourcesContent":["import { NetworkStellar } from '@web3icons/react';\n\nimport { StellarNetworkConfig } from '@openzeppelin/ui-types';\n\n// Stellar Public Network (Mainnet)\nexport const stellarPublic: StellarNetworkConfig = {\n id: 'stellar-public',\n exportConstName: 'stellarPublic',\n name: 'Stellar',\n ecosystem: 'stellar',\n network: 'stellar',\n type: 'mainnet',\n isTestnet: false,\n horizonUrl: 'https://horizon.stellar.org',\n sorobanRpcUrl: 'https://mainnet.sorobanrpc.com',\n networkPassphrase: 'Public Global Stellar Network ; September 2015',\n explorerUrl: 'https://stellar.expert/explorer/public',\n iconComponent: NetworkStellar,\n accessControlIndexerUrl: 'https://openzeppelin-stellar-mainnet.graphql.subquery.network',\n};\n","import { NetworkStellar } from '@web3icons/react';\n\nimport { StellarNetworkConfig } from '@openzeppelin/ui-types';\n\n// Stellar Testnet\nexport const stellarTestnet: StellarNetworkConfig = {\n id: 'stellar-testnet',\n exportConstName: 'stellarTestnet',\n name: 'Stellar Testnet',\n ecosystem: 'stellar',\n network: 'stellar',\n type: 'testnet',\n isTestnet: true,\n horizonUrl: 'https://horizon-testnet.stellar.org',\n sorobanRpcUrl: 'https://soroban-testnet.stellar.org',\n networkPassphrase: 'Test SDF Network ; September 2015',\n explorerUrl: 'https://stellar.expert/explorer/testnet',\n iconComponent: NetworkStellar,\n accessControlIndexerUrl: 'https://openzeppelin-stellar-testnet.graphql.subquery.network',\n};\n","import { StellarNetworkConfig } from '@openzeppelin/ui-types';\n\nimport { stellarPublic } from './mainnet';\nimport { stellarTestnet } from './testnet';\n\n// All mainnet networks\nexport const stellarMainnetNetworks: StellarNetworkConfig[] = [stellarPublic];\n\n// All testnet networks\nexport const stellarTestnetNetworks: StellarNetworkConfig[] = [stellarTestnet];\n\n// All Stellar networks\nexport const stellarNetworks: StellarNetworkConfig[] = [\n ...stellarMainnetNetworks,\n ...stellarTestnetNetworks,\n];\n\n// Export individual networks as well\nexport { stellarPublic, stellarTestnet };\n"],"mappings":";;;;AAKA,MAAa,gBAAsC;CACjD,IAAI;CACJ,iBAAiB;CACjB,MAAM;CACN,WAAW;CACX,SAAS;CACT,MAAM;CACN,WAAW;CACX,YAAY;CACZ,eAAe;CACf,mBAAmB;CACnB,aAAa;CACb,eAAeA;CACf,yBAAyB;CAC1B;;;;ACdD,MAAa,iBAAuC;CAClD,IAAI;CACJ,iBAAiB;CACjB,MAAM;CACN,WAAW;CACX,SAAS;CACT,MAAM;CACN,WAAW;CACX,YAAY;CACZ,eAAe;CACf,mBAAmB;CACnB,aAAa;CACb,eAAeC;CACf,yBAAyB;CAC1B;;;;ACbD,MAAa,yBAAiD,CAAC,cAAc;AAG7E,MAAa,yBAAiD,CAAC,eAAe;AAG9E,MAAa,kBAA0C,CACrD,GAAG,wBACH,GAAG,uBACJ"}
@@ -0,0 +1,46 @@
1
+ import { NetworkStellar } from "@web3icons/react";
2
+
3
+ //#region src/networks/mainnet.ts
4
+ const stellarPublic = {
5
+ id: "stellar-public",
6
+ exportConstName: "stellarPublic",
7
+ name: "Stellar",
8
+ ecosystem: "stellar",
9
+ network: "stellar",
10
+ type: "mainnet",
11
+ isTestnet: false,
12
+ horizonUrl: "https://horizon.stellar.org",
13
+ sorobanRpcUrl: "https://mainnet.sorobanrpc.com",
14
+ networkPassphrase: "Public Global Stellar Network ; September 2015",
15
+ explorerUrl: "https://stellar.expert/explorer/public",
16
+ iconComponent: NetworkStellar,
17
+ accessControlIndexerUrl: "https://openzeppelin-stellar-mainnet.graphql.subquery.network"
18
+ };
19
+
20
+ //#endregion
21
+ //#region src/networks/testnet.ts
22
+ const stellarTestnet = {
23
+ id: "stellar-testnet",
24
+ exportConstName: "stellarTestnet",
25
+ name: "Stellar Testnet",
26
+ ecosystem: "stellar",
27
+ network: "stellar",
28
+ type: "testnet",
29
+ isTestnet: true,
30
+ horizonUrl: "https://horizon-testnet.stellar.org",
31
+ sorobanRpcUrl: "https://soroban-testnet.stellar.org",
32
+ networkPassphrase: "Test SDF Network ; September 2015",
33
+ explorerUrl: "https://stellar.expert/explorer/testnet",
34
+ iconComponent: NetworkStellar,
35
+ accessControlIndexerUrl: "https://openzeppelin-stellar-testnet.graphql.subquery.network"
36
+ };
37
+
38
+ //#endregion
39
+ //#region src/networks/index.ts
40
+ const stellarMainnetNetworks = [stellarPublic];
41
+ const stellarTestnetNetworks = [stellarTestnet];
42
+ const stellarNetworks = [...stellarMainnetNetworks, ...stellarTestnetNetworks];
43
+
44
+ //#endregion
45
+ export { stellarPublic as a, stellarTestnet as i, stellarNetworks as n, stellarTestnetNetworks as r, stellarMainnetNetworks as t };
46
+ //# sourceMappingURL=networks-QbEPbaGT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks-QbEPbaGT.mjs","names":[],"sources":["../src/networks/mainnet.ts","../src/networks/testnet.ts","../src/networks/index.ts"],"sourcesContent":["import { NetworkStellar } from '@web3icons/react';\n\nimport { StellarNetworkConfig } from '@openzeppelin/ui-types';\n\n// Stellar Public Network (Mainnet)\nexport const stellarPublic: StellarNetworkConfig = {\n id: 'stellar-public',\n exportConstName: 'stellarPublic',\n name: 'Stellar',\n ecosystem: 'stellar',\n network: 'stellar',\n type: 'mainnet',\n isTestnet: false,\n horizonUrl: 'https://horizon.stellar.org',\n sorobanRpcUrl: 'https://mainnet.sorobanrpc.com',\n networkPassphrase: 'Public Global Stellar Network ; September 2015',\n explorerUrl: 'https://stellar.expert/explorer/public',\n iconComponent: NetworkStellar,\n accessControlIndexerUrl: 'https://openzeppelin-stellar-mainnet.graphql.subquery.network',\n};\n","import { NetworkStellar } from '@web3icons/react';\n\nimport { StellarNetworkConfig } from '@openzeppelin/ui-types';\n\n// Stellar Testnet\nexport const stellarTestnet: StellarNetworkConfig = {\n id: 'stellar-testnet',\n exportConstName: 'stellarTestnet',\n name: 'Stellar Testnet',\n ecosystem: 'stellar',\n network: 'stellar',\n type: 'testnet',\n isTestnet: true,\n horizonUrl: 'https://horizon-testnet.stellar.org',\n sorobanRpcUrl: 'https://soroban-testnet.stellar.org',\n networkPassphrase: 'Test SDF Network ; September 2015',\n explorerUrl: 'https://stellar.expert/explorer/testnet',\n iconComponent: NetworkStellar,\n accessControlIndexerUrl: 'https://openzeppelin-stellar-testnet.graphql.subquery.network',\n};\n","import { StellarNetworkConfig } from '@openzeppelin/ui-types';\n\nimport { stellarPublic } from './mainnet';\nimport { stellarTestnet } from './testnet';\n\n// All mainnet networks\nexport const stellarMainnetNetworks: StellarNetworkConfig[] = [stellarPublic];\n\n// All testnet networks\nexport const stellarTestnetNetworks: StellarNetworkConfig[] = [stellarTestnet];\n\n// All Stellar networks\nexport const stellarNetworks: StellarNetworkConfig[] = [\n ...stellarMainnetNetworks,\n ...stellarTestnetNetworks,\n];\n\n// Export individual networks as well\nexport { stellarPublic, stellarTestnet };\n"],"mappings":";;;AAKA,MAAa,gBAAsC;CACjD,IAAI;CACJ,iBAAiB;CACjB,MAAM;CACN,WAAW;CACX,SAAS;CACT,MAAM;CACN,WAAW;CACX,YAAY;CACZ,eAAe;CACf,mBAAmB;CACnB,aAAa;CACb,eAAe;CACf,yBAAyB;CAC1B;;;;ACdD,MAAa,iBAAuC;CAClD,IAAI;CACJ,iBAAiB;CACjB,MAAM;CACN,WAAW;CACX,SAAS;CACT,MAAM;CACN,WAAW;CACX,YAAY;CACZ,eAAe;CACf,mBAAmB;CACnB,aAAa;CACb,eAAe;CACf,yBAAyB;CAC1B;;;;ACbD,MAAa,yBAAiD,CAAC,cAAc;AAG7E,MAAa,yBAAiD,CAAC,eAAe;AAG9E,MAAa,kBAA0C,CACrD,GAAG,wBACH,GAAG,uBACJ"}
@@ -0,0 +1,8 @@
1
+ const require_networks = require('./networks-DgUFSTiC.cjs');
2
+
3
+ exports.networks = require_networks.stellarNetworks;
4
+ exports.stellarMainnetNetworks = require_networks.stellarMainnetNetworks;
5
+ exports.stellarNetworks = require_networks.stellarNetworks;
6
+ exports.stellarPublic = require_networks.stellarPublic;
7
+ exports.stellarTestnet = require_networks.stellarTestnet;
8
+ exports.stellarTestnetNetworks = require_networks.stellarTestnetNetworks;
@@ -0,0 +1,2 @@
1
+ import { a as stellarPublic, i as stellarTestnet, n as stellarNetworks, r as stellarTestnetNetworks, t as stellarMainnetNetworks } from "./networks-BrV516-R.cjs";
2
+ export { stellarNetworks as networks, stellarNetworks, stellarMainnetNetworks, stellarPublic, stellarTestnet, stellarTestnetNetworks };
@@ -0,0 +1,2 @@
1
+ import { a as stellarPublic, i as stellarTestnet, n as stellarNetworks, r as stellarTestnetNetworks, t as stellarMainnetNetworks } from "./networks-C0MmhJcu.mjs";
2
+ export { stellarNetworks as networks, stellarNetworks, stellarMainnetNetworks, stellarPublic, stellarTestnet, stellarTestnetNetworks };
@@ -0,0 +1,3 @@
1
+ import { a as stellarPublic, i as stellarTestnet, n as stellarNetworks, r as stellarTestnetNetworks, t as stellarMainnetNetworks } from "./networks-QbEPbaGT.mjs";
2
+
3
+ export { stellarNetworks as networks, stellarNetworks, stellarMainnetNetworks, stellarPublic, stellarTestnet, stellarTestnetNetworks };
@@ -0,0 +1,43 @@
1
+
2
+ //#region src/vite-config.ts
3
+ /**
4
+ * Returns the Vite configuration required for Stellar adapter compatibility
5
+ *
6
+ * @returns Vite configuration object to be merged with your main vite.config
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * // vite.config.ts
11
+ * import { getStellarViteConfig } from '@openzeppelin/adapter-stellar/vite-config';
12
+ *
13
+ * export default defineConfig(({ mode }) => {
14
+ * const stellarConfig = getStellarViteConfig();
15
+ *
16
+ * return {
17
+ * plugins: [
18
+ * react(),
19
+ * ...stellarConfig.plugins,
20
+ * ],
21
+ * resolve: {
22
+ * dedupe: [
23
+ * ...stellarConfig.resolve.dedupe,
24
+ * ],
25
+ * },
26
+ * };
27
+ * });
28
+ * ```
29
+ */
30
+ function getStellarViteConfig() {
31
+ return {
32
+ plugins: [],
33
+ resolve: { dedupe: ["@stellar/stellar-sdk", "@creit.tech/stellar-wallets-kit"] },
34
+ optimizeDeps: {
35
+ include: [],
36
+ exclude: []
37
+ }
38
+ };
39
+ }
40
+
41
+ //#endregion
42
+ exports.getStellarViteConfig = getStellarViteConfig;
43
+ //# sourceMappingURL=vite-config.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-config.cjs","names":[],"sources":["../src/vite-config.ts"],"sourcesContent":["/**\n * Stellar Adapter: Vite Configuration Export\n *\n * This module exports Vite configuration fragments for the Stellar adapter.\n * Currently minimal, but provides a consistent interface for adapter-specific\n * build requirements.\n *\n * USAGE:\n * 1. In the main builder app: Import and merge into packages/builder/vite.config.ts\n * 2. In exported apps: The export system injects these configs when Stellar is used\n *\n * See: docs/ADAPTER_ARCHITECTURE.md § \"Build-Time Requirements\"\n */\n\nimport type { UserConfig } from 'vite';\n\n/**\n * Returns the Vite configuration required for Stellar adapter compatibility\n *\n * @returns Vite configuration object to be merged with your main vite.config\n *\n * @example\n * ```typescript\n * // vite.config.ts\n * import { getStellarViteConfig } from '@openzeppelin/adapter-stellar/vite-config';\n *\n * export default defineConfig(({ mode }) => {\n * const stellarConfig = getStellarViteConfig();\n *\n * return {\n * plugins: [\n * react(),\n * ...stellarConfig.plugins,\n * ],\n * resolve: {\n * dedupe: [\n * ...stellarConfig.resolve.dedupe,\n * ],\n * },\n * };\n * });\n * ```\n */\nexport function getStellarViteConfig(): UserConfig {\n return {\n // Currently no Stellar-specific plugins required\n plugins: [],\n\n resolve: {\n // Module Deduplication\n // Ensure singleton instances of shared dependencies\n dedupe: [\n // Stellar-specific dependencies that may need deduplication\n '@stellar/stellar-sdk',\n '@creit.tech/stellar-wallets-kit',\n ],\n },\n\n optimizeDeps: {\n // Force Pre-Bundling (CommonJS → ESM conversion)\n // Stellar dependencies are typically already ESM, but we include them here\n // for consistency and to ensure proper module resolution\n include: [],\n exclude: [],\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,SAAgB,uBAAmC;AACjD,QAAO;EAEL,SAAS,EAAE;EAEX,SAAS,EAGP,QAAQ,CAEN,wBACA,kCACD,EACF;EAED,cAAc;GAIZ,SAAS,EAAE;GACX,SAAS,EAAE;GACZ;EACF"}
@@ -0,0 +1,35 @@
1
+ import { UserConfig } from "vite";
2
+
3
+ //#region src/vite-config.d.ts
4
+
5
+ /**
6
+ * Returns the Vite configuration required for Stellar adapter compatibility
7
+ *
8
+ * @returns Vite configuration object to be merged with your main vite.config
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // vite.config.ts
13
+ * import { getStellarViteConfig } from '@openzeppelin/adapter-stellar/vite-config';
14
+ *
15
+ * export default defineConfig(({ mode }) => {
16
+ * const stellarConfig = getStellarViteConfig();
17
+ *
18
+ * return {
19
+ * plugins: [
20
+ * react(),
21
+ * ...stellarConfig.plugins,
22
+ * ],
23
+ * resolve: {
24
+ * dedupe: [
25
+ * ...stellarConfig.resolve.dedupe,
26
+ * ],
27
+ * },
28
+ * };
29
+ * });
30
+ * ```
31
+ */
32
+ declare function getStellarViteConfig(): UserConfig;
33
+ //#endregion
34
+ export { getStellarViteConfig };
35
+ //# sourceMappingURL=vite-config.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-config.d.cts","names":[],"sources":["../src/vite-config.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2CgB,oBAAA,CAAA,GAAwB"}
@@ -0,0 +1,35 @@
1
+ import { UserConfig } from "vite";
2
+
3
+ //#region src/vite-config.d.ts
4
+
5
+ /**
6
+ * Returns the Vite configuration required for Stellar adapter compatibility
7
+ *
8
+ * @returns Vite configuration object to be merged with your main vite.config
9
+ *
10
+ * @example
11
+ * ```typescript
12
+ * // vite.config.ts
13
+ * import { getStellarViteConfig } from '@openzeppelin/adapter-stellar/vite-config';
14
+ *
15
+ * export default defineConfig(({ mode }) => {
16
+ * const stellarConfig = getStellarViteConfig();
17
+ *
18
+ * return {
19
+ * plugins: [
20
+ * react(),
21
+ * ...stellarConfig.plugins,
22
+ * ],
23
+ * resolve: {
24
+ * dedupe: [
25
+ * ...stellarConfig.resolve.dedupe,
26
+ * ],
27
+ * },
28
+ * };
29
+ * });
30
+ * ```
31
+ */
32
+ declare function getStellarViteConfig(): UserConfig;
33
+ //#endregion
34
+ export { getStellarViteConfig };
35
+ //# sourceMappingURL=vite-config.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-config.d.mts","names":[],"sources":["../src/vite-config.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2CgB,oBAAA,CAAA,GAAwB"}
@@ -0,0 +1,42 @@
1
+ //#region src/vite-config.ts
2
+ /**
3
+ * Returns the Vite configuration required for Stellar adapter compatibility
4
+ *
5
+ * @returns Vite configuration object to be merged with your main vite.config
6
+ *
7
+ * @example
8
+ * ```typescript
9
+ * // vite.config.ts
10
+ * import { getStellarViteConfig } from '@openzeppelin/adapter-stellar/vite-config';
11
+ *
12
+ * export default defineConfig(({ mode }) => {
13
+ * const stellarConfig = getStellarViteConfig();
14
+ *
15
+ * return {
16
+ * plugins: [
17
+ * react(),
18
+ * ...stellarConfig.plugins,
19
+ * ],
20
+ * resolve: {
21
+ * dedupe: [
22
+ * ...stellarConfig.resolve.dedupe,
23
+ * ],
24
+ * },
25
+ * };
26
+ * });
27
+ * ```
28
+ */
29
+ function getStellarViteConfig() {
30
+ return {
31
+ plugins: [],
32
+ resolve: { dedupe: ["@stellar/stellar-sdk", "@creit.tech/stellar-wallets-kit"] },
33
+ optimizeDeps: {
34
+ include: [],
35
+ exclude: []
36
+ }
37
+ };
38
+ }
39
+
40
+ //#endregion
41
+ export { getStellarViteConfig };
42
+ //# sourceMappingURL=vite-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite-config.mjs","names":[],"sources":["../src/vite-config.ts"],"sourcesContent":["/**\n * Stellar Adapter: Vite Configuration Export\n *\n * This module exports Vite configuration fragments for the Stellar adapter.\n * Currently minimal, but provides a consistent interface for adapter-specific\n * build requirements.\n *\n * USAGE:\n * 1. In the main builder app: Import and merge into packages/builder/vite.config.ts\n * 2. In exported apps: The export system injects these configs when Stellar is used\n *\n * See: docs/ADAPTER_ARCHITECTURE.md § \"Build-Time Requirements\"\n */\n\nimport type { UserConfig } from 'vite';\n\n/**\n * Returns the Vite configuration required for Stellar adapter compatibility\n *\n * @returns Vite configuration object to be merged with your main vite.config\n *\n * @example\n * ```typescript\n * // vite.config.ts\n * import { getStellarViteConfig } from '@openzeppelin/adapter-stellar/vite-config';\n *\n * export default defineConfig(({ mode }) => {\n * const stellarConfig = getStellarViteConfig();\n *\n * return {\n * plugins: [\n * react(),\n * ...stellarConfig.plugins,\n * ],\n * resolve: {\n * dedupe: [\n * ...stellarConfig.resolve.dedupe,\n * ],\n * },\n * };\n * });\n * ```\n */\nexport function getStellarViteConfig(): UserConfig {\n return {\n // Currently no Stellar-specific plugins required\n plugins: [],\n\n resolve: {\n // Module Deduplication\n // Ensure singleton instances of shared dependencies\n dedupe: [\n // Stellar-specific dependencies that may need deduplication\n '@stellar/stellar-sdk',\n '@creit.tech/stellar-wallets-kit',\n ],\n },\n\n optimizeDeps: {\n // Force Pre-Bundling (CommonJS → ESM conversion)\n // Stellar dependencies are typically already ESM, but we include them here\n // for consistency and to ensure proper module resolution\n include: [],\n exclude: [],\n },\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,SAAgB,uBAAmC;AACjD,QAAO;EAEL,SAAS,EAAE;EAEX,SAAS,EAGP,QAAQ,CAEN,wBACA,kCACD,EACF;EAED,cAAc;GAIZ,SAAS,EAAE;GACX,SAAS,EAAE;GACZ;EACF"}
package/package.json ADDED
@@ -0,0 +1,114 @@
1
+ {
2
+ "name": "@openzeppelin/adapter-stellar",
3
+ "version": "1.0.0",
4
+ "description": "Stellar Adapter for UI Builder",
5
+ "keywords": [
6
+ "openzeppelin",
7
+ "transaction",
8
+ "form",
9
+ "builder",
10
+ "adapter",
11
+ "stellar"
12
+ ],
13
+ "author": "Aleksandr Pasevin <aleksandr.pasevin@openzeppelin.com>",
14
+ "homepage": "https://github.com/OpenZeppelin/openzeppelin-adapters#readme",
15
+ "license": "MIT",
16
+ "main": "dist/index.cjs",
17
+ "module": "dist/index.mjs",
18
+ "types": "dist/index.d.mts",
19
+ "type": "module",
20
+ "files": [
21
+ "dist",
22
+ "src"
23
+ ],
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "https://github.com/OpenZeppelin/openzeppelin-adapters.git",
30
+ "directory": "packages/adapter-stellar"
31
+ },
32
+ "bugs": {
33
+ "url": "https://github.com/OpenZeppelin/openzeppelin-adapters/issues"
34
+ },
35
+ "dependencies": {
36
+ "@creit.tech/stellar-wallets-kit": "^1.8.0",
37
+ "@openzeppelin/relayer-sdk": "1.9.0",
38
+ "@openzeppelin/ui-components": "^1.4.0",
39
+ "@openzeppelin/ui-types": "^1.11.1",
40
+ "@openzeppelin/ui-utils": "^1.3.0",
41
+ "@stellar/stellar-sdk": "^14.1.1",
42
+ "@stellar/stellar-xdr-json": "^23.0.0",
43
+ "@web3icons/react": "^4.0.19",
44
+ "lodash": "^4.17.21",
45
+ "lossless-json": "^4.0.2",
46
+ "lucide-react": "^0.510.0",
47
+ "react-hook-form": "^7.62.0"
48
+ },
49
+ "devDependencies": {
50
+ "@types/lodash": "^4.17.20",
51
+ "eslint": "^9.32.0",
52
+ "typescript": "^5.9.2",
53
+ "vitest": "^3.2.4"
54
+ },
55
+ "peerDependencies": {
56
+ "react": "^19.0.0"
57
+ },
58
+ "exports": {
59
+ ".": {
60
+ "types": {
61
+ "import": "./dist/index.d.mts",
62
+ "require": "./dist/index.d.cts"
63
+ },
64
+ "import": "./dist/index.mjs",
65
+ "require": "./dist/index.cjs"
66
+ },
67
+ "./metadata": {
68
+ "types": {
69
+ "import": "./dist/metadata.d.mts",
70
+ "require": "./dist/metadata.d.cts"
71
+ },
72
+ "import": "./dist/metadata.mjs",
73
+ "require": "./dist/metadata.cjs"
74
+ },
75
+ "./networks": {
76
+ "types": {
77
+ "import": "./dist/networks.d.mts",
78
+ "require": "./dist/networks.d.cts"
79
+ },
80
+ "import": "./dist/networks.mjs",
81
+ "require": "./dist/networks.cjs"
82
+ },
83
+ "./dist/config.js": {
84
+ "types": {
85
+ "import": "./dist/config.d.mts",
86
+ "require": "./dist/config.d.cts"
87
+ },
88
+ "import": "./dist/config.mjs",
89
+ "require": "./dist/config.cjs"
90
+ },
91
+ "./vite-config": {
92
+ "types": {
93
+ "import": "./dist/vite-config.d.mts",
94
+ "require": "./dist/vite-config.d.cts"
95
+ },
96
+ "import": "./dist/vite-config.mjs",
97
+ "require": "./dist/vite-config.cjs"
98
+ }
99
+ },
100
+ "scripts": {
101
+ "build": "tsdown",
102
+ "clean": "rm -rf dist tsconfig.tsbuildinfo",
103
+ "lint": "eslint .",
104
+ "lint:fix": "eslint . --fix",
105
+ "lint:adapters": "node ../../lint-adapters.cjs",
106
+ "test": "vitest run --passWithNoTests",
107
+ "test:unit": "vitest run --passWithNoTests --exclude '**/indexer-integration.test.ts'",
108
+ "test:integration": "vitest run --passWithNoTests test/access-control/indexer-integration.test.ts",
109
+ "test:types": "vitest run src/contract/__tests__/complete-type-coverage.test.ts",
110
+ "typecheck": "tsc --noEmit",
111
+ "validate-stellar-types": "node scripts/check-stellar-sdk-types.js",
112
+ "postinstall": "pnpm validate-stellar-types || echo '⚠️ Stellar SDK type validation warnings detected'"
113
+ }
114
+ }