@openzeppelin/ui-renderer 1.1.0 → 1.2.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.
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import { AddressBookWidgetProps, ContractAdapter, ContractFunction, ContractSchema, ExecutionConfig, FieldTransforms, FieldType, FormFieldType, FormValues, FullContractAdapter, NetworkConfig, TransactionFormProps } from "@openzeppelin/ui-types";
1
+ import { AddressBookWidgetProps, ContractAdapter, ContractFunction, ContractSchema, Ecosystem, ExecutionConfig, FieldTransforms, FieldType, FormFieldType, FormValues, FullContractAdapter, NetworkConfig, TransactionFormProps, TransactionSuccessPayload } from "@openzeppelin/ui-types";
2
2
  import React$1, { JSX } from "react";
3
3
  import { Control } from "react-hook-form";
4
4
  import { ButtonProps } from "@openzeppelin/ui-components";
@@ -65,7 +65,8 @@ declare function TransactionForm({
65
65
  contractSchema,
66
66
  adapter,
67
67
  isWalletConnected,
68
- executionConfig
68
+ executionConfig,
69
+ onTransactionSuccess
69
70
  }: TransactionFormProps): React.ReactElement;
70
71
  //#endregion
71
72
  //#region src/utils/formUtils.d.ts
@@ -170,6 +171,32 @@ declare function createObjectTransform(): FieldTransforms<Record<string, unknown
170
171
  */
171
172
  declare function createArrayObjectTransform(): FieldTransforms<Record<string, unknown>[]>;
172
173
  //#endregion
174
+ //#region src/utils/transactionSuccessCallback.d.ts
175
+ /**
176
+ * Normalizes adapter `txHash` for the success callback (non-empty trimmed string or omitted).
177
+ * Expects the `txHash` string from `signAndBroadcast`, not arbitrary values (avoids coercing objects).
178
+ */
179
+ declare function normalizeTransactionSuccessHash(finalTxHash: string | null | undefined): string | undefined;
180
+ /**
181
+ * Builds the {@link TransactionSuccessPayload} passed to `onTransactionSuccess`.
182
+ */
183
+ declare function buildTransactionSuccessPayload(options: {
184
+ networkId: TransactionSuccessPayload['network_id'];
185
+ ecosystem: Ecosystem;
186
+ executionMethod: ExecutionConfig['method'];
187
+ /** From `signAndBroadcast` result (`txHash: string`) */
188
+ finalTxHash: string | null | undefined;
189
+ }): TransactionSuccessPayload;
190
+ /** Minimal logger surface used by {@link invokeOnTransactionSuccess}. */
191
+ type TransactionSuccessLog = {
192
+ error(component: string, message: string, error?: unknown): void;
193
+ };
194
+ /**
195
+ * Invokes `onTransactionSuccess` with error containment: synchronous throws and async
196
+ * rejections are logged and never rethrown, so host callbacks cannot break transaction flow.
197
+ */
198
+ declare function invokeOnTransactionSuccess(callback: ((payload: TransactionSuccessPayload) => void | Promise<void>) | undefined, payload: TransactionSuccessPayload, log: TransactionSuccessLog): void;
199
+ //#endregion
173
200
  //#region src/components/DynamicFormField.d.ts
174
201
  /**
175
202
  * Props for the DynamicFormField component
@@ -284,6 +311,7 @@ declare function AddressBookWidget({
284
311
  networks,
285
312
  filterNetworkIds,
286
313
  onFilterNetworkIdsChange,
314
+ title,
287
315
  className
288
316
  }: AddressBookWidgetProps): react_jsx_runtime0.JSX.Element;
289
317
  //#endregion
@@ -418,5 +446,5 @@ declare const NetworkSettingsDialog: React$1.FC<Props>;
418
446
  */
419
447
  declare const WalletConnectionWithSettings: React$1.FC;
420
448
  //#endregion
