@bloxchain/sdk 1.0.0-alpha.22 → 1.0.0-alpha.23

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 (106) hide show
  1. package/README.md +399 -376
  2. package/dist/abi.js +1 -1
  3. package/dist/abi.js.map +1 -1
  4. package/dist/contracts/core/BaseStateMachine.d.ts +5 -5
  5. package/dist/contracts/core/BaseStateMachine.d.ts.map +1 -1
  6. package/dist/contracts/core/BaseStateMachine.js +7 -2
  7. package/dist/contracts/core/BaseStateMachine.js.map +1 -1
  8. package/dist/contracts/core/GuardController.d.ts +4 -4
  9. package/dist/contracts/core/GuardController.d.ts.map +1 -1
  10. package/dist/contracts/core/GuardController.js +3 -3
  11. package/dist/contracts/core/GuardController.js.map +1 -1
  12. package/dist/contracts/core/RuntimeRBAC.d.ts +4 -4
  13. package/dist/contracts/core/RuntimeRBAC.d.ts.map +1 -1
  14. package/dist/contracts/core/RuntimeRBAC.js +4 -4
  15. package/dist/contracts/core/RuntimeRBAC.js.map +1 -1
  16. package/dist/contracts/core/SecureOwnable.d.ts +12 -4
  17. package/dist/contracts/core/SecureOwnable.d.ts.map +1 -1
  18. package/dist/contracts/core/SecureOwnable.js +19 -3
  19. package/dist/contracts/core/SecureOwnable.js.map +1 -1
  20. package/dist/index.d.ts +31 -30
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +27 -26
  23. package/dist/index.js.map +1 -1
  24. package/dist/interfaces/base.state.machine.index.d.ts +3 -3
  25. package/dist/interfaces/base.state.machine.index.d.ts.map +1 -1
  26. package/dist/interfaces/core.access.index.d.ts +2 -2
  27. package/dist/interfaces/core.access.index.d.ts.map +1 -1
  28. package/dist/interfaces/core.execution.index.d.ts +3 -3
  29. package/dist/interfaces/core.execution.index.d.ts.map +1 -1
  30. package/dist/interfaces/core.security.index.d.ts +3 -3
  31. package/dist/interfaces/core.security.index.d.ts.map +1 -1
  32. package/dist/interfaces/definition.index.d.ts +1 -1
  33. package/dist/interfaces/definition.index.d.ts.map +1 -1
  34. package/dist/interfaces/lib.index.d.ts +1 -1
  35. package/dist/interfaces/lib.index.d.ts.map +1 -1
  36. package/dist/lib/Definition.d.ts +2 -2
  37. package/dist/lib/Definition.d.ts.map +1 -1
  38. package/dist/lib/Definition.js +7 -2
  39. package/dist/lib/Definition.js.map +1 -1
  40. package/dist/lib/EngineBlox.d.ts +2 -2
  41. package/dist/lib/EngineBlox.d.ts.map +1 -1
  42. package/dist/lib/EngineBlox.js +42 -42
  43. package/dist/lib/EngineBlox.js.map +1 -1
  44. package/dist/lib/definitions/GuardControllerDefinitions.d.ts +2 -2
  45. package/dist/lib/definitions/GuardControllerDefinitions.d.ts.map +1 -1
  46. package/dist/lib/definitions/GuardControllerDefinitions.js +1 -1
  47. package/dist/lib/definitions/GuardControllerDefinitions.js.map +1 -1
  48. package/dist/lib/definitions/RuntimeRBACDefinitions.d.ts +1 -1
  49. package/dist/lib/definitions/RuntimeRBACDefinitions.d.ts.map +1 -1
  50. package/dist/lib/definitions/RuntimeRBACDefinitions.js +1 -1
  51. package/dist/lib/definitions/RuntimeRBACDefinitions.js.map +1 -1
  52. package/dist/lib/definitions/SecureOwnableDefinitions.js +1 -1
  53. package/dist/lib/definitions/SecureOwnableDefinitions.js.map +1 -1
  54. package/dist/lib/definitions/index.d.ts +4 -4
  55. package/dist/lib/definitions/index.d.ts.map +1 -1
  56. package/dist/lib/definitions/index.js +3 -3
  57. package/dist/lib/definitions/index.js.map +1 -1
  58. package/dist/types/base.state.machine.index.d.ts +4 -19
  59. package/dist/types/base.state.machine.index.d.ts.map +1 -1
  60. package/dist/types/base.state.machine.index.js +20 -39
  61. package/dist/types/base.state.machine.index.js.map +1 -1
  62. package/dist/types/core.access.index.d.ts +0 -16
  63. package/dist/types/core.access.index.d.ts.map +1 -1
  64. package/dist/types/core.access.index.js +2 -13
  65. package/dist/types/core.access.index.js.map +1 -1
  66. package/dist/types/core.execution.index.d.ts +8 -10
  67. package/dist/types/core.execution.index.d.ts.map +1 -1
  68. package/dist/types/core.execution.index.js +16 -14
  69. package/dist/types/core.execution.index.js.map +1 -1
  70. package/dist/types/core.security.index.d.ts +4 -6
  71. package/dist/types/core.security.index.d.ts.map +1 -1
  72. package/dist/types/core.security.index.js +23 -27
  73. package/dist/types/core.security.index.js.map +1 -1
  74. package/dist/types/definition.index.d.ts +1 -1
  75. package/dist/types/definition.index.d.ts.map +1 -1
  76. package/dist/types/lib.index.d.ts +7 -27
  77. package/dist/types/lib.index.d.ts.map +1 -1
  78. package/dist/types/lib.index.js +12 -34
  79. package/dist/types/lib.index.js.map +1 -1
  80. package/dist/types/meta-tx-signatures.d.ts +9 -0
  81. package/dist/types/meta-tx-signatures.d.ts.map +1 -0
  82. package/dist/types/meta-tx-signatures.js +11 -0
  83. package/dist/types/meta-tx-signatures.js.map +1 -0
  84. package/dist/utils/bitmap.d.ts +1 -1
  85. package/dist/utils/bitmap.d.ts.map +1 -1
  86. package/dist/utils/erc20/erc20Token.d.ts +1 -1
  87. package/dist/utils/erc20/erc20Token.d.ts.map +1 -1
  88. package/dist/utils/erc20/erc20Token.js +5 -1
  89. package/dist/utils/erc20/erc20Token.js.map +1 -1
  90. package/dist/utils/interface-ids.d.ts +7 -31
  91. package/dist/utils/interface-ids.d.ts.map +1 -1
  92. package/dist/utils/interface-ids.js +29 -85
  93. package/dist/utils/interface-ids.js.map +1 -1
  94. package/dist/utils/metaTx/metaTransaction.d.ts +7 -2
  95. package/dist/utils/metaTx/metaTransaction.d.ts.map +1 -1
  96. package/dist/utils/metaTx/metaTransaction.js +11 -2
  97. package/dist/utils/metaTx/metaTransaction.js.map +1 -1
  98. package/dist/utils/validations.d.ts +1 -1
  99. package/dist/utils/validations.d.ts.map +1 -1
  100. package/dist/utils/validations.js +2 -1
  101. package/dist/utils/validations.js.map +1 -1
  102. package/dist/utils/viem-error-handler.d.ts +1 -1
  103. package/dist/utils/viem-error-handler.d.ts.map +1 -1
  104. package/dist/utils/viem-error-handler.js +1 -1
  105. package/dist/utils/viem-error-handler.js.map +1 -1
  106. package/package.json +7 -6
