@openzeppelin/ui-renderer 1.1.1 → 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
@@ -419,5 +446,5 @@ declare const NetworkSettingsDialog: React$1.FC<Props>;
419
446
  */
420
447
  declare const WalletConnectionWithSettings: React$1.FC;
421
448
  //#endregion
422
- 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 };
423
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":";;;;;;;;;;;;;;;AASA;AAIoB,UAJH,cAAA,CAIG;EAWO;;;EANA,gBAAA,EALP,MAKO,CAAA,MAAA,EAAA,MAAA,CAAA;;;;ECJd,iBA4EZ,EDxEoB,MCwEpB,CAAA,MA5E4B,EAAA;;;;IC6Bb,mBAAe,EFnBJ,MEmBI,CAAA,MAAA,EAAA,MAAA,CAAA;IAC7B;;;IAGA,eAAA,CAAA,EFlBsB,MEkBtB,CAAA,MAAA,EAAA,MAAA,CAAA;EACA,CAAA,CAAA;;;;;;;;cDlCW,gBAAgB;;;;;;;;;ADL7B;;;;;;;;;ACKA;;;iBC6BgB,eAAA;;;;;;GAMb,uBAAuB,KAAA,CAAM;;;;;;AF/BX,UGLJ,oBAAA,CHKI;EAAM,QAAA,CAAA,EAAA,OAAA;;;;ECJd,SAAA,CAAA,EAAA,MA4EZ;;;;AC/CD;;AAEE,iBCpBc,aAAA,CDoBd,KAAA,EAAA,OAAA,EAAA,UAIwB,CAJxB,EAAA;EACA,QAAA,CAAA,EAAA,OAAA;EACA,GAAA,CAAA,EAAA,MAAA;EACA,GAAA,CAAA,EAAA,MAAA;EACC,OAAA,CAAA,EAAA,MAAA;CAAuB,CAAA,EAAA,MAAM,GAAA,IAAA;;;;;ACpChC;AAYA;AAiCgB,iBAAA,sBAAA,CAAgC,OAAA,EAAA,eAAkB,CAAA,EAAA,eAAe,CAAA,MAAA,CAAA;AAqBjF;AAkBA;AAuBA;AAuBA;AA6BA;AAuBgB,iBApHA,qBAAA,CAAA,CAoH2B,EApHF,eAoHE,CAAA,MAAA,CAAA;;;;;AA+C3C;AAuBgB,iBAxKA,qBAAA,CAAA,CAwKsC,EAxKb,eAwKsB,CAAA,MAAA,CAAA;AAmB/D;;;;;AAyBgB,iBA7LA,sBAAA,CAAA,CA6LwB,EA7LE,eA6La,CAAA,OAAA,CAAA;AAwCvD;AAiDA;;;;AChYU,iBDiIM,0BAAA,CAAA,CCjIe,EDiIe,eCjIf,CAAA,OAAA,CAAA;;;;;;AAmBE,iBD2IjB,mBAAA,CAAA,CC3IiB,ED2IM,eC3IN,CAAA,MAAA,CAAA;AAwEjC;;;;;;;AAK6C,iBDqF7B,2BAAA,CCrF6B,SAAA,EDsFhC,SCtFgC,EAAA,OAAA,CAAA,EDuFjC,eCvFiC,CAAA,EDwF1C,eCxF0C,CAAA,OAAA,CAAA;;;;AC3G5B,iBF+OD,oBAAA,CE/O8B,aAmBlC,EAAA,MAMQ,EAAA,WAAgB,CAAA,EFwNrB,OExNqB,CFwNb,oBExNa,CAAA,CAAA,EAAA,OAAA;AAkBpC;;;AAGE,iBFwNc,0BAAA,CExNd,SAAA,EFwNoD,SExNpD,CAAA,EAAA,MAAA,GAAA,OAAA,GAAA,MAAA;;;;;;;;;iBF2Oc,uBAAA,SACN,gDACU,0BACjB;AGzQH;;;;;AAKE,iBH0Rc,oBAAA,CAAA,CG1Rd,EH0RsC,eG1RtC,CAAA,OAAA,EAAA,CAAA;;;;;;AAMA,iBH4Tc,qBAAA,CAAA,CG5Td,EH4TuC,eG5TvC,CH4TuD,MG5TvD,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;;;;;;AAMA,iBHuWc,0BAAA,CAAA,CGvWd,EHuW4C,eGvW5C,CHuW4D,MGvW5D,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,CAAA;;;;;;AN9BF,UIKU,qBAAA,CJLqB;EAIX;;;EAKC,KAAA,EIAZ,aJAY;EAAM;;;WIKhB,QAAQ;EHTN;;;WGcF;EFeK;;;EAGd,cAAA,CAAA,EEbiB,cFajB;EACA;;;EAEwB,KAAM,CAAA,EAAA,MAAA;;;;;ACpChC;AAYA;AAiCA;AAqBA;AAkBA;AAuBA;AAuBA;AA6BA;AAuBA;;;AAGG,iBC7Fa,gBAAA,CD6Fb;EAAA,KAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA,CAAA,ECxFA,qBDwFA,CAAA,ECxFwB,OAAA,CAAM,YDwF9B,GAAA,IAAA;;;UEnMc,6BAAA;;;;;ELMA;;;EAoBO,YAAA,EAAA,OAAA;EAXH;;;;;ACJrB;;YIQY;;AHqBZ;;;EAGE,eAAA,CAAA,EGlBkB,gBHkBlB;EACA;;;;EAE0C,iBAAA,CAAA,EAAA,OAAA;;;;ACpC5C;AAYA;AAiCA;AAqBA;AAkBA;AAuBA;AAuBA;AA6BgB,iBE9HA,wBAAA,CF8HuB;EAAA,iBAAe;EAAA,YAAA;EAAA,WAAA;EAAA,OAAA;EAAA,eAAA;EAAA;AAAA,CAAA,EEvHnD,6BFuHmD,CAAA,EEvHnB,KAAA,CAAM,YFuHa;;;;iBGtJtC,iBAAA;;;;;;;;;;;;;;;;;;;;GAoBb,yBAAsB,kBAAA,CAAA,GAAA,CAAA;;;UC7BR,qBAAA;;;;UAKA,qBAAA;;;EPTA,UAAA,EOYH,OPZiB;EAIX,OAAA,EAAA,GAAA,GAAA,IAAA;EAWO;EAKH,QAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,GOL6B,OPK7B,COLqC,qBPKrC,GAAA,SAAA,CAAA;EAXH;EAAM,MAAA,EAAA,CAAA,KAAA,EAAA;;;;ECJd,CAAA,EAAA,GMYgE,ONZhE,CAAA,MA4EZ,CAAA;;4BM9D2B;;ALe5B;AACE,iBKZc,gBAAA,CLYd;EAAA,OAAA;EAAA,SAAA;EAAA,UAAA;EAAA,OAAA;EAAA,QAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EKJC,qBLID,CAAA,EKJsB,kBAAA,CAAA,GAAA,CAAA,OLItB;;;UMjCQ,YAAA;;;cAGI;;;UAIG,uBAAA;ERTA;EAIG,OAAA,EQOT,YRPS,GAAA,IAAA;EAWO;EAKH,WAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAXH;EAAM,WAAA,EAAA,GAAA,GAAA,IAAA;;gBQQX,KAAA,CAAM;;IPZT,CAAA,EAAA,MAAA;;;;AC6BG,iBMbA,iBAAA,CNae,gBAAA,CAAA,EAAA,MAAA,CAAA,EMb+B,uBNa/B;;;UOlCrB,wBAAA;kBACQ;;WAEP;;ETHM,QAAA,CAAA,EAAA,GAAA,GAAc,IAAA;EAIX,SAAA,CAAA,EAAA,MAAA;EAWO,KAAA,CAAA,ESRjB,KTQiB,GAAA,IAAA;;;;;;iBSDX,mBAAA;;;;;;;;GAQb,2BAA2B,GAAA,CAAI;;;UC1BxB,sBAAA;iBACO;;;;EVGA,QAAA,CAAA,EUCJ,OAAA,CAAM,SVDY;EAIX,SAAA,CAAA,EAAA,MAAA;;;;;;;iBUMJ,iBAAA;;;;;;;GAOb,yBAAyB,OAAA,CAAM;;;UCGxB,2BAAA;mBACS;YACP;;;EXtBK,qBAAc,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;AAeJ,cWiBd,sBXjBc,EWiBU,OAAA,CAAM,EXjBhB,CWiBmB,2BXjBnB,CAAA;;;UYNjB,KAAA;;;;;IZTO,IAAA,EAAA,MAAA;EAIG,CAAA,GAAA,IAAA;EAWO,OAAA,EYFhB,eZEgB,GAAA,IAAA;;AANN,cYOR,qBZPQ,EYOe,OAAA,CAAM,EZPrB,CYOwB,KZPxB,CAAA;;;;;;;caNR,8BAA8B,OAAA,CAAM"}
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":";;;;;;;;;;;;;;;AASA;AAIoB,UAJH,cAAA,CAIG;EAWO;;;EANA,gBAAA,EALP,MAKO,CAAA,MAAA,EAAA,MAAA,CAAA;;;;ECJd,iBA4EZ,EDxEoB,MCwEpB,CAAA,MA5E4B,EAAA;;;;ICiCb,mBAAe,EFvBJ,MEuBI,CAAA,MAAA,EAAA,MAAA,CAAA;IAC7B;;;IAGA,eAAA,CAAA,EFtBsB,MEsBtB,CAAA,MAAA,EAAA,MAAA,CAAA;EACA,CAAA,CAAA;;;;;;;;cDtCW,gBAAgB;;;;;;;;;ADL7B;;;;;;;;;ACKA;;;iBCiCgB,eAAA;;;;;;;GAOb,uBAAuB,KAAA,CAAM;;;;;;AFpCX,UGLJ,oBAAA,CHKI;EAAM,QAAA,CAAA,EAAA,OAAA;;;;ECJd,SAAA,CAAA,EAAA,MA4EZ;;;;AC3CD;;AAEE,iBCxBc,aAAA,CDwBd,KAAA,EAAA,OAAA,EAAA,UAKC,CALD,EAAA;EACA,QAAA,CAAA,EAAA,OAAA;EACA,GAAA,CAAA,EAAA,MAAA;EACA,GAAA,CAAA,EAAA,MAAA;EACA,OAAA,CAAA,EAAA,MAAA;CACC,CAAA,EAAA,MAAA,GAAA,IAAA;;;;;;ACzCH;AAYgB,iBAiCA,sBAAA,CAjCa,OAAA,EAiCmB,eAjCnB,CAAA,EAiCqC,eAjCrC,CAAA,MAAA,CAAA;AAiC7B;AAqBA;AAkBA;AAuBA;AAuBA;AA6BgB,iBA7FA,qBAAA,CAAA,CA6FuB,EA7FE,eA6Fa,CAAA,MAAA,CAAA;AAuBtD;;;;;AA+CgB,iBAjJA,qBAAA,CAAA,CAmJO,EAnJkB,eAmJ1B,CAAA,MAAO,CAAA;AAqBtB;AAmBA;;;;AAGa,iBAvKG,sBAAA,CAAA,CAuKH,EAvK6B,eAuK7B,CAAA,OAAA,CAAA;AAsBb;AAwCA;AAiDA;;;iBA/PgB,0BAAA,CAAA,GAA8B;ACzI9C;AAaA;;;;AAMI,iBDmJY,mBAAA,CAAA,CCnJZ,EDmJmC,eCnJnC,CAAA,MAAA,CAAA;;AAWJ;AAQA;;;;;AAG4B,iBDoJZ,2BAAA,CCpJY,SAAA,EDqJf,SCrJe,EAAA,OAAA,CAAA,EDsJhB,eCtJgB,CAAA,EDuJzB,eCvJyB,CAAA,OAAA,CAAA;;;;ACjClB,iBFoOM,oBAAA,CEpOe,aAAA,EAAA,MAAA,EAAA,WAAA,CAAA,EFsOhB,OEtOgB,CFsOR,oBEtOQ,CAAA,CAAA,EAAA,OAAA;;;;AAcpB,iBF6OK,0BAAA,CE7OL,SAAA,EF6O2C,SE7O3C,CAAA,EAAA,MAAA,GAAA,OAAA,GAAA,MAAA;;;AA6EX;;;;;;AAK2B,iBF8KX,uBAAA,CE9KiB,MAAA,EF+KvB,aE/KuB,EAAA,GAAA,SAAA,EAAA,gBAAA,CAAA,EFgLb,MEhLa,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA,EFiL9B,UEjL8B;;;;;AC3GjC;AA2CgB,iBHuQA,oBAAA,CAAA,CGvQwB,EHuQA,eGvQA,CAAA,OAAA,EAAA,CAAA;;;;;;AAMtC,iBHySc,qBAAA,CAAA,CGzSd,EHySuC,eGzSvC,CHySuD,MGzSvD,CAAA,MAAA,EAAA,OAAA,CAAA,CAAA;;;;;;iBH0Vc,0BAAA,CAAA,GAA8B,gBAAgB;;;;;;;iBCxY9C,+BAAA;;AJGhB;;AAe2B,iBILX,8BAAA,CJKW,OAAA,EAAA;EAKH,SAAA,EITX,yBJSW,CAAA,YAAA,CAAA;EAXH,SAAA,EIGR,SJHQ;EAAM,eAAA,EIIR,eJJQ,CAAA,QAAA,CAAA;;;IIOvB;AHXJ;KGsBY,qBAAA;;;AFWZ;;;;AAIE,iBEPc,0BAAA,CFOd,QAAA,EAAA,CAAA,CAAA,OAAA,EENqB,yBFMrB,EAAA,GAAA,IAAA,GEN0D,OFM1D,CAAA,IAAA,CAAA,CAAA,GAAA,SAAA,EAAA,OAAA,EELS,yBFKT,EAAA,GAAA,EEJK,qBFIL,CAAA,EAAA,IAAA;;;;;;AF1CF,UKKU,qBAAA,CLLqB;EAIX;;;EAKC,KAAA,EKAZ,aLAY;EAAM;;;WKKhB,QAAQ;EJTN;;;WIcF;EHmBK;;;EAGd,cAAA,CAAA,EGjBiB,cHiBjB;EACA;;;EAGC,KAAA,CAAA,EAAA,MAAA;;;;;;ACzCH;AAYA;AAiCA;AAqBA;AAkBA;AAuBA;AAuBA;AA6BA;AAuBA;;AAEY,iBE5FI,gBAAA,CF4FJ;EAAA,KAAA;EAAA,OAAA;EAAA,OAAA;EAAA;AAAA,CAAA,EEvFT,qBFuFS,CAAA,EEvFe,OAAA,CAAM,YFuFrB,GAAA,IAAA;;;UGlMK,6BAAA;;;;;ENMA;;;EAoBO,YAAA,EAAA,OAAA;EAXH;;;;;ACJrB;;YKQY;;AJyBZ;;;EAGE,eAAA,CAAA,EItBkB,gBJsBlB;EACA;;;;EAGwB,iBAAM,CAAA,EAAA,OAAA;;;;;ACzChC;AAYA;AAiCA;AAqBA;AAkBA;AAuBA;AAuBgB,iBGjGA,wBAAA,CHiG8B;EAAA,iBAAe;EAAA,YAAA;EAAA,WAAA;EAAA,OAAA;EAAA,eAAA;EAAA;AAAA,CAAA,EG1F1D,6BH0F0D,CAAA,EG1F1B,KAAA,CAAM,YH0FoB;;;;iBIzH7C,iBAAA;;;;;;;;;;;;;;;;;;;;GAoBb,yBAAsB,kBAAA,CAAA,GAAA,CAAA;;;UC7BR,qBAAA;;;;UAKA,qBAAA;;;ERTA,UAAA,EQYH,ORZiB;EAIX,OAAA,EAAA,GAAA,GAAA,IAAA;EAWO;EAKH,QAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,GQL6B,ORK7B,CQLqC,qBRKrC,GAAA,SAAA,CAAA;EAXH;EAAM,MAAA,EAAA,CAAA,KAAA,EAAA;;;;ECJd,CAAA,EAAA,GOYgE,OPZhE,CAAA,MA4EZ,CAAA;;4BO9D2B;;ANmB5B;AACE,iBMhBc,gBAAA,CNgBd;EAAA,OAAA;EAAA,SAAA;EAAA,UAAA;EAAA,OAAA;EAAA,QAAA;EAAA,MAAA;EAAA;AAAA,CAAA,EMRC,qBNQD,CAAA,EMRsB,kBAAA,CAAA,GAAA,CAAA,ONQtB;;;UOrCQ,YAAA;;;cAGI;;;UAIG,uBAAA;ETTA;EAIG,OAAA,ESOT,YTPS,GAAA,IAAA;EAWO;EAKH,WAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,SAAA,CAAA,EAAA,MAAA,EAAA,GAAA,IAAA;EAXH;EAAM,WAAA,EAAA,GAAA,GAAA,IAAA;;gBSQX,KAAA,CAAM;;IRZT,CAAA,EAAA,MAAA;;;;ACiCG,iBOjBA,iBAAA,CPiBe,gBAAA,CAAA,EAAA,MAAA,CAAA,EOjB+B,uBPiB/B;;;UQtCrB,wBAAA;kBACQ;;WAEP;;EVHM,QAAA,CAAA,EAAA,GAAA,GAAc,IAAA;EAIX,SAAA,CAAA,EAAA,MAAA;EAWO,KAAA,CAAA,EURjB,KVQiB,GAAA,IAAA;;;;;;iBUDX,mBAAA;;;;;;;;GAQb,2BAA2B,GAAA,CAAI;;;UC1BxB,sBAAA;iBACO;;;;EXGA,QAAA,CAAA,EWCJ,OAAA,CAAM,SXDY;EAIX,SAAA,CAAA,EAAA,MAAA;;;;;;;iBWMJ,iBAAA;;;;;;;GAOb,yBAAyB,OAAA,CAAM;;;UCGxB,2BAAA;mBACS;YACP;;;EZtBK,qBAAc,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,IAAA;;AAeJ,cYiBd,sBZjBc,EYiBU,OAAA,CAAM,EZjBhB,CYiBmB,2BZjBnB,CAAA;;;UaNjB,KAAA;;;;;IbTO,IAAA,EAAA,MAAA;EAIG,CAAA,GAAA,IAAA;EAWO,OAAA,EaFhB,ebEgB,GAAA,IAAA;;AANN,caOR,qBbPQ,EaOe,OAAA,CAAM,EbPrB,CaOwB,KbPxB,CAAA;;;;;;;ccNR,8BAA8B,OAAA,CAAM"}
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
@@ -419,5 +446,5 @@ declare const NetworkSettingsDialog: React$1.FC<Props>;
419
446
  */
420
447
  declare const WalletConnectionWithSettings: React$1.FC;
421
448
  //#endregion
422
- 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 };
423
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);
@@ -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