421
- export { AddressBookWidget, type AliasEditLookupResult, AliasEditPopover, type AliasEditPopoverProps, ContractActionBar, ContractStateWidget, DynamicFormField, ExecutionConfigDisplay, NetworkSettingsDialog, ParameterConstraints, type RendererConfig, TransactionExecuteButton, TransactionForm, type UseAliasEditStateReturn, WalletConnectionWithSettings, createAddressTransform, createArrayObjectTransform, createArrayTransform, createBigIntTransform, createBooleanTransform, createComplexTypeTransform, createDefaultFormValues, createNumberTransform, createObjectTransform, createTextTransform, createTransformForFieldType, generateDefaultValue, getDefaultValueByFieldType, rendererConfig, useAliasEditState, validateField };
449
+ export { AddressBookWidget, type AliasEditLookupResult, AliasEditPopover, type AliasEditPopoverProps, ContractActionBar, ContractStateWidget, DynamicFormField, ExecutionConfigDisplay, NetworkSettingsDialog, ParameterConstraints, type RendererConfig, TransactionExecuteButton, TransactionForm, TransactionSuccessLog, type UseAliasEditStateReturn, WalletConnectionWithSettings, buildTransactionSuccessPayload, createAddressTransform, createArrayObjectTransform, createArrayTransform, createBigIntTransform, createBooleanTransform, createComplexTypeTransform, createDefaultFormValues, createNumberTransform, createObjectTransform, createTextTransform, createTransformForFieldType, generateDefaultValue, getDefaultValueByFieldType, invokeOnTransactionSuccess, normalizeTransactionSuccessHash, rendererConfig, useAliasEditState, validateField };
422
450
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/RendererConfig.ts","../src/config.ts","../src/components/TransactionForm.tsx","../src/utils/formUtils.ts","../src/components/DynamicFormField.tsx","../src/components/transaction/TransactionExecuteButton.tsx","../src/components/AddressBookWidget/AddressBookWidget.tsx","../src/components/AddressBookWidget/AliasEditPopover.tsx","../src/components/AddressBookWidget/useAliasEditState.ts","../src/components/ContractStateWidget/ContractStateWidget.tsx","../src/components/ContractActionBar/ContractActionBar.tsx","../src/components/ExecutionConfigDisplay/ExecutionConfigDisplay.tsx","../src/components/network/NetworkSettingsDialog.tsx","../src/components/WalletConnectionWithSettings.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/types/RendererConfig.ts","../src/config.ts","../src/components/TransactionForm.tsx","../src/utils/formUtils.ts","../src/utils/transactionSuccessCallback.ts","../src/components/DynamicFormField.tsx","../src/components/transaction/TransactionExecuteButton.tsx","../src/components/AddressBookWidget/AddressBookWidget.tsx","../src/components/AddressBookWidget/AliasEditPopover.tsx","../src/components/AddressBookWidget/useAliasEditState.ts","../src/components/ContractStateWidget/ContractStateWidget.tsx","../src/components/ContractActionBar/ContractActionBar.tsx","../src/components/ExecutionConfigDisplay/ExecutionConfigDisplay.tsx","../src/components/network/NetworkSettingsDialog.tsx","../src/components/WalletConnectionWithSettings.tsx"],"sourcesContent":[],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -2,7 +2,7 @@ import React$1, { JSX } from "react";
2
2
  import { Control } from "react-hook-form";
3
3
  import { ButtonProps } from "@openzeppelin/ui-components";
4
4
  import * as react_jsx_runtime0 from "react/jsx-runtime";
5
- import { AddressBookWidgetProps, ContractAdapter, ContractFunction, ContractSchema, ExecutionConfig, FieldTransforms, FieldType, FormFieldType, FormValues, FullContractAdapter, NetworkConfig, TransactionFormProps } from "@openzeppelin/ui-types";
5
+ import { AddressBookWidgetProps, ContractAdapter, ContractFunction, ContractSchema, Ecosystem, ExecutionConfig, FieldTransforms, FieldType, FormFieldType, FormValues, FullContractAdapter, NetworkConfig, TransactionFormProps, TransactionSuccessPayload } from "@openzeppelin/ui-types";
6
6
 
