@aromedia/contracts-sdk 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +121 -0
  3. package/dist/chains.cjs +67 -0
  4. package/dist/chains.cjs.map +1 -0
  5. package/dist/chains.d.cts +826 -0
  6. package/dist/chains.d.ts +826 -0
  7. package/dist/chains.js +23 -0
  8. package/dist/chains.js.map +1 -0
  9. package/dist/chunk-7I5N3BGV.js +271 -0
  10. package/dist/chunk-7I5N3BGV.js.map +1 -0
  11. package/dist/chunk-BYPGUFYV.js +50 -0
  12. package/dist/chunk-BYPGUFYV.js.map +1 -0
  13. package/dist/chunk-FWZ7XKFC.js +91 -0
  14. package/dist/chunk-FWZ7XKFC.js.map +1 -0
  15. package/dist/chunk-J6YVU3VA.js +35 -0
  16. package/dist/chunk-J6YVU3VA.js.map +1 -0
  17. package/dist/chunk-TZQHQLNY.js +7213 -0
  18. package/dist/chunk-TZQHQLNY.js.map +1 -0
  19. package/dist/generated/abis.cjs +7244 -0
  20. package/dist/generated/abis.cjs.map +1 -0
  21. package/dist/generated/abis.d.cts +11005 -0
  22. package/dist/generated/abis.d.ts +11005 -0
  23. package/dist/generated/abis.js +21 -0
  24. package/dist/generated/abis.js.map +1 -0
  25. package/dist/generated/addresses.cjs +119 -0
  26. package/dist/generated/addresses.cjs.map +1 -0
  27. package/dist/generated/addresses.d.cts +18 -0
  28. package/dist/generated/addresses.d.ts +18 -0
  29. package/dist/generated/addresses.js +15 -0
  30. package/dist/generated/addresses.js.map +1 -0
  31. package/dist/hooks/index.cjs +2005 -0
  32. package/dist/hooks/index.cjs.map +1 -0
  33. package/dist/hooks/index.d.cts +63 -0
  34. package/dist/hooks/index.d.ts +63 -0
  35. package/dist/hooks/index.js +218 -0
  36. package/dist/hooks/index.js.map +1 -0
  37. package/dist/index.cjs +7884 -0
  38. package/dist/index.cjs.map +1 -0
  39. package/dist/index.d.cts +42 -0
  40. package/dist/index.d.ts +42 -0
  41. package/dist/index.js +258 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/onboarding-BHpAJaNW.d.cts +302 -0
  44. package/dist/onboarding-DxL_LpM3.d.ts +302 -0
  45. package/dist/workflows/index.cjs +1988 -0
  46. package/dist/workflows/index.cjs.map +1 -0
  47. package/dist/workflows/index.d.cts +72 -0
  48. package/dist/workflows/index.d.ts +72 -0
  49. package/dist/workflows/index.js +25 -0
  50. package/dist/workflows/index.js.map +1 -0
  51. package/package.json +120 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/workflows/index.ts","../../src/generated/abis.ts","../../src/utils/errors.ts","../../src/workflows/onboarding.ts","../../src/utils/kycHash.ts","../../src/workflows/kyc.ts"],"sourcesContent":["export * from \"./onboarding.js\";\nexport * from \"./kyc.js\";\n","// AUTO-GENERATED FILE — DO NOT EDIT BY HAND\n// Source of truth: packages/sdk/scripts/generate.ts\n// Re-run with `npm run sdk:generate` from the repo root.\n\n/** ABI for AroMediaIncMultiSig. */\nexport const AroMediaIncMultiSig_ABI = [\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes[]\",\n \"name\": \"signers\",\n \"type\": \"bytes[]\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"threshold\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccountUnauthorized\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC7579AlreadyInstalledModule\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ERC7579CannotDecodeFallbackData\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ERC7579DecodingError\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"hook\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC7579HookModuleAlreadyPresent\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC7579MismatchedModuleTypeId\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"selector\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"ERC7579MissingFallbackHandler\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC7579UninstalledModule\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"CallType\",\n \"name\": \"callType\",\n \"type\": \"bytes1\"\n }\n ],\n \"name\": \"ERC7579UnsupportedCallType\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"ExecType\",\n \"name\": \"execType\",\n \"type\": \"bytes1\"\n }\n ],\n \"name\": \"ERC7579UnsupportedExecType\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC7579UnsupportedModuleType\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"FailedCall\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"InvalidShortString\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"signer\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"MultiSignerERC7913AlreadyExists\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"signer\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"MultiSignerERC7913InvalidSigner\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"signer\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"MultiSignerERC7913NonexistentSigner\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"signers\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"threshold\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"MultiSignerERC7913UnreachableThreshold\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"MultiSignerERC7913ZeroThreshold\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"OutOfRangeAccess\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"str\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"StringTooLong\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [],\n \"name\": \"EIP712DomainChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"batchExecutionIndex\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"returndata\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"ERC7579TryExecuteFail\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes\",\n \"name\": \"signers\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"ERC7913SignerAdded\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes\",\n \"name\": \"signers\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"ERC7913SignerRemoved\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint64\",\n \"name\": \"threshold\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"ERC7913ThresholdSet\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ModuleInstalled\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ModuleUninstalled\",\n \"type\": \"event\"\n },\n {\n \"stateMutability\": \"payable\",\n \"type\": \"fallback\"\n },\n {\n \"inputs\": [],\n \"name\": \"accountId\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes[]\",\n \"name\": \"signers\",\n \"type\": \"bytes[]\"\n }\n ],\n \"name\": \"addSigners\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"eip712Domain\",\n \"outputs\": [\n {\n \"internalType\": \"bytes1\",\n \"name\": \"fields\",\n \"type\": \"bytes1\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"name\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"version\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"chainId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"verifyingContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"salt\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"extensions\",\n \"type\": \"uint256[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"entryPoint\",\n \"outputs\": [\n {\n \"internalType\": \"contract IEntryPoint\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"mode\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"executionCalldata\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"execute\",\n \"outputs\": [],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"mode\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"executionCalldata\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"executeFromExecutor\",\n \"outputs\": [\n {\n \"internalType\": \"bytes[]\",\n \"name\": \"returnData\",\n \"type\": \"bytes[]\"\n }\n ],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint192\",\n \"name\": \"key\",\n \"type\": \"uint192\"\n }\n ],\n \"name\": \"getNonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getNonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getSignerCount\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"start\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"end\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"getSigners\",\n \"outputs\": [\n {\n \"internalType\": \"bytes[]\",\n \"name\": \"\",\n \"type\": \"bytes[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"hook\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initData\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"installModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isModuleInstalled\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"signer\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isSigner\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"hash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signature\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isValidSignature\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC1155BatchReceived\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC1155Received\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC721Received\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes[]\",\n \"name\": \"signers\",\n \"type\": \"bytes[]\"\n }\n ],\n \"name\": \"removeSigners\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"threshold\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"encodedMode\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"supportsExecutionMode\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"supportsModule\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"threshold\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"moduleTypeId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"deInitData\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"uninstallModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"components\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"nonce\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initCode\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"callData\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"accountGasLimits\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"preVerificationGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"gasFees\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"paymasterAndData\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signature\",\n \"type\": \"bytes\"\n }\n ],\n \"internalType\": \"struct PackedUserOperation\",\n \"name\": \"userOp\",\n \"type\": \"tuple\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"userOpHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"missingAccountFunds\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"validateUserOp\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"stateMutability\": \"payable\",\n \"type\": \"receive\"\n }\n] as const;\n\n/** ABI for AroMediaAccessManager. */\nexport const AroMediaAccessManager_ABI = [\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"multiSigOwner\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"operationId\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"AccessManagerAlreadyScheduled\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"AccessManagerBadConfirmation\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"operationId\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"AccessManagerExpired\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"initialAdmin\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagerInvalidInitialAdmin\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"AccessManagerLockedRole\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"operationId\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"AccessManagerNotReady\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"operationId\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"AccessManagerNotScheduled\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"msgsender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"AccessManagerUnauthorizedAccount\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes4\",\n \"name\": \"selector\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"AccessManagerUnauthorizedCall\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"msgsender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes4\",\n \"name\": \"selector\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"AccessManagerUnauthorizedCancel\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagerUnauthorizedConsume\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddressEmptyCode\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"FailedCall\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"balance\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"needed\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"InsufficientBalance\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"OwnableInvalidOwner\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"OwnableUnauthorizedAccount\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint8\",\n \"name\": \"bits\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"SafeCastOverflowedUintDowncast\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"operationId\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint32\",\n \"name\": \"nonce\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"OperationCanceled\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"operationId\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint32\",\n \"name\": \"nonce\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"OperationExecuted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"operationId\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint32\",\n \"name\": \"nonce\",\n \"type\": \"uint32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint48\",\n \"name\": \"schedule\",\n \"type\": \"uint48\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"OperationScheduled\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"previousOwner\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newOwner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"OwnershipTransferred\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"admin\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"RoleAdminChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint48\",\n \"name\": \"since\",\n \"type\": \"uint48\"\n }\n ],\n \"name\": \"RoleGrantDelayChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint48\",\n \"name\": \"since\",\n \"type\": \"uint48\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"newMember\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"RoleGranted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"guardian\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"RoleGuardianChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"RoleLabel\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RoleRevoked\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint48\",\n \"name\": \"since\",\n \"type\": \"uint48\"\n }\n ],\n \"name\": \"TargetAdminDelayUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"closed\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"TargetClosed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes4\",\n \"name\": \"selector\",\n \"type\": \"bytes4\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"TargetFunctionRoleUpdated\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [],\n \"name\": \"ADMIN_ROLE\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"PUBLIC_ROLE\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_AUDITOR\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_BURNER\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_COUNT\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_INTEGRATION_BOT\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_MARKET_MAKER\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_MINTER\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_OPERATOR\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_ORG_ADMIN\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_PAUSER\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_PROTOCOL_ADMIN\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"ROLE_TREASURY_CONTROLLER\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes4\",\n \"name\": \"selector\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"canCall\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"immediate\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"cancel\",\n \"outputs\": [\n {\n \"internalType\": \"uint32\",\n \"name\": \"\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"consumeScheduledOp\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"execute\",\n \"outputs\": [\n {\n \"internalType\": \"uint32\",\n \"name\": \"\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"expiration\",\n \"outputs\": [\n {\n \"internalType\": \"uint32\",\n \"name\": \"\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getAccess\",\n \"outputs\": [\n {\n \"internalType\": \"uint48\",\n \"name\": \"since\",\n \"type\": \"uint48\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"currentDelay\",\n \"type\": \"uint32\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"pendingDelay\",\n \"type\": \"uint32\"\n },\n {\n \"internalType\": \"uint48\",\n \"name\": \"effect\",\n \"type\": \"uint48\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getAllRoles\",\n \"outputs\": [\n {\n \"internalType\": \"uint64[]\",\n \"name\": \"roleIds\",\n \"type\": \"uint64[]\"\n },\n {\n \"internalType\": \"string[]\",\n \"name\": \"labels\",\n \"type\": \"string[]\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"id\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"getNonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint32\",\n \"name\": \"\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"getRoleAdmin\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"getRoleGrantDelay\",\n \"outputs\": [\n {\n \"internalType\": \"uint32\",\n \"name\": \"\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"getRoleGuardian\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"getRoleLabel\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"id\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"getSchedule\",\n \"outputs\": [\n {\n \"internalType\": \"uint48\",\n \"name\": \"\",\n \"type\": \"uint48\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getTargetAdminDelay\",\n \"outputs\": [\n {\n \"internalType\": \"uint32\",\n \"name\": \"\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes4\",\n \"name\": \"selector\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"getTargetFunctionRole\",\n \"outputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"\",\n \"type\": \"uint64\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"executionDelay\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"grantRole\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"hasRole\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"isMember\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"executionDelay\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"hashOperation\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isTargetClosed\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"label\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"labelRole\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"minSetback\",\n \"outputs\": [\n {\n \"internalType\": \"uint32\",\n \"name\": \"\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes[]\",\n \"name\": \"data\",\n \"type\": \"bytes[]\"\n }\n ],\n \"name\": \"multicall\",\n \"outputs\": [\n {\n \"internalType\": \"bytes[]\",\n \"name\": \"results\",\n \"type\": \"bytes[]\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"owner\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"renounceOwnership\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"callerConfirmation\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"renounceRole\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"revokeRole\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint48\",\n \"name\": \"when\",\n \"type\": \"uint48\"\n }\n ],\n \"name\": \"schedule\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"operationId\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"nonce\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"newDelay\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"setGrantDelay\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"admin\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setRoleAdmin\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"guardian\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setRoleGuardian\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"newDelay\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"setTargetAdminDelay\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"closed\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"setTargetClosed\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes4[]\",\n \"name\": \"selectors\",\n \"type\": \"bytes4[]\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"roleId\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"setTargetFunctionRole\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newOwner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"transferOwnership\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"target\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"newAuthority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"updateAuthority\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"rwaToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"assetsRegistry\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"forcedTransferManager\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"sbt\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"nomination\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"wireAllContracts\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"assetsRegistry\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"wireAssetsRegistry\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"forcedTransferManager\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"wireForcedTransferManager\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"nomination\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"wireNomination\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"rwaToken\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"wireRWAToken\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sbt\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"wireSBT\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n] as const;\n\n/** ABI for AroMediaRWA. */\nexport const AroMediaRWA_ABI = [\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"initialAuthority\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"treasury\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedInvalidAuthority\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"AccessManagedRequiredDelay\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedUnauthorized\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"CheckpointUnorderedInsertion\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ECDSAInvalidSignature\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"length\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ECDSAInvalidSignatureLength\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"s\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"ECDSAInvalidSignatureS\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC1363ApproveFailed\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"receiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC1363InvalidReceiver\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC1363InvalidSpender\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"receiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC1363TransferFailed\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"receiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC1363TransferFromFailed\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"increasedSupply\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"cap\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC20ExceededSafeSupply\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"allowance\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"needed\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC20InsufficientAllowance\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"balance\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"needed\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC20InsufficientBalance\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"user\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"needed\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"available\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC20InsufficientUnfrozenBalance\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"approver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC20InvalidApprover\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"receiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC20InvalidReceiver\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC20InvalidSender\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC20InvalidSpender\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC20UserRestricted\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"deadline\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC2612ExpiredSignature\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"signer\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC2612InvalidSigner\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"timepoint\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint48\",\n \"name\": \"clock\",\n \"type\": \"uint48\"\n }\n ],\n \"name\": \"ERC5805FutureLookup\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ERC6372InconsistentClock\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"EnforcedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ExpectedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"currentNonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"InvalidAccountNonce\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"InvalidShortString\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint8\",\n \"name\": \"bits\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"SafeCastOverflowedUintDowncast\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"str\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"StringTooLong\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"expiry\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"VotesExpiredSignature\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Approval\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AuthorityUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"delegator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"fromDelegate\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"toDelegate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"DelegateChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"delegate\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"previousVotes\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"newVotes\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"DelegateVotesChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [],\n \"name\": \"EIP712DomainChanged\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ForcedTransfer\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"user\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Frozen\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Paused\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Transfer\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Unpaused\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"enum ERC20Restricted.Restriction\",\n \"name\": \"restriction\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"UserRestrictionsUpdated\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [],\n \"name\": \"CLOCK_MODE\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"DOMAIN_SEPARATOR\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"INITIAL_SUPPLY\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"user\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"allowUser\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"allowance\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"approve\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"approveAndCall\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"approveAndCall\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"authority\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"available\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"balanceOf\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"burn\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"burnFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"pos\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"checkpoints\",\n \"outputs\": [\n {\n \"components\": [\n {\n \"internalType\": \"uint48\",\n \"name\": \"_key\",\n \"type\": \"uint48\"\n },\n {\n \"internalType\": \"uint208\",\n \"name\": \"_value\",\n \"type\": \"uint208\"\n }\n ],\n \"internalType\": \"struct Checkpoints.Checkpoint208\",\n \"name\": \"\",\n \"type\": \"tuple\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"clock\",\n \"outputs\": [\n {\n \"internalType\": \"uint48\",\n \"name\": \"\",\n \"type\": \"uint48\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"decimals\",\n \"outputs\": [\n {\n \"internalType\": \"uint8\",\n \"name\": \"\",\n \"type\": \"uint8\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"delegatee\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"delegate\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"delegatee\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"nonce\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"expiry\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint8\",\n \"name\": \"v\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"r\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"s\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"delegateBySig\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"delegates\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"user\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"disallowUser\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"eip712Domain\",\n \"outputs\": [\n {\n \"internalType\": \"bytes1\",\n \"name\": \"fields\",\n \"type\": \"bytes1\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"name\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"version\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"chainId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"verifyingContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"salt\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"extensions\",\n \"type\": \"uint256[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"forcedTransfer\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"forcedTransferManagerContract\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"user\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"freeze\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"frozen\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"timepoint\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getPastTotalSupply\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"timepoint\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getPastVotes\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getRestriction\",\n \"outputs\": [\n {\n \"internalType\": \"enum ERC20Restricted.Restriction\",\n \"name\": \"\",\n \"type\": \"uint8\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getVotes\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"isConsumingScheduledOp\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"user\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isUserAllowed\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"issue\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"name\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"nonces\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"numCheckpoints\",\n \"outputs\": [\n {\n \"internalType\": \"uint32\",\n \"name\": \"\",\n \"type\": \"uint32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"paused\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"spender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"deadline\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint8\",\n \"name\": \"v\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"r\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"s\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"permit\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newAuthority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setAuthority\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_newManager\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setForcedTransferManager\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"symbol\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"totalSupply\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"transfer\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"transferAndCall\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"transferAndCall\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"transferFrom\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"transferFromAndCall\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"transferFromAndCall\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"unpause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n] as const;\n\n/** ABI for AroMediaAssetsRegistry. */\nexport const AroMediaAssetsRegistry_ABI = [\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"initialAuthority\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedInvalidAuthority\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"AccessManagedRequiredDelay\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedUnauthorized\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ERC721EnumerableForbiddenBatchMint\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721IncorrectOwner\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC721InsufficientApproval\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"approver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidApprover\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidOperator\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidOwner\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"receiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidReceiver\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidSender\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC721NonexistentToken\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"index\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC721OutOfBoundsIndex\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"EnforcedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ExpectedPause\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"approved\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Approval\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"ApprovalForAll\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AuthorityUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"_fromTokenId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"_toTokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"BatchMetadataUpdate\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"_tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"MetadataUpdate\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Paused\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Transfer\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Unpaused\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"approve\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"authority\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"balanceOf\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"burn\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getApproved\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isApprovedForAll\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"isConsumingScheduledOp\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"name\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ownerOf\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"paused\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"uri\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"safeMint\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"safeTransferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"safeTransferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"setApprovalForAll\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newAuthority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setAuthority\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"symbol\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"index\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"tokenByIndex\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"index\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"tokenOfOwnerByIndex\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"tokenURI\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"totalSupply\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"transferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"unpause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n] as const;\n\n/** ABI for ForcedTransferManager. */\nexport const ForcedTransferManager_ABI = [\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"initialAuthority\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedInvalidAuthority\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"AccessManagedRequiredDelay\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedUnauthorized\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"role\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"AlreadyApproved\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"CannotSelfApprove\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"DossierAlreadyUsed\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"DossierNotFound\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"balance\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"InsufficientBalance\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"param\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"InvalidAddress\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"component\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"NotConfigured\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"RequestNotFound\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"RequestNotFullyApproved\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"RequestNotPending\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint64\",\n \"name\": \"requiredRole\",\n \"type\": \"uint64\"\n }\n ],\n \"name\": \"UnauthorizedRole\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"registry\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AssetsRegistrySet\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AuthorityUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"approver\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"role\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"ForcedTransferApproval\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"canceller\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ForcedTransferCancelled\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"dossierTokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ForcedTransferExecuted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"dossierTokenId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"initiator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"string\",\n \"name\": \"reason\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"ForcedTransferInitiated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RWATokenSet\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"approveAuditor\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"approveOrgAdmin\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"approveTreasury\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"assetsRegistry\",\n \"outputs\": [\n {\n \"internalType\": \"contract IERC721\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"authority\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"cancel\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"registry\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"configure\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"execute\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getRequest\",\n \"outputs\": [\n {\n \"components\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"dossierTokenId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"initiator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"initiatedAt\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"treasuryApproval\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"auditorApproval\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"orgAdminApproval\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"enum ForcedTransferManager.ForcedTransferStatus\",\n \"name\": \"status\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"reason\",\n \"type\": \"string\"\n }\n ],\n \"internalType\": \"struct ForcedTransferManager.ForcedTransferRequest\",\n \"name\": \"request\",\n \"type\": \"tuple\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getRequestCount\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"count\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"amount\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"dossierTokenId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"reason\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"initiate\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"isConsumingScheduledOp\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"dossierTokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"isDossierUsed\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"used\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"requestId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"isFullyApproved\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"rwaToken\",\n \"outputs\": [\n {\n \"internalType\": \"contract IForcedTransferable\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"registry\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setAssetsRegistry\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newAuthority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setAuthority\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"token\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setRWAToken\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n] as const;\n\n/** ABI for AroSBT. */\nexport const AroSBT_ABI = [\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"initialAuthority\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedInvalidAuthority\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"AccessManagedRequiredDelay\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedUnauthorized\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AlreadyHasSBT\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ERC721EnumerableForbiddenBatchMint\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721IncorrectOwner\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC721InsufficientApproval\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"approver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidApprover\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidOperator\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidOwner\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"receiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidReceiver\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ERC721InvalidSender\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC721NonexistentToken\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"index\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ERC721OutOfBoundsIndex\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"EnforcedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ExpectedPause\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"NoSBT\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"SoulboundTransferBlocked\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"approved\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Approval\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"ApprovalForAll\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AuthorityUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"_fromTokenId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"_toTokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"BatchMetadataUpdate\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Locked\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"member\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"memberId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"enum AroSBT.Tier\",\n \"name\": \"tier\",\n \"type\": \"uint8\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"kycHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"MemberAdmitted\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"member\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"memberId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"MemberRevoked\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"_tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"MetadataUpdate\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Paused\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"member\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"enum AroSBT.Tier\",\n \"name\": \"oldTier\",\n \"type\": \"uint8\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"enum AroSBT.Tier\",\n \"name\": \"newTier\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"TierUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Transfer\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"Unlocked\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"Unpaused\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"approve\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"authority\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"balanceOf\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getApproved\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getMemberData\",\n \"outputs\": [\n {\n \"components\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"memberId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"issuanceDate\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"enum AroSBT.Tier\",\n \"name\": \"tier\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"kycHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"internalType\": \"struct AroSBT.MemberData\",\n \"name\": \"data\",\n \"type\": \"tuple\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getMemberDataByToken\",\n \"outputs\": [\n {\n \"components\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"memberId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"issuanceDate\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"enum AroSBT.Tier\",\n \"name\": \"tier\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"kycHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"internalType\": \"struct AroSBT.MemberData\",\n \"name\": \"data\",\n \"type\": \"tuple\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"hasSBT\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isApprovedForAll\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"isConsumingScheduledOp\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"locked\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"kycHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"metadataURI\",\n \"type\": \"string\"\n }\n ],\n \"name\": \"mint\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"kycHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"string\",\n \"name\": \"metadataURI\",\n \"type\": \"string\"\n },\n {\n \"internalType\": \"enum AroSBT.Tier\",\n \"name\": \"tier\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"mint\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"name\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ownerOf\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"pause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"paused\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"revoke\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"safeTransferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"safeTransferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"operator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"approved\",\n \"type\": \"bool\"\n }\n ],\n \"name\": \"setApprovalForAll\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newAuthority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setAuthority\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"enum AroSBT.Tier\",\n \"name\": \"newTier\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"setTier\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"symbol\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"index\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"tokenByIndex\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"account\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"tokenOfMember\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"index\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"tokenOfOwnerByIndex\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"tokenURI\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"totalMembersAdmitted\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"totalSupply\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"from\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"transferFrom\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"unpause\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"tokenId\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"newKycHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"updateKycHash\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n] as const;\n\n/** ABI for AroNomination. */\nexport const AroNomination_ABI = [\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"initialAuthority\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"_sbtContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedInvalidAuthority\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint32\",\n \"name\": \"delay\",\n \"type\": \"uint32\"\n }\n ],\n \"name\": \"AccessManagedRequiredDelay\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"caller\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AccessManagedUnauthorized\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AlreadyNominated\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"voucher\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AlreadyVouched\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"CallerHasNoSBT\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"CandidateAlreadyMember\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"NominationNotPending\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"NominatorCannotVouch\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"NotNominated\",\n \"type\": \"error\"\n },\n {\n \"inputs\": [],\n \"name\": \"ThresholdCannotBeZero\",\n \"type\": \"error\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"authority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AuthorityUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"totalVouches\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"timestamp\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"CandidateApproved\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"nominator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"timestamp\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"CandidateNominated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"voucher\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"currentVouches\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"CandidateVouched\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"clearedBy\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"NominationCleared\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"oldContract\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"newContract\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"SBTContractUpdated\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"oldThreshold\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"newThreshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ThresholdUpdated\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [],\n \"name\": \"authority\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"clearNomination\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getNomination\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"nominator\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address[]\",\n \"name\": \"vouchers\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"nominatedAt\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"enum AroNomination.NominationStatus\",\n \"name\": \"status\",\n \"type\": \"uint8\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getNominationCount\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getNominationStatus\",\n \"outputs\": [\n {\n \"internalType\": \"enum AroNomination.NominationStatus\",\n \"name\": \"\",\n \"type\": \"uint8\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getNominator\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"getVouchers\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"voucher\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"hasVouched\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"isConsumingScheduledOp\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isNominated\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"nominate\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"sbtContract\",\n \"outputs\": [\n {\n \"internalType\": \"contract AroSBT\",\n \"name\": \"\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newAuthority\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setAuthority\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newSBTContract\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setSBTContract\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"newThreshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"setThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"threshold\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"candidate\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"vouch\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n] as const;\n\n/** All ABIs keyed by contract name. */\nexport const abis = {\n AroMediaIncMultiSig: AroMediaIncMultiSig_ABI,\n AroMediaAccessManager: AroMediaAccessManager_ABI,\n AroMediaRWA: AroMediaRWA_ABI,\n AroMediaAssetsRegistry: AroMediaAssetsRegistry_ABI,\n ForcedTransferManager: ForcedTransferManager_ABI,\n AroSBT: AroSBT_ABI,\n AroNomination: AroNomination_ABI,\n} as const;\n\nexport type AroContractName = keyof typeof abis;\n","import { BaseError, type ContractFunctionRevertedError } from \"viem\";\n\n/**\n * Friendly error class wrapping a decoded custom error from one of the Aro\n * contracts. We keep both the raw cause (for retry/logging) and a friendly\n * message that maps cleanly to user-facing copy in the dapp.\n */\nexport class AroContractError extends Error {\n readonly errorName: string;\n readonly args: readonly unknown[];\n override readonly cause?: unknown;\n\n constructor(opts: {\n errorName: string;\n args: readonly unknown[];\n message: string;\n cause?: unknown;\n }) {\n super(opts.message);\n this.name = \"AroContractError\";\n this.errorName = opts.errorName;\n this.args = opts.args;\n this.cause = opts.cause;\n }\n}\n\n/**\n * Translate a viem ContractFunctionRevertedError into a known Aro-specific\n * message where possible. Unknown errors are returned as-is so callers\n * can still display the raw revert reason.\n */\nconst FRIENDLY: Record<string, (args: readonly unknown[]) => string> = {\n // AroSBT\n AlreadyHasSBT: ([who]) => `Address ${String(who)} already holds an SBT.`,\n SoulboundTransferBlocked: () => \"SBTs are soulbound — transfers are not permitted.\",\n NoSBT: ([who]) => `Address ${String(who)} does not hold an SBT.`,\n // AroNomination\n CallerHasNoSBT: () => \"Only existing SBT holders can nominate or vouch.\",\n AlreadyNominated: ([who]) => `Address ${String(who)} is already nominated.`,\n CandidateAlreadyMember: ([who]) => `Address ${String(who)} is already a member.`,\n NotNominated: ([who]) => `Address ${String(who)} has not been nominated.`,\n AlreadyVouched: ([voucher, candidate]) =>\n `Address ${String(voucher)} already vouched for ${String(candidate)}.`,\n NominatorCannotVouch: () => \"The original nominator cannot also vouch.\",\n ThresholdCannotBeZero: () => \"Vouch threshold must be at least 1.\",\n NominationNotPending: ([who]) =>\n `Nomination for ${String(who)} is not in PENDING status.`,\n};\n\nexport function decodeAroError(err: unknown): AroContractError | null {\n if (!(err instanceof BaseError)) return null;\n\n const reverted = err.walk(\n (e) => e instanceof Error && e.name === \"ContractFunctionRevertedError\",\n ) as ContractFunctionRevertedError | null;\n if (!reverted || !reverted.data) return null;\n\n const errorName = reverted.data.errorName ?? \"UnknownError\";\n const args = (reverted.data.args ?? []) as readonly unknown[];\n const friendly = FRIENDLY[errorName];\n const message = friendly ? friendly(args) : `Revert: ${errorName}`;\n\n return new AroContractError({ errorName, args, message, cause: err });\n}\n","import type { Account, Hex, WalletClient } from \"viem\";\n\nimport type { AroSdk } from \"../clients/createAroSdk.js\";\nimport { AroNomination_ABI, AroSBT_ABI } from \"../generated/abis.js\";\nimport { AroTier, NominationStatus } from \"../generated/types.js\";\nimport { decodeAroError } from \"../utils/errors.js\";\n\n/**\n * Onboarding workflow helpers. These wrap multi-call sequences from the\n * ARO KYC/AML/CFT Policy §6 so the dapp does not have to re-implement the\n * choreography in three different places.\n *\n * Mental model (per Policy §6.3):\n *\n * 1. Existing member calls `nominateCandidate(candidate)`.\n * The nominator's vouch counts as the first vouch automatically.\n *\n * 2. Other existing members call `vouchForCandidate(candidate)`. Each\n * vouch increments the count; once `threshold` is reached (3 per\n * policy), the nomination moves to APPROVED.\n *\n * 3. Off-chain: candidate completes Didit KYC (per MEMO-KYC-PROVIDER).\n * Webhook posts back the verification result.\n *\n * 4. Compliance Officer reviews and either rejects (`clearNomination`)\n * or mints the SBT (`mintSBTForApproved`) with the KYC hash.\n *\n * 5. SBT minted → AccessManager grants member roles → access unlocked.\n *\n * The write paths use `walletClient.writeContract` directly rather than\n * the typed contract `.write` namespace. This is intentional: viem\n * narrows the contract handle's write surface away when the SDK is\n * instantiated without a walletClient, but workflows are run on demand\n * after the dapp's wallet connects.\n */\n\nexport interface MembershipStatus {\n hasSBT: boolean;\n tier?: AroTier;\n tokenId?: bigint;\n memberId?: bigint;\n issuanceDate?: bigint;\n kycHash?: `0x${string}`;\n}\n\n/**\n * One-call read for the dapp's access-gate page. Returns whether the\n * connected wallet holds an SBT and, if so, decoded member data.\n *\n * Implementation note: reads are issued via `publicClient.readContract`\n * with the ABI rather than the typed contract instance's `.read`\n * namespace. viem ≥2.50 narrows `contract.read.*` based on whether a\n * walletClient was bound at construction time; bypassing that gives us a\n * stable, version-independent signature.\n */\nexport async function checkMembershipStatus(\n sdk: AroSdk,\n account: `0x${string}`,\n): Promise<MembershipStatus> {\n const sbtAddress = sdk.addressOf(\"AroSBT\");\n\n const hasSBT = (await sdk.publicClient.readContract({\n address: sbtAddress,\n abi: AroSBT_ABI,\n functionName: \"hasSBT\",\n args: [account],\n })) as boolean;\n if (!hasSBT) return { hasSBT: false };\n\n const tokenId = (await sdk.publicClient.readContract({\n address: sbtAddress,\n abi: AroSBT_ABI,\n functionName: \"tokenOfMember\",\n args: [account],\n })) as bigint;\n const data = (await sdk.publicClient.readContract({\n address: sbtAddress,\n abi: AroSBT_ABI,\n functionName: \"getMemberData\",\n args: [account],\n })) as {\n memberId: bigint;\n issuanceDate: bigint;\n tier: number;\n kycHash: `0x${string}`;\n };\n\n return {\n hasSBT: true,\n tokenId,\n tier: data.tier as AroTier,\n memberId: data.memberId,\n issuanceDate: data.issuanceDate,\n kycHash: data.kycHash,\n };\n}\n\nexport interface NominationSnapshot {\n status: NominationStatus;\n nominator: `0x${string}`;\n vouchers: readonly `0x${string}`[];\n nominatedAt: bigint;\n voucherCount: number;\n threshold: number;\n remaining: number;\n ready: boolean;\n}\n\n/**\n * Snapshot of the candidate's progress through the vouch flow. The dapp\n * shows this as \"you need N more vouches\" in the onboarding UI.\n */\nexport async function getNominationSnapshot(\n sdk: AroSdk,\n candidate: `0x${string}`,\n): Promise<NominationSnapshot> {\n const nominationAddress = sdk.addressOf(\"AroNomination\");\n const [nomination, threshold] = (await Promise.all([\n sdk.publicClient.readContract({\n address: nominationAddress,\n abi: AroNomination_ABI,\n functionName: \"getNomination\",\n args: [candidate],\n }),\n sdk.publicClient.readContract({\n address: nominationAddress,\n abi: AroNomination_ABI,\n functionName: \"threshold\",\n }),\n ])) as [\n [\n `0x${string}`,\n readonly `0x${string}`[],\n bigint,\n number,\n ],\n bigint,\n ];\n\n const [nominator, vouchers, nominatedAt, status] = nomination;\n const voucherCount = vouchers.length;\n const thresholdN = Number(threshold);\n\n return {\n status: status as NominationStatus,\n nominator,\n vouchers,\n nominatedAt,\n voucherCount,\n threshold: thresholdN,\n remaining: Math.max(0, thresholdN - voucherCount),\n ready: status === NominationStatus.APPROVED,\n };\n}\n\n/** Resolve the account to use when sending a write transaction. */\nfunction pickAccount(\n wallet: WalletClient,\n passed?: Account | `0x${string}`,\n): Account | `0x${string}` {\n if (passed) return passed;\n if (wallet.account) return wallet.account;\n throw new Error(\n \"No account available — pass one explicitly or use a walletClient bound to an account.\",\n );\n}\n\n/**\n * Send `nominate(candidate)` from the connected wallet. The contract\n * gates this behind \"caller must already be an SBT holder\"; we surface\n * the right user-facing message via `AroContractError`.\n */\nexport async function nominateCandidate(\n sdk: AroSdk,\n candidate: `0x${string}`,\n opts: { account?: Account | `0x${string}` } = {},\n): Promise<Hex> {\n if (!sdk.walletClient) {\n throw new Error(\"nominateCandidate requires a walletClient on the SDK\");\n }\n const wallet = sdk.walletClient;\n try {\n return await wallet.writeContract({\n account: pickAccount(wallet, opts.account),\n chain: wallet.chain,\n address: sdk.addressOf(\"AroNomination\"),\n abi: AroNomination_ABI,\n functionName: \"nominate\",\n args: [candidate],\n });\n } catch (err) {\n throw decodeAroError(err) ?? err;\n }\n}\n\nexport async function vouchForCandidate(\n sdk: AroSdk,\n candidate: `0x${string}`,\n opts: { account?: Account | `0x${string}` } = {},\n): Promise<Hex> {\n if (!sdk.walletClient) {\n throw new Error(\"vouchForCandidate requires a walletClient on the SDK\");\n }\n const wallet = sdk.walletClient;\n try {\n return await wallet.writeContract({\n account: pickAccount(wallet, opts.account),\n chain: wallet.chain,\n address: sdk.addressOf(\"AroNomination\"),\n abi: AroNomination_ABI,\n functionName: \"vouch\",\n args: [candidate],\n });\n } catch (err) {\n throw decodeAroError(err) ?? err;\n }\n}\n\n/**\n * Admin path: clear (reject) a nomination. Restricted to authorized roles\n * via AccessManager; will revert with AccessManagedUnauthorized if the\n * caller lacks the role.\n */\nexport async function clearNomination(\n sdk: AroSdk,\n candidate: `0x${string}`,\n opts: { account?: Account | `0x${string}` } = {},\n): Promise<Hex> {\n if (!sdk.walletClient) {\n throw new Error(\"clearNomination requires a walletClient on the SDK\");\n }\n const wallet = sdk.walletClient;\n try {\n return await wallet.writeContract({\n account: pickAccount(wallet, opts.account),\n chain: wallet.chain,\n address: sdk.addressOf(\"AroNomination\"),\n abi: AroNomination_ABI,\n functionName: \"clearNomination\",\n args: [candidate],\n });\n } catch (err) {\n throw decodeAroError(err) ?? err;\n }\n}\n\nexport interface MintSBTOpts {\n to: `0x${string}`;\n /** keccak256 of the verified KYC payload — see utils/kycHash.ts. */\n kycHash: `0x${string}`;\n /** Off-chain profile metadata URI (ipfs://... or https://...). */\n metadataURI: string;\n /** Initial tier (defaults to STANDARD per Policy §6.1). */\n tier?: AroTier;\n account?: Account | `0x${string}`;\n}\n\n/**\n * Admin-only: mint the SBT for an approved candidate. The contract gates\n * this behind ROLE_MINTER via AccessManager (per AroMediaAccessManager).\n *\n * Calls the 4-arg mint overload explicitly so the tier is always\n * specified — the 3-arg overload silently defaults to STANDARD, which\n * we don't want callers to rely on implicitly.\n */\nexport async function mintSBTForApproved(\n sdk: AroSdk,\n opts: MintSBTOpts,\n): Promise<Hex> {\n if (!sdk.walletClient) {\n throw new Error(\"mintSBTForApproved requires a walletClient on the SDK\");\n }\n const wallet = sdk.walletClient;\n const tier = opts.tier ?? AroTier.STANDARD;\n try {\n return await wallet.writeContract({\n account: pickAccount(wallet, opts.account),\n chain: wallet.chain,\n address: sdk.addressOf(\"AroSBT\"),\n abi: AroSBT_ABI,\n // Disambiguate the overload by writing the explicit 4-arg form.\n functionName: \"mint\",\n args: [opts.to, opts.kycHash, opts.metadataURI, tier],\n });\n } catch (err) {\n throw decodeAroError(err) ?? err;\n }\n}\n\n/**\n * Convenience: enumerate the policy-derived next action for a wallet so\n * the onboarding UI can render the correct step (Connect → Nominate →\n * Vouch → KYC → Mint).\n */\nexport type OnboardingStep =\n | \"needs-wallet\"\n | \"needs-nomination\"\n | \"needs-vouches\"\n | \"needs-kyc\"\n | \"needs-admin-mint\"\n | \"member\";\n\nexport interface OnboardingState {\n step: OnboardingStep;\n membership: MembershipStatus;\n nomination?: NominationSnapshot;\n}\n\nexport async function describeOnboardingState(\n sdk: AroSdk,\n wallet: `0x${string}` | undefined,\n): Promise<OnboardingState> {\n if (!wallet) {\n return {\n step: \"needs-wallet\",\n membership: { hasSBT: false },\n };\n }\n const membership = await checkMembershipStatus(sdk, wallet);\n if (membership.hasSBT) return { step: \"member\", membership };\n\n const nomination = await getNominationSnapshot(sdk, wallet);\n if (nomination.status === NominationStatus.NONE) {\n return { step: \"needs-nomination\", membership, nomination };\n }\n if (nomination.status === NominationStatus.PENDING) {\n return { step: \"needs-vouches\", membership, nomination };\n }\n if (nomination.status === NominationStatus.APPROVED) {\n // The dapp distinguishes these client-side: if the user has finished\n // Didit, we move to needs-admin-mint; otherwise needs-kyc. The SDK\n // returns the on-chain reading and lets the UI overlay KYC state.\n return { step: \"needs-kyc\", membership, nomination };\n }\n // CLEARED — admin rejected. Surfaced as \"needs-nomination\" because the\n // candidate would need a fresh nomination from another member.\n return { step: \"needs-nomination\", membership, nomination };\n}\n","import { keccak256, stringToBytes } from \"viem\";\nimport type { Hex } from \"viem\";\n\n/**\n * KYC hash computation as required by the ARO KYC/AML/CFT Policy §6.2.\n *\n * The on-chain `kycHash` (bytes32) is a keccak256 over a deterministic\n * serialization of the verified identity payload returned by the KYC\n * provider (Didit, per MEMO-KYC-PROVIDER). Storing only the hash on-chain\n * gives us tamper-evidence without ever exposing PII on a public ledger.\n *\n * Why deterministic serialization: the same identity payload must hash to\n * the same value across processes, languages, and timezones — JSON object\n * key order is otherwise implementation-dependent, which would silently\n * change the hash and break audit-trail equivalence.\n *\n * The serializer:\n * • Sorts object keys recursively.\n * • Coerces undefined → null so it survives JSON.stringify.\n * • Refuses functions, symbols, bigints, and class instances.\n */\nexport interface KycPayload {\n /** Provider's verification session id (e.g. Didit `session_id`). */\n sessionId: string;\n /** Provider name — lets us roll over to a different vendor later. */\n provider: string;\n /** Verification status returned by the provider. */\n status: string;\n /** ISO-8601 timestamp of the provider's verification decision. */\n verifiedAt: string;\n /** Wallet address the verification is bound to. */\n walletAddress: `0x${string}`;\n /** Anything else the provider returned that we want anchored on-chain. */\n attributes?: Record<string, JsonScalar | JsonScalar[]>;\n}\n\ntype JsonScalar = string | number | boolean | null;\n\nfunction stableStringify(value: unknown): string {\n if (value === undefined) return \"null\";\n if (value === null) return \"null\";\n if (typeof value === \"string\") return JSON.stringify(value);\n if (typeof value === \"number\") {\n if (!Number.isFinite(value)) {\n throw new Error(\"KYC payload must not contain Infinity or NaN\");\n }\n return JSON.stringify(value);\n }\n if (typeof value === \"boolean\") return JSON.stringify(value);\n if (Array.isArray(value)) {\n return `[${value.map(stableStringify).join(\",\")}]`;\n }\n if (typeof value === \"object\") {\n const obj = value as Record<string, unknown>;\n const keys = Object.keys(obj).sort();\n const parts = keys.map((k) => `${JSON.stringify(k)}:${stableStringify(obj[k])}`);\n return `{${parts.join(\",\")}}`;\n }\n throw new Error(`Unsupported type in KYC payload: ${typeof value}`);\n}\n\n/**\n * Compute the bytes32 hash stored on-chain in AroSBT.MemberData.kycHash.\n *\n * @param payload Verified identity payload from the KYC provider.\n * @returns Hex-encoded keccak256 (`0x...`, 66 chars).\n */\nexport function computeKycHash(payload: KycPayload): Hex {\n const serialized = stableStringify(payload);\n return keccak256(stringToBytes(serialized));\n}\n\n/** Re-export for convenience when the dapp needs to hash arbitrary blobs. */\nexport { keccak256, stringToBytes } from \"viem\";\n","import { computeKycHash, type KycPayload } from \"../utils/kycHash.js\";\n\n/**\n * KYC workflow helpers. These are intentionally provider-agnostic — the\n * SDK does not call Didit directly (that's the dapp/backend's job per\n * MEMO-KYC-PROVIDER), but it owns the canonical mapping from a verified\n * payload to the on-chain `kycHash` bytes32.\n *\n * Splitting concerns this way means we can swap KYC vendors later without\n * touching anything that hashes or anchors data on-chain.\n */\nexport { computeKycHash, type KycPayload };\n\n/**\n * Normalized representation of a KYC verification result. Whatever vendor\n * the dapp uses, results should be mapped into this shape before hashing\n * so the on-chain hash is vendor-stable.\n */\nexport interface NormalizedKycResult {\n /** Vendor name — \"didit\" today. */\n provider: string;\n /** Vendor session id. */\n sessionId: string;\n /** Pass-through status string from the vendor. */\n status: \"verified\" | \"failed\" | \"pending\" | \"expired\";\n /** ISO-8601 timestamp from the vendor's verification decision. */\n verifiedAt: string;\n /** Wallet the verification is bound to. */\n walletAddress: `0x${string}`;\n /** Optional extras the dapp wants anchored on-chain. */\n attributes?: Record<string, string | number | boolean | null>;\n}\n\n/**\n * Hash a normalized KYC result for SBT minting. Wrapper around\n * `computeKycHash` that enforces the shape we expect from the dapp.\n */\nexport function hashKycResult(result: NormalizedKycResult): `0x${string}` {\n if (result.status !== \"verified\") {\n throw new Error(\n `Refusing to hash an un-verified KYC result (status=${result.status}).`,\n );\n }\n return computeKycHash({\n provider: result.provider,\n sessionId: result.sessionId,\n status: result.status,\n verifiedAt: result.verifiedAt,\n walletAddress: result.walletAddress,\n attributes: result.attributes,\n });\n}\n"],"mappings":"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","names":["import_viem"]}