@@ -1,7 +1,6 @@
1
1
  import { Hex } from 'viem';
2
2
  /**
3
- * Constants for GuardController operation types
4
- * These match the keccak256 hashes defined in GuardControllerDefinitions.sol
3
+ * Constants for GuardController operation types (GuardControllerDefinitions.sol).
5
4
  */
6
5
  export declare const GUARD_CONTROLLER_OPERATION_TYPES: {
7
6
  readonly CONTROLLER_OPERATION: `0x${string}`;
@@ -9,27 +8,26 @@ export declare const GUARD_CONTROLLER_OPERATION_TYPES: {
9
8
  readonly NATIVE_TRANSFER: `0x${string}`;
10
9
  };
11
10
  /**
12
- * Constants for GuardController function selectors
13
- * These match the selectors from GuardControllerDefinitions.sol
11
+ * Function selectors (GuardControllerDefinitions.sol + EngineBlox.NATIVE_TRANSFER_SELECTOR).
14
12
  */
15
13
  export declare const GUARD_CONTROLLER_FUNCTION_SELECTORS: {
14
+ readonly EXECUTE_WITH_TIMELOCK_SELECTOR: Hex;
15
+ readonly EXECUTE_WITH_PAYMENT_SELECTOR: Hex;
16
+ readonly APPROVE_TIMELOCK_EXECUTION_SELECTOR: Hex;
17
+ readonly CANCEL_TIMELOCK_EXECUTION_SELECTOR: Hex;
18
+ readonly APPROVE_TIMELOCK_EXECUTION_META_SELECTOR: Hex;
19
+ readonly CANCEL_TIMELOCK_EXECUTION_META_SELECTOR: Hex;
16
20
  readonly GUARD_CONFIG_BATCH_EXECUTE_SELECTOR: Hex;
17
21
  readonly GUARD_CONFIG_BATCH_META_SELECTOR: Hex;
18
22
  readonly REQUEST_AND_APPROVE_EXECUTION_SELECTOR: Hex;
19
23
  readonly NATIVE_TRANSFER_SELECTOR: Hex;
20
24
  };
21
- /**
22
- * GuardConfigActionType enum matching Solidity GuardControllerDefinitions.GuardConfigActionType
23
- */
24
25
  export declare enum GuardConfigActionType {
25
26
  ADD_TARGET_TO_WHITELIST = 0,
26
27
  REMOVE_TARGET_FROM_WHITELIST = 1,
27
28
  REGISTER_FUNCTION = 2,
28
29
  UNREGISTER_FUNCTION = 3
29
30
  }
30
- /**
31
- * Type for GuardConfigAction struct
32
- */
33
31
  export interface GuardConfigAction {
34
32
  actionType: GuardConfigActionType;
35
33
  data: Hex;
@@ -1 +1 @@
1
- {"version":3,"file":"core.execution.index.d.ts","sourceRoot":"","sources":["../../types/core.execution.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,GAAG,EAAE,MAAM,MAAM,CAAC;AAEtC;;;GAGG;AACH,eAAO,MAAM,gCAAgC;;;;CAInC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,mCAAmC;kDAG5B,GAAG;+CAKH,GAAG;qDAKH,GAAG;uCACqB,GAAG;CACrC,CAAC;AAEX;;GAEG;AACH,oBAAY,qBAAqB;IAC/B,uBAAuB,IAAI;IAC3B,4BAA4B,IAAI;IAChC,iBAAiB,IAAI;IACrB,mBAAmB,IAAI;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,qBAAqB,CAAC;IAClC,IAAI,EAAE,GAAG,CAAC;CACX"}
1
+ {"version":3,"file":"core.execution.index.d.ts","sourceRoot":"","sources":["../../types/core.execution.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,GAAG,EAAE,MAAM,MAAM,CAAC;AAGtC;;GAEG;AACH,eAAO,MAAM,gCAAgC;;;;CAInC,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mCAAmC;6CAK5B,GAAG;4CAKH,GAAG;kDAGH,GAAG;iDAGH,GAAG;uDAGH,GAAG;sDAGH,GAAG;kDAGH,GAAG;+CAGH,GAAG;qDAGH,GAAG;uCACqB,GAAG;CACrC,CAAC;AAEX,oBAAY,qBAAqB;IAC/B,uBAAuB,IAAI;IAC3B,4BAA4B,IAAI;IAChC,iBAAiB,IAAI;IACrB,mBAAmB,IAAI;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,qBAAqB,CAAC;IAClC,IAAI,EAAE,GAAG,CAAC;CACX"}
@@ -1,26 +1,28 @@
1
1
  import { keccak256 } from 'viem';
2
+ import { metaTxHandlerSignature } from './meta-tx-signatures.js';
2
3
  /**
3
- * Constants for GuardController operation types
4
- * These match the keccak256 hashes defined in GuardControllerDefinitions.sol
4
+ * Constants for GuardController operation types (GuardControllerDefinitions.sol).
5
5
  */
6
6
  export const GUARD_CONTROLLER_OPERATION_TYPES = {
7
- CONTROLLER_OPERATION: keccak256(new TextEncoder().encode("CONTROLLER_OPERATION")),
8
- CONTROLLER_CONFIG_BATCH: keccak256(new TextEncoder().encode("CONTROLLER_CONFIG_BATCH")),
9
- NATIVE_TRANSFER: keccak256(new TextEncoder().encode("NATIVE_TRANSFER"))
7
+ CONTROLLER_OPERATION: keccak256(new TextEncoder().encode('CONTROLLER_OPERATION')),
8
+ CONTROLLER_CONFIG_BATCH: keccak256(new TextEncoder().encode('CONTROLLER_CONFIG_BATCH')),
9
+ NATIVE_TRANSFER: keccak256(new TextEncoder().encode('NATIVE_TRANSFER')),
10
10
  };
11
11
  /**
12
- * Constants for GuardController function selectors
13
- * These match the selectors from GuardControllerDefinitions.sol
12
+ * Function selectors (GuardControllerDefinitions.sol + EngineBlox.NATIVE_TRANSFER_SELECTOR).
14
13
  */
15
14
  export const GUARD_CONTROLLER_FUNCTION_SELECTORS = {
16
- GUARD_CONFIG_BATCH_EXECUTE_SELECTOR: keccak256(new TextEncoder().encode("executeGuardConfigBatch((uint8,bytes)[])")).slice(0, 10),
17
- GUARD_CONFIG_BATCH_META_SELECTOR: keccak256(new TextEncoder().encode("guardConfigBatchRequestAndApprove(((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes))")).slice(0, 10),
18
- REQUEST_AND_APPROVE_EXECUTION_SELECTOR: keccak256(new TextEncoder().encode("requestAndApproveExecution(((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes))")).slice(0, 10),
19
- NATIVE_TRANSFER_SELECTOR: "0xd8cb519d" // bytes4(keccak256("__bloxchain_native_transfer__()")) - matches EngineBlox.NATIVE_TRANSFER_SELECTOR
15
+ EXECUTE_WITH_TIMELOCK_SELECTOR: keccak256(new TextEncoder().encode('executeWithTimeLock(address,uint256,bytes4,bytes,uint256,bytes32)')).slice(0, 10),
16
+ EXECUTE_WITH_PAYMENT_SELECTOR: keccak256(new TextEncoder().encode('executeWithPayment(address,uint256,bytes4,bytes,uint256,bytes32,(address,uint256,address,uint256))')).slice(0, 10),
17
+ APPROVE_TIMELOCK_EXECUTION_SELECTOR: keccak256(new TextEncoder().encode('approveTimeLockExecution(uint256)')).slice(0, 10),
18
+ CANCEL_TIMELOCK_EXECUTION_SELECTOR: keccak256(new TextEncoder().encode('cancelTimeLockExecution(uint256)')).slice(0, 10),
19
+ APPROVE_TIMELOCK_EXECUTION_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('approveTimeLockExecutionWithMetaTx'))).slice(0, 10),
20
+ CANCEL_TIMELOCK_EXECUTION_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('cancelTimeLockExecutionWithMetaTx'))).slice(0, 10),
21
+ GUARD_CONFIG_BATCH_EXECUTE_SELECTOR: keccak256(new TextEncoder().encode('executeGuardConfigBatch((uint8,bytes)[])')).slice(0, 10),
22
+ GUARD_CONFIG_BATCH_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('guardConfigBatchRequestAndApprove'))).slice(0, 10),
23
+ REQUEST_AND_APPROVE_EXECUTION_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('requestAndApproveExecution'))).slice(0, 10),
24
+ NATIVE_TRANSFER_SELECTOR: '0xd8cb519d',
20
25
  };