7
7
  //#region src/types/RendererConfig.d.ts
8
8
 
@@ -65,7 +65,8 @@ declare function TransactionForm({
65
65
  contractSchema,
66
66
  adapter,
67
67
  isWalletConnected,
68
- executionConfig
68
+ executionConfig,
69
+ onTransactionSuccess
69
70
  }: TransactionFormProps): React.ReactElement;
70
71
  //#endregion
71
72
  //#region src/utils/formUtils.d.ts
@@ -170,6 +171,32 @@ declare function createObjectTransform(): FieldTransforms<Record<string, unknown
170
171
  */
171
172
  declare function createArrayObjectTransform(): FieldTransforms<Record<string, unknown>[]>;
172
173
  //#endregion
174
+ //#region src/utils/transactionSuccessCallback.d.ts
175
+ /**
176
+ * Normalizes adapter `txHash` for the success callback (non-empty trimmed string or omitted).
177
+ * Expects the `txHash` string from `signAndBroadcast`, not arbitrary values (avoids coercing objects).
178
+ */
179
+ declare function normalizeTransactionSuccessHash(finalTxHash: string | null | undefined): string | undefined;
180
+ /**
181
+ * Builds the {@link TransactionSuccessPayload} passed to `onTransactionSuccess`.
182
+ */
183
+ declare function buildTransactionSuccessPayload(options: {
184
+ networkId: TransactionSuccessPayload['network_id'];
185
+ ecosystem: Ecosystem;
186
+ executionMethod: ExecutionConfig['method'];
187
+ /** From `signAndBroadcast` result (`txHash: string`) */
188
+ finalTxHash: string | null | undefined;
189
+ }): TransactionSuccessPayload;
190
+ /** Minimal logger surface used by {@link invokeOnTransactionSuccess}. */
191
+ type TransactionSuccessLog = {
192
+ error(component: string, message: string, error?: unknown): void;
193
+ };
194
+ /**
195
+ * Invokes `onTransactionSuccess` with error containment: synchronous throws and async
196
+ * rejections are logged and never rethrown, so host callbacks cannot break transaction flow.
197
+ */
198
+ declare function invokeOnTransactionSuccess(callback: ((payload: TransactionSuccessPayload) => void | Promise<void>) | undefined, payload: TransactionSuccessPayload, log: TransactionSuccessLog): void;
199
+ //#endregion
173
200
  //#region src/components/DynamicFormField.d.ts
174
201
  /**
175
202
  * Props for the DynamicFormField component
@@ -284,6 +311,7 @@ declare function AddressBookWidget({
284
311
  networks,
285
312
  filterNetworkIds,
286
313
  onFilterNetworkIdsChange,
314
+ title,
287
315
  className
288
316
  }: AddressBookWidgetProps): react_jsx_runtime0.JSX.Element;
289
317
  //#endregion
@@ -418,5 +446,5 @@ declare const NetworkSettingsDialog: React$1.FC<Props>;
418
446
  */
419
447
  declare const WalletConnectionWithSettings: React$1.FC;
420
448
  //#endregion
