@bloxchain/sdk 1.0.0-alpha.6 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +411 -376
  3. package/abi/AccountBlox.abi.json +1895 -1833
  4. package/abi/BaseStateMachine.abi.json +773 -822
  5. package/abi/CopyBlox.abi.json +1609 -0
  6. package/abi/EngineBlox.abi.json +562 -552
  7. package/abi/GuardController.abi.json +1597 -1609
  8. package/abi/GuardControllerDefinitions.abi.json +257 -120
  9. package/abi/IDefinition.abi.json +57 -47
  10. package/abi/RoleBlox.abi.json +2993 -2982
  11. package/abi/RuntimeRBAC.abi.json +841 -842
  12. package/abi/RuntimeRBACDefinitions.abi.json +265 -99
  13. package/abi/SecureBlox.abi.json +2752 -2752
  14. package/abi/SecureOwnable.abi.json +1365 -1349
  15. package/abi/SecureOwnableDefinitions.abi.json +174 -164
  16. package/dist/abi/AccountBlox.abi.json +3978 -0
  17. package/dist/abi/BareBlox.abi.json +1378 -0
  18. package/dist/abi/BaseStateMachine.abi.json +1281 -1330
  19. package/dist/abi/CopyBlox.abi.json +1609 -0
  20. package/dist/abi/EngineBlox.abi.json +862 -0
  21. package/dist/abi/GuardController.abi.json +2325 -2337
  22. package/dist/abi/GuardControllerDefinitions.abi.json +416 -0
  23. package/dist/abi/IDefinition.abi.json +122 -112
  24. package/dist/abi/RoleBlox.abi.json +2994 -0
  25. package/dist/abi/RuntimeRBAC.abi.json +1629 -1630
  26. package/dist/abi/RuntimeRBACDefinitions.abi.json +386 -0
  27. package/dist/abi/SecureBlox.abi.json +2753 -0
  28. package/dist/abi/SecureOwnable.abi.json +2735 -2719
  29. package/dist/abi/SecureOwnableDefinitions.abi.json +421 -0
  30. package/{abi → dist/abi}/SimpleRWA20.abi.json +52 -74
  31. package/{abi → dist/abi}/SimpleRWA20Definitions.abi.json +5 -0
  32. package/{abi → dist/abi}/SimpleVault.abi.json +54 -76
  33. package/{abi → dist/abi}/SimpleVaultDefinitions.abi.json +5 -0
  34. package/dist/abi.d.ts +11 -0
  35. package/dist/abi.d.ts.map +1 -0
  36. package/dist/abi.js +10 -0
  37. package/dist/abi.js.map +1 -0
  38. package/dist/contracts/core/BaseStateMachine.d.ts +7 -8
  39. package/dist/contracts/core/BaseStateMachine.d.ts.map +1 -1
  40. package/dist/contracts/core/BaseStateMachine.js +77 -42
  41. package/dist/contracts/core/BaseStateMachine.js.map +1 -1
  42. package/dist/contracts/core/GuardController.d.ts +21 -14
  43. package/dist/contracts/core/GuardController.d.ts.map +1 -1
  44. package/dist/contracts/core/GuardController.js +18 -20
  45. package/dist/contracts/core/GuardController.js.map +1 -1
  46. package/dist/contracts/core/RuntimeRBAC.d.ts +5 -18
  47. package/dist/contracts/core/RuntimeRBAC.d.ts.map +1 -1
  48. package/dist/contracts/core/RuntimeRBAC.js +4 -21
  49. package/dist/contracts/core/RuntimeRBAC.js.map +1 -1
  50. package/dist/contracts/core/SecureOwnable.d.ts +14 -16
  51. package/dist/contracts/core/SecureOwnable.d.ts.map +1 -1
  52. package/dist/contracts/core/SecureOwnable.js +21 -24
  53. package/dist/contracts/core/SecureOwnable.js.map +1 -1
  54. package/dist/index.d.ts +32 -29
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/index.js +28 -26
  57. package/dist/index.js.map +1 -1
  58. package/dist/interfaces/base.index.d.ts +10 -2
  59. package/dist/interfaces/base.index.d.ts.map +1 -1
  60. package/dist/interfaces/base.state.machine.index.d.ts +4 -6
  61. package/dist/interfaces/base.state.machine.index.d.ts.map +1 -1
  62. package/dist/interfaces/core.access.index.d.ts +4 -9
  63. package/dist/interfaces/core.access.index.d.ts.map +1 -1
  64. package/dist/interfaces/core.execution.index.d.ts +9 -12
  65. package/dist/interfaces/core.execution.index.d.ts.map +1 -1
  66. package/dist/interfaces/core.security.index.d.ts +4 -7
  67. package/dist/interfaces/core.security.index.d.ts.map +1 -1
  68. package/dist/interfaces/definition.index.d.ts +1 -1
  69. package/dist/interfaces/definition.index.d.ts.map +1 -1
  70. package/dist/interfaces/lib.index.d.ts +2 -2
  71. package/dist/interfaces/lib.index.d.ts.map +1 -1
  72. package/dist/lib/Definition.d.ts +2 -2
  73. package/dist/lib/Definition.d.ts.map +1 -1
  74. package/dist/lib/Definition.js +9 -2
  75. package/dist/lib/Definition.js.map +1 -1
  76. package/dist/lib/EngineBlox.d.ts +23 -48
  77. package/dist/lib/EngineBlox.d.ts.map +1 -1
  78. package/dist/lib/EngineBlox.js +61 -136
  79. package/dist/lib/EngineBlox.js.map +1 -1
  80. package/dist/lib/definitions/GuardControllerDefinitions.d.ts +30 -13
  81. package/dist/lib/definitions/GuardControllerDefinitions.d.ts.map +1 -1
  82. package/dist/lib/definitions/GuardControllerDefinitions.js +58 -27
  83. package/dist/lib/definitions/GuardControllerDefinitions.js.map +1 -1
  84. package/dist/lib/definitions/RuntimeRBACDefinitions.d.ts +44 -13
  85. package/dist/lib/definitions/RuntimeRBACDefinitions.d.ts.map +1 -1
  86. package/dist/lib/definitions/RuntimeRBACDefinitions.js +68 -32
  87. package/dist/lib/definitions/RuntimeRBACDefinitions.js.map +1 -1
  88. package/dist/lib/definitions/SecureOwnableDefinitions.d.ts +12 -7
  89. package/dist/lib/definitions/SecureOwnableDefinitions.d.ts.map +1 -1
  90. package/dist/lib/definitions/SecureOwnableDefinitions.js +25 -9
  91. package/dist/lib/definitions/SecureOwnableDefinitions.js.map +1 -1
  92. package/dist/lib/definitions/index.d.ts +7 -5
  93. package/dist/lib/definitions/index.d.ts.map +1 -1
  94. package/dist/lib/definitions/index.js +6 -5
  95. package/dist/lib/definitions/index.js.map +1 -1
  96. package/dist/types/base.state.machine.index.d.ts +4 -20
  97. package/dist/types/base.state.machine.index.d.ts.map +1 -1
  98. package/dist/types/base.state.machine.index.js +20 -40
  99. package/dist/types/base.state.machine.index.js.map +1 -1
  100. package/dist/types/core.access.index.d.ts +0 -16
  101. package/dist/types/core.access.index.d.ts.map +1 -1
  102. package/dist/types/core.access.index.js +2 -13
  103. package/dist/types/core.access.index.js.map +1 -1
  104. package/dist/types/core.execution.index.d.ts +9 -10
  105. package/dist/types/core.execution.index.d.ts.map +1 -1
  106. package/dist/types/core.execution.index.js +16 -13
  107. package/dist/types/core.execution.index.js.map +1 -1
  108. package/dist/types/core.security.index.d.ts +4 -6
  109. package/dist/types/core.security.index.d.ts.map +1 -1
  110. package/dist/types/core.security.index.js +23 -27
  111. package/dist/types/core.security.index.js.map +1 -1
  112. package/dist/types/definition.index.d.ts +8 -1
  113. package/dist/types/definition.index.d.ts.map +1 -1
  114. package/dist/types/definition.index.js.map +1 -1
  115. package/dist/types/lib.index.d.ts +7 -28
  116. package/dist/types/lib.index.d.ts.map +1 -1
  117. package/dist/types/lib.index.js +11 -34
  118. package/dist/types/lib.index.js.map +1 -1
  119. package/dist/types/meta-transaction.signatures.d.ts +10 -0
  120. package/dist/types/meta-transaction.signatures.d.ts.map +1 -0
  121. package/dist/types/meta-transaction.signatures.js +12 -0
  122. package/dist/types/meta-transaction.signatures.js.map +1 -0
  123. package/dist/types/meta-tx-signatures.d.ts +9 -0
  124. package/dist/types/meta-tx-signatures.d.ts.map +1 -0
  125. package/dist/types/meta-tx-signatures.js +11 -0
  126. package/dist/types/meta-tx-signatures.js.map +1 -0
  127. package/dist/utils/bitmap.d.ts +1 -1
  128. package/dist/utils/bitmap.d.ts.map +1 -1
  129. package/dist/utils/contract-errors.d.ts +125 -12
  130. package/dist/utils/contract-errors.d.ts.map +1 -1
  131. package/dist/utils/contract-errors.js +367 -104
  132. package/dist/utils/contract-errors.js.map +1 -1
  133. package/dist/utils/erc20/erc20Token.d.ts +1 -1
  134. package/dist/utils/erc20/erc20Token.d.ts.map +1 -1
  135. package/dist/utils/erc20/erc20Token.js +5 -1
  136. package/dist/utils/erc20/erc20Token.js.map +1 -1
  137. package/dist/utils/interface-ids.d.ts +5 -31
  138. package/dist/utils/interface-ids.d.ts.map +1 -1
  139. package/dist/utils/interface-ids.js +27 -88
  140. package/dist/utils/interface-ids.js.map +1 -1
  141. package/dist/utils/metaTx/metaTransaction.d.ts +110 -9
  142. package/dist/utils/metaTx/metaTransaction.d.ts.map +1 -1
  143. package/dist/utils/metaTx/metaTransaction.js +146 -26
  144. package/dist/utils/metaTx/metaTransaction.js.map +1 -1
  145. package/dist/utils/validations.d.ts +1 -1
  146. package/dist/utils/validations.d.ts.map +1 -1
  147. package/dist/utils/validations.js +12 -12
  148. package/dist/utils/validations.js.map +1 -1
  149. package/dist/utils/viem-error-handler.d.ts +1 -1
  150. package/dist/utils/viem-error-handler.d.ts.map +1 -1
  151. package/dist/utils/viem-error-handler.js +1 -1
  152. package/dist/utils/viem-error-handler.js.map +1 -1
  153. package/package.json +77 -71
  154. package/dist/contracts/BaseStateMachine.d.ts +0 -92
  155. package/dist/contracts/BaseStateMachine.d.ts.map +0 -1
  156. package/dist/contracts/BaseStateMachine.js +0 -263
  157. package/dist/contracts/BaseStateMachine.js.map +0 -1
  158. package/dist/contracts/GuardController.d.ts +0 -120
  159. package/dist/contracts/GuardController.d.ts.map +0 -1
  160. package/dist/contracts/GuardController.js +0 -150
  161. package/dist/contracts/GuardController.js.map +0 -1
  162. package/dist/contracts/RuntimeRBAC.d.ts +0 -40
  163. package/dist/contracts/RuntimeRBAC.d.ts.map +0 -1
  164. package/dist/contracts/RuntimeRBAC.js +0 -50
  165. package/dist/contracts/RuntimeRBAC.js.map +0 -1
  166. package/dist/contracts/SecureOwnable.d.ts +0 -41
  167. package/dist/contracts/SecureOwnable.d.ts.map +0 -1
  168. package/dist/contracts/SecureOwnable.js +0 -81
  169. package/dist/contracts/SecureOwnable.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { Address, Hex } from 'viem';