21
- /**
22
- * GuardConfigActionType enum matching Solidity GuardControllerDefinitions.GuardConfigActionType
23
- */
24
26
  export var GuardConfigActionType;
25
27
  (function (GuardConfigActionType) {
26
28
  GuardConfigActionType[GuardConfigActionType["ADD_TARGET_TO_WHITELIST"] = 0] = "ADD_TARGET_TO_WHITELIST";
@@ -1 +1 @@
1
- {"version":3,"file":"core.execution.index.js","sourceRoot":"","sources":["../../types/core.execution.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,MAAM,MAAM,CAAC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,oBAAoB,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACjF,uBAAuB,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACvF,eAAe,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;CAC/D,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,mCAAmC,EAAE,SAAS,CAC5C,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,0CAA0C,CAAC,CACrE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,gCAAgC,EAAE,SAAS,CACzC,IAAI,WAAW,EAAE,CAAC,MAAM,CACtB,0PAA0P,CAC3P,CACF,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,sCAAsC,EAAE,SAAS,CAC/C,IAAI,WAAW,EAAE,CAAC,MAAM,CACtB,mPAAmP,CACpP,CACF,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,wBAAwB,EAAE,YAAmB,CAAC,qGAAqG;CAC3I,CAAC;AAEX;;GAEG;AACH,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,uGAA2B,CAAA;IAC3B,iHAAgC,CAAA;IAChC,2FAAqB,CAAA;IACrB,+FAAuB,CAAA;AACzB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC"}
1
+ {"version":3,"file":"core.execution.index.js","sourceRoot":"","sources":["../../types/core.execution.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;GAEG;AACH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC9C,oBAAoB,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IACjF,uBAAuB,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;IACvF,eAAe,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;CAC/D,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,8BAA8B,EAAE,SAAS,CACvC,IAAI,WAAW,EAAE,CAAC,MAAM,CACtB,mEAAmE,CACpE,CACF,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,6BAA6B,EAAE,SAAS,CACtC,IAAI,WAAW,EAAE,CAAC,MAAM,CACtB,oGAAoG,CACrG,CACF,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,mCAAmC,EAAE,SAAS,CAC5C,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAC9D,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,kCAAkC,EAAE,SAAS,CAC3C,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAC7D,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,wCAAwC,EAAE,SAAS,CACjD,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,oCAAoC,CAAC,CAAC,CACvF,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,uCAAuC,EAAE,SAAS,CAChD,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,mCAAmC,CAAC,CAAC,CACtF,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,mCAAmC,EAAE,SAAS,CAC5C,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,0CAA0C,CAAC,CACrE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,gCAAgC,EAAE,SAAS,CACzC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,mCAAmC,CAAC,CAAC,CACtF,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,sCAAsC,EAAE,SAAS,CAC/C,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,sBAAsB,CAAC,4BAA4B,CAAC,CAAC,CAC/E,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACrB,wBAAwB,EAAE,YAAmB;CACrC,CAAC;AAEX,MAAM,CAAN,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,uGAA2B,CAAA;IAC3B,iHAAgC,CAAA;IAChC,2FAAqB,CAAA;IACrB,+FAAuB,CAAA;AACzB,CAAC,EALW,qBAAqB,KAArB,qBAAqB,QAKhC"}
@@ -1,7 +1,6 @@
1
1
  import { Hex } from 'viem';
2
2
  /**
3
- * Constants for SecureOwnable operations
4
- * These match the keccak256 hashes defined in SecureOwnableDefinitions.sol
3
+ * Operation type hashes (SecureOwnableDefinitions.sol).
5
4
  */
6
5
  export declare const OPERATION_TYPES: {
7
6
  readonly OWNERSHIP_TRANSFER: `0x${string}`;
@@ -9,10 +8,9 @@ export declare const OPERATION_TYPES: {
9
8
  readonly RECOVERY_UPDATE: `0x${string}`;
10
9
  readonly TIMELOCK_UPDATE: `0x${string}`;
11
10
  };
12
- export type OperationType = typeof OPERATION_TYPES[keyof typeof OPERATION_TYPES];
11
+ export type OperationType = (typeof OPERATION_TYPES)[keyof typeof OPERATION_TYPES];
13
12
  /**
14
- * Constants for function selectors
15
- * These match the selectors from SecureOwnableDefinitions.sol
13
+ * Function selectors (SecureOwnableDefinitions.sol).
16
14
  */
17
15
  export declare const FUNCTION_SELECTORS: {
18
16
  readonly TRANSFER_OWNERSHIP_SELECTOR: Hex;
@@ -32,5 +30,5 @@ export declare const FUNCTION_SELECTORS: {
32
30
  readonly UPDATE_RECOVERY_META_SELECTOR: Hex;
33
31
  readonly UPDATE_TIMELOCK_META_SELECTOR: Hex;
34
32
  };
35
- export type FunctionSelector = typeof FUNCTION_SELECTORS[keyof typeof FUNCTION_SELECTORS];
33
+ export type FunctionSelector = (typeof FUNCTION_SELECTORS)[keyof typeof FUNCTION_SELECTORS];
36
34
  //# sourceMappingURL=core.security.index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.security.index.d.ts","sourceRoot":"","sources":["../../types/core.security.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,GAAG,EAAE,MAAM,MAAM,CAAC;AAGtC;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEjF;;;GAGG;AACH,eAAO,MAAM,kBAAkB;0CAEyF,GAAG;0CACK,GAAG;uCACjB,GAAG;uCACH,GAAG;kDAGI,GAAG;2DACqB,GAAG;uDACV,GAAG;kDACL,GAAG;2DACM,GAAG;uDACV,GAAG;uDAGiN,GAAG;sDACA,GAAG;uDACN,GAAG;sDACA,GAAG;4CACrB,GAAG;4CACH,GAAG;CACxU,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
1
+ {"version":3,"file":"core.security.index.d.ts","sourceRoot":"","sources":["../../types/core.security.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAa,GAAG,EAAE,MAAM,MAAM,CAAC;AAGtC;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;CAKlB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAEnF;;GAEG;AACH,eAAO,MAAM,kBAAkB;0CAGX,GAAG;0CAGH,GAAG;uCAGH,GAAG;uCAGH,GAAG;kDAGH,GAAG;2DAGH,GAAG;uDAGH,GAAG;kDAGH,GAAG;2DAGH,GAAG;uDAGH,GAAG;uDAGH,GAAG;sDAGH,GAAG;uDAGH,GAAG;sDAGH,GAAG;4CAGH,GAAG;4CAGH,GAAG;CACb,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
@@ -1,37 +1,33 @@
1
1
  import { keccak256 } from 'viem';
2
+ import { metaTxHandlerSignature } from './meta-tx-signatures.js';
2
3
  /**
3
- * Constants for SecureOwnable operations
4
- * These match the keccak256 hashes defined in SecureOwnableDefinitions.sol
4
+ * Operation type hashes (SecureOwnableDefinitions.sol).
5
5
  */
6
6
  export const OPERATION_TYPES = {
7
- OWNERSHIP_TRANSFER: keccak256(new TextEncoder().encode("OWNERSHIP_TRANSFER")),
8
- BROADCASTER_UPDATE: keccak256(new TextEncoder().encode("BROADCASTER_UPDATE")),
9
- RECOVERY_UPDATE: keccak256(new TextEncoder().encode("RECOVERY_UPDATE")),
10
- TIMELOCK_UPDATE: keccak256(new TextEncoder().encode("TIMELOCK_UPDATE"))
7
+ OWNERSHIP_TRANSFER: keccak256(new TextEncoder().encode('OWNERSHIP_TRANSFER')),
8
+ BROADCASTER_UPDATE: keccak256(new TextEncoder().encode('BROADCASTER_UPDATE')),
9
+ RECOVERY_UPDATE: keccak256(new TextEncoder().encode('RECOVERY_UPDATE')),
10
+ TIMELOCK_UPDATE: keccak256(new TextEncoder().encode('TIMELOCK_UPDATE')),
11
11
  };
12
12
  /**
13
- * Constants for function selectors
14
- * These match the selectors from SecureOwnableDefinitions.sol
13
+ * Function selectors (SecureOwnableDefinitions.sol).
15
14
  */
16
15
  export const FUNCTION_SELECTORS = {
17
- // Execution selectors
18
- TRANSFER_OWNERSHIP_SELECTOR: keccak256(new TextEncoder().encode("executeTransferOwnership(address)")).slice(0, 10),
19
- UPDATE_BROADCASTER_SELECTOR: keccak256(new TextEncoder().encode("executeBroadcasterUpdate(address,address)")).slice(0, 10),
20
- UPDATE_RECOVERY_SELECTOR: keccak256(new TextEncoder().encode("executeRecoveryUpdate(address)")).slice(0, 10),
21
- UPDATE_TIMELOCK_SELECTOR: keccak256(new TextEncoder().encode("executeTimeLockUpdate(uint256)")).slice(0, 10),
22
- // Time delay selectors
23
- TRANSFER_OWNERSHIP_REQUEST_SELECTOR: keccak256(new TextEncoder().encode("transferOwnershipRequest()")).slice(0, 10),
24
- TRANSFER_OWNERSHIP_DELAYED_APPROVAL_SELECTOR: keccak256(new TextEncoder().encode("transferOwnershipDelayedApproval(uint256)")).slice(0, 10),
25
- TRANSFER_OWNERSHIP_CANCELLATION_SELECTOR: keccak256(new TextEncoder().encode("transferOwnershipCancellation(uint256)")).slice(0, 10),
26
- UPDATE_BROADCASTER_REQUEST_SELECTOR: keccak256(new TextEncoder().encode("updateBroadcasterRequest(address,address)")).slice(0, 10),
27
- UPDATE_BROADCASTER_DELAYED_APPROVAL_SELECTOR: keccak256(new TextEncoder().encode("updateBroadcasterDelayedApproval(uint256)")).slice(0, 10),
28
- UPDATE_BROADCASTER_CANCELLATION_SELECTOR: keccak256(new TextEncoder().encode("updateBroadcasterCancellation(uint256)")).slice(0, 10),
29
- // Meta-transaction selectors
30
- TRANSFER_OWNERSHIP_APPROVE_META_SELECTOR: keccak256(new TextEncoder().encode("transferOwnershipApprovalWithMetaTx(((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes))")).slice(0, 10),
31
- TRANSFER_OWNERSHIP_CANCEL_META_SELECTOR: keccak256(new TextEncoder().encode("transferOwnershipCancellationWithMetaTx(((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes))")).slice(0, 10),
32
- UPDATE_BROADCASTER_APPROVE_META_SELECTOR: keccak256(new TextEncoder().encode("updateBroadcasterApprovalWithMetaTx(((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes))")).slice(0, 10),
33
- UPDATE_BROADCASTER_CANCEL_META_SELECTOR: keccak256(new TextEncoder().encode("updateBroadcasterCancellationWithMetaTx(((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes))")).slice(0, 10),
34
- UPDATE_RECOVERY_META_SELECTOR: keccak256(new TextEncoder().encode("updateRecoveryRequestAndApprove(((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes))")).slice(0, 10),
35
- UPDATE_TIMELOCK_META_SELECTOR: keccak256(new TextEncoder().encode("updateTimeLockRequestAndApprove(((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes))")).slice(0, 10)
16
+ TRANSFER_OWNERSHIP_SELECTOR: keccak256(new TextEncoder().encode('executeTransferOwnership(address)')).slice(0, 10),
17
+ UPDATE_BROADCASTER_SELECTOR: keccak256(new TextEncoder().encode('executeBroadcasterUpdate(address,address)')).slice(0, 10),
18
+ UPDATE_RECOVERY_SELECTOR: keccak256(new TextEncoder().encode('executeRecoveryUpdate(address)')).slice(0, 10),
19
+ UPDATE_TIMELOCK_SELECTOR: keccak256(new TextEncoder().encode('executeTimeLockUpdate(uint256)')).slice(0, 10),
20
+ TRANSFER_OWNERSHIP_REQUEST_SELECTOR: keccak256(new TextEncoder().encode('transferOwnershipRequest()')).slice(0, 10),
21
+ TRANSFER_OWNERSHIP_DELAYED_APPROVAL_SELECTOR: keccak256(new TextEncoder().encode('transferOwnershipDelayedApproval(uint256)')).slice(0, 10),
22
+ TRANSFER_OWNERSHIP_CANCELLATION_SELECTOR: keccak256(new TextEncoder().encode('transferOwnershipCancellation(uint256)')).slice(0, 10),
23
+ UPDATE_BROADCASTER_REQUEST_SELECTOR: keccak256(new TextEncoder().encode('updateBroadcasterRequest(address,address)')).slice(0, 10),
24
+ UPDATE_BROADCASTER_DELAYED_APPROVAL_SELECTOR: keccak256(new TextEncoder().encode('updateBroadcasterDelayedApproval(uint256)')).slice(0, 10),
25
+ UPDATE_BROADCASTER_CANCELLATION_SELECTOR: keccak256(new TextEncoder().encode('updateBroadcasterCancellation(uint256)')).slice(0, 10),
26
+ TRANSFER_OWNERSHIP_APPROVE_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('transferOwnershipApprovalWithMetaTx'))).slice(0, 10),
27
+ TRANSFER_OWNERSHIP_CANCEL_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('transferOwnershipCancellationWithMetaTx'))).slice(0, 10),
28
+ UPDATE_BROADCASTER_APPROVE_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('updateBroadcasterApprovalWithMetaTx'))).slice(0, 10),
29
+ UPDATE_BROADCASTER_CANCEL_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('updateBroadcasterCancellationWithMetaTx'))).slice(0, 10),
30
+ UPDATE_RECOVERY_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('updateRecoveryRequestAndApprove'))).slice(0, 10),
31
+ UPDATE_TIMELOCK_META_SELECTOR: keccak256(new TextEncoder().encode(metaTxHandlerSignature('updateTimeLockRequestAndApprove'))).slice(0, 10),
36
32
  };