421
- export { AddressBookWidget, type AliasEditLookupResult, AliasEditPopover, type AliasEditPopoverProps, ContractActionBar, ContractStateWidget, DynamicFormField, ExecutionConfigDisplay, NetworkSettingsDialog, ParameterConstraints, type RendererConfig, TransactionExecuteButton, TransactionForm, type UseAliasEditStateReturn, WalletConnectionWithSettings, createAddressTransform, createArrayObjectTransform, createArrayTransform, createBigIntTransform, createBooleanTransform, createComplexTypeTransform, createDefaultFormValues, createNumberTransform, createObjectTransform, createTextTransform, createTransformForFieldType, generateDefaultValue, getDefaultValueByFieldType, rendererConfig, useAliasEditState, validateField };
449
+ export { AddressBookWidget, type AliasEditLookupResult, AliasEditPopover, type AliasEditPopoverProps, ContractActionBar, ContractStateWidget, DynamicFormField, ExecutionConfigDisplay, NetworkSettingsDialog, ParameterConstraints, type RendererConfig, TransactionExecuteButton, TransactionForm, TransactionSuccessLog, type UseAliasEditStateReturn, WalletConnectionWithSettings, buildTransactionSuccessPayload, createAddressTransform, createArrayObjectTransform, createArrayTransform, createBigIntTransform, createBooleanTransform, createComplexTypeTransform, createDefaultFormValues, createNumberTransform, createObjectTransform, createTextTransform, createTransformForFieldType, generateDefaultValue, getDefaultValueByFieldType, invokeOnTransactionSuccess, normalizeTransactionSuccessHash, rendererConfig, useAliasEditState, validateField };
422
450
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/RendererConfig.ts","../src/config.ts","../src/components/TransactionForm.tsx","../src/utils/formUtils.ts","../src/components/DynamicFormField.tsx","../src/components/transaction/TransactionExecuteButton.tsx","../src/components/AddressBookWidget/AddressBookWidget.tsx","../src/components/AddressBookWidget/AliasEditPopover.tsx","../src/components/AddressBookWidget/useAliasEditState.ts","../src/components/ContractStateWidget/ContractStateWidget.tsx","../src/components/ContractActionBar/ContractActionBar.tsx","../src/components/ExecutionConfigDisplay/ExecutionConfigDisplay.tsx","../src/components/network/NetworkSettingsDialog.tsx","../src/components/WalletConnectionWithSettings.tsx"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/RendererConfig.ts","../src/config.ts","../src/components/TransactionForm.tsx","../src/utils/formUtils.ts","../src/utils/transactionSuccessCallback.ts","../src/components/DynamicFormField.tsx","../src/components/transaction/TransactionExecuteButton.tsx","../src/components/AddressBookWidget/AddressBookWidget.tsx","../src/components/AddressBookWidget/AliasEditPopover.tsx","../src/components/AddressBookWidget/useAliasEditState.ts","../src/components/ContractStateWidget/ContractStateWidget.tsx","../src/components/ContractActionBar/ContractActionBar.tsx","../src/components/ExecutionConfigDisplay/ExecutionConfigDisplay.tsx","../src/components/network/NetworkSettingsDialog.tsx","../src/components/WalletConnectionWithSettings.tsx"],"sourcesContent":[],"mappings":"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"}
package/dist/index.mjs CHANGED
@@ -733,6 +733,44 @@ function extractRuntimeSecrets(data, fields) {
733
733
  };
734
734
  }
735
735
 
736
+ //#endregion
737
+ //#region src/utils/transactionSuccessCallback.ts
738
+ /**
739
+ * Normalizes adapter `txHash` for the success callback (non-empty trimmed string or omitted).
740
+ * Expects the `txHash` string from `signAndBroadcast`, not arbitrary values (avoids coercing objects).
741
+ */
742
+ function normalizeTransactionSuccessHash(finalTxHash) {
743
+ if (finalTxHash == null) return;
744
+ const trimmed = finalTxHash.trim();
745
+ return trimmed !== "" ? trimmed : void 0;
746
+ }
747
+ /**
748
+ * Builds the {@link TransactionSuccessPayload} passed to `onTransactionSuccess`.
749
+ */
750
+ function buildTransactionSuccessPayload(options) {
751
+ const hash = normalizeTransactionSuccessHash(options.finalTxHash);
752
+ return {
753
+ network_id: options.networkId,
754
+ ecosystem: options.ecosystem,
755
+ execution_method: options.executionMethod,
756
+ ...hash !== void 0 ? { transaction_hash: hash } : {}
757
+ };
758
+ }
759
+ /**
760
+ * Invokes `onTransactionSuccess` with error containment: synchronous throws and async
761
+ * rejections are logged and never rethrown, so host callbacks cannot break transaction flow.
762
+ */
763
+ function invokeOnTransactionSuccess(callback, payload, log) {
764
+ try {
765
+ const maybePromise = callback?.(payload);
766
+ Promise.resolve(maybePromise).catch((error) => {
767
+ log.error("TransactionForm", "onTransactionSuccess callback rejected with an error", error);
768
+ });
769
+ } catch (error) {
770
+ log.error("TransactionForm", "onTransactionSuccess callback threw an error", error);
771
+ }
772
+ }
773
+
736
774
  //#endregion
737
775
  //#region src/components/fieldRegistry.ts
738
776
  /**
@@ -1180,7 +1218,7 @@ const PENDING_STATES = [
1180
1218
  *
1181
1219
  * @returns The rendered form component
1182
1220
  */
1183
- function TransactionForm({ schema, contractSchema, adapter, isWalletConnected = false, executionConfig }) {
1221
+ function TransactionForm({ schema, contractSchema, adapter, isWalletConnected = false, executionConfig, onTransactionSuccess }) {
1184
1222
  const [formError, setFormError] = useState(null);
1185
1223
  const [executionConfigError, setExecutionConfigError] = useState(null);
1186
1224
  const [runtimeApiKey, setRuntimeApiKey] = useState("");
@@ -1267,9 +1305,19 @@ function TransactionForm({ schema, contractSchema, adapter, isWalletConnected =
1267
1305
  setTxResult(result);
1268
1306
  logger.info("TransactionForm", "Execution result received:", result);
1269
1307
  }
1308
+ const reportTransactionSuccess = () => {
1309
+ const executionMethod = executionConfig?.method ?? "eoa";
1310
+ invokeOnTransactionSuccess(onTransactionSuccess, buildTransactionSuccessPayload({
1311
+ networkId: adapter.networkConfig.id,
1312
+ ecosystem: adapter.networkConfig.ecosystem,
1313
+ executionMethod,
1314
+ finalTxHash
1315
+ }), logger);
1316
+ };
1270
1317
  if (canExecuteLocally) {
1271
1318
  setTxStatus("success");
1272
1319
  setTxError(null);
1320
+ reportTransactionSuccess();
1273
1321
  return;
1274
1322
  }
1275
1323
  if (adapter.waitForTransactionConfirmation) {
@@ -1280,6 +1328,7 @@ function TransactionForm({ schema, contractSchema, adapter, isWalletConnected =
1280
1328
  logger.info("TransactionForm", `Transaction confirmed: ${finalTxHash}`, confirmationResult.receipt);
1281
1329
  setTxStatus("success");
1282
1330
  setTxError(null);
1331
+ reportTransactionSuccess();
1283
1332
  } else {
1284
1333
  logger.error("TransactionForm", `Transaction failed confirmation: ${finalTxHash}`, confirmationResult.error);
1285
1334
  setTxError(confirmationResult.error?.message ?? "Transaction failed during confirmation.");
@@ -1289,6 +1338,7 @@ function TransactionForm({ schema, contractSchema, adapter, isWalletConnected =
1289
1338
  logger.warn("TransactionForm", "Adapter does not support waitForTransactionConfirmation. Marking as success after submission.");
1290
1339
  setTxStatus("success");
1291
1340
  setTxError(null);
1341
+ reportTransactionSuccess();
1292
1342
  }
1293
1343
  } catch (error) {
1294
1344
  logger.error("TransactionForm", "Transaction error during submission process:", error);
@@ -1733,7 +1783,7 @@ function ImportExportBar({ onExport, onImport, exportDisabled }) {
1733
1783
  //#endregion
1734
1784
  //#region src/components/AddressBookWidget/AddressBookWidget.tsx
1735
1785
  /** Widget for managing a personal address book with aliases, search, and network filtering. */
1736
- function AddressBookWidget({ aliases, isLoading, onSave, onRemove, onClear, onExport, onImport, currentNetworkId, resolveNetwork, resolveExplorerUrl, adapter, resolveAdapter, addressPlaceholder, resolveAddressPlaceholder, networks, filterNetworkIds, onFilterNetworkIdsChange, className }) {
1786
+ function AddressBookWidget({ aliases, isLoading, onSave, onRemove, onClear, onExport, onImport, currentNetworkId, resolveNetwork, resolveExplorerUrl, adapter, resolveAdapter, addressPlaceholder, resolveAddressPlaceholder, networks, filterNetworkIds, onFilterNetworkIdsChange, title = "Address Book", className }) {
1737
1787
  const [search, setSearch] = useState("");
1738
1788
  const [addDialogOpen, setAddDialogOpen] = useState(false);
1739
1789
  const [confirmClear, setConfirmClear] = useState(false);
@@ -1760,7 +1810,7 @@ function AddressBookWidget({ aliases, isLoading, onSave, onRemove, onClear, onEx
1760
1810
  className: cn("w-full", className),
1761
1811
  children: [/* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsxs(CardTitle, {
1762
1812
  className: "flex items-center gap-2 text-lg",
1763
- children: [/* @__PURE__ */ jsx(BookUser, { className: "h-5 w-5" }), "Address Book"]
1813
+ children: [/* @__PURE__ */ jsx(BookUser, { className: "h-5 w-5" }), title]
1764
1814
  }) }), /* @__PURE__ */ jsx(CardContent, {
1765
1815
  className: "flex items-center justify-center py-12",
1766
1816
  children: /* @__PURE__ */ jsx(Loader2, { className: "h-6 w-6 animate-spin text-muted-foreground" })
@@ -1775,7 +1825,7 @@ function AddressBookWidget({ aliases, isLoading, onSave, onRemove, onClear, onEx
1775
1825
  className: "flex items-center gap-2 text-lg",
1776
1826
  children: [
1777
1827
  /* @__PURE__ */ jsx(BookUser, { className: "h-5 w-5" }),
1778
- "Address Book",
1828
+ title,
1779
1829
  aliases.length > 0 && /* @__PURE__ */ jsxs("span", {
1780
1830
  className: "text-sm font-normal text-muted-foreground",
1781
1831
  children: [
@@ -2780,5 +2830,5 @@ const WalletConnectionWithSettings = () => {
2780
2830
  };
2781
2831
 
2782
2832
  //#endregion
2783
- export { AddressBookWidget, AliasEditPopover, ContractActionBar, ContractStateWidget, DynamicFormField, ExecutionConfigDisplay, NetworkSettingsDialog, TransactionExecuteButton, TransactionForm, WalletConnectionWithSettings, createAddressTransform, createArrayObjectTransform, createArrayTransform, createBigIntTransform, createBooleanTransform, createComplexTypeTransform, createDefaultFormValues, createNumberTransform, createObjectTransform, createTextTransform, createTransformForFieldType, generateDefaultValue, getDefaultValueByFieldType, rendererConfig, useAliasEditState, validateField };
2833
+ export { AddressBookWidget, AliasEditPopover, ContractActionBar, ContractStateWidget, DynamicFormField, ExecutionConfigDisplay, NetworkSettingsDialog, TransactionExecuteButton, TransactionForm, WalletConnectionWithSettings, buildTransactionSuccessPayload, createAddressTransform, createArrayObjectTransform, createArrayTransform, createBigIntTransform, createBooleanTransform, createComplexTypeTransform, createDefaultFormValues, createNumberTransform, createObjectTransform, createTextTransform, createTransformForFieldType, generateDefaultValue, getDefaultValueByFieldType, invokeOnTransactionSuccess, normalizeTransactionSuccessHash, rendererConfig, useAliasEditState, validateField };
2784
2834
  //# sourceMappingURL=index.mjs.map