2
- import { TransactionResult, TransactionOptions } from './base.index';
3
- import { TxRecord, MetaTransaction, MetaTxParams } from './lib.index';
4
- import { TxAction } from '../types/lib.index';
2
+ import { TransactionResult, TransactionOptions } from './base.index.js';
3
+ import { TxRecord, MetaTransaction, MetaTxParams } from './lib.index.js';
4
+ import { TxAction } from '../types/lib.index.js';
5
5
  /**
6
6
  * Interface for SecureOwnable contract events
7
7
  */
@@ -54,14 +54,12 @@ export interface ISecureOwnable {
54
54
  transferOwnershipApprovalWithMetaTx(metaTx: MetaTransaction, options: TransactionOptions): Promise<TransactionResult>;
55
55
  transferOwnershipCancellation(txId: bigint, options: TransactionOptions): Promise<TransactionResult>;
56
56
  transferOwnershipCancellationWithMetaTx(metaTx: MetaTransaction, options: TransactionOptions): Promise<TransactionResult>;
57
- updateBroadcasterRequest(newBroadcaster: Address, location: bigint, options: TransactionOptions): Promise<TransactionResult>;
57
+ updateBroadcasterRequest(newBroadcaster: Address, currentBroadcaster: Address, options: TransactionOptions): Promise<TransactionResult>;
58
58
  updateBroadcasterDelayedApproval(txId: bigint, options: TransactionOptions): Promise<TransactionResult>;
59
59
  updateBroadcasterApprovalWithMetaTx(metaTx: MetaTransaction, options: TransactionOptions): Promise<TransactionResult>;
60
60
  updateBroadcasterCancellation(txId: bigint, options: TransactionOptions): Promise<TransactionResult>;
61
61
  updateBroadcasterCancellationWithMetaTx(metaTx: MetaTransaction, options: TransactionOptions): Promise<TransactionResult>;
62
- updateRecoveryExecutionOptions(newRecoveryAddress: Address): Promise<Hex>;
63
62
  updateRecoveryRequestAndApprove(metaTx: MetaTransaction, options: TransactionOptions): Promise<TransactionResult>;
64
- updateTimeLockExecutionOptions(newTimeLockPeriodSec: bigint): Promise<Hex>;
65
63
  updateTimeLockRequestAndApprove(metaTx: MetaTransaction, options: TransactionOptions): Promise<TransactionResult>;
66
64
  createMetaTxParams(handlerContract: Address, handlerSelector: Hex, action: TxAction, deadline: bigint, maxGasPrice: bigint, signer: Address): Promise<MetaTxParams>;
67
65
  generateUnsignedMetaTransactionForNew(requester: Address, target: Address, value: bigint, gasLimit: bigint, operationType: Hex, executionSelector: Hex, executionParams: Hex, metaTxParams: MetaTxParams): Promise<MetaTransaction>;
@@ -74,7 +72,6 @@ export interface ISecureOwnable {
74
72
  getSupportedRoles(): Promise<Hex[]>;
75
73
  getSupportedFunctions(): Promise<Hex[]>;
76
74
  hasRole(roleHash: Hex, wallet: Address): Promise<boolean>;
77
- isActionSupportedByFunction(functionSelector: Hex, action: TxAction): Promise<boolean>;
78
75
  getSignerNonce(signer: Address): Promise<bigint>;
79
76
  getActiveRolePermissions(roleHash: Hex): Promise<any[]>;
80
77
  initialized(): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"core.security.index.d.ts","sourceRoot":"","sources":["../../interfaces/core.security.index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.security.index.d.ts","sourceRoot":"","sources":["../../interfaces/core.security.index.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Address, Hex } from 'viem';
2
- import { FunctionSchema, RolePermission } from '../types/definition.index';
2
+ import { FunctionSchema, RolePermission } from '../types/definition.index.js';
3
3
  /**
4
4
  * TypeScript interface for IDefinition
5
5
  * This interface allows interaction with any definition library that implements IDefinition.sol
@@ -1 +1 @@
1
- {"version":3,"file":"definition.index.d.ts","sourceRoot":"","sources":["../../interfaces/definition.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EACL,cAAc,EACd,cAAc,EACf,MAAM,2BAA2B,CAAC;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEhD;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC;CACtB"}
1
+ {"version":3,"file":"definition.index.d.ts","sourceRoot":"","sources":["../../interfaces/definition.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EACL,cAAc,EACd,cAAc,EACf,MAAM,8BAA8B,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEhD;;;OAGG;IACH,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;CAC/C;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAGD;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,GAAG,CAAC;CACtB"}
@@ -1,5 +1,5 @@
1
1
  import { Address, Hex } from 'viem';
2
- import { TxStatus, TxAction } from '../types/lib.index';
2
+ import { TxStatus, TxAction } from '../types/lib.index.js';
3
3
  /**
4
4
  * Payment and transaction related interfaces
5
5
  */
@@ -34,7 +34,7 @@ export interface TxRecord {
34
34
  status: TxStatus;
35
35
  params: TxParams;
36
36
  message: Hex;
37
- result: Hex;
37
+ resultHash: Hex;
38
38
  payment: PaymentDetails;
39
39
  }
40
40
  export interface MetaTransaction {
@@ -1 +1 @@
1
- {"version":3,"file":"lib.index.d.ts","sourceRoot":"","sources":["../../interfaces/lib.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGxD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,GAAG,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;CACX;AAED;;GAEG;AAEH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzB,iBAAiB,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,uBAAuB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,uBAAuB,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,kBAAkB,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,GAAG,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,GAAG,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"lib.index.d.ts","sourceRoot":"","sources":["../../interfaces/lib.index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAG3D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC;IACnB,iBAAiB,EAAE,GAAG,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,QAAQ,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IACf,IAAI,EAAE,GAAG,CAAC;CACX;AAED;;GAEG;AAEH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACjC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzB,iBAAiB,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,uBAAuB,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;IACzC,uBAAuB,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3C,kBAAkB,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2BAA2B,EAAE,GAAG,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,iBAAiB,EAAE,GAAG,CAAC;IACvB,eAAe,EAAE,GAAG,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -1,6 +1,6 @@
1
1
  import { PublicClient, WalletClient, Address, Chain, Hex } from 'viem';
2
- import { IDefinition, DefinitionsConfig } from '../interfaces/definition.index';
3
- import { FunctionSchema, RolePermission } from '../types/definition.index';
2
+ import { IDefinition, DefinitionsConfig } from '../interfaces/definition.index.js';
3
+ import { FunctionSchema, RolePermission } from '../types/definition.index.js';
4
4
  /**
5
5
  * Definitions class for interacting with any definition library
6
6
  * that implements the IDefinition interface
@@ -1 +1 @@
1
- {"version":3,"file":"Definition.d.ts","sourceRoot":"","sources":["../../lib/Definition.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACvE,OAAO,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,cAAc,EACd,cAAc,EAEf,MAAM,2BAA2B,CAAC;AAOnC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAGlC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAarC;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAsBrD;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC;IAqBnD;;;;OAIG;IACG,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAM7E;;;;OAIG;IACG,2BAA2B,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAK7F;;;;;;;OAOG;IACG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAc/E;;;;;OAKG;IACG,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAchE;;;OAGG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;CAGvD"}
1
+ {"version":3,"file":"Definition.d.ts","sourceRoot":"","sources":["../../lib/Definition.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AACvE,OAAO,EACL,WAAW,EACX,iBAAiB,EAClB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACL,cAAc,EACd,cAAc,EAEf,MAAM,8BAA8B,CAAC;AAOtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,WAAY,YAAW,WAAW;IAC7C,SAAS,CAAC,MAAM,EAAE,YAAY,CAAC;IAC/B,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,iBAAiB,CAAC;gBAGlC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,KAAK,EACZ,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC;IAarC;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAwBrD;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC;IAqBnD;;;;OAIG;IACG,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAM7E;;;;OAIG;IACG,2BAA2B,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAK7F;;;;;;;OAOG;IACG,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAc/E;;;;;OAKG;IACG,mBAAmB,CAAC,gBAAgB,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAchE;;;OAGG;IACH,SAAS,IAAI,iBAAiB;IAI9B;;;OAGG;IACH,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI;CAGvD"}
@@ -1,6 +1,6 @@
1
- import { fromContractValue } from '../utils/bitmap';
1
+ import { fromContractValue } from '../utils/bitmap.js';
2
2
  // Import the ABI
3
- import IDefinitionABI from '../abi/IDefinition.abi.json';
3
+ import IDefinitionABI from '../abi/IDefinition.abi.json' with { type: 'json' };
4
4
  /**
5
5
  * Definitions class for interacting with any definition library
6
6
  * that implements the IDefinition interface
@@ -26,6 +26,11 @@ import IDefinitionABI from '../abi/IDefinition.abi.json';
26
26
  * ```
27
27
  */
28
28
  export class Definitions {
29
+ client;
30
+ walletClient;
31
+ contractAddress;
32
+ chain;
33
+ config;
29
34
  constructor(client, walletClient, contractAddress, chain, config) {
30
35
  this.client = client;
31
36
  this.walletClient = walletClient;
@@ -54,7 +59,9 @@ export class Definitions {
54
59
  operationType: item.operationType,
55
60
  operationName: item.operationName,
56
61
  supportedActionsBitmap: fromContractValue(item.supportedActionsBitmap), // uint16
62
+ enforceHandlerRelations: item.enforceHandlerRelations,
57
63
  isProtected: item.isProtected,
64
+ isGrantRevocable: item.isGrantRevocable,
58
65
  handlerForSelectors: item.handlerForSelectors.map((selector) => selector)
59
66
  }));
60
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Definition.js","sourceRoot":"","sources":["../../lib/Definition.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Definition.js","sourceRoot":"","sources":["../../lib/Definition.tsx"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Address, Hex, PublicClient } from 'viem';
2
- import { TxAction } from '../types/lib.index';
3
- import { Uint16Bitmap } from '../utils/bitmap';
1
+ import { Address, Hex } from 'viem';
2
+ import { TxAction } from '../types/lib.index.js';
3
+ import { Uint16Bitmap } from '../utils/bitmap.js';
4
4
  /**
5
5
  * @title EngineBlox Library SDK
6
6
  * @dev Provides access to public library constants and pure functions from EngineBlox.sol
@@ -15,7 +15,7 @@ import { Uint16Bitmap } from '../utils/bitmap';
15
15
  *
16
16
  * // Access constants
17
17
  * const protocolName = EngineBlox.PROTOCOL_NAME_HASH;
18
- * const version = `${EngineBlox.VERSION_MAJOR}.${EngineBlox.VERSION_MINOR}.${EngineBlox.VERSION_PATCH}`;
18
+ * const version = EngineBlox.VERSION;
19
19
  *
20
20
  * // Use pure functions
21
21
  * const signer = EngineBlox.recoverSigner(messageHash, signature);
@@ -30,17 +30,9 @@ export declare class EngineBlox {
30
30
  */
31
31
  static readonly PROTOCOL_NAME_HASH: Hex;
32
32
  /**
33
- * Major version number
33
+ * Protocol version string (semver, e.g. "1.0.0"). Matches EngineBlox.sol VERSION and EIP-712 domain version.
34
34
  */
35
- static readonly VERSION_MAJOR: number;
36
- /**
37
- * Minor version number
38
- */
39
- static readonly VERSION_MINOR: number;
40
- /**
41
- * Patch version number
42
- */
43
- static readonly VERSION_PATCH: number;
35
+ static readonly VERSION: string;
44
36
  /**
45
37
  * Native token transfer selector (reserved signature for simple ETH transfers)
46
38
  * Computed as bytes4(keccak256("__bloxchain_native_transfer__()"))
@@ -50,6 +42,15 @@ export declare class EngineBlox {
50
42
  * Native token transfer operation type hash
51
43
  */
52
44
  static readonly NATIVE_TRANSFER_OPERATION: Hex;
45
+ /**
46
+ * Pseudo-selector: whitelist key for attached payment recipients (native + ERC20 payout addresses).
47
+ * Matches `ATTACHED_PAYMENT_RECIPIENT_SELECTOR` in EngineBlox.sol.
48
+ */
49
+ static readonly ATTACHED_PAYMENT_RECIPIENT_SELECTOR: Hex;
50
+ /**
51
+ * Standard IERC20 `transfer(address,uint256)` — whitelist key for token contracts in attached ERC20 payments.
52
+ */
53
+ static readonly ERC20_TRANSFER_SELECTOR: Hex;
53
54
  /**
54
55
  * Owner role hash
55
56
  */
@@ -63,43 +64,13 @@ export declare class EngineBlox {
63
64
  */
64
65
  static readonly RECOVERY_ROLE: Hex;
65
66
  /**
66
- * @dev Recovers the signer address from a message hash and signature
67
- * @param messageHash The hash of the message that was signed (bytes32)
68
- * @param signature The signature to recover the address from (65 bytes)
67
+ * @dev Recovers the signer address from the EIP-712 digest and signature (standard EIP-712; no EIP-191 prefix).
68
+ * @param messageHash The EIP-712 digest (keccak256("\x19\x01" || domainSeparator || structHash))
69
+ * @param signature The signature (65 bytes)
69
70
  * @returns Promise that resolves to the address of the signer
70
- * @throws Error if signature is invalid or recovery fails
71
- *
72
- * @notice This matches the contract's recoverSigner function which uses
73
- * messageHash.toEthSignedMessageHash() to convert to EIP-191 format
74
- *
75
- * @example
76
- * ```typescript
77
- * const messageHash = "0x1234...";
78
- * const signature = "0xabcd...";
79
- * const signer = await EngineBlox.recoverSigner(messageHash, signature);
80
- * ```
71
+ * @notice Matches the contract's recoverSigner which uses ecrecover(messageHash, v, r, s) on the raw digest.
81
72
  */
82
73
  static recoverSigner(messageHash: Hex, signature: Hex): Promise<Address>;
83
- /**
84
- * @dev Checks if a function selector exists in a contract's bytecode
85
- * @param client PublicClient instance for reading contract bytecode
86
- * @param contractAddress The address of the contract to check
87
- * @param selector The 4-byte function selector to search for
88
- * @returns Promise that resolves to true if the selector is found in the contract's function selector dispatch table
89
- *
90
- * @notice Searches the first 2KB where function selectors are stored in the dispatch table
91
- * @notice This is a heuristic check - false positives are possible but unlikely
92
- *
93
- * @example
94
- * ```typescript
95
- * const exists = await EngineBlox.selectorExistsInContract(
96
- * publicClient,
97
- * '0x1234...',
98
- * '0xabcd1234'
99
- * );
100
- * ```
101
- */
102
- static selectorExistsInContract(client: PublicClient, contractAddress: Address, selector: Hex): Promise<boolean>;
103
74
  /**
104
75
  * @dev Checks if a TxAction is present in a bitmap
105
76
  * @param bitmap The bitmap to check
@@ -150,6 +121,10 @@ export declare class EngineBlox {
150
121
  * ```
151
122
  */
152
123
  static convertBitmapToActions(bitmap: Uint16Bitmap): TxAction[];
124
+ /**
125
+ * Hash of execution returndata (`bytes32(0)` when empty). Matches `EngineBlox.executionResultHash` on-chain.
126
+ */
127
+ static executionResultHash(executionResult: Hex): Hex;
153
128
  }
154
129
  /**
155
130
  * Default export for convenience
@@ -1 +1 @@
1
- {"version":3,"file":"EngineBlox.d.ts","sourceRoot":"","sources":["../../lib/EngineBlox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,GAAG,EAAE,YAAY,EAA8B,MAAM,MAAM,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAsB,MAAM,iBAAiB,CAAC;AASnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IAGrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAA0B;IAEjE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAK;IAE1C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAK;IAE1C;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAK;IAI1C;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAEpC;IAET;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,CAAgC;IAI9E;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAA2B;IAE1D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAiC;IAEtE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAA8B;IAIhE;;;;;;;;;;;;;;;;OAgBG;WACU,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAwC9E;;;;;;;;;;;;;;;;;;OAkBG;WACU,wBAAwB,CACnC,MAAM,EAAE,YAAY,EACpB,eAAe,EAAE,OAAO,EACxB,QAAQ,EAAE,GAAG,GACZ,OAAO,CAAC,OAAO,CAAC;IA8CnB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAIzE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAG,YAAY;IAI9E;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY;IAQjE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,EAAE;CAYhE;AAED;;GAEG;AACH,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"EngineBlox.d.ts","sourceRoot":"","sources":["../../lib/EngineBlox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4B,OAAO,EAAE,GAAG,EAA4C,MAAM,MAAM,CAAC;AACxG,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AAStE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,UAAU;IAGrB;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,kBAAkB,EAAE,GAAG,CAA0B;IAEjE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IAI1C;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,wBAAwB,EAAE,GAAG,CAEpC;IAET;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,CAAgC;IAE9E;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,mCAAmC,EAAE,GAAG,CAE/C;IAET;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,CAEnC;IAIT;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,CAA2B;IAE1D;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAiC;IAEtE;;OAEG;IACH,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE,GAAG,CAA8B;IAIhE;;;;;;OAMG;WACU,aAAa,CAAC,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB9E;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO;IAIzE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,GAAG,YAAY;IAI9E;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,YAAY;IAQjE;;;;;;;;;;OAUG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,YAAY,GAAG,QAAQ,EAAE;IAa/D;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,GAAG,GAAG,GAAG;CAMtD;AAED;;GAEG;AACH,eAAe,UAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { keccak256 as k256, recoverAddress } from 'viem';
2
- import { createUint16Bitmap } from '../utils/bitmap';
2
+ import { createUint16Bitmap } from '../utils/bitmap.js';
3
3
  /**
4
4
  * Helper function to compute keccak256 of a string
5
5
  */
@@ -20,7 +20,7 @@ const keccak256 = (str) => {
20
20
  *
21
21
  * // Access constants
22
22
  * const protocolName = EngineBlox.PROTOCOL_NAME_HASH;
23
- * const version = `${EngineBlox.VERSION_MAJOR}.${EngineBlox.VERSION_MINOR}.${EngineBlox.VERSION_PATCH}`;
23
+ * const version = EngineBlox.VERSION;
24
24
  *
25
25
  * // Use pure functions
26
26
  * const signer = EngineBlox.recoverSigner(messageHash, signature);
@@ -30,115 +30,71 @@ const keccak256 = (str) => {
30
30
  * ```
31
31
  */
32
32
  export class EngineBlox {
33
+ // ============ VERSION INFORMATION ============
34
+ /**
35
+ * Protocol name hash (keccak256("Bloxchain"))
36
+ */
37
+ static PROTOCOL_NAME_HASH = keccak256("Bloxchain");
38
+ /**
39
+ * Protocol version string (semver, e.g. "1.0.0"). Matches EngineBlox.sol VERSION and EIP-712 domain version.
40
+ */
41
+ static VERSION = "1.0.0";
42
+ // ============ FUNCTION SELECTORS ============
43
+ /**
44
+ * Native token transfer selector (reserved signature for simple ETH transfers)
45
+ * Computed as bytes4(keccak256("__bloxchain_native_transfer__()"))
46
+ */
47
+ static NATIVE_TRANSFER_SELECTOR = ('0x' + k256(new TextEncoder().encode("__bloxchain_native_transfer__()")).slice(2, 10));
48
+ /**
49
+ * Native token transfer operation type hash
50
+ */
51
+ static NATIVE_TRANSFER_OPERATION = keccak256("NATIVE_TRANSFER");
52
+ /**
53
+ * Pseudo-selector: whitelist key for attached payment recipients (native + ERC20 payout addresses).
54
+ * Matches `ATTACHED_PAYMENT_RECIPIENT_SELECTOR` in EngineBlox.sol.
55
+ */
56
+ static ATTACHED_PAYMENT_RECIPIENT_SELECTOR = ('0x' + k256(new TextEncoder().encode('__bloxchain_attached_payment_recipient__()')).slice(2, 10));
57
+ /**
58
+ * Standard IERC20 `transfer(address,uint256)` — whitelist key for token contracts in attached ERC20 payments.
59
+ */
60
+ static ERC20_TRANSFER_SELECTOR = ('0x' + k256(new TextEncoder().encode('transfer(address,uint256)')).slice(2, 10));
61
+ // ============ ROLE CONSTANTS ============
62
+ /**
63
+ * Owner role hash
64
+ */
65
+ static OWNER_ROLE = keccak256("OWNER_ROLE");
66
+ /**
67
+ * Broadcaster role hash
68
+ */
69
+ static BROADCASTER_ROLE = keccak256("BROADCASTER_ROLE");
70
+ /**
71
+ * Recovery role hash
72
+ */
73
+ static RECOVERY_ROLE = keccak256("RECOVERY_ROLE");
33
74
  // ============ PURE FUNCTIONS ============
34
75
  /**
35
- * @dev Recovers the signer address from a message hash and signature
36
- * @param messageHash The hash of the message that was signed (bytes32)
37
- * @param signature The signature to recover the address from (65 bytes)
76
+ * @dev Recovers the signer address from the EIP-712 digest and signature (standard EIP-712; no EIP-191 prefix).
77
+ * @param messageHash The EIP-712 digest (keccak256("\x19\x01" || domainSeparator || structHash))
78
+ * @param signature The signature (65 bytes)
38
79
  * @returns Promise that resolves to the address of the signer
39
- * @throws Error if signature is invalid or recovery fails
40
- *
41
- * @notice This matches the contract's recoverSigner function which uses
42
- * messageHash.toEthSignedMessageHash() to convert to EIP-191 format
43
- *
44
- * @example
45
- * ```typescript
46
- * const messageHash = "0x1234...";
47
- * const signature = "0xabcd...";
48
- * const signer = await EngineBlox.recoverSigner(messageHash, signature);
49
- * ```
80
+ * @notice Matches the contract's recoverSigner which uses ecrecover(messageHash, v, r, s) on the raw digest.
50
81
  */
51
82
  static async recoverSigner(messageHash, signature) {
52
- // Validate signature length (65 bytes = 130 hex chars + '0x' prefix)
53
83
  if (signature.length !== 132) {
54
- throw new Error(`Invalid signature length: expected 65 bytes (132 hex chars), got ${signature.length - 2} bytes`);
84
+ throw new Error(`Invalid signature length: expected 65 bytes (132 hex chars), got ${(signature.length - 2) / 2} bytes`);
55
85
  }
56
86
  try {
57
- // The contract uses messageHash.toEthSignedMessageHash() which converts to EIP-191 format
58
- // EIP-191 format for 32-byte hash: keccak256("\x19Ethereum Signed Message:\n32" + messageHash)
59
- // We need to create the EIP-191 formatted hash and then recover from it
60
- const prefix = '\x19Ethereum Signed Message:\n32';
61
- const messageHashBytes = Buffer.from(messageHash.slice(2), 'hex');
62
- // Concatenate prefix and hash
63
- const eip191Message = Buffer.concat([
64
- Buffer.from(prefix, 'utf8'),
65
- messageHashBytes
66
- ]);
67
- // Convert Buffer to Uint8Array for viem
68
- const eip191MessageBytes = new Uint8Array(eip191Message);
69
- // Hash the EIP-191 formatted message
70
- const eip191Hash = (await k256(eip191MessageBytes));
71
- // Recover address from the EIP-191 formatted hash
72
- // Note: recoverAddress is async in viem
73
- const recovered = await recoverAddress({
74
- hash: eip191Hash,
75
- signature: signature
87
+ const signer = await recoverAddress({
88
+ hash: messageHash,
89
+ signature
76
90
  });
77
- return recovered;
91
+ return signer;
78
92
  }
79
93
  catch (error) {
80
94
  throw new Error(`Failed to recover signer: ${error instanceof Error ? error.message : 'Unknown error'}`);
81
95
  }
82
96
  }
83
97
  // ============ VIEW FUNCTIONS (No storage access) ============
84
- /**
85
- * @dev Checks if a function selector exists in a contract's bytecode
86
- * @param client PublicClient instance for reading contract bytecode
87
- * @param contractAddress The address of the contract to check
88
- * @param selector The 4-byte function selector to search for
89
- * @returns Promise that resolves to true if the selector is found in the contract's function selector dispatch table
90
- *
91
- * @notice Searches the first 2KB where function selectors are stored in the dispatch table
92
- * @notice This is a heuristic check - false positives are possible but unlikely
93
- *
94
- * @example
95
- * ```typescript
96
- * const exists = await EngineBlox.selectorExistsInContract(
97
- * publicClient,
98
- * '0x1234...',
99
- * '0xabcd1234'
100
- * );
101
- * ```
102
- */
103
- static async selectorExistsInContract(client, contractAddress, selector) {
104
- try {
105
- // Get the contract's bytecode
106
- const code = await client.getCode({ address: contractAddress });
107
- if (!code || code.length < 12) { // Need at least '0x' + PUSH4 (1 byte = 2 hex chars) + selector (4 bytes = 8 hex chars) = 12 chars
108
- return false;
109
- }
110
- // Function selectors are in the dispatch table at the beginning
111
- // Typical dispatch tables are < 2KB even for large contracts
112
- // Searching only this area reduces gas cost and false positives from metadata/data
113
- // 2KB = 2048 bytes = 4096 hex chars (plus '0x' prefix = 4098 total)
114
- const maxSearchBytes = 2048;
115
- const codeHexLength = code.length - 2; // Remove '0x' prefix
116
- const maxSearchHexChars = maxSearchBytes * 2; // Each byte is 2 hex chars
117
- const searchLength = codeHexLength < maxSearchHexChars ? codeHexLength : maxSearchHexChars;
118
- // Convert hex strings for searching (normalize to lowercase)
119
- const codeBytes = code.slice(2).toLowerCase(); // Remove '0x' prefix and normalize
120
- const selectorBytes = selector.slice(2).toLowerCase(); // Remove '0x' and normalize
121
- // Scan for PUSH4 opcode (0x63 = "63" in hex) with 1-byte sliding window
122
- // PUSH4 opcode is followed by 4 bytes (8 hex chars) which is the function selector
123
- // Function selectors in EVM bytecode are emitted as PUSH4 <selector> instructions
124
- // These can start at any byte offset, not just 4-byte-aligned positions
125
- for (let i = 0; i + 10 <= searchLength; i += 2) { // i += 2 because each byte is 2 hex chars
126
- // Check if current byte is PUSH4 opcode (0x63 = "63" in hex)
127
- if (codeBytes.slice(i, i + 2) === '63') {
128
- // Check if the next 8 hex chars (4 bytes) match the selector
129
- const candidate = codeBytes.slice(i + 2, i + 10);
130
- if (candidate === selectorBytes) {
131
- return true;
132
- }
133
- }
134
- }
135
- return false;
136
- }
137
- catch (error) {
138
- // If we can't read the bytecode, return false
139
- return false;
140
- }
141
- }
142
98
  // ============ BITMAP HELPER FUNCTIONS ============
143
99
  /**
144
100
  * @dev Checks if a TxAction is present in a bitmap
@@ -209,47 +165,16 @@ export class EngineBlox {
209
165
  }
210
166
  return actions;
211
167
  }
168
+ /**
169
+ * Hash of execution returndata (`bytes32(0)` when empty). Matches `EngineBlox.executionResultHash` on-chain.
170
+ */
171
+ static executionResultHash(executionResult) {
172
+ if (!executionResult || executionResult === '0x') {
173
+ return `0x${'0'.repeat(64)}`;
174
+ }
175
+ return k256(executionResult);
176
+ }
212
177
  }
213
- // ============ VERSION INFORMATION ============
214
- /**
215
- * Protocol name hash (keccak256("Bloxchain"))
216
- */
217
- EngineBlox.PROTOCOL_NAME_HASH = keccak256("Bloxchain");
218
- /**
219
- * Major version number
220
- */
221
- EngineBlox.VERSION_MAJOR = 1;
222
- /**
223
- * Minor version number
224
- */
225
- EngineBlox.VERSION_MINOR = 0;
226
- /**
227
- * Patch version number
228
- */
229
- EngineBlox.VERSION_PATCH = 0;
230
- // ============ FUNCTION SELECTORS ============
231
- /**
232
- * Native token transfer selector (reserved signature for simple ETH transfers)
233
- * Computed as bytes4(keccak256("__bloxchain_native_transfer__()"))
234
- */
235
- EngineBlox.NATIVE_TRANSFER_SELECTOR = ('0x' + k256(new TextEncoder().encode("__bloxchain_native_transfer__()")).slice(2, 10));
236
- /**
237
- * Native token transfer operation type hash
238
- */
239
- EngineBlox.NATIVE_TRANSFER_OPERATION = keccak256("NATIVE_TRANSFER");
240
- // ============ ROLE CONSTANTS ============
241
- /**
242
- * Owner role hash
243
- */
244
- EngineBlox.OWNER_ROLE = keccak256("OWNER_ROLE");
245
- /**
246
- * Broadcaster role hash
247
- */
248
- EngineBlox.BROADCASTER_ROLE = keccak256("BROADCASTER_ROLE");
249
- /**
250
- * Recovery role hash
251
- */
252
- EngineBlox.RECOVERY_ROLE = keccak256("RECOVERY_ROLE");
253
178
  /**
254
179
  * Default export for convenience
255
180
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EngineBlox.js","sourceRoot":"","sources":["../../lib/EngineBlox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EngineBlox.js","sourceRoot":"","sources":["../../lib/EngineBlox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,IAAI,EAAqC,cAAc,EAAc,MAAM,MAAM,CAAC;AAExG,OAAO,EAAgB,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEtE;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,GAAW,EAAO,EAAE;IACrC,OAAO,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAQ,CAAC;AACpD,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAU;IACrB,gDAAgD;IAEhD;;OAEG;IACH,MAAM,CAAU,kBAAkB,GAAQ,SAAS,CAAC,WAAW,CAAC,CAAC;IAEjE;;OAEG;IACH,MAAM,CAAU,OAAO,GAAW,OAAO,CAAC;IAE1C,+CAA+C;IAE/C;;;OAGG;IACH,MAAM,CAAU,wBAAwB,GAAQ,CAC9C,IAAI,GAAG,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,iCAAiC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAC/E,CAAC;IAET;;OAEG;IACH,MAAM,CAAU,yBAAyB,GAAQ,SAAS,CAAC,iBAAiB,CAAC,CAAC;IAE9E;;;OAGG;IACH,MAAM,CAAU,mCAAmC,GAAQ,CACzD,IAAI,GAAG,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,4CAA4C,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAC1F,CAAC;IAET;;OAEG;IACH,MAAM,CAAU,uBAAuB,GAAQ,CAC7C,IAAI,GAAG,IAAI,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CACzE,CAAC;IAET,2CAA2C;IAE3C;;OAEG;IACH,MAAM,CAAU,UAAU,GAAQ,SAAS,CAAC,YAAY,CAAC,CAAC;IAE1D;;OAEG;IACH,MAAM,CAAU,gBAAgB,GAAQ,SAAS,CAAC,kBAAkB,CAAC,CAAC;IAEtE;;OAEG;IACH,MAAM,CAAU,aAAa,GAAQ,SAAS,CAAC,eAAe,CAAC,CAAC;IAEhE,2CAA2C;IAE3C;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,WAAgB,EAAE,SAAc;QACzD,IAAI,SAAS,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC1H,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;gBAClC,IAAI,EAAE,WAAW;gBACjB,SAAS;aACV,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,+DAA+D;IAE/D,oDAAoD;IAEpD;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAoB,EAAE,MAAgB;QAC7D,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAoB,EAAE,MAAgB;QAC7D,OAAO,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,MAAM,CAAC,uBAAuB,CAAC,OAAmB;QAChD,IAAI,MAAM,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAoB;QAChD,iCAAiC;QACjC,MAAM,OAAO,GAAe,EAAE,CAAC;QAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC,CAAa,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAoB;QAC7C,IAAI,CAAC,eAAe,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;YACjD,OAAO,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAS,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAQ,CAAC;IACtC,CAAC;;AAGH;;GAEG;AACH,eAAe,UAAU,CAAC"}
@@ -1,25 +1,42 @@
1
1
  /**
2
2
  * GuardControllerDefinitions
3
- * Pure helpers for building execution params for GuardController operations.
4
- * Mirrors GuardControllerDefinitions.sol; no contract calls.
5
- * Uses parseAbiParameters + array-of-[actionType,data] to match web3 encodeParameter('tuple(uint8,bytes)[]', [[actionType, data], ...]).
3
+ * Calls the deployed GuardControllerDefinitions contract for specs and encoding.
4
+ * Single source of truth: action names, formats, and encoding come from the contract.
5
+ * @see contracts/core/execution/lib/definitions/GuardControllerDefinitions.sol
6
+ * @see scripts/sanity/guard-controller/base-test.cjs createGuardConfigBatchMetaTx (actionsArray = [actionType, data] per element)
6
7
  */
7
- import { Hex } from 'viem';
8
- import type { GuardConfigAction } from '../../types/core.execution.index';
8
+ import { type Address, type Hex, type PublicClient } from 'viem';
9
+ import type { GuardConfigAction } from '../../types/core.execution.index.js';
10
+ import type { TxAction } from '../../types/lib.index.js';
9
11
  /**
10
12
  * Builds execution params for executeGuardConfigBatch((uint8,bytes)[]).
11
- * Equivalent to GuardControllerDefinitions.guardConfigBatchExecutionParams in Solidity.
12
- * Same encoding as web3.eth.abi.encodeParameter('tuple(uint8,bytes)[]', actionsArray).
13
+ * Encoding matches GuardControllerDefinitions.sol guardConfigBatchExecutionParams (abi.encode(actions)).
14
+ * Same format as scripts/sanity (direct contract tests); single source of truth in this module.
13
15
  */
14
- export declare function guardConfigBatchExecutionParams(actions: GuardConfigAction[]): Hex;
16
+ export declare function guardConfigBatchExecutionParams(_client: PublicClient, _definitionAddress: Address, actions: GuardConfigAction[]): Hex;
15
17
  /**
16
- * Returns all available GuardConfig action types and their ABI decode formats.
17
- * Mirrors GuardControllerDefinitions.getGuardConfigActionSpecs in Solidity.
18
- *
18
+ * Returns all available GuardConfig action types and their ABI decode formats from the contract.
19
19
  * Index i in both arrays corresponds to GuardConfigActionType enum value i.
20
20
  */
21
- export declare function getGuardConfigActionSpecs(): {
21
+ export declare function getGuardConfigActionSpecs(client: PublicClient, definitionAddress: Address): Promise<{
22
22
  actionNames: string[];
23
23
  formats: string[];
24
- };
24
+ }>;
25
+ /**
26
+ * Encodes data for ADD_TARGET_TO_WHITELIST. Matches GuardControllerDefinitions.sol encodeAddTargetToWhitelist (abi.encode(functionSelector, target)).
27
+ */
28
+ export declare function encodeAddTargetToWhitelist(_client: PublicClient, _definitionAddress: Address, functionSelector: Hex, target: Address): Hex;
29
+ /**
30
+ * Encodes data for REMOVE_TARGET_FROM_WHITELIST. Matches GuardControllerDefinitions.sol encodeRemoveTargetFromWhitelist (abi.encode(functionSelector, target)).
31
+ */
32
+ export declare function encodeRemoveTargetFromWhitelist(_client: PublicClient, _definitionAddress: Address, functionSelector: Hex, target: Address): Hex;
33
+ /**
34
+ * Encodes data for REGISTER_FUNCTION. Matches GuardControllerDefinitions.sol encodeRegisterFunction (abi.encode(functionSignature, operationName, supportedActions)).
35
+ * supportedActions: array of TxAction enum values (e.g. TxAction.EXECUTE_TIME_DELAY_REQUEST).
36
+ */
37
+ export declare function encodeRegisterFunction(_client: PublicClient, _definitionAddress: Address, functionSignature: string, operationName: string, supportedActions: TxAction[]): Hex;
38
+ /**
39
+ * Encodes data for UNREGISTER_FUNCTION. Matches GuardControllerDefinitions.sol encodeUnregisterFunction (abi.encode(functionSelector, safeRemoval)).
40
+ */
41
+ export declare function encodeUnregisterFunction(_client: PublicClient, _definitionAddress: Address, functionSelector: Hex, safeRemoval: boolean): Hex;
25
42
  //# sourceMappingURL=GuardControllerDefinitions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GuardControllerDefinitions.d.ts","sourceRoot":"","sources":["../../../lib/definitions/GuardControllerDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAA2C,MAAM,MAAM,CAAC;AACpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,GAAG,CASjF;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,IAAI;IAC3C,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAgBA"}
1
+ {"version":3,"file":"GuardControllerDefinitions.d.ts","sourceRoot":"","sources":["../../../lib/definitions/GuardControllerDefinitions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAY,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,YAAY,EAAuD,MAAM,MAAM,CAAC;AAEhI,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAWzD;;;;GAIG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,OAAO,EAC3B,OAAO,EAAE,iBAAiB,EAAE,GAC3B,GAAG,CASL;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,YAAY,EACpB,iBAAiB,EAAE,OAAO,GACzB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAOvD;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,OAAO,EAC3B,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,OAAO,GACd,GAAG,CAEL;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,OAAO,EAC3B,gBAAgB,EAAE,GAAG,EACrB,MAAM,EAAE,OAAO,GACd,GAAG,CAEL;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,OAAO,EAC3B,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,QAAQ,EAAE,GAC3B,GAAG,CAML;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,EACrB,kBAAkB,EAAE,OAAO,EAC3B,gBAAgB,EAAE,GAAG,EACrB,WAAW,EAAE,OAAO,GACnB,GAAG,CAEL"}