37
33
  //# sourceMappingURL=core.security.index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.security.index.js","sourceRoot":"","sources":["../../types/core.security.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,MAAM,MAAM,CAAC;AAGtC;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,kBAAkB,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC7E,kBAAkB,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAC7E,eAAe,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACvE,eAAe,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;CAC/D,CAAC;AAIX;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,sBAAsB;IACtB,2BAA2B,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,mCAAmC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACzH,2BAA2B,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACjI,wBAAwB,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACnH,wBAAwB,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAEnH,uBAAuB;IACvB,mCAAmC,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAC1H,4CAA4C,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAClJ,wCAAwC,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAC3I,mCAAmC,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IACzI,4CAA4C,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAClJ,wCAAwC,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,wCAAwC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAE3I,6BAA6B;IAC7B,wCAAwC,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,4PAA4P,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAC/V,uCAAuC,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gQAAgQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAClW,wCAAwC,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,4PAA4P,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAC/V,uCAAuC,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gQAAgQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAClW,6BAA6B,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,wPAAwP,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;IAChV,6BAA6B,EAAE,SAAS,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,wPAAwP,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAQ;CACxU,CAAC"}
1
+ {"version":3,"file":"core.security.index.js","sourceRoot":"","sources":["../../types/core.security.index.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Hex } from 'viem';
2
- import { Uint16Bitmap } from '../utils/bitmap';
2
+ import { Uint16Bitmap } from '../utils/bitmap.js';
3
3
  /**
4
4
  * TypeScript types for IDefinition interface
5
5
  * These types correspond to the Solidity structs in IDefinition.sol
@@ -1 +1 @@
1
- {"version":3,"file":"definition.index.d.ts","sourceRoot":"","sources":["../../types/definition.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,GAAG,CAAC;IACtB,oBAAoB,EAAE,YAAY,CAAC;IACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,GAAG,CAAC;IACtB,aAAa,EAAE,GAAG,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,YAAY,CAAC;IACrC,mHAAmH;IACnH,uBAAuB,EAAE,OAAO,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C"}
1
+ {"version":3,"file":"definition.index.d.ts","sourceRoot":"","sources":["../../types/definition.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,EAAE,GAAG,CAAC;IACtB,oBAAoB,EAAE,YAAY,CAAC;IACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,GAAG,CAAC;IACtB,aAAa,EAAE,GAAG,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,YAAY,CAAC;IACrC,mHAAmH;IACnH,uBAAuB,EAAE,OAAO,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,GAAG,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,GAAG,EAAE,CAAC;IAClB,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;CAC3C"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Enums and constants for EngineBlox
2
+ * Enums and constants for EngineBlox (match contracts/core/lib/EngineBlox.sol).
3
3
  */
4
4
  export declare const TxStatus: {
5
5
  readonly UNDEFINED: 0;
@@ -10,7 +10,7 @@ export declare const TxStatus: {
10
10
  readonly COMPLETED: 5;
11
11
  readonly FAILED: 6;
12
12
  };
13
- export type TxStatus = typeof TxStatus[keyof typeof TxStatus];
13
+ export type TxStatus = (typeof TxStatus)[keyof typeof TxStatus];
14
14
  export declare const TxAction: {
15
15
  readonly EXECUTE_TIME_DELAY_REQUEST: 0;
16
16
  readonly EXECUTE_TIME_DELAY_APPROVE: 1;
@@ -22,38 +22,18 @@ export declare const TxAction: {
22
22
  readonly EXECUTE_META_APPROVE: 7;
23
23
  readonly EXECUTE_META_CANCEL: 8;
24
24
  };
25
- export type TxAction = typeof TxAction[keyof typeof TxAction];
25
+ export type TxAction = (typeof TxAction)[keyof typeof TxAction];
26
26
  /**
27
- * Constants for function selectors
28
- */
29
- export declare const FUNCTION_SELECTORS: {
30
- readonly TX_REQUEST: string;
31
- readonly TX_DELAYED_APPROVAL: string;
32
- readonly TX_CANCELLATION: string;
33
- readonly META_TX_APPROVAL: string;
34
- readonly META_TX_CANCELLATION: string;
35
- readonly META_TX_REQUEST_AND_APPROVE: string;
36
- };
37
- export type FunctionSelector = typeof FUNCTION_SELECTORS[keyof typeof FUNCTION_SELECTORS];
38
- /**
39
- * Constants for roles
27
+ * Core role hashes (match EngineBlox OWNER_ROLE / BROADCASTER_ROLE / RECOVERY_ROLE).
40
28
  */
41
29
  export declare const ROLES: {
42
30
  readonly OWNER_ROLE: string;
43
31
  readonly BROADCASTER_ROLE: string;
44
32
  readonly RECOVERY_ROLE: string;
45
33
  };
46
- export type Role = typeof ROLES[keyof typeof ROLES];
47
- /**
48
- * Constants for EIP-712 type hashes
49
- */
50
- export declare const TYPE_HASHES: {
51
- readonly DOMAIN_SEPARATOR: string;
52
- readonly META_TRANSACTION: string;
53
- };
54
- export type TypeHash = typeof TYPE_HASHES[keyof typeof TYPE_HASHES];
34
+ export type Role = (typeof ROLES)[keyof typeof ROLES];
55
35
  /**
56
- * Event names
36
+ * Event names (EngineBlox transaction lifecycle).
57
37
  */
58
38
  export declare const EVENTS: {
59
39
  readonly REQUESTED_TX: "RequestedTx";
@@ -61,5 +41,5 @@ export declare const EVENTS: {
61
41
  readonly TX_CANCELLED: "TxCancelled";
62
42
  readonly TX_EXECUTED: "TxExecuted";
63
43
  };
64
- export type Event = typeof EVENTS[keyof typeof EVENTS];
44
+ export type Event = (typeof EVENTS)[keyof typeof EVENTS];
65
45
  //# sourceMappingURL=lib.index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.index.d.ts","sourceRoot":"","sources":["../../types/lib.index.tsx"],"names":[],"mappings":"AASA;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAI9D,eAAO,MAAM,QAAQ;;;;;;;;;;CAUX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,QAAQ,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAE9D;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;CAOrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,OAAO,kBAAkB,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;AAE1F;;GAEG;AACH,eAAO,MAAM,KAAK;;;;CAIR,CAAC;AAEX,MAAM,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,WAAW;;;CAGd,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,WAAW,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;AAEpE;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"lib.index.d.ts","sourceRoot":"","sources":["../../types/lib.index.tsx"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;CAQX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE,eAAO,MAAM,QAAQ;;;;;;;;;;CAUX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,KAAK;;;;CAIR,CAAC;AAEX,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,OAAO,KAAK,CAAC,CAAC;AAEtD;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;CAKT,CAAC;AAEX,MAAM,MAAM,KAAK,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC"}
@@ -1,12 +1,9 @@
1
1
  import { keccak256 as k256, toHex } from 'viem';
2
- /**
3
- * Helper function to compute keccak256 of a string
4
- */
5
2
  const keccak256 = (str) => {
6
3
  return toHex(k256(new TextEncoder().encode(str)));
7
4
  };
8
5
  /**
9
- * Enums and constants for EngineBlox
6
+ * Enums and constants for EngineBlox (match contracts/core/lib/EngineBlox.sol).
10
7
  */
11
8
  export const TxStatus = {
12
9
  UNDEFINED: 0,
@@ -15,9 +12,8 @@ export const TxStatus = {
15
12
  PROCESSING_PAYMENT: 3,
16
13
  CANCELLED: 4,
17
14
  COMPLETED: 5,
18
- FAILED: 6
15
+ FAILED: 6,
19
16
  };
20
- // ExecutionType enum removed - use executionSelector (0x00000000 for simple ETH transfers) and executionParams directly
21
17
  export const TxAction = {
22
18
  EXECUTE_TIME_DELAY_REQUEST: 0,
23
19
  EXECUTE_TIME_DELAY_APPROVE: 1,
@@ -27,41 +23,23 @@ export const TxAction = {
27
23
  SIGN_META_CANCEL: 5,
28
24
  EXECUTE_META_REQUEST_AND_APPROVE: 6,
29
25
  EXECUTE_META_APPROVE: 7,
30
- EXECUTE_META_CANCEL: 8
31
- };
32
- /**
33
- * Constants for function selectors
34
- */
35
- export const FUNCTION_SELECTORS = {
36
- TX_REQUEST: keccak256("txRequest(address,address,uint256,uint256,bytes32,uint8,bytes)").slice(0, 10),
37
- TX_DELAYED_APPROVAL: keccak256("txDelayedApproval(uint256)").slice(0, 10),
38
- TX_CANCELLATION: keccak256("txCancellation(uint256)").slice(0, 10),
39
- META_TX_APPROVAL: keccak256("txApprovalWithMetaTx((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,uint8,bytes),bytes32,bytes,(address,uint256,address,uint256)),(uint256,address,bytes4,uint256,uint256,uint256,address),bytes,bytes)").slice(0, 10),
40
- META_TX_CANCELLATION: keccak256("txCancellationWithMetaTx((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,uint8,bytes),bytes32,bytes,(address,uint256,address,uint256)),(uint256,address,bytes4,uint256,uint256,uint256,address),bytes,bytes)").slice(0, 10),
41
- META_TX_REQUEST_AND_APPROVE: keccak256("requestAndApprove((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,uint8,bytes),bytes32,bytes,(address,uint256,address,uint256)),(uint256,address,bytes4,uint256,uint256,uint256,address),bytes,bytes)").slice(0, 10)
26
+ EXECUTE_META_CANCEL: 8,
42
27
  };
43
28
  /**
44
- * Constants for roles
29
+ * Core role hashes (match EngineBlox OWNER_ROLE / BROADCASTER_ROLE / RECOVERY_ROLE).
45
30
  */
46
31
  export const ROLES = {
47
- OWNER_ROLE: keccak256("OWNER_ROLE"),
48
- BROADCASTER_ROLE: keccak256("BROADCASTER_ROLE"),
49
- RECOVERY_ROLE: keccak256("RECOVERY_ROLE")
50
- };
51
- /**
52
- * Constants for EIP-712 type hashes
53
- */
54
- export const TYPE_HASHES = {
55
- DOMAIN_SEPARATOR: keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)"),
56
- META_TRANSACTION: keccak256("MetaTransaction(TxRecord txRecord,MetaTxParams params,bytes data)TxRecord(uint256 txId,uint256 releaseTime,uint8 status,TxParams params,bytes32 message,bytes result,PaymentDetails payment)TxParams(address requester,address target,uint256 value,uint256 gasLimit,bytes32 operationType,bytes4 executionSelector,bytes executionParams)MetaTxParams(uint256 chainId,uint256 nonce,address handlerContract,bytes4 handlerSelector,uint8 action,uint256 deadline,uint256 maxGasPrice,address signer)PaymentDetails(address recipient,uint256 nativeTokenAmount,address erc20TokenAddress,uint256 erc20TokenAmount)")
32
+ OWNER_ROLE: keccak256('OWNER_ROLE'),
33
+ BROADCASTER_ROLE: keccak256('BROADCASTER_ROLE'),
34
+ RECOVERY_ROLE: keccak256('RECOVERY_ROLE'),
57
35
  };
58
36
  /**
59
- * Event names
37
+ * Event names (EngineBlox transaction lifecycle).
60
38
  */
61
39
  export const EVENTS = {
62
- REQUESTED_TX: "RequestedTx",
63
- TX_APPROVED: "TxApproved",
64
- TX_CANCELLED: "TxCancelled",
65
- TX_EXECUTED: "TxExecuted"
40
+ REQUESTED_TX: 'RequestedTx',
41
+ TX_APPROVED: 'TxApproved',
42
+ TX_CANCELLED: 'TxCancelled',
43
+ TX_EXECUTED: 'TxExecuted',
66
44
  };
67
45
  //# sourceMappingURL=lib.index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.index.js","sourceRoot":"","sources":["../../types/lib.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,kBAAkB,EAAE,CAAC;IACrB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;CACD,CAAC;AAIX,wHAAwH;AAExH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,0BAA0B,EAAE,CAAC;IAC7B,0BAA0B,EAAE,CAAC;IAC7B,yBAAyB,EAAE,CAAC;IAC5B,6BAA6B,EAAE,CAAC;IAChC,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,CAAC;IACnB,gCAAgC,EAAE,CAAC;IACnC,oBAAoB,EAAE,CAAC;IACvB,mBAAmB,EAAE,CAAC;CACd,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,SAAS,CAAC,gEAAgE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IACpG,mBAAmB,EAAE,SAAS,CAAC,4BAA4B,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IACzE,eAAe,EAAE,SAAS,CAAC,yBAAyB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAClE,gBAAgB,EAAE,SAAS,CAAC,0NAA0N,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IACpQ,oBAAoB,EAAE,SAAS,CAAC,8NAA8N,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;IAC5Q,2BAA2B,EAAE,SAAS,CAAC,uNAAuN,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;CACpQ,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC;IACnC,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,CAAC;IAC/C,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC;CACjC,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,gBAAgB,EAAE,SAAS,CAAC,oFAAoF,CAAC;IACjH,gBAAgB,EAAE,SAAS,CAAC,qlBAAqlB,CAAC;CAC1mB,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,YAAY;CACjB,CAAC"}
1
+ {"version":3,"file":"lib.index.js","sourceRoot":"","sources":["../../types/lib.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAEhD,MAAM,SAAS,GAAG,CAAC,GAAW,EAAU,EAAE;IACxC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,SAAS,EAAE,CAAC;IACZ,OAAO,EAAE,CAAC;IACV,SAAS,EAAE,CAAC;IACZ,kBAAkB,EAAE,CAAC;IACrB,SAAS,EAAE,CAAC;IACZ,SAAS,EAAE,CAAC;IACZ,MAAM,EAAE,CAAC;CACD,CAAC;AAIX,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,0BAA0B,EAAE,CAAC;IAC7B,0BAA0B,EAAE,CAAC;IAC7B,yBAAyB,EAAE,CAAC;IAC5B,6BAA6B,EAAE,CAAC;IAChC,iBAAiB,EAAE,CAAC;IACpB,gBAAgB,EAAE,CAAC;IACnB,gCAAgC,EAAE,CAAC;IACnC,oBAAoB,EAAE,CAAC;IACvB,mBAAmB,EAAE,CAAC;CACd,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC;IACnC,gBAAgB,EAAE,SAAS,CAAC,kBAAkB,CAAC;IAC/C,aAAa,EAAE,SAAS,CAAC,eAAe,CAAC;CACjC,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,YAAY;IACzB,YAAY,EAAE,aAAa;IAC3B,WAAW,EAAE,YAAY;CACjB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Canonical ABI type strings for EngineBlox.MetaTransaction in external function signatures.
3
+ * Must match contracts/core/lib/EngineBlox.sol and *Definitions.sol meta-tx handlers.
4
+ */
5
+ export declare const ENGINE_BLOX_META_TRANSACTION_PARAM = "((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes)";
6
+ export declare const ENGINE_BLOX_META_TX_PARAMS = "(uint256,uint256,address,bytes4,uint8,uint256,uint256,address)";
7
+ /** Build `functionName(EngineBlox.MetaTransaction)` selector string for keccak256 / ERC-165. */
8
+ export declare function metaTxHandlerSignature(functionName: string): string;
9
+ //# sourceMappingURL=meta-tx-signatures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-tx-signatures.d.ts","sourceRoot":"","sources":["../../types/meta-tx-signatures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,kCAAkC,0NAC0K,CAAC;AAE1N,eAAO,MAAM,0BAA0B,mEAC2B,CAAC;AAEnE,gGAAgG;AAChG,wBAAgB,sBAAsB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEnE"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Canonical ABI type strings for EngineBlox.MetaTransaction in external function signatures.
3
+ * Must match contracts/core/lib/EngineBlox.sol and *Definitions.sol meta-tx handlers.
4
+ */
5
+ export const ENGINE_BLOX_META_TRANSACTION_PARAM = '((uint256,uint256,uint8,(address,address,uint256,uint256,bytes32,bytes4,bytes),bytes32,bytes32,(address,uint256,address,uint256)),(uint256,uint256,address,bytes4,uint8,uint256,uint256,address),bytes32,bytes,bytes)';
6
+ export const ENGINE_BLOX_META_TX_PARAMS = '(uint256,uint256,address,bytes4,uint8,uint256,uint256,address)';
7
+ /** Build `functionName(EngineBlox.MetaTransaction)` selector string for keccak256 / ERC-165. */
8
+ export function metaTxHandlerSignature(functionName) {
9
+ return `${functionName}(${ENGINE_BLOX_META_TRANSACTION_PARAM})`;
10
+ }
11
+ //# sourceMappingURL=meta-tx-signatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-tx-signatures.js","sourceRoot":"","sources":["../../types/meta-tx-signatures.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAC7C,uNAAuN,CAAC;AAE1N,MAAM,CAAC,MAAM,0BAA0B,GACrC,gEAAgE,CAAC;AAEnE,gGAAgG;AAChG,MAAM,UAAU,sBAAsB,CAAC,YAAoB;IACzD,OAAO,GAAG,YAAY,IAAI,kCAAkC,GAAG,CAAC;AAClE,CAAC"}
@@ -1,4 +1,4 @@
1
- import { TxAction } from '../types/lib.index';
1
+ import { TxAction } from '../types/lib.index.js';
2
2
  /**
3
3
  * Branded type for uint16 bitmap values (0-65535)
4
4
  * This ensures type safety and prevents invalid bitmap values
@@ -1 +1 @@
1
- {"version":3,"file":"bitmap.d.ts","sourceRoot":"","sources":["../../utils/bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;AAQzE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAQ9D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAMrE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAM3E;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAM7E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAMzE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,EAAE,CAQrE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAGtE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE5D"}
1
+ {"version":3,"file":"bitmap.d.ts","sourceRoot":"","sources":["../../utils/bitmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAA;CAAE,CAAC;AAQzE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAQ9D;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAMrE;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAM3E;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAM7E;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAExD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY,CAMzE;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,EAAE,CAQrE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,YAAY,CAGtE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,CAE5D"}
@@ -1,5 +1,5 @@
1
1
  import { Address, PublicClient, WalletClient, Chain } from 'viem';
2
- import { TransactionOptions, TransactionResult } from '../../interfaces/base.index';
2
+ import { TransactionOptions, TransactionResult } from '../../interfaces/base.index.js';
3
3
  /**
4
4
  * @title ERC20TokenContract
5
5
  * @notice A contract for interacting with ERC20 tokens
@@ -1 +1 @@
1
- {"version":3,"file":"erc20Token.d.ts","sourceRoot":"","sources":["../../../utils/erc20/erc20Token.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,KAAK,EAEN,MAAM,MAAM,CAAC;AAMd,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAEpF;;;;GAIG;AACH,cAAM,UAAU;IACd,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAEvB;;;;;;OAMG;gBAED,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,KAAK;IAQd;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUlD;;;;;;OAMG;IACG,QAAQ,CACZ,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAiB7B;;;;;;;OAOG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAiB7B;;;;;;;;OAQG;IACG,YAAY,CAChB,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAiB7B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IASpC;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUlE;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ/B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IASjC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;CAQ9B;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"erc20Token.d.ts","sourceRoot":"","sources":["../../../utils/erc20/erc20Token.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,KAAK,EAEN,MAAM,MAAM,CAAC;AAMd,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEvF;;;;GAIG;AACH,cAAM,UAAU;IACd,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC;IAChC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAEvB;;;;;;OAMG;gBAED,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,KAAK;IAQd;;;;OAIG;IACG,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUlD;;;;;;OAMG;IACG,QAAQ,CACZ,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAiB7B;;;;;;;OAOG;IACG,OAAO,CACX,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAiB7B;;;;;;;;OAQG;IACG,YAAY,CAChB,IAAI,EAAE,OAAO,EACb,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC;IAiB7B;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IASpC;;;;;OAKG;IACG,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAUlE;;;OAGG;IACG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;IAQ/B;;;OAGG;IACG,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC;IASjC;;;OAGG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;CAQ9B;AAED,eAAe,UAAU,CAAC"}
@@ -1,4 +1,4 @@
1
- import ERC20ABI from './ERC20Token.abi.json';
1
+ import ERC20ABI from './ERC20Token.abi.json' with { type: 'json' };
2
2
  // Parse and type the ABI
3
3
  const ERC20TokenABI = ERC20ABI;
4
4
  /**
@@ -7,6 +7,10 @@ const ERC20TokenABI = ERC20ABI;
7
7
  * @dev Implements standard ERC20 token functionality according to EIP-20
8
8
  */
9
9
  class ERC20Token {
10
+ client;
11
+ walletClient;
12
+ tokenAddress;
13
+ chain;
10
14
  /**
11
15
  * @notice Creates a new ERC20TokenContract instance
12
16
  * @param client The viem PublicClient instance for blockchain interactions
@@ -1 +1 @@
1
- {"version":3,"file":"erc20Token.js","sourceRoot":"","sources":["../../../utils/erc20/erc20Token.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"erc20Token.js","sourceRoot":"","sources":["../../../utils/erc20/erc20Token.tsx"],"names":[],"mappings":"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"}
@@ -1,56 +1,32 @@
1
1
  import { Hex } from 'viem';
2
2
  /**
3
- * Interface IDs for component detection
4
- * These match the interface IDs calculated by Solidity's type(Interface).interfaceId
5
- *
6
- * NOTE: These values are calculated from function signatures and should match
7
- * the values returned by Solidity's type(Interface).interfaceId.
8
- * If there are discrepancies, verify against the actual Solidity contract interfaces.
3
+ * Interface IDs for component detection (aligned with current `I*` interfaces under contracts/core).
9
4
  */
10
5
  export declare const INTERFACE_IDS: {
11
6
  readonly IBaseStateMachine: `0x${string}`;
12
7
  readonly ISecureOwnable: `0x${string}`;
8
+ /** Batch-only RBAC (`IRuntimeRBAC.sol`). */
13
9
  readonly IRuntimeRBAC: `0x${string}`;
14
10
  readonly IGuardController: `0x${string}`;
15
11
  };
16
- /**
17
- * Helper function to check if a contract supports a specific interface
18
- * @param contract The contract instance (must have supportsInterface method)
19
- * @param interfaceId The interface ID to check
20
- * @returns Promise<boolean> indicating if the interface is supported
21
- */
12
+ /** Selector for `roleConfigBatchRequestAndApprove` — same bytes4 as `type(IRuntimeRBAC).interfaceId` on batch-only interface. */
13
+ export declare const RUNTIME_RBAC_INTERFACE_FALLBACK_SELECTOR: Hex;
22
14
  export declare function supportsInterface(contract: {
23
15
  supportsInterface: (interfaceId: Hex) => Promise<boolean>;
24
16
  }, interfaceId: Hex): Promise<boolean>;
25
- /**
26
- * Helper functions to check for specific component interfaces
27
- */
28
17
  export declare const ComponentDetection: {
29
- /**
30
- * Check if contract supports IBaseStateMachine interface
31
- */
32
18
  isBaseStateMachine(contract: {
33
19
  supportsInterface: (interfaceId: Hex) => Promise<boolean>;
34
20
  }): Promise<boolean>;
35
- /**
36
- * Check if contract supports ISecureOwnable interface
37
- */
38
21
  isSecureOwnable(contract: {
39
22
  supportsInterface: (interfaceId: Hex) => Promise<boolean>;
40
23
  }): Promise<boolean>;
41
- /**
42
- * Check if contract has SecureOwnable features by checking for specific functions
43
- */
44
- hasSecureOwnableFeatures(contract: any): Promise<boolean>;
45
- /**
46
- * Check if contract supports IRuntimeRBAC interface
47
- */
24
+ hasSecureOwnableFeatures(contract: {
25
+ transferOwnershipRequest?: unknown;
26
+ }): Promise<boolean>;
48
27
  isRuntimeRBAC(contract: {
49
28
  supportsInterface: (interfaceId: Hex) => Promise<boolean>;
50
29
  }): Promise<boolean>;
51
- /**
52
- * Check if contract supports IGuardController interface
53
- */
54
30
  isGuardController(contract: {
55
31
  supportsInterface: (interfaceId: Hex) => Promise<boolean>;
56
32
  }): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"interface-ids.d.ts","sourceRoot":"","sources":["../../utils/interface-ids.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAsB,MAAM,MAAM,CAAC;AAqB/C;;;;;;;GAOG;AAIH,eAAO,MAAM,aAAa;;;;;CAqEhB,CAAC;AAEX;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE;IAAE,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,EACvE,WAAW,EAAE,GAAG,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB;IAC7B;;OAEG;iCACgC;QAAE,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAInH;;OAEG;8BAC6B;QAAE,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhH;;OAEG;uCACsC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAY/D;;OAEG;4BAC2B;QAAE,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAI9G;;OAEG;gCAC+B;QAAE,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAGnH,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"interface-ids.d.ts","sourceRoot":"","sources":["../../utils/interface-ids.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAsB,MAAM,MAAM,CAAC;AAoB/C;;GAEG;AACH,eAAO,MAAM,aAAa;;;IAkCxB,4CAA4C;;;CAepC,CAAC;AAEX,iIAAiI;AACjI,eAAO,MAAM,wCAAwC,EAEnC,GAAG,CAAC;AAEtB,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE;IAAE,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,EACvE,WAAW,EAAE,GAAG,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,eAAO,MAAM,kBAAkB;iCACM;QACjC,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3D,GAAG,OAAO,CAAC,OAAO,CAAC;8BAIY;QAC9B,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3D,GAAG,OAAO,CAAC,OAAO,CAAC;uCAIqB;QAAE,wBAAwB,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;4BAIpE;QAC5B,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3D,GAAG,OAAO,CAAC,OAAO,CAAC;gCAMc;QAChC,iBAAiB,EAAE,CAAC,WAAW,EAAE,GAAG,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC3D,GAAG,OAAO,CAAC,OAAO,CAAC;CAGrB,CAAC;AAEF,eAAe,aAAa,CAAC"}