diff --git a/package-lock.json b/package-lock.json index e8d887508..77826cf48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "watchit", - "version": "2.1.1-beta.1", + "version": "2.2.0-beta.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "watchit", - "version": "2.1.1-beta.1", + "version": "2.2.0-beta.2", "dependencies": { "@helia/unixfs": "^4.0.1", "@hookform/resolvers": "^3.1.1", @@ -15,6 +15,7 @@ "@lens-protocol/metadata": "^1.2.0", "@lens-protocol/react": "^2.3.2", "@lens-protocol/react-web": "^2.3.1", + "@metamask/sdk-react": "^0.31.4", "@mui/base": "^5.0.0-beta.7", "@mui/lab": "^5.0.0-alpha.136", "@mui/material": "^5.16.5", @@ -94,7 +95,6 @@ "@babel/plugin-syntax-flow": "^7.22.5", "@babel/plugin-transform-react-jsx": "^7.22.5", "@eslint/js": "^9.14.0", - "@froxz/vite-plugin-s3": "^1.6.0", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "@types/autosuggest-highlight": "^3.2.0", @@ -201,9 +201,9 @@ } }, "node_modules/@apollo/client": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.12.2.tgz", - "integrity": "sha512-dkacsdMgVsrrQhLpN4JqZTIEfnNsPVwny+4vccSRqheWZElzUz1Xi0h39p2+TieS1f+wwvyzwpoJEV57vwzT9Q==", + "version": "3.12.4", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.12.4.tgz", + "integrity": "sha512-S/eC9jxEW9Jg1BjD6AZonE1fHxYuvC3gFHop8FRQkUdeK63MmBD5r0DOrN2WlJbwha1MSD6A97OwXwjaujEQpA==", "license": "MIT", "dependencies": { "@graphql-typed-document-node/core": "^3.1.1", @@ -249,967 +249,6 @@ "integrity": "sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==", "license": "Apache-2.0" }, - "node_modules/@aws-crypto/crc32": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", - "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-crypto/crc32c": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", - "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha1-browser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", - "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", - "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-js": "^5.2.0", - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", - "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", - "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-s3": { - "version": "3.705.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.705.0.tgz", - "integrity": "sha512-Fm0Cbc4zr0yG0DnNycz7ywlL5tQFdLSb7xCIPfzrxJb3YQiTXWxH5eu61SSsP/Z6RBNRolmRPvst/iNgX0fWvA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha1-browser": "5.2.0", - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.699.0", - "@aws-sdk/client-sts": "3.699.0", - "@aws-sdk/core": "3.696.0", - "@aws-sdk/credential-provider-node": "3.699.0", - "@aws-sdk/middleware-bucket-endpoint": "3.696.0", - "@aws-sdk/middleware-expect-continue": "3.696.0", - "@aws-sdk/middleware-flexible-checksums": "3.701.0", - "@aws-sdk/middleware-host-header": "3.696.0", - "@aws-sdk/middleware-location-constraint": "3.696.0", - "@aws-sdk/middleware-logger": "3.696.0", - "@aws-sdk/middleware-recursion-detection": "3.696.0", - "@aws-sdk/middleware-sdk-s3": "3.696.0", - "@aws-sdk/middleware-ssec": "3.696.0", - "@aws-sdk/middleware-user-agent": "3.696.0", - "@aws-sdk/region-config-resolver": "3.696.0", - "@aws-sdk/signature-v4-multi-region": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@aws-sdk/util-endpoints": "3.696.0", - "@aws-sdk/util-user-agent-browser": "3.696.0", - "@aws-sdk/util-user-agent-node": "3.696.0", - "@aws-sdk/xml-builder": "3.696.0", - "@smithy/config-resolver": "^3.0.12", - "@smithy/core": "^2.5.3", - "@smithy/eventstream-serde-browser": "^3.0.13", - "@smithy/eventstream-serde-config-resolver": "^3.0.10", - "@smithy/eventstream-serde-node": "^3.0.12", - "@smithy/fetch-http-handler": "^4.1.1", - "@smithy/hash-blob-browser": "^3.1.9", - "@smithy/hash-node": "^3.0.10", - "@smithy/hash-stream-node": "^3.1.9", - "@smithy/invalid-dependency": "^3.0.10", - "@smithy/md5-js": "^3.0.10", - "@smithy/middleware-content-length": "^3.0.12", - "@smithy/middleware-endpoint": "^3.2.3", - "@smithy/middleware-retry": "^3.0.27", - "@smithy/middleware-serde": "^3.0.10", - "@smithy/middleware-stack": "^3.0.10", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/node-http-handler": "^3.3.1", - "@smithy/protocol-http": "^4.1.7", - "@smithy/smithy-client": "^3.4.4", - "@smithy/types": "^3.7.1", - "@smithy/url-parser": "^3.0.10", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.27", - "@smithy/util-defaults-mode-node": "^3.0.27", - "@smithy/util-endpoints": "^2.1.6", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-retry": "^3.0.10", - "@smithy/util-stream": "^3.3.1", - "@smithy/util-utf8": "^3.0.0", - "@smithy/util-waiter": "^3.1.9", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.696.0.tgz", - "integrity": "sha512-q5TTkd08JS0DOkHfUL853tuArf7NrPeqoS5UOvqJho8ibV9Ak/a/HO4kNvy9Nj3cib/toHYHsQIEtecUPSUUrQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.696.0", - "@aws-sdk/middleware-host-header": "3.696.0", - "@aws-sdk/middleware-logger": "3.696.0", - "@aws-sdk/middleware-recursion-detection": "3.696.0", - "@aws-sdk/middleware-user-agent": "3.696.0", - "@aws-sdk/region-config-resolver": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@aws-sdk/util-endpoints": "3.696.0", - "@aws-sdk/util-user-agent-browser": "3.696.0", - "@aws-sdk/util-user-agent-node": "3.696.0", - "@smithy/config-resolver": "^3.0.12", - "@smithy/core": "^2.5.3", - "@smithy/fetch-http-handler": "^4.1.1", - "@smithy/hash-node": "^3.0.10", - "@smithy/invalid-dependency": "^3.0.10", - "@smithy/middleware-content-length": "^3.0.12", - "@smithy/middleware-endpoint": "^3.2.3", - "@smithy/middleware-retry": "^3.0.27", - "@smithy/middleware-serde": "^3.0.10", - "@smithy/middleware-stack": "^3.0.10", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/node-http-handler": "^3.3.1", - "@smithy/protocol-http": "^4.1.7", - "@smithy/smithy-client": "^3.4.4", - "@smithy/types": "^3.7.1", - "@smithy/url-parser": "^3.0.10", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.27", - "@smithy/util-defaults-mode-node": "^3.0.27", - "@smithy/util-endpoints": "^2.1.6", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-retry": "^3.0.10", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/client-sso-oidc": { - "version": "3.699.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.699.0.tgz", - "integrity": "sha512-u8a1GorY5D1l+4FQAf4XBUC1T10/t7neuwT21r0ymrtMFSK2a9QqVHKMoLkvavAwyhJnARSBM9/UQC797PFOFw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.696.0", - "@aws-sdk/credential-provider-node": "3.699.0", - "@aws-sdk/middleware-host-header": "3.696.0", - "@aws-sdk/middleware-logger": "3.696.0", - "@aws-sdk/middleware-recursion-detection": "3.696.0", - "@aws-sdk/middleware-user-agent": "3.696.0", - "@aws-sdk/region-config-resolver": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@aws-sdk/util-endpoints": "3.696.0", - "@aws-sdk/util-user-agent-browser": "3.696.0", - "@aws-sdk/util-user-agent-node": "3.696.0", - "@smithy/config-resolver": "^3.0.12", - "@smithy/core": "^2.5.3", - "@smithy/fetch-http-handler": "^4.1.1", - "@smithy/hash-node": "^3.0.10", - "@smithy/invalid-dependency": "^3.0.10", - "@smithy/middleware-content-length": "^3.0.12", - "@smithy/middleware-endpoint": "^3.2.3", - "@smithy/middleware-retry": "^3.0.27", - "@smithy/middleware-serde": "^3.0.10", - "@smithy/middleware-stack": "^3.0.10", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/node-http-handler": "^3.3.1", - "@smithy/protocol-http": "^4.1.7", - "@smithy/smithy-client": "^3.4.4", - "@smithy/types": "^3.7.1", - "@smithy/url-parser": "^3.0.10", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.27", - "@smithy/util-defaults-mode-node": "^3.0.27", - "@smithy/util-endpoints": "^2.1.6", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-retry": "^3.0.10", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.699.0" - } - }, - "node_modules/@aws-sdk/client-sts": { - "version": "3.699.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.699.0.tgz", - "integrity": "sha512-++lsn4x2YXsZPIzFVwv3fSUVM55ZT0WRFmPeNilYIhZClxHLmVAWKH4I55cY9ry60/aTKYjzOXkWwyBKGsGvQg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/client-sso-oidc": "3.699.0", - "@aws-sdk/core": "3.696.0", - "@aws-sdk/credential-provider-node": "3.699.0", - "@aws-sdk/middleware-host-header": "3.696.0", - "@aws-sdk/middleware-logger": "3.696.0", - "@aws-sdk/middleware-recursion-detection": "3.696.0", - "@aws-sdk/middleware-user-agent": "3.696.0", - "@aws-sdk/region-config-resolver": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@aws-sdk/util-endpoints": "3.696.0", - "@aws-sdk/util-user-agent-browser": "3.696.0", - "@aws-sdk/util-user-agent-node": "3.696.0", - "@smithy/config-resolver": "^3.0.12", - "@smithy/core": "^2.5.3", - "@smithy/fetch-http-handler": "^4.1.1", - "@smithy/hash-node": "^3.0.10", - "@smithy/invalid-dependency": "^3.0.10", - "@smithy/middleware-content-length": "^3.0.12", - "@smithy/middleware-endpoint": "^3.2.3", - "@smithy/middleware-retry": "^3.0.27", - "@smithy/middleware-serde": "^3.0.10", - "@smithy/middleware-stack": "^3.0.10", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/node-http-handler": "^3.3.1", - "@smithy/protocol-http": "^4.1.7", - "@smithy/smithy-client": "^3.4.4", - "@smithy/types": "^3.7.1", - "@smithy/url-parser": "^3.0.10", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-body-length-node": "^3.0.0", - "@smithy/util-defaults-mode-browser": "^3.0.27", - "@smithy/util-defaults-mode-node": "^3.0.27", - "@smithy/util-endpoints": "^2.1.6", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-retry": "^3.0.10", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/core": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.696.0.tgz", - "integrity": "sha512-3c9III1k03DgvRZWg8vhVmfIXPG6hAciN9MzQTzqGngzWAELZF/WONRTRQuDFixVtarQatmLHYVw/atGeA2Byw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/core": "^2.5.3", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/property-provider": "^3.1.9", - "@smithy/protocol-http": "^4.1.7", - "@smithy/signature-v4": "^4.2.2", - "@smithy/smithy-client": "^3.4.4", - "@smithy/types": "^3.7.1", - "@smithy/util-middleware": "^3.0.10", - "fast-xml-parser": "4.4.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.696.0.tgz", - "integrity": "sha512-T9iMFnJL7YTlESLpVFT3fg1Lkb1lD+oiaIC8KMpepb01gDUBIpj9+Y+pA/cgRWW0yRxmkDXNazAE2qQTVFGJzA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/property-provider": "^3.1.9", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.696.0.tgz", - "integrity": "sha512-GV6EbvPi2eq1+WgY/o2RFA3P7HGmnkIzCNmhwtALFlqMroLYWKE7PSeHw66Uh1dFQeVESn0/+hiUNhu1mB0emA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/fetch-http-handler": "^4.1.1", - "@smithy/node-http-handler": "^3.3.1", - "@smithy/property-provider": "^3.1.9", - "@smithy/protocol-http": "^4.1.7", - "@smithy/smithy-client": "^3.4.4", - "@smithy/types": "^3.7.1", - "@smithy/util-stream": "^3.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.699.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.699.0.tgz", - "integrity": "sha512-dXmCqjJnKmG37Q+nLjPVu22mNkrGHY8hYoOt3Jo9R2zr5MYV7s/NHsCHr+7E+BZ+tfZYLRPeB1wkpTeHiEcdRw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.696.0", - "@aws-sdk/credential-provider-env": "3.696.0", - "@aws-sdk/credential-provider-http": "3.696.0", - "@aws-sdk/credential-provider-process": "3.696.0", - "@aws-sdk/credential-provider-sso": "3.699.0", - "@aws-sdk/credential-provider-web-identity": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/credential-provider-imds": "^3.2.6", - "@smithy/property-provider": "^3.1.9", - "@smithy/shared-ini-file-loader": "^3.1.10", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.699.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.699.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.699.0.tgz", - "integrity": "sha512-MmEmNDo1bBtTgRmdNfdQksXu4uXe66s0p1hi1YPrn1h59Q605eq/xiWbGL6/3KdkViH6eGUuABeV2ODld86ylg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.696.0", - "@aws-sdk/credential-provider-http": "3.696.0", - "@aws-sdk/credential-provider-ini": "3.699.0", - "@aws-sdk/credential-provider-process": "3.696.0", - "@aws-sdk/credential-provider-sso": "3.699.0", - "@aws-sdk/credential-provider-web-identity": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/credential-provider-imds": "^3.2.6", - "@smithy/property-provider": "^3.1.9", - "@smithy/shared-ini-file-loader": "^3.1.10", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.696.0.tgz", - "integrity": "sha512-mL1RcFDe9sfmyU5K1nuFkO8UiJXXxLX4JO1gVaDIOvPqwStpUAwi3A1BoeZhWZZNQsiKI810RnYGo0E0WB/hUA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/property-provider": "^3.1.9", - "@smithy/shared-ini-file-loader": "^3.1.10", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.699.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.699.0.tgz", - "integrity": "sha512-Ekp2cZG4pl9D8+uKWm4qO1xcm8/MeiI8f+dnlZm8aQzizeC+aXYy9GyoclSf6daK8KfRPiRfM7ZHBBL5dAfdMA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-sso": "3.696.0", - "@aws-sdk/core": "3.696.0", - "@aws-sdk/token-providers": "3.699.0", - "@aws-sdk/types": "3.696.0", - "@smithy/property-provider": "^3.1.9", - "@smithy/shared-ini-file-loader": "^3.1.10", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.696.0.tgz", - "integrity": "sha512-XJ/CVlWChM0VCoc259vWguFUjJDn/QwDqHwbx+K9cg3v6yrqXfK5ai+p/6lx0nQpnk4JzPVeYYxWRpaTsGC9rg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/property-provider": "^3.1.9", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sts": "^3.696.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.696.0.tgz", - "integrity": "sha512-V07jishKHUS5heRNGFpCWCSTjRJyQLynS/ncUeE8ZYtG66StOOQWftTwDfFOSoXlIqrXgb4oT9atryzXq7Z4LQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@aws-sdk/util-arn-parser": "3.693.0", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "@smithy/util-config-provider": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.696.0.tgz", - "integrity": "sha512-vpVukqY3U2pb+ULeX0shs6L0aadNep6kKzjme/MyulPjtUDJpD3AekHsXRrCCGLmOqSKqRgQn5zhV9pQhHsb6Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.701.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.701.0.tgz", - "integrity": "sha512-adNaPCyTT+CiVM0ufDiO1Fe7nlRmJdI9Hcgj0M9S6zR7Dw70Ra5z8Lslkd7syAccYvZaqxLklGjPQH/7GNxwTA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@aws-crypto/crc32c": "5.2.0", - "@aws-crypto/util": "5.2.0", - "@aws-sdk/core": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/is-array-buffer": "^3.0.0", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-stream": "^3.3.1", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.696.0.tgz", - "integrity": "sha512-zELJp9Ta2zkX7ELggMN9qMCgekqZhFC5V2rOr4hJDEb/Tte7gpfKSObAnw/3AYiVqt36sjHKfdkoTsuwGdEoDg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.696.0.tgz", - "integrity": "sha512-FgH12OB0q+DtTrP2aiDBddDKwL4BPOrm7w3VV9BJrSdkqQCNBPz8S1lb0y5eVH4tBG+2j7gKPlOv1wde4jF/iw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.696.0.tgz", - "integrity": "sha512-KhkHt+8AjCxcR/5Zp3++YPJPpFQzxpr+jmONiT/Jw2yqnSngZ0Yspm5wGoRx2hS1HJbyZNuaOWEGuJoxLeBKfA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.696.0.tgz", - "integrity": "sha512-si/maV3Z0hH7qa99f9ru2xpS5HlfSVcasRlNUXKSDm611i7jFMWwGNLUOXFAOLhXotPX5G3Z6BLwL34oDeBMug==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.696.0.tgz", - "integrity": "sha512-M7fEiAiN7DBMHflzOFzh1I2MNSlLpbiH2ubs87bdRc2wZsDPSbs4l3v6h3WLhxoQK0bq6vcfroudrLBgvCuX3Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@aws-sdk/util-arn-parser": "3.693.0", - "@smithy/core": "^2.5.3", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/protocol-http": "^4.1.7", - "@smithy/signature-v4": "^4.2.2", - "@smithy/smithy-client": "^3.4.4", - "@smithy/types": "^3.7.1", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-stream": "^3.3.1", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.696.0.tgz", - "integrity": "sha512-w/d6O7AOZ7Pg3w2d3BxnX5RmGNWb5X4RNxF19rJqcgu/xqxxE/QwZTNd5a7eTsqLXAUIfbbR8hh0czVfC1pJLA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.696.0.tgz", - "integrity": "sha512-Lvyj8CTyxrHI6GHd2YVZKIRI5Fmnugt3cpJo0VrKKEgK5zMySwEZ1n4dqPK6czYRWKd5+WnYHYAuU+Wdk6Jsjw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@aws-sdk/util-endpoints": "3.696.0", - "@smithy/core": "^2.5.3", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.696.0.tgz", - "integrity": "sha512-7EuH142lBXjI8yH6dVS/CZeiK/WZsmb/8zP6bQbVYpMrppSTgB3MzZZdxVZGzL5r8zPQOU10wLC4kIMy0qdBVQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/types": "^3.7.1", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.10", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.696.0.tgz", - "integrity": "sha512-ijPkoLjXuPtgxAYlDoYls8UaG/VKigROn9ebbvPL/orEY5umedd3iZTcS9T+uAf4Ur3GELLxMQiERZpfDKaz3g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/protocol-http": "^4.1.7", - "@smithy/signature-v4": "^4.2.2", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.699.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.699.0.tgz", - "integrity": "sha512-kuiEW9DWs7fNos/SM+y58HCPhcIzm1nEZLhe2/7/6+TvAYLuEWURYsbK48gzsxXlaJ2k/jGY3nIsA7RptbMOwA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/property-provider": "^3.1.9", - "@smithy/shared-ini-file-loader": "^3.1.10", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "@aws-sdk/client-sso-oidc": "^3.699.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.696.0.tgz", - "integrity": "sha512-9rTvUJIAj5d3//U5FDPWGJ1nFJLuWb30vugGOrWk7aNZ6y9tuA3PI7Cc9dP8WEXKVyK1vuuk8rSFP2iqXnlgrw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.693.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.693.0.tgz", - "integrity": "sha512-WC8x6ca+NRrtpAH64rWu+ryDZI3HuLwlEr8EU6/dbC/pt+r/zC0PBoC15VEygUaBA+isppCikQpGyEDu0Yj7gQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.696.0.tgz", - "integrity": "sha512-T5s0IlBVX+gkb9g/I6CLt4yAZVzMSiGnbUqWihWsHvQR1WOoIcndQy/Oz/IJXT9T2ipoy7a80gzV6a5mglrioA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/types": "^3.7.1", - "@smithy/util-endpoints": "^2.1.6", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.693.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.693.0.tgz", - "integrity": "sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.696.0.tgz", - "integrity": "sha512-Z5rVNDdmPOe6ELoM5AhF/ja5tSjbe6ctSctDPb0JdDf4dT0v2MfwhJKzXju2RzX8Es/77Glh7MlaXLE0kCB9+Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.696.0", - "@smithy/types": "^3.7.1", - "bowser": "^2.11.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.696.0.tgz", - "integrity": "sha512-KhKqcfyXIB0SCCt+qsu4eJjsfiOrNzK5dCV7RAW2YIpp+msxGUUX0NdRE9rkzjiv+3EMktgJm3eEIS+yxtlVdQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/middleware-user-agent": "3.696.0", - "@aws-sdk/types": "3.696.0", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } - } - }, - "node_modules/@aws-sdk/xml-builder": { - "version": "3.696.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.696.0.tgz", - "integrity": "sha512-dn1mX+EeqivoLYnY7p2qLrir0waPnCgS/0YdRCAVU2x14FgfUYCH6Im3w3oi2dMwhxfKY5lYVB5NKvZu7uI9lQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/@babel/code-frame": { "version": "7.26.2", "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", @@ -3249,6 +2288,15 @@ "wherearewe": "^2.0.1" } }, + "node_modules/@chainsafe/libp2p-noise/node_modules/@noble/ciphers": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.6.0.tgz", + "integrity": "sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@chainsafe/libp2p-yamux": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/@chainsafe/libp2p-yamux/-/libp2p-yamux-7.0.1.tgz", @@ -3310,6 +2358,20 @@ "node": ">=0.1.90" } }, + "node_modules/@ecies/ciphers": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@ecies/ciphers/-/ciphers-0.2.2.tgz", + "integrity": "sha512-ylfGR7PyTd+Rm2PqQowG08BCKA22QuX8NzrL+LxAAvazN10DMwdJ2fWwAzRj05FI/M8vNFGm3cv9Wq/GFWCBLg==", + "license": "MIT", + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + }, + "peerDependencies": { + "@noble/ciphers": "^1.0.0" + } + }, "node_modules/@emotion/babel-plugin": { "version": "11.13.5", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", @@ -3342,9 +2404,9 @@ "license": "MIT" }, "node_modules/@emotion/cache": { - "version": "11.13.5", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.13.5.tgz", - "integrity": "sha512-Z3xbtJ+UcK76eWkagZ1onvn/wAVb1GOMuR15s30Fm2wrMgC7jzpnO2JZXr4eujTTqoQFUrZIw/rT0c6Zzjca1g==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", "license": "MIT", "dependencies": { "@emotion/memoize": "^0.9.0", @@ -3403,16 +2465,16 @@ "license": "MIT" }, "node_modules/@emotion/react": { - "version": "11.13.5", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.13.5.tgz", - "integrity": "sha512-6zeCUxUH+EPF1s+YF/2hPVODeV/7V07YU5x+2tfuRL8MdW6rv5vb2+CBEGTGwBdux0OIERcOS+RzxeK80k2DsQ==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", - "@emotion/cache": "^11.13.5", + "@emotion/cache": "^11.14.0", "@emotion/serialize": "^1.3.3", - "@emotion/use-insertion-effect-with-fallbacks": "^1.1.0", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", "@emotion/utils": "^1.4.2", "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" @@ -3475,9 +2537,9 @@ "license": "MIT" }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.1.0.tgz", - "integrity": "sha512-+wBOcIV5snwGgI2ya3u99D7/FJquOIniQT1IKyDsBmEgwvpxMNeS65Oib7OnE2d2aY+3BU4OiH+0Wchf8yk3Hw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", "license": "MIT", "peerDependencies": { "react": ">=16.8.0" @@ -3495,6 +2557,278 @@ "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", "license": "MIT" }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/linux-x64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", @@ -3512,6 +2846,108 @@ "node": ">=12" } }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz", @@ -3619,9 +3055,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.16.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.16.0.tgz", - "integrity": "sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==", + "version": "9.17.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz", + "integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==", "dev": true, "license": "MIT", "engines": { @@ -3775,7 +3211,7 @@ "crc-32": "^1.2.0" } }, - "node_modules/@ethereumjs/common/node_modules/@ethereumjs/rlp": { + "node_modules/@ethereumjs/rlp": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", @@ -3787,32 +3223,6 @@ "node": ">=14" } }, - "node_modules/@ethereumjs/common/node_modules/@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", - "license": "MPL-2.0", - "dependencies": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@ethereumjs/rlp": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", - "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", - "license": "MPL-2.0", - "bin": { - "rlp": "bin/rlp.cjs" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@ethereumjs/tx": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/@ethereumjs/tx/-/tx-4.2.0.tgz", @@ -3828,19 +3238,7 @@ "node": ">=14" } }, - "node_modules/@ethereumjs/tx/node_modules/@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", - "license": "MPL-2.0", - "bin": { - "rlp": "bin/rlp" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@ethereumjs/tx/node_modules/@ethereumjs/util": { + "node_modules/@ethereumjs/util": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", @@ -3854,19 +3252,6 @@ "node": ">=14" } }, - "node_modules/@ethereumjs/util": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", - "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", - "license": "MPL-2.0", - "dependencies": { - "@ethereumjs/rlp": "^5.0.2", - "ethereum-cryptography": "^2.2.1" - }, - "engines": { - "node": ">=18" - } - }, "node_modules/@ethersproject/abi": { "version": "5.7.0", "resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.7.0.tgz", @@ -4616,21 +4001,6 @@ "integrity": "sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==", "license": "MIT" }, - "node_modules/@froxz/vite-plugin-s3": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@froxz/vite-plugin-s3/-/vite-plugin-s3-1.6.0.tgz", - "integrity": "sha512-zHyRhn+8S0QKDoEVePr9P/kRgzbCCbfFtNguG5EYO7zHsqE8XwTb9+YzVfjL2VVjvn3Vgk1zVTs4cxZ8onv9eA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@aws-sdk/client-s3": "^3.0.0", - "mime-types": "^2.1.35", - "recursive-readdir": "^2.2.3" - }, - "peerDependencies": { - "vite": "^3.1.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - } - }, "node_modules/@google-cloud/kms": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/@google-cloud/kms/-/kms-4.5.0.tgz", @@ -4666,9 +4036,9 @@ } }, "node_modules/@grpc/grpc-js": { - "version": "1.12.4", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.12.4.tgz", - "integrity": "sha512-NBhrxEWnFh0FxeA0d//YP95lRFsSx2TNLEUQg4/W+5f/BMxcCjgOOIT24iD+ZB/tZw057j44DaIxja7w4XMrhg==", + "version": "1.12.5", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.12.5.tgz", + "integrity": "sha512-d3iiHxdpg5+ZcJ6jnDSOT8Z0O0VMVGy34jAnYLUX8yd36b1qn8f1TwOA/Lc7TsOh03IkPJ38eGI5qD2EjNkoEA==", "license": "Apache-2.0", "dependencies": { "@grpc/proto-loader": "^0.7.13", @@ -5053,9 +4423,9 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.2.1", @@ -5423,337 +4793,336 @@ } }, "node_modules/@libp2p/autonat": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@libp2p/autonat/-/autonat-2.0.12.tgz", - "integrity": "sha512-EgJb6RwJmBwB7/Ddg3B3xFspc+OrNC6oonWh3osrP85J0cY7wOVmDSuLqk8tcxli9OuTYNSef/7dY9NVYEA+9g==", + "version": "2.0.15", + "resolved": "https://registry.npmjs.org/@libp2p/autonat/-/autonat-2.0.15.tgz", + "integrity": "sha512-R9PHA/0zy//gZ/W0xjyUl7PN+7JP6qtXqoeZnafb7pVOkJy/4RiBeYY4g/QKnZ0lEIpKLDowHT1pujkjbWw/Cg==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", - "it-first": "^3.0.6", - "it-length-prefixed": "^9.0.4", - "it-map": "^3.1.0", - "it-parallel": "^3.0.7", - "it-pipe": "^3.0.1", - "multiformats": "^13.2.2", - "protons-runtime": "^5.4.0", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/peer-collections": "^6.0.13", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", + "any-signal": "^4.1.1", + "it-protobuf-stream": "^1.1.5", + "multiformats": "^13.3.1", + "protons-runtime": "^5.5.0", "uint8arraylist": "^2.4.8" } }, "node_modules/@libp2p/bootstrap": { - "version": "11.0.13", - "resolved": "https://registry.npmjs.org/@libp2p/bootstrap/-/bootstrap-11.0.13.tgz", - "integrity": "sha512-zfZdqR4pVvsSWRBYNYjJD6hCzsgRRNLy8NAcLOf+H4+xDQg2pdGY7RhbeLetqnEaifHFV1INdIuCkdOI8cSMsQ==", + "version": "11.0.16", + "resolved": "https://registry.npmjs.org/@libp2p/bootstrap/-/bootstrap-11.0.16.tgz", + "integrity": "sha512-GmIkQuZwWFOnEBuUM0eRma/PjS0iCgc7Yl8X54QxqbmjB04DMqz2sGgmP+2gmiB38CIj1WGz4DTiTaECiyut2Q==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/peer-id": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/peer-id": "^5.0.9", "@multiformats/mafmt": "^12.1.6", - "@multiformats/multiaddr": "^12.2.3" + "@multiformats/multiaddr": "^12.3.3" } }, "node_modules/@libp2p/circuit-relay-v2": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@libp2p/circuit-relay-v2/-/circuit-relay-v2-3.1.3.tgz", - "integrity": "sha512-tdPaNK4ut9FU5uwABf+lj01eul3uVDUyAdlcpnIRgkRTOMZ02C06nyaIFSeHD5ykpyZpDIbLPHHBLd5kRYRfYg==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@libp2p/circuit-relay-v2/-/circuit-relay-v2-3.1.6.tgz", + "integrity": "sha512-47ocamyjMlGM9HgVo2BZI/yUuSM03GugTu03KjS1Wx/mLDq3WSpUVk1qMS4v1ZpOwXTnKlk5e3sp/t9K5PHCjw==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/peer-collections": "^6.0.12", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/peer-record": "^8.0.12", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", - "@multiformats/multiaddr-matcher": "^1.3.0", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/peer-collections": "^6.0.13", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/peer-record": "^8.0.13", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", + "@multiformats/multiaddr-matcher": "^1.6.0", "any-signal": "^4.1.1", - "it-protobuf-stream": "^1.1.3", - "it-stream-types": "^2.0.1", - "multiformats": "^13.1.0", - "nanoid": "^5.0.7", - "progress-events": "^1.0.0", - "protons-runtime": "^5.4.0", - "retimeable-signal": "^0.0.0", + "it-protobuf-stream": "^1.1.5", + "it-stream-types": "^2.0.2", + "multiformats": "^13.3.1", + "nanoid": "^5.0.9", + "progress-events": "^1.0.1", + "protons-runtime": "^5.5.0", + "retimeable-signal": "^1.0.0", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/crypto": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.0.7.tgz", - "integrity": "sha512-hv0rv/BPBsmSV5GBtaLZpOEv1LsA+Ub0BEDnEvSdB0ZbZ3Fcdlt5HTaJ2jYz4lx2T7KWTFQa9i1elmlGxwuJNg==", + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/@libp2p/crypto/-/crypto-5.0.8.tgz", + "integrity": "sha512-3ZxuzqMvyLXhRnjT3sjvzCCW4zkO9UKgv75KfqExP3k1Yk/Zbb+oM2z7OgnDycvLGxnRZgGwizrgnWpZvXlDEA==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@noble/curves": "^1.4.0", - "@noble/hashes": "^1.4.0", + "@libp2p/interface": "^2.3.0", + "@noble/curves": "^1.7.0", + "@noble/hashes": "^1.6.1", "asn1js": "^3.0.5", - "multiformats": "^13.1.0", - "protons-runtime": "^5.4.0", + "multiformats": "^13.3.1", + "protons-runtime": "^5.5.0", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/dcutr": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@libp2p/dcutr/-/dcutr-2.0.12.tgz", - "integrity": "sha512-BtUtNQW+AmZDr3waEuQn4TzEleMljxXlojnUBAseysnJH5nHPjLyQfkfqKEIFdswghlZOJLX0YhiR+otzKXCCQ==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@libp2p/dcutr/-/dcutr-2.0.14.tgz", + "integrity": "sha512-claAqe1n2SBoy53v30tvw3BI3+Jbn5UivmR0R69tclBa2sU15sh8WfKMfRv+h3eo8823syUruNZUvUslc2p4DA==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", - "@multiformats/multiaddr-matcher": "^1.2.1", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", + "@multiformats/multiaddr-matcher": "^1.6.0", "delay": "^6.0.0", - "it-protobuf-stream": "^1.1.3", - "protons-runtime": "^5.4.0", + "it-protobuf-stream": "^1.1.5", + "protons-runtime": "^5.5.0", "uint8arraylist": "^2.4.8" } }, "node_modules/@libp2p/identify": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@libp2p/identify/-/identify-3.0.12.tgz", - "integrity": "sha512-Z1MjdaGMsLPEEpEvlCJOsOgZ2q4FOPqO7W9ep6Kemnc0suuB6wk+8XLDvnZKHS80OdZopGQwm7z8Az06cxrLAA==", + "version": "3.0.14", + "resolved": "https://registry.npmjs.org/@libp2p/identify/-/identify-3.0.14.tgz", + "integrity": "sha512-H80tdH8csD3W+wHoaltJEnjTAmZBJ22bYqFOPk5YKCF0k19Ox2MwRTkyCXuVDIdQfrYs94JE3HvLvUoN9X/JBQ==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/peer-record": "^8.0.12", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", - "@multiformats/multiaddr-matcher": "^1.2.1", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/peer-record": "^8.0.13", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", + "@multiformats/multiaddr-matcher": "^1.6.0", "it-drain": "^3.0.7", - "it-parallel": "^3.0.7", - "it-protobuf-stream": "^1.1.3", - "protons-runtime": "^5.4.0", + "it-parallel": "^3.0.8", + "it-protobuf-stream": "^1.1.5", + "protons-runtime": "^5.5.0", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0", "wherearewe": "^2.0.1" } }, "node_modules/@libp2p/interface": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.2.1.tgz", - "integrity": "sha512-5dvsnf9+S5DoXCk5H3HNpe8lKzuXTi0k2On8Cdqr6YrkmrhCimow63AxtaUOVkH7GVBTTi8Q1jSx3aleX7KcEA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@libp2p/interface/-/interface-2.3.0.tgz", + "integrity": "sha512-lodc8jxw32fkY2m2bsS6yzzozua6EDr5rJvahJaJVC36jZWFW5sBmOW8jBoKfoZyRwgD6uoOXP39miWQhEaUcg==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr": "^12.3.3", "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.1", - "multiformats": "^13.1.0", - "progress-events": "^1.0.0", + "it-stream-types": "^2.0.2", + "multiformats": "^13.3.1", + "progress-events": "^1.0.1", "uint8arraylist": "^2.4.8" } }, "node_modules/@libp2p/interface-internal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-2.1.1.tgz", - "integrity": "sha512-7rw7p5wZry9ZPfdhYi4zXRjsgrJ8y/X5M7iWIzUBSJdJP2Zd0ZVStlgyqYm1YAbb8V0mwo5BI/kxd2o9R/9TJQ==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@libp2p/interface-internal/-/interface-internal-2.2.1.tgz", + "integrity": "sha512-GGxQnTgQ891bpOcHQAG9Dy/KXo1OoKnCaV2e02yWNhW8TkqlFJnwdny6tX8O6BN8Od56yuEIS89ZoNn2SK4F5g==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/peer-collections": "^6.0.12", - "@multiformats/multiaddr": "^12.2.3", - "progress-events": "^1.0.0", + "@libp2p/interface": "^2.3.0", + "@libp2p/peer-collections": "^6.0.13", + "@multiformats/multiaddr": "^12.3.3", + "progress-events": "^1.0.1", "uint8arraylist": "^2.4.8" } }, "node_modules/@libp2p/kad-dht": { - "version": "14.1.3", - "resolved": "https://registry.npmjs.org/@libp2p/kad-dht/-/kad-dht-14.1.3.tgz", - "integrity": "sha512-eo2QdsllouakcdHa7NbLhjQ6eMdsMc7PLZRt3lnQTdQsMT81iVTAB/hhVJlTSEUJHQS5JbikrjkJLtFu6KUFzw==", + "version": "14.1.6", + "resolved": "https://registry.npmjs.org/@libp2p/kad-dht/-/kad-dht-14.1.6.tgz", + "integrity": "sha512-ceTF2Xh32PTleLfccAvniTdTFWfRgmaW1NT2juk4YRfzCQFdJqhuspiDVqelpZnexHKWgbYvwUos/gIEQICJ7g==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/peer-collections": "^6.0.12", - "@libp2p/peer-id": "^5.0.8", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/peer-collections": "^6.0.13", + "@libp2p/peer-id": "^5.0.9", "@libp2p/record": "^4.0.4", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", "any-signal": "^4.1.1", - "interface-datastore": "^8.3.0", + "interface-datastore": "^8.3.1", + "it-all": "^3.0.6", "it-drain": "^3.0.7", "it-length": "^3.0.6", - "it-length-prefixed": "^9.0.4", - "it-map": "^3.1.0", + "it-length-prefixed": "^9.1.0", + "it-map": "^3.1.1", "it-merge": "^3.0.5", - "it-parallel": "^3.0.7", + "it-parallel": "^3.0.8", "it-pipe": "^3.0.1", - "it-protobuf-stream": "^1.1.3", - "it-take": "^3.0.5", - "mortice": "^3.0.4", - "multiformats": "^13.1.0", + "it-protobuf-stream": "^1.1.5", + "it-take": "^3.0.6", + "mortice": "^3.0.6", + "multiformats": "^13.3.1", "p-defer": "^4.0.1", "p-event": "^6.0.1", - "progress-events": "^1.0.0", - "protons-runtime": "^5.4.0", - "race-signal": "^1.0.2", + "progress-events": "^1.0.1", + "protons-runtime": "^5.5.0", + "race-signal": "^1.1.0", "uint8-varint": "^2.0.4", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/keychain": { - "version": "5.0.10", - "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-5.0.10.tgz", - "integrity": "sha512-olTq2dbKpKkUCsDjAOYcxwSB4KotJ9zA3aaWOE8aUd2ZbwrYJ3VBlm0Ov5PfdGx9qsUhsfnmC01vpF6cEEOg0g==", + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@libp2p/keychain/-/keychain-5.0.11.tgz", + "integrity": "sha512-kznG/mCaULYZTVYXuXtGJgmq7ZBiWFQNd4UutIsi8T1h7q0uD37iQI3sNJxb58yDOHrpCYpICfDpjlK6X3bJzQ==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@noble/hashes": "^1.5.0", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@noble/hashes": "^1.6.1", "asn1js": "^3.0.5", - "interface-datastore": "^8.3.0", + "interface-datastore": "^8.3.1", "merge-options": "^3.0.4", - "multiformats": "^13.2.2", + "multiformats": "^13.3.1", "sanitize-filename": "^1.6.3", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/logger": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.4.tgz", - "integrity": "sha512-pVQ2odi6rcOR412wM0dg7eZ1+wPHPo5D7W8vIn3YyB2FLodQD7CZXXfg7Z9Yaqlc4BVbkNXDWL/jlUss9wL2Ow==", + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@libp2p/logger/-/logger-5.1.5.tgz", + "integrity": "sha512-Qe8B/Mja0myaArPvuI5iKVi3o2Z55Rir+RDkkEU/m9TkKDkHVFmGKnPlWDzHehi18GALjLxOsTE9TJASxjDTCA==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@multiformats/multiaddr": "^12.2.3", - "interface-datastore": "^8.3.0", - "multiformats": "^13.1.0", - "weald": "^1.0.2" + "@libp2p/interface": "^2.3.0", + "@multiformats/multiaddr": "^12.3.3", + "interface-datastore": "^8.3.1", + "multiformats": "^13.3.1", + "weald": "^1.0.4" } }, "node_modules/@libp2p/mdns": { - "version": "11.0.13", - "resolved": "https://registry.npmjs.org/@libp2p/mdns/-/mdns-11.0.13.tgz", - "integrity": "sha512-zGr7PygfoUeYjTvpujFYcLLhlcQ4dGegPep6e/LaLq97eU+GTF//AJbs9KhHQRfSqv449o+38fbqPHCxrwurMA==", + "version": "11.0.16", + "resolved": "https://registry.npmjs.org/@libp2p/mdns/-/mdns-11.0.16.tgz", + "integrity": "sha512-FJLJywEFCm5r61b7IZ+KGvxUPEGuGx5VGXyTSE10y7lSxizn50ZUAmnN76OsBdLz/Uj3/iyzTOOmY17mzBjN3g==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", "@types/multicast-dns": "^7.2.4", "dns-packet": "^5.6.1", "multicast-dns": "^7.2.5" } }, "node_modules/@libp2p/mplex": { - "version": "11.0.13", - "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-11.0.13.tgz", - "integrity": "sha512-OS6n8BfzMhgsAB/IiEcbQfdftAVOXkRCrZrSAZC90kWEL47SuHk6M5xjsr6ODOXCHAWApC7FfMV4tKrzyXXItw==", + "version": "11.0.16", + "resolved": "https://registry.npmjs.org/@libp2p/mplex/-/mplex-11.0.16.tgz", + "integrity": "sha512-FHzKT67sSE7AxzGDj+WVesvKHXjjoXGg9aiuHfQmnO0tC2c3F7jY3KahuaaxLIZp4P3QdZZMwtqhbb6iASrWyg==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/utils": "^6.2.1", + "@libp2p/interface": "^2.3.0", + "@libp2p/utils": "^6.3.0", "it-pipe": "^3.0.1", "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.1", + "it-stream-types": "^2.0.2", "uint8-varint": "^2.0.4", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/multistream-select": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-6.0.9.tgz", - "integrity": "sha512-yU+K4/jtXwt1WXMXSJTuhGnn6F97v/P0IOdMALMQlgmvSeGICDBNllX/i0r9y/DDwI/Hh61phB15aUgc/6pX8Q==", + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/@libp2p/multistream-select/-/multistream-select-6.0.10.tgz", + "integrity": "sha512-u2sxsPk18cmJl1GLbfKgV+HXcFP2e873411PPwfQgMqTuNYXvJZheJWxV/nz7LjB3XelHxgYPpDVkMvK/kjMyw==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "it-length-prefixed": "^9.0.4", - "it-length-prefixed-stream": "^1.1.7", - "it-stream-types": "^2.0.1", + "@libp2p/interface": "^2.3.0", + "it-length-prefixed": "^9.1.0", + "it-length-prefixed-stream": "^1.2.0", + "it-stream-types": "^2.0.2", "p-defer": "^4.0.1", - "race-signal": "^1.0.2", + "race-signal": "^1.1.0", "uint8-varint": "^2.0.4", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/peer-collections": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-6.0.12.tgz", - "integrity": "sha512-JQvnCZ5rUiFkznQTOblNF+xE0ddmETn1f3FyYP9vHALOPrgdQkoZeY1b1W3Gz7gA8CXZ//cluHE+ZBiavDbNIg==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/@libp2p/peer-collections/-/peer-collections-6.0.13.tgz", + "integrity": "sha512-BjpXs3kWegnNay2CApntOkL9tPyzTxC2lKUt0Mj9qntmOp1BF/zWY982U1X4ScjCE/M9Nh9x/w4Z/GKCT+K5lQ==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/utils": "^6.2.1", - "multiformats": "^13.2.2" + "@libp2p/interface": "^2.3.0", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/utils": "^6.3.0", + "multiformats": "^13.3.1" } }, "node_modules/@libp2p/peer-id": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.0.8.tgz", - "integrity": "sha512-vil9cch+qtqchSlrgG0Zw82uCW8XsyeOJc6DaIiS2hI01cMOIChT4CKjTn0iV5k2yw/niycQPjLrYQzy7tBIYg==", + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-5.0.9.tgz", + "integrity": "sha512-TgWOPbU7AcUdSiHomL2wcg9eJqjoMCvCmU5eq/3fyBygTaG4BiQA/tYKuTEfeB5YPMdG1cJLmxgpk/a+ZRkY1g==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "multiformats": "^13.1.0", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "multiformats": "^13.3.1", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/peer-record": { - "version": "8.0.12", - "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-8.0.12.tgz", - "integrity": "sha512-N8OyAAgQwBCUB7AtSlI0AQun45SeBS5UWMnhO9JLAzzNUOZiMk+IfBwEu8dpJ0E311QK2vGY1suoxTsauqMSjg==", + "version": "8.0.13", + "resolved": "https://registry.npmjs.org/@libp2p/peer-record/-/peer-record-8.0.13.tgz", + "integrity": "sha512-4+jd3UvlF3sUoHpjPToy9AdW3ReF/ipvA9yBdl5axDKWxjJVOfyG8DvLRGJsTvm12gLdvb7vDgmEtpUPwWqjGQ==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", - "multiformats": "^13.2.2", - "protons-runtime": "^5.4.0", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", + "multiformats": "^13.3.1", + "protons-runtime": "^5.5.0", "uint8-varint": "^2.0.4", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/peer-store": { - "version": "11.0.12", - "resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-11.0.12.tgz", - "integrity": "sha512-wCPvrmdm+fua28xY6THVskawNDhKxo9O9suif9MAy6Nb9Drr+WiOGucHasOrs/ELvkuU3nc/zxvyWjk8MlTEfw==", + "version": "11.0.13", + "resolved": "https://registry.npmjs.org/@libp2p/peer-store/-/peer-store-11.0.13.tgz", + "integrity": "sha512-KieXSY8ysyC7ROJ7GI7dtQkowRFDuG2jk5HQedSXNUe74JurG0uI/HddFF8yij+HgY/kZiBwWUQbKrTC4Cewbw==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/peer-record": "^8.0.12", - "@multiformats/multiaddr": "^12.2.3", - "interface-datastore": "^8.3.0", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/peer-record": "^8.0.13", + "@multiformats/multiaddr": "^12.3.3", + "interface-datastore": "^8.3.1", "it-all": "^3.0.6", - "mortice": "^3.0.4", - "multiformats": "^13.1.0", - "protons-runtime": "^5.4.0", + "mortice": "^3.0.6", + "multiformats": "^13.3.1", + "protons-runtime": "^5.5.0", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/ping": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/@libp2p/ping/-/ping-2.0.12.tgz", - "integrity": "sha512-wJKJ9PmAQbcXl/V5iZfmypztptVS6mRAZjpidDHOwUxSTmxgnd9HadJEgiQ1dUJjaMe4JUmLhb3+ym+RS48alg==", + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/@libp2p/ping/-/ping-2.0.14.tgz", + "integrity": "sha512-+idRl+4T2bhP+FNDgwBFWHyHkFoOcjwzQmezLR00mG8hg2iH3BvDmzMd7cagZM21SaeDd4eiN8XyhQqyi1RcZA==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@multiformats/multiaddr": "^12.2.3", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@multiformats/multiaddr": "^12.3.3", "it-byte-stream": "^1.1.0", "uint8arrays": "^5.1.0" } @@ -5770,40 +5139,40 @@ } }, "node_modules/@libp2p/tcp": { - "version": "10.0.13", - "resolved": "https://registry.npmjs.org/@libp2p/tcp/-/tcp-10.0.13.tgz", - "integrity": "sha512-1oxkfMGJdnACSeq75k+K1JM9KkPUFgp7U/YH6+4f884MC7crciV28+FtrIoxS+79gX+EZeUOzvCPLWbuQddk9Q==", + "version": "10.0.14", + "resolved": "https://registry.npmjs.org/@libp2p/tcp/-/tcp-10.0.14.tgz", + "integrity": "sha512-HwYCvNnSqjVzoy3DQh6chy4EwWgmnII+ccT/LEpitKbV8QzHTv2HUeSaGtuGc42Z95rFMXqmJeqBkhbXcpeCRA==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/utils": "^6.2.1", + "@libp2p/interface": "^2.3.0", + "@libp2p/utils": "^6.3.0", "@multiformats/mafmt": "^12.1.6", - "@multiformats/multiaddr": "^12.2.3", + "@multiformats/multiaddr": "^12.3.3", "@types/sinon": "^17.0.3", "p-defer": "^4.0.1", "p-event": "^6.0.1", - "progress-events": "^1.0.0", + "progress-events": "^1.0.1", "race-event": "^1.3.0", "stream-to-it": "^1.0.1" } }, "node_modules/@libp2p/tls": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@libp2p/tls/-/tls-2.0.11.tgz", - "integrity": "sha512-kUBC1CneZgFPP0p084ecHGOnFURxOfZgJXRRSXYrZhK/pv8xpJcO2GPebsNlJDkuId/sX22koGYBZV+xDIVEgg==", + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@libp2p/tls/-/tls-2.0.12.tgz", + "integrity": "sha512-OyxGH4Eg8dFGAkpdpwy1xf4vwcT1f+PFzEnFOiD2ql0RTLh/fEpkeNOd+2D2qvMhHa0a3gYH9hFiyswSIz+CGQ==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/peer-id": "^5.0.8", - "@peculiar/asn1-schema": "^2.3.8", - "@peculiar/asn1-x509": "^2.3.8", - "@peculiar/webcrypto": "^1.4.6", - "@peculiar/x509": "^1.9.7", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/peer-id": "^5.0.9", + "@peculiar/asn1-schema": "^2.3.13", + "@peculiar/asn1-x509": "^2.3.13", + "@peculiar/webcrypto": "^1.5.0", + "@peculiar/x509": "^1.12.3", "asn1js": "^3.0.5", "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.1", - "protons-runtime": "^5.4.0", + "it-stream-types": "^2.0.2", + "protons-runtime": "^5.5.0", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } @@ -5826,16 +5195,17 @@ } }, "node_modules/@libp2p/utils": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.2.1.tgz", - "integrity": "sha512-uORuQLB75MgbrDA6i0rCw/fqNFgCs1dO3c21Z5WNdRCA4Lcvhgi6wnUf45DwgNCqtljDAnBR0FYI+UbEp5yAuA==", + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/@libp2p/utils/-/utils-6.3.0.tgz", + "integrity": "sha512-1zF9xwxtAjg7N54deR3l45d0awLsuO8cacfp9J4vE+4RjrtKSa40IxhunLOp52ctm9H17wixlXUhoP85Ki8F3w==", "license": "Apache-2.0 OR MIT", "dependencies": { "@chainsafe/is-ip": "^2.0.2", - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/logger": "^5.1.4", - "@multiformats/multiaddr": "^12.2.3", + "@chainsafe/netmask": "^2.0.0", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/logger": "^5.1.5", + "@multiformats/multiaddr": "^12.3.3", "@sindresorhus/fnv1a": "^3.1.0", "@types/murmurhash3js-revisited": "^3.0.3", "any-signal": "^4.1.1", @@ -5845,42 +5215,42 @@ "it-foreach": "^2.1.1", "it-pipe": "^3.0.1", "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.1", + "it-stream-types": "^2.0.2", "murmurhash3js-revisited": "^3.0.0", "netmask": "^2.0.2", "p-defer": "^4.0.1", "race-event": "^1.3.0", - "race-signal": "^1.0.2", + "race-signal": "^1.1.0", "uint8arraylist": "^2.4.8", "uint8arrays": "^5.1.0" } }, "node_modules/@libp2p/webrtc": { - "version": "5.0.19", - "resolved": "https://registry.npmjs.org/@libp2p/webrtc/-/webrtc-5.0.19.tgz", - "integrity": "sha512-WicT2mraZf4ZKqt73MYvfAUvOQehZDPT673GThA3yK02eR6B/c9MenMuUbNb3qGsE4b5yhMjioYjZPahWpxcBw==", + "version": "5.0.22", + "resolved": "https://registry.npmjs.org/@libp2p/webrtc/-/webrtc-5.0.22.tgz", + "integrity": "sha512-WVJC4mhFYdZ1wKTZxAwTMXyLqkfcLRM86J8wKgRNTAfvZqet1HQuJ5U/Hp4CngNnuLGHqOKVdn6obDcy6nMWww==", "license": "Apache-2.0 OR MIT", "dependencies": { "@chainsafe/libp2p-noise": "^16.0.0", - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", - "@multiformats/multiaddr-matcher": "^1.2.1", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", + "@multiformats/multiaddr-matcher": "^1.6.0", "detect-browser": "^5.3.0", - "it-length-prefixed": "^9.0.4", - "it-protobuf-stream": "^1.1.3", + "it-length-prefixed": "^9.1.0", + "it-protobuf-stream": "^1.1.5", "it-pushable": "^3.2.3", - "it-stream-types": "^2.0.1", - "multiformats": "^13.1.0", + "it-stream-types": "^2.0.2", + "multiformats": "^13.3.1", "node-datachannel": "^0.11.0", "p-defer": "^4.0.1", "p-event": "^6.0.1", - "p-timeout": "^6.1.2", - "progress-events": "^1.0.0", - "protons-runtime": "^5.4.0", - "race-signal": "^1.0.2", + "p-timeout": "^6.1.3", + "progress-events": "^1.0.1", + "protons-runtime": "^5.5.0", + "race-signal": "^1.1.0", "react-native-webrtc": "^124.0.4", "uint8-varint": "^2.0.4", "uint8arraylist": "^2.4.8", @@ -5888,32 +5258,23 @@ } }, "node_modules/@libp2p/websockets": { - "version": "9.0.13", - "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-9.0.13.tgz", - "integrity": "sha512-e1Lukn8kzJC7YbfufT8rOy/BXUyl213srb+zizFu4JkTRloChEjq7VzARPo9lrMQye71JrTi2eBg+O/XadERsg==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@libp2p/websockets/-/websockets-9.1.0.tgz", + "integrity": "sha512-110hKTaCO13nUxUAr5KQPyomzbXbwkoyeY0Xr5urX8oAA7R3hQrcs8+luWpouiF8Ui5SvmeWDN8t2yPMoH2v5g==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/interface": "^2.2.1", - "@libp2p/utils": "^6.2.1", - "@multiformats/multiaddr": "^12.2.3", - "@multiformats/multiaddr-matcher": "^1.4.0", - "@multiformats/multiaddr-to-uri": "^10.0.1", - "@types/ws": "^8.5.10", - "it-ws": "^6.1.1", + "@libp2p/interface": "^2.3.0", + "@libp2p/utils": "^6.3.0", + "@multiformats/multiaddr": "^12.3.3", + "@multiformats/multiaddr-matcher": "^1.6.0", + "@multiformats/multiaddr-to-uri": "^11.0.0", + "@types/ws": "^8.5.13", + "it-ws": "^6.1.5", "p-defer": "^4.0.1", - "progress-events": "^1.0.0", - "race-signal": "^1.0.2", - "wherearewe": "^2.0.1", - "ws": "^8.17.0" - } - }, - "node_modules/@libp2p/websockets/node_modules/@multiformats/multiaddr-to-uri": { - "version": "10.1.2", - "resolved": "https://registry.npmjs.org/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-10.1.2.tgz", - "integrity": "sha512-6sicfYRjJlHJn4bwsQancs8kXncWU4dDN/+V9sMVTYp9hi8ovWgVkK75AbAv4SfhztmmI+oufVUncQ1n+SukKQ==", - "license": "Apache-2.0 OR MIT", - "dependencies": { - "@multiformats/multiaddr": "^12.3.0" + "p-event": "^6.0.1", + "progress-events": "^1.0.1", + "race-signal": "^1.1.0", + "ws": "^8.18.0" } }, "node_modules/@libp2p/websockets/node_modules/ws": { @@ -6017,76 +5378,7 @@ "node": ">=14.0.0" } }, - "node_modules/@metamask/eth-sig-util": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", - "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", - "license": "ISC", - "dependencies": { - "ethereumjs-abi": "^0.6.8", - "ethereumjs-util": "^6.2.1", - "ethjs-util": "^0.1.6", - "tweetnacl": "^1.0.3", - "tweetnacl-util": "^0.15.1" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { - "version": "4.11.6", - "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", - "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@metamask/eth-sig-util/node_modules/bn.js": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", - "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", - "license": "MIT" - }, - "node_modules/@metamask/eth-sig-util/node_modules/ethereum-cryptography": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", - "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", - "license": "MIT", - "dependencies": { - "@types/pbkdf2": "^3.0.0", - "@types/secp256k1": "^4.0.1", - "blakejs": "^1.1.0", - "browserify-aes": "^1.2.0", - "bs58check": "^2.1.2", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "hash.js": "^1.1.7", - "keccak": "^3.0.0", - "pbkdf2": "^3.0.17", - "randombytes": "^2.1.0", - "safe-buffer": "^5.1.2", - "scrypt-js": "^3.0.0", - "secp256k1": "^4.0.1", - "setimmediate": "^1.0.5" - } - }, - "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", - "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", - "license": "MPL-2.0", - "dependencies": { - "@types/bn.js": "^4.11.3", - "bn.js": "^4.11.0", - "create-hash": "^1.1.2", - "elliptic": "^6.5.2", - "ethereum-cryptography": "^0.1.3", - "ethjs-util": "0.1.6", - "rlp": "^2.2.3" - } - }, - "node_modules/@metamask/json-rpc-engine": { + "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/json-rpc-engine": { "version": "7.3.3", "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-7.3.3.tgz", "integrity": "sha512-dwZPq8wx9yV3IX2caLi9q9xZBw2XeIoYqdyihDDDpuHVCEiqadJLwqM3zy+uwf6F1QYQ65A8aOMQg1Uw7LMLNg==", @@ -6100,7 +5392,7 @@ "node": ">=16.0.0" } }, - "node_modules/@metamask/json-rpc-engine/node_modules/@metamask/utils": { + "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/json-rpc-engine/node_modules/@metamask/utils": { "version": "8.5.0", "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.5.0.tgz", "integrity": "sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==", @@ -6120,7 +5412,23 @@ "node": ">=16.0.0" } }, - "node_modules/@metamask/json-rpc-engine/node_modules/semver": { + "node_modules/@metamask/eth-json-rpc-provider/node_modules/@metamask/utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-5.0.2.tgz", + "integrity": "sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.1.2", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "semver": "^7.3.8", + "superstruct": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@metamask/eth-json-rpc-provider/node_modules/semver": { "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", @@ -6132,7 +5440,7 @@ "node": ">=10" } }, - "node_modules/@metamask/json-rpc-engine/node_modules/uuid": { + "node_modules/@metamask/eth-json-rpc-provider/node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", @@ -6145,6 +5453,149 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/@metamask/eth-sig-util": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz", + "integrity": "sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==", + "license": "ISC", + "dependencies": { + "ethereumjs-abi": "^0.6.8", + "ethereumjs-util": "^6.2.1", + "ethjs-util": "^0.1.6", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@metamask/eth-sig-util/node_modules/@types/bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@metamask/eth-sig-util/node_modules/bn.js": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz", + "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==", + "license": "MIT" + }, + "node_modules/@metamask/eth-sig-util/node_modules/ethereum-cryptography": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz", + "integrity": "sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==", + "license": "MIT", + "dependencies": { + "@types/pbkdf2": "^3.0.0", + "@types/secp256k1": "^4.0.1", + "blakejs": "^1.1.0", + "browserify-aes": "^1.2.0", + "bs58check": "^2.1.2", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "hash.js": "^1.1.7", + "keccak": "^3.0.0", + "pbkdf2": "^3.0.17", + "randombytes": "^2.1.0", + "safe-buffer": "^5.1.2", + "scrypt-js": "^3.0.0", + "secp256k1": "^4.0.1", + "setimmediate": "^1.0.5" + } + }, + "node_modules/@metamask/eth-sig-util/node_modules/ethereumjs-util": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz", + "integrity": "sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==", + "license": "MPL-2.0", + "dependencies": { + "@types/bn.js": "^4.11.3", + "bn.js": "^4.11.0", + "create-hash": "^1.1.2", + "elliptic": "^6.5.2", + "ethereum-cryptography": "^0.1.3", + "ethjs-util": "0.1.6", + "rlp": "^2.2.3" + } + }, + "node_modules/@metamask/json-rpc-engine": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@metamask/json-rpc-engine/-/json-rpc-engine-8.0.2.tgz", + "integrity": "sha512-IoQPmql8q7ABLruW7i4EYVHWUbF74yrp63bRuXV5Zf9BQwcn5H9Ww1eLtROYvI1bUXwOiHZ6qT5CWTrDc/t/AA==", + "license": "ISC", + "dependencies": { + "@metamask/rpc-errors": "^6.2.1", + "@metamask/safe-event-emitter": "^3.0.0", + "@metamask/utils": "^8.3.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/json-rpc-middleware-stream": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@metamask/json-rpc-middleware-stream/-/json-rpc-middleware-stream-7.0.2.tgz", + "integrity": "sha512-yUdzsJK04Ev98Ck4D7lmRNQ8FPioXYhEUZOMS01LXW8qTvPGiRVXmVltj2p4wrLkh0vW7u6nv0mNl5xzC5Qmfg==", + "license": "ISC", + "dependencies": { + "@metamask/json-rpc-engine": "^8.0.2", + "@metamask/safe-event-emitter": "^3.0.0", + "@metamask/utils": "^8.3.0", + "readable-stream": "^3.6.2" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/@metamask/object-multiplex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@metamask/object-multiplex/-/object-multiplex-2.1.0.tgz", + "integrity": "sha512-4vKIiv0DQxljcXwfpnbsXcfa5glMj5Zg9mqn4xpIWqkv6uJ2ma5/GtUfLFSxhlxnR8asRMv8dDmWya1Tc1sDFA==", + "license": "ISC", + "dependencies": { + "once": "^1.4.0", + "readable-stream": "^3.6.2" + }, + "engines": { + "node": "^16.20 || ^18.16 || >=20" + } + }, + "node_modules/@metamask/onboarding": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@metamask/onboarding/-/onboarding-1.0.1.tgz", + "integrity": "sha512-FqHhAsCI+Vacx2qa5mAFcWNSrTcVGMNjzxVgaX8ECSny/BJ9/vgXP9V7WF/8vb9DltPeQkxr+Fnfmm6GHfmdTQ==", + "license": "MIT", + "dependencies": { + "bowser": "^2.9.0" + } + }, + "node_modules/@metamask/providers": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@metamask/providers/-/providers-16.1.0.tgz", + "integrity": "sha512-znVCvux30+3SaUwcUGaSf+pUckzT5ukPRpcBmy+muBLC0yaWnBcvDqGfcsw6CBIenUdFrVoAFa8B6jsuCY/a+g==", + "license": "MIT", + "dependencies": { + "@metamask/json-rpc-engine": "^8.0.1", + "@metamask/json-rpc-middleware-stream": "^7.0.1", + "@metamask/object-multiplex": "^2.0.0", + "@metamask/rpc-errors": "^6.2.1", + "@metamask/safe-event-emitter": "^3.1.1", + "@metamask/utils": "^8.3.0", + "detect-browser": "^5.2.0", + "extension-port-stream": "^3.0.0", + "fast-deep-equal": "^3.1.3", + "is-stream": "^2.0.0", + "readable-stream": "^3.6.2", + "webextension-polyfill": "^0.10.0" + }, + "engines": { + "node": "^18.18 || >=20" + } + }, "node_modules/@metamask/rpc-errors": { "version": "6.4.0", "resolved": "https://registry.npmjs.org/@metamask/rpc-errors/-/rpc-errors-6.4.0.tgz", @@ -6212,6 +5663,109 @@ "node": ">=12.0.0" } }, + "node_modules/@metamask/sdk": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@metamask/sdk/-/sdk-0.31.4.tgz", + "integrity": "sha512-HLUN4IZGdyiy5YeebXmXi+ndpmrl6zslCQLdR2QHplIy4JmUL/eDyKNFiK7eBLVKXVVIDYFIb6g1iSEb+i8Kew==", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@metamask/onboarding": "^1.0.1", + "@metamask/providers": "16.1.0", + "@metamask/sdk-communication-layer": "0.31.0", + "@metamask/sdk-install-modal-web": "0.31.2", + "@paulmillr/qr": "^0.2.1", + "bowser": "^2.9.0", + "cross-fetch": "^4.0.0", + "debug": "^4.3.4", + "eciesjs": "^0.4.11", + "eth-rpc-errors": "^4.0.3", + "eventemitter2": "^6.4.9", + "obj-multiplex": "^1.0.0", + "pump": "^3.0.0", + "readable-stream": "^3.6.2", + "socket.io-client": "^4.5.1", + "tslib": "^2.6.0", + "util": "^0.12.4", + "uuid": "^8.3.2" + } + }, + "node_modules/@metamask/sdk-communication-layer": { + "version": "0.31.0", + "resolved": "https://registry.npmjs.org/@metamask/sdk-communication-layer/-/sdk-communication-layer-0.31.0.tgz", + "integrity": "sha512-V9CxdzabDPjQVgmKGHsyU3SYt4Af27g+4DbGCx0fLoHqN/i1RBDZqs/LYbJX3ykJCANzE+llz/MolMCMrzM2RA==", + "dependencies": { + "bufferutil": "^4.0.8", + "date-fns": "^2.29.3", + "debug": "^4.3.4", + "utf-8-validate": "^5.0.2", + "uuid": "^8.3.2" + }, + "peerDependencies": { + "cross-fetch": "^4.0.0", + "eciesjs": "*", + "eventemitter2": "^6.4.9", + "readable-stream": "^3.6.2", + "socket.io-client": "^4.5.1" + } + }, + "node_modules/@metamask/sdk-communication-layer/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/@metamask/sdk-install-modal-web": { + "version": "0.31.2", + "resolved": "https://registry.npmjs.org/@metamask/sdk-install-modal-web/-/sdk-install-modal-web-0.31.2.tgz", + "integrity": "sha512-KPv36kQjmTwErU8g2neuHHSgkD5+1hp4D6ERfk5Kc2r73aOYNCdG9wDGRUmFmcY2MKkeK1EuDyZfJ4FPU30fxQ==", + "dependencies": { + "@paulmillr/qr": "^0.2.1" + } + }, + "node_modules/@metamask/sdk-react": { + "version": "0.31.4", + "resolved": "https://registry.npmjs.org/@metamask/sdk-react/-/sdk-react-0.31.4.tgz", + "integrity": "sha512-hAYbYGOsJcJUKJG4pO6KtTGXKikpNQMqo1kube55eeo6XZsFT5l958w2Ckhpld47vlABBNxB9SKwk6/vZtPX/w==", + "dependencies": { + "@metamask/sdk": "^0.31.4", + "debug": "^4.3.4", + "eth-rpc-errors": "^4.0.3", + "rollup-plugin-node-builtins": "^2.1.2", + "rollup-plugin-node-globals": "^1.4.0" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "^1.19.6", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + }, + "react": { + "optional": false + }, + "react-dom": { + "optional": false + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@metamask/sdk/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@metamask/superstruct": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@metamask/superstruct/-/superstruct-3.1.0.tgz", @@ -6222,19 +5776,23 @@ } }, "node_modules/@metamask/utils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-5.0.2.tgz", - "integrity": "sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-8.5.0.tgz", + "integrity": "sha512-I6bkduevXb72TIM9q2LRO63JSsF9EXduh3sBr9oybNX2hNNpr/j1tEjXrsG0Uabm4MJ1xkGAQEMwifvKZIkyxQ==", "license": "ISC", "dependencies": { - "@ethereumjs/tx": "^4.1.2", + "@ethereumjs/tx": "^4.2.0", + "@metamask/superstruct": "^3.0.0", + "@noble/hashes": "^1.3.1", + "@scure/base": "^1.1.3", "@types/debug": "^4.1.7", "debug": "^4.3.4", - "semver": "^7.3.8", - "superstruct": "^1.0.3" + "pony-cause": "^2.1.10", + "semver": "^7.5.4", + "uuid": "^9.0.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=16.0.0" } }, "node_modules/@metamask/utils/node_modules/semver": { @@ -6249,6 +5807,19 @@ "node": ">=10" } }, + "node_modules/@metamask/utils/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/@motionone/animation": { "version": "10.18.0", "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.18.0.tgz", @@ -6335,30 +5906,30 @@ } }, "node_modules/@mui/base": { - "version": "5.0.0-beta.64", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.64.tgz", - "integrity": "sha512-nu663PoZs/Pee0fkPYkjUADfT+AAi2QWvvHghDhLeSx8sa3i+GGaOoUsFmB4CPlyYqWfq9hRGA7H1T3d6VrGgw==", + "version": "5.0.0-beta.40-0", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40-0.tgz", + "integrity": "sha512-hG3atoDUxlvEy+0mqdMpWd04wca8HKr2IHjW/fAjlkCHQolSLazhZM46vnHjOf15M4ESu25mV/3PgjczyjVM4w==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.26.0", - "@floating-ui/react-dom": "^2.1.1", - "@mui/types": "^7.2.19", - "@mui/utils": "^6.1.10", + "@babel/runtime": "^7.23.9", + "@floating-ui/react-dom": "^2.0.8", + "@mui/types": "^7.2.15", + "@mui/utils": "^5.16.12", "@popperjs/core": "^2.11.8", - "clsx": "^2.1.1", + "clsx": "^2.1.0", "prop-types": "^15.8.1" }, "engines": { - "node": ">=14.0.0" + "node": ">=12.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -6367,9 +5938,9 @@ } }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.9.tgz", - "integrity": "sha512-ue3j79XJ56+F6DlTtFTM+n//5AvNENOvl3MFruZZP5iZzz+hOq6WBwnr+YxiMlr+kvmMHuHxgOHFdPR8+mElDw==", + "version": "5.16.13", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.13.tgz", + "integrity": "sha512-xe5RwI0Q2O709Bd2Y7l1W1NIwNmln0y+xaGk5VgX3vDJbkQEqzdfTFZ73e0CkEZgJwyiWgk5HY0l8R4nysOxjw==", "license": "MIT", "funding": { "type": "opencollective", @@ -6377,16 +5948,16 @@ } }, "node_modules/@mui/lab": { - "version": "5.0.0-alpha.174", - "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.174.tgz", - "integrity": "sha512-6jw+vcjfnDr/V4qzqwOPFwoqzxejGfm9F0k9E92QLmtFv5F0pH73OjmQDzALL7zrcwR4iV4D94iJZ1xFawiREA==", + "version": "5.0.0-alpha.175", + "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.175.tgz", + "integrity": "sha512-AvM0Nvnnj7vHc9+pkkQkoE1i+dEbr6gsMdnSfy7X4w3Ljgcj1yrjZhIt3jGTCLzyKVLa6uve5eLluOcGkvMqUA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/base": "5.0.0-beta.40", - "@mui/system": "^5.16.8", + "@mui/base": "5.0.0-beta.40-0", + "@mui/system": "^5.16.12", "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.8", + "@mui/utils": "^5.16.12", "clsx": "^2.1.0", "prop-types": "^15.8.1" }, @@ -6417,85 +5988,23 @@ } } }, - "node_modules/@mui/lab/node_modules/@mui/base": { - "version": "5.0.0-beta.40", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.40.tgz", - "integrity": "sha512-I/lGHztkCzvwlXpjD2+SNmvNQvB4227xBXhISPjEaJUXGImOQ9f3D2Yj/T3KasSI/h0MLWy74X0J6clhPmsRbQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@floating-ui/react-dom": "^2.0.8", - "@mui/types": "^7.2.14", - "@mui/utils": "^5.15.14", - "@popperjs/core": "^2.11.8", - "clsx": "^2.1.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/lab/node_modules/@mui/utils": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.8.tgz", - "integrity": "sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/types": "^7.2.15", - "@types/prop-types": "^15.7.12", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.3.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/material": { - "version": "5.16.9", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.9.tgz", - "integrity": "sha512-XC0oHFm7mrWV0tvhed9uv/o6kLNClnLj1eo/ufuKbj+rgk47ek8Y6HjHe3cGvMn4Bcq8KyoQPgzdwqvS2ZzYrA==", + "version": "5.16.13", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.16.13.tgz", + "integrity": "sha512-FhLDkDPYDzvrWCHFsdXzRArhS4AdYufU8d69rmLL+bwhodPcbm2C7cS8Gq5VR32PsW6aKZb58gvAgvEVaiiJbA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/core-downloads-tracker": "^5.16.9", - "@mui/system": "^5.16.8", + "@mui/core-downloads-tracker": "^5.16.13", + "@mui/system": "^5.16.13", "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.8", + "@mui/utils": "^5.16.13", "@popperjs/core": "^2.11.8", "@types/react-transition-group": "^4.4.10", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1", - "react-is": "^18.3.1", + "react-is": "^19.0.0", "react-transition-group": "^4.4.5" }, "engines": { @@ -6524,44 +6033,14 @@ } } }, - "node_modules/@mui/material/node_modules/@mui/utils": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.8.tgz", - "integrity": "sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/types": "^7.2.15", - "@types/prop-types": "^15.7.12", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.3.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/private-theming": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.8.tgz", - "integrity": "sha512-3Vl9yFVLU6T3CFtxRMQTcJ60Ijv7wxQi4yjH92+9YXcsqvVspeIYoocqNoIV/1bXGYfyWu5zrCmwQVHaGY7bug==", + "version": "5.16.13", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.16.13.tgz", + "integrity": "sha512-+s0FklvDvO7j0yBZn19DIIT3rLfub2fWvXGtMX49rG/xHfDFcP7fbWbZKHZMMP/2/IoTRDrZCbY1iP0xZlmuJA==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/utils": "^5.16.8", + "@mui/utils": "^5.16.13", "prop-types": "^15.8.1" }, "engines": { @@ -6581,44 +6060,14 @@ } } }, - "node_modules/@mui/private-theming/node_modules/@mui/utils": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.8.tgz", - "integrity": "sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/types": "^7.2.15", - "@types/prop-types": "^15.7.12", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.3.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/styled-engine": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.8.tgz", - "integrity": "sha512-OFdgFf8JczSRs0kvWGdSn0ZeXxWrY0LITDPJ/nAtLEvUUTyrlFaO4il3SECX8ruzvf1VnAxHx4M/4mX9oOn9yA==", + "version": "5.16.13", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.16.13.tgz", + "integrity": "sha512-2XNHEG8/o1ucSLhTA9J+HIIXjzlnEc0OV7kneeUQ5JukErPYT2zc6KYBDLjlKWrzQyvnQzbiffjjspgHUColZg==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@emotion/cache": "^11.11.0", + "@emotion/cache": "^11.13.5", "csstype": "^3.1.3", "prop-types": "^15.8.1" }, @@ -6644,16 +6093,16 @@ } }, "node_modules/@mui/system": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.8.tgz", - "integrity": "sha512-L32TaFDFpGIi1g6ysRtmhc9zDgrlxDXu3NlrGE8gAsQw/ziHrPdr0PNr20O0POUshA1q14W4dNZ/z0Nx2F9lhA==", + "version": "5.16.13", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.16.13.tgz", + "integrity": "sha512-JnO3VH3yNoAmgyr44/2jiS1tcNwshwAqAaG5fTEEjHQbkuZT/mvPYj2GC1cON0zEQ5V03xrCNl/D+gU9AXibpw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.9", - "@mui/private-theming": "^5.16.8", - "@mui/styled-engine": "^5.16.8", + "@mui/private-theming": "^5.16.13", + "@mui/styled-engine": "^5.16.13", "@mui/types": "^7.2.15", - "@mui/utils": "^5.16.8", + "@mui/utils": "^5.16.13", "clsx": "^2.1.0", "csstype": "^3.1.3", "prop-types": "^15.8.1" @@ -6683,40 +6132,10 @@ } } }, - "node_modules/@mui/system/node_modules/@mui/utils": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.8.tgz", - "integrity": "sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/types": "^7.2.15", - "@types/prop-types": "^15.7.12", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.3.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/types": { - "version": "7.2.19", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.19.tgz", - "integrity": "sha512-6XpZEM/Q3epK9RN8ENoXuygnqUQxE+siN/6rGRi2iwJPgBUR25mphYQ9ZI87plGh58YoZ5pp40bFvKYOCDJ3tA==", + "version": "7.2.21", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.21.tgz", + "integrity": "sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww==", "license": "MIT", "peerDependencies": { "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" @@ -6728,20 +6147,20 @@ } }, "node_modules/@mui/utils": { - "version": "6.1.10", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.1.10.tgz", - "integrity": "sha512-1ETuwswGjUiAf2dP9TkBy8p49qrw2wXa+RuAjNTRE5+91vtXJ1HKrs7H9s8CZd1zDlQVzUcUAPm9lpQwF5ogTw==", + "version": "5.16.13", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.13.tgz", + "integrity": "sha512-35kLiShnDPByk57Mz4PP66fQUodCFiOD92HfpW6dK9lc7kjhZsKHRKeYPgWuwEHeXwYsCSFtBCW4RZh/8WT+TQ==", "license": "MIT", "dependencies": { - "@babel/runtime": "^7.26.0", - "@mui/types": "^7.2.19", - "@types/prop-types": "^15.7.13", + "@babel/runtime": "^7.23.9", + "@mui/types": "^7.2.15", + "@types/prop-types": "^15.7.12", "clsx": "^2.1.1", "prop-types": "^15.8.1", - "react-is": "^18.3.1" + "react-is": "^19.0.0" }, "engines": { - "node": ">=14.0.0" + "node": ">=12.0.0" }, "funding": { "type": "opencollective", @@ -6783,36 +6202,6 @@ "react-dom": "^17.0.0 || ^18.0.0" } }, - "node_modules/@mui/x-data-grid/node_modules/@mui/utils": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.8.tgz", - "integrity": "sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/types": "^7.2.15", - "@types/prop-types": "^15.7.12", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.3.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/x-date-pickers": { "version": "6.20.2", "resolved": "https://registry.npmjs.org/@mui/x-date-pickers/-/x-date-pickers-6.20.2.tgz", @@ -6879,36 +6268,6 @@ } } }, - "node_modules/@mui/x-date-pickers/node_modules/@mui/utils": { - "version": "5.16.8", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.16.8.tgz", - "integrity": "sha512-P/yb7BSWallQUeiNGxb+TM8epHteIUC8gzNTdPV2VfKhVY/EnGliHgt5np0GPkjQ7EzwDi/+gBevrAJtf+K94A==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/types": "^7.2.15", - "@types/prop-types": "^15.7.12", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^18.3.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@multiformats/base-x": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz", @@ -7032,42 +6391,36 @@ } }, "node_modules/@noble/ciphers": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-0.6.0.tgz", - "integrity": "sha512-mIbq/R9QXk5/cTfESb1OKtyFnk7oc1Om/8onA1158K9/OZUQFDEVy55jVTato+xmp3XX6F6Qh0zz0Nc1AxAlRQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@noble/ciphers/-/ciphers-1.2.0.tgz", + "integrity": "sha512-YGdEUzYEd+82jeaVbSKKVp1jFZb8LwaNMIIzHFkihGvYdd/KKAr7KaJHdEdSYGredE3ssSravXIa0Jxg28Sv5w==", "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@noble/curves": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", - "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.8.0.tgz", + "integrity": "sha512-j84kjAbzEnQHaSIhRPUmB3/eVXu2k3dKPl2LOrR8fSOIL+89U+7lV117EWHtq/GHM3ReGHM46iRBdZfpc4HRUQ==", "license": "MIT", "dependencies": { - "@noble/hashes": "1.4.0" + "@noble/hashes": "1.7.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/@noble/curves/node_modules/@noble/hashes": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", - "integrity": "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==", - "license": "MIT", "engines": { - "node": ">= 16" + "node": "^14.21.3 || >=16" }, "funding": { "url": "https://paulmillr.com/funding/" } }, "node_modules/@noble/hashes": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", - "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.7.0.tgz", + "integrity": "sha512-HXydb0DgzTpDPwbVeDGCG1gIu7X6+AuU6Zl6av/E/KG8LMsvPntvq+w17CHRpKBmN6Ybdrt1eP3k4cj8DJa78w==", "license": "MIT", "engines": { "node": "^14.21.3 || >=16" @@ -7122,9 +6475,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "20.2.0", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.2.0.tgz", - "integrity": "sha512-yW5ICzdtT5nncXraGFfqKqhs2pR+t9ZxoLrM7qwSt9XOtkyVYk/OhkJcdotVG3XiQeDSA86OsnMFlXNs6nKPMg==", + "version": "20.3.0", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-20.3.0.tgz", + "integrity": "sha512-nkA2DLI+rpmiuiy7dyXP4l9s7dgHkQWDX7lG1XltiT41RzAReJF1h8qBE6XrsAYE1CtI76DRWVphnc93+iZr+A==", "cpu": [ "x64" ], @@ -7148,17 +6501,17 @@ } }, "node_modules/@octokit/core": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.2.tgz", - "integrity": "sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-6.1.3.tgz", + "integrity": "sha512-z+j7DixNnfpdToYsOutStDgeRzJSMnbj8T1C/oQjB6Aa+kRfNjs/Fn7W6c8bmlt6mfy3FkgeKBRnDjxQow5dow==", "dev": true, "license": "MIT", "dependencies": { "@octokit/auth-token": "^5.0.0", - "@octokit/graphql": "^8.0.0", - "@octokit/request": "^9.0.0", - "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.0.0", + "@octokit/graphql": "^8.1.2", + "@octokit/request": "^9.1.4", + "@octokit/request-error": "^6.1.6", + "@octokit/types": "^13.6.2", "before-after-hook": "^3.0.2", "universal-user-agent": "^7.0.0" }, @@ -7167,13 +6520,13 @@ } }, "node_modules/@octokit/endpoint": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.1.tgz", - "integrity": "sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==", + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-10.1.2.tgz", + "integrity": "sha512-XybpFv9Ms4hX5OCHMZqyODYqGTZ3H6K6Vva+M9LR7ib/xr1y1ZnlChYv9H680y77Vd/i/k+thXApeRASBQkzhA==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0", + "@octokit/types": "^13.6.2", "universal-user-agent": "^7.0.2" }, "engines": { @@ -7181,14 +6534,14 @@ } }, "node_modules/@octokit/graphql": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.1.tgz", - "integrity": "sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-8.1.2.tgz", + "integrity": "sha512-bdlj/CJVjpaz06NBpfHhp4kGJaRZfz7AzC+6EwUImRtrwIw8dIgJ63Xg0OzV9pRn3rIzrt5c2sa++BL0JJ8GLw==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/request": "^9.0.0", - "@octokit/types": "^13.0.0", + "@octokit/request": "^9.1.4", + "@octokit/types": "^13.6.2", "universal-user-agent": "^7.0.0" }, "engines": { @@ -7254,15 +6607,16 @@ } }, "node_modules/@octokit/request": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", - "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", + "version": "9.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.4.tgz", + "integrity": "sha512-tMbOwGm6wDII6vygP3wUVqFTw3Aoo0FnVQyhihh8vVq12uO3P+vQZeo2CKMpWtPSogpACD0yyZAlVlQnjW71DA==", "dev": true, "license": "MIT", "dependencies": { "@octokit/endpoint": "^10.0.0", "@octokit/request-error": "^6.0.1", - "@octokit/types": "^13.1.0", + "@octokit/types": "^13.6.2", + "fast-content-type-parse": "^2.0.0", "universal-user-agent": "^7.0.2" }, "engines": { @@ -7270,13 +6624,13 @@ } }, "node_modules/@octokit/request-error": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.5.tgz", - "integrity": "sha512-IlBTfGX8Yn/oFPMwSfvugfncK2EwRLjzbrpifNaMY8o/HTEAFqCA1FZxjD9cWvSKBHgrIhc4CSBIzMxiLsbzFQ==", + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.6.tgz", + "integrity": "sha512-pqnVKYo/at0NuOjinrgcQYpEbv4snvP3bKMRqHaD9kIsk9u1LCpb2smHZi8/qJfgeNqLo5hNW4Z7FezNdEo0xg==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/types": "^13.0.0" + "@octokit/types": "^13.6.2" }, "engines": { "node": ">= 18" @@ -7323,125 +6677,6 @@ "integrity": "sha512-RefjXB3d5Ub1I3GoIf/mfgTsvmAneWoeQwpmiuXYx1NmmSdbtBxDUk4POtSWUCnvoiJP0Y2frATnYMV30J1b1A==", "license": "Apache-2.0" }, - "node_modules/@parcel/watcher": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz", - "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.0", - "@parcel/watcher-darwin-arm64": "2.5.0", - "@parcel/watcher-darwin-x64": "2.5.0", - "@parcel/watcher-freebsd-x64": "2.5.0", - "@parcel/watcher-linux-arm-glibc": "2.5.0", - "@parcel/watcher-linux-arm-musl": "2.5.0", - "@parcel/watcher-linux-arm64-glibc": "2.5.0", - "@parcel/watcher-linux-arm64-musl": "2.5.0", - "@parcel/watcher-linux-x64-glibc": "2.5.0", - "@parcel/watcher-linux-x64-musl": "2.5.0", - "@parcel/watcher-win32-arm64": "2.5.0", - "@parcel/watcher-win32-ia32": "2.5.0", - "@parcel/watcher-win32-x64": "2.5.0" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz", - "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz", - "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-wasm": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.5.0.tgz", - "integrity": "sha512-Z4ouuR8Pfggk1EYYbTaIoxc+Yv4o7cGQnH0Xy8+pQ+HbiW+ZnwhcD2LPf/prfq1nIWpAxjOkQ8uSMFWMtBLiVQ==", - "bundleDependencies": [ - "napi-wasm" - ], - "license": "MIT", - "dependencies": { - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "napi-wasm": "^1.1.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": { - "version": "1.1.0", - "inBundle": true, - "license": "MIT" - }, - "node_modules/@parcel/watcher/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "license": "Apache-2.0", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@parcel/watcher/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "license": "MIT" - }, "node_modules/@passwordless-id/webauthn": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/@passwordless-id/webauthn/-/webauthn-1.6.2.tgz", @@ -7451,131 +6686,139 @@ "url": "https://github.com/sponsors/passwordless-id" } }, + "node_modules/@paulmillr/qr": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@paulmillr/qr/-/qr-0.2.1.tgz", + "integrity": "sha512-IHnV6A+zxU7XwmKFinmYjUcwlyK9+xkG3/s9KcQhI9BjQKycrJ1JRO+FbNYPwZiPKW3je/DR0k7w8/gLa5eaxQ==", + "license": "(MIT OR Apache-2.0)", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@peculiar/asn1-cms": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.3.13.tgz", - "integrity": "sha512-joqu8A7KR2G85oLPq+vB+NFr2ro7Ls4ol13Zcse/giPSzUNN0n2k3v8kMpf6QdGUhI13e5SzQYN8AKP8sJ8v4w==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.3.15.tgz", + "integrity": "sha512-B+DoudF+TCrxoJSTjjcY8Mmu+lbv8e7pXGWrhNp2/EGJp9EEcpzjBCar7puU57sGifyzaRVM03oD5L7t7PghQg==", "license": "MIT", "dependencies": { - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/asn1-x509": "^2.3.13", - "@peculiar/asn1-x509-attr": "^2.3.13", + "@peculiar/asn1-schema": "^2.3.15", + "@peculiar/asn1-x509": "^2.3.15", + "@peculiar/asn1-x509-attr": "^2.3.15", "asn1js": "^3.0.5", - "tslib": "^2.6.2" + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-csr": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.3.13.tgz", - "integrity": "sha512-+JtFsOUWCw4zDpxp1LbeTYBnZLlGVOWmHHEhoFdjM5yn4wCn+JiYQ8mghOi36M2f6TPQ17PmhNL6/JfNh7/jCA==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.3.15.tgz", + "integrity": "sha512-caxAOrvw2hUZpxzhz8Kp8iBYKsHbGXZPl2KYRMIPvAfFateRebS3136+orUpcVwHRmpXWX2kzpb6COlIrqCumA==", "license": "MIT", "dependencies": { - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/asn1-x509": "^2.3.13", + "@peculiar/asn1-schema": "^2.3.15", + "@peculiar/asn1-x509": "^2.3.15", "asn1js": "^3.0.5", - "tslib": "^2.6.2" + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-ecc": { - "version": "2.3.14", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.3.14.tgz", - "integrity": "sha512-zWPyI7QZto6rnLv6zPniTqbGaLh6zBpJyI46r1yS/bVHJXT2amdMHCRRnbV5yst2H8+ppXG6uXu/M6lKakiQ8w==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.3.15.tgz", + "integrity": "sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA==", "license": "MIT", "dependencies": { - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/asn1-x509": "^2.3.13", + "@peculiar/asn1-schema": "^2.3.15", + "@peculiar/asn1-x509": "^2.3.15", "asn1js": "^3.0.5", - "tslib": "^2.6.2" + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-pfx": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.3.13.tgz", - "integrity": "sha512-fypYxjn16BW+5XbFoY11Rm8LhZf6euqX/C7BTYpqVvLem1GvRl7A+Ro1bO/UPwJL0z+1mbvXEnkG0YOwbwz2LA==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.3.15.tgz", + "integrity": "sha512-E3kzQe3J2xV9DP6SJS4X6/N1e4cYa2xOAK46VtvpaRk8jlheNri8v0rBezKFVPB1rz/jW8npO+u1xOvpATFMWg==", "license": "MIT", "dependencies": { - "@peculiar/asn1-cms": "^2.3.13", - "@peculiar/asn1-pkcs8": "^2.3.13", - "@peculiar/asn1-rsa": "^2.3.13", - "@peculiar/asn1-schema": "^2.3.13", + "@peculiar/asn1-cms": "^2.3.15", + "@peculiar/asn1-pkcs8": "^2.3.15", + "@peculiar/asn1-rsa": "^2.3.15", + "@peculiar/asn1-schema": "^2.3.15", "asn1js": "^3.0.5", - "tslib": "^2.6.2" + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-pkcs8": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.3.13.tgz", - "integrity": "sha512-VP3PQzbeSSjPjKET5K37pxyf2qCdM0dz3DJ56ZCsol3FqAXGekb4sDcpoL9uTLGxAh975WcdvUms9UcdZTuGyQ==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.3.15.tgz", + "integrity": "sha512-/PuQj2BIAw1/v76DV1LUOA6YOqh/UvptKLJHtec/DQwruXOCFlUo7k6llegn8N5BTeZTWMwz5EXruBw0Q10TMg==", "license": "MIT", "dependencies": { - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/asn1-x509": "^2.3.13", + "@peculiar/asn1-schema": "^2.3.15", + "@peculiar/asn1-x509": "^2.3.15", "asn1js": "^3.0.5", - "tslib": "^2.6.2" + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-pkcs9": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.3.13.tgz", - "integrity": "sha512-rIwQXmHpTo/dgPiWqUgby8Fnq6p1xTJbRMxCiMCk833kQCeZrC5lbSKg6NDnJTnX2kC6IbXBB9yCS2C73U2gJg==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.3.15.tgz", + "integrity": "sha512-yiZo/1EGvU1KiQUrbcnaPGWc0C7ElMMskWn7+kHsCFm+/9fU0+V1D/3a5oG0Jpy96iaXggQpA9tzdhnYDgjyFg==", "license": "MIT", "dependencies": { - "@peculiar/asn1-cms": "^2.3.13", - "@peculiar/asn1-pfx": "^2.3.13", - "@peculiar/asn1-pkcs8": "^2.3.13", - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/asn1-x509": "^2.3.13", - "@peculiar/asn1-x509-attr": "^2.3.13", + "@peculiar/asn1-cms": "^2.3.15", + "@peculiar/asn1-pfx": "^2.3.15", + "@peculiar/asn1-pkcs8": "^2.3.15", + "@peculiar/asn1-schema": "^2.3.15", + "@peculiar/asn1-x509": "^2.3.15", + "@peculiar/asn1-x509-attr": "^2.3.15", "asn1js": "^3.0.5", - "tslib": "^2.6.2" + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-rsa": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.3.13.tgz", - "integrity": "sha512-wBNQqCyRtmqvXkGkL4DR3WxZhHy8fDiYtOjTeCd7SFE5F6GBeafw3EJ94PX/V0OJJrjQ40SkRY2IZu3ZSyBqcg==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.3.15.tgz", + "integrity": "sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg==", "license": "MIT", "dependencies": { - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/asn1-x509": "^2.3.13", + "@peculiar/asn1-schema": "^2.3.15", + "@peculiar/asn1-x509": "^2.3.15", "asn1js": "^3.0.5", - "tslib": "^2.6.2" + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-schema": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.13.tgz", - "integrity": "sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.15.tgz", + "integrity": "sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==", "license": "MIT", "dependencies": { "asn1js": "^3.0.5", - "pvtsutils": "^1.3.5", - "tslib": "^2.6.2" + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-x509": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.3.13.tgz", - "integrity": "sha512-PfeLQl2skXmxX2/AFFCVaWU8U6FKW1Db43mgBhShCOFS1bVxqtvusq1hVjfuEcuSQGedrLdCSvTgabluwN/M9A==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.3.15.tgz", + "integrity": "sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg==", "license": "MIT", "dependencies": { - "@peculiar/asn1-schema": "^2.3.13", + "@peculiar/asn1-schema": "^2.3.15", "asn1js": "^3.0.5", - "ipaddr.js": "^2.1.0", - "pvtsutils": "^1.3.5", - "tslib": "^2.6.2" + "pvtsutils": "^1.3.6", + "tslib": "^2.8.1" } }, "node_modules/@peculiar/asn1-x509-attr": { - "version": "2.3.13", - "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.3.13.tgz", - "integrity": "sha512-WpEos6CcnUzJ6o2Qb68Z7Dz5rSjRGv/DtXITCNBtjZIRWRV12yFVci76SVfOX8sisL61QWMhpLKQibrG8pi2Pw==", + "version": "2.3.15", + "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.3.15.tgz", + "integrity": "sha512-TWJVJhqc+IS4MTEML3l6W1b0sMowVqdsnI4dnojg96LvTuP8dga9f76fjP07MUuss60uSyT2ckoti/2qHXA10A==", "license": "MIT", "dependencies": { - "@peculiar/asn1-schema": "^2.3.13", - "@peculiar/asn1-x509": "^2.3.13", + "@peculiar/asn1-schema": "^2.3.15", + "@peculiar/asn1-x509": "^2.3.15", "asn1js": "^3.0.5", - "tslib": "^2.6.2" + "tslib": "^2.8.1" } }, "node_modules/@peculiar/json-schema": { @@ -7770,18 +7013,18 @@ "license": "MIT" }, "node_modules/@radix-ui/primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz", - "integrity": "sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.1.tgz", + "integrity": "sha512-SJ31y+Q/zAyShtXJc8x83i9TYdbAfHZ++tUZnvjJJqFjzsdUnKsxPL6IEtBlxKkU7yzer//GQtZSV4GbldL3YA==", "license": "MIT" }, "node_modules/@radix-ui/react-arrow": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz", - "integrity": "sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.1.tgz", + "integrity": "sha512-NaVpZfmv8SKeZbn4ijN2V3jlHA9ngBG16VnIIm22nUR0Yk8KUALyBxT3KYEUnNuch9sTE8UTsS3whzBgKOL30w==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.0" + "@radix-ui/react-primitive": "2.0.1" }, "peerDependencies": { "@types/react": "*", @@ -7799,15 +7042,15 @@ } }, "node_modules/@radix-ui/react-collection": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.0.tgz", - "integrity": "sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.1.tgz", + "integrity": "sha512-LwT3pSho9Dljg+wY2KN2mrrh6y3qELfftINERIzBUO9e0N+t0oMTyn3k9iv+ZqgrwGkRnLpNJrsMv9BZlt2yuA==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-context": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0" + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -7824,10 +7067,10 @@ } } }, - "node_modules/@radix-ui/react-collection/node_modules/@radix-ui/react-context": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz", - "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==", + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.1.tgz", + "integrity": "sha512-Y9VzoRDSJtgFMUCoiZBDVo084VQ5hfpXxVE+NgkdNsjiDBByiImMZKKhxMwCbdHvhlENG6a833CbFkOQvTricw==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -7839,10 +7082,61 @@ } } }, - "node_modules/@radix-ui/react-compose-refs": { + "node_modules/@radix-ui/react-context": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", + "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.4.tgz", + "integrity": "sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.3", + "@radix-ui/react-focus-guards": "1.1.1", + "@radix-ui/react-focus-scope": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-portal": "1.1.3", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-slot": "1.1.1", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "^2.6.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz", - "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz", + "integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -7854,10 +7148,37 @@ } } }, - "node_modules/@radix-ui/react-context": { + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.3.tgz", + "integrity": "sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", - "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz", + "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -7869,172 +7190,79 @@ } } }, - "node_modules/@radix-ui/react-dialog": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.2.tgz", - "integrity": "sha512-Yj4dZtqa2o+kG61fzB0H2qUvmwBA2oyQroGLyNtBj1beo1khoQ3q1a2AO8rrQYjd8256CO9+N8L9tvsS+bnIyA==", + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.1.tgz", + "integrity": "sha512-01omzJAYRxXdG2/he/+xy+c8a8gCydoQ1yOxnWNcRhrrBW5W+RQJ22EK1SaO8tb3WoUsuEw7mJjBozPzihDFjA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-icons": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.2.tgz", + "integrity": "sha512-fyQIhGDhzfc9pK2kH6Pl9c4BDJGfMkPqkyIgYDthyNYoNg3wVhoJMMh19WS4Up/1KMPFVpNsT2q3WmXn2N1m6g==", + "license": "MIT", + "peerDependencies": { + "react": "^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc" + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", + "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popover": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.4.tgz", + "integrity": "sha512-aUACAkXx8LaFymDma+HQVji7WhvEhpFJ7+qPz17Nf4lLZqtreGOFRiNQWQmhzp7kEWg9cOyyQJpdIMUMPc/CPw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.3", "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.1", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-portal": "1.1.2", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-popper": "1.2.1", + "@radix-ui/react-portal": "1.1.3", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-slot": "1.1.1", "@radix-ui/react-use-controllable-state": "1.1.0", "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.6.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-direction": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz", - "integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.1.tgz", - "integrity": "sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-use-callback-ref": "1.1.0", - "@radix-ui/react-use-escape-keydown": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-guards": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.1.tgz", - "integrity": "sha512-pSIwfrT1a6sIoDASCSpFwOasEwKTZWDw/iBdtnqKO7v6FeOzYJ7U53cPzYFVR3geGGXgVHaH+CdngrrAzqUGxg==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-scope": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz", - "integrity": "sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-use-callback-ref": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", - "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-icons": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-icons/-/react-icons-1.3.2.tgz", - "integrity": "sha512-fyQIhGDhzfc9pK2kH6Pl9c4BDJGfMkPqkyIgYDthyNYoNg3wVhoJMMh19WS4Up/1KMPFVpNsT2q3WmXn2N1m6g==", - "license": "MIT", - "peerDependencies": { - "react": "^16.x || ^17.x || ^18.x || ^19.0.0 || ^19.0.0-rc" - } - }, - "node_modules/@radix-ui/react-id": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", - "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.0" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-popover": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.1.2.tgz", - "integrity": "sha512-u2HRUyWW+lOiA2g0Le0tMmT55FGOEWHwPFt1EPfbLly7uXQExFo5duNKqG2DzmFXIdqOeNd+TpE8baHWJCyP9w==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.1", - "@radix-ui/react-focus-guards": "1.1.1", - "@radix-ui/react-focus-scope": "1.1.0", - "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.0", - "@radix-ui/react-portal": "1.1.2", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0", - "@radix-ui/react-use-controllable-state": "1.1.0", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.6.0" + "react-remove-scroll": "^2.6.1" }, "peerDependencies": { "@types/react": "*", @@ -8052,16 +7280,16 @@ } }, "node_modules/@radix-ui/react-popper": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.0.tgz", - "integrity": "sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.1.tgz", + "integrity": "sha512-3kn5Me69L+jv82EKRuQCXdYyf1DqHwD2U/sxoNgBGCB7K9TRc3bQamQ+5EPM9EvyPdli0W41sROd+ZU1dTCztw==", "license": "MIT", "dependencies": { "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-context": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-arrow": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-layout-effect": "1.1.0", "@radix-ui/react-use-rect": "1.1.0", @@ -8083,28 +7311,13 @@ } } }, - "node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-context": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz", - "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-portal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.2.tgz", - "integrity": "sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.3.tgz", + "integrity": "sha512-NciRqhXnGojhT93RPyDaMPfLH3ZSl4jjIFbZQ1b/vxvZEdHsBZ49wP9w8L3HzUQwep01LcWtkUvm0OVB5JAHTw==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { @@ -8123,12 +7336,12 @@ } }, "node_modules/@radix-ui/react-presence": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.1.tgz", - "integrity": "sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.2.tgz", + "integrity": "sha512-18TFr80t5EVgL9x1SwF/YGtfG+l0BS0PRAlCWBDoBEiDQjeKgnNZRVJp/oVBl24sr3Gbfwc/Qpj4OcWTQMsAEg==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { @@ -8147,12 +7360,12 @@ } }, "node_modules/@radix-ui/react-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz", - "integrity": "sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.1.tgz", + "integrity": "sha512-sHCWTtxwNn3L3fH8qAfnF3WbUZycW93SM1j3NFDzXBiz8D6F5UTTy8G1+WFEaiCdvCVRJWj6N2R4Xq6HdiHmDg==", "license": "MIT", "dependencies": { - "@radix-ui/react-slot": "1.1.0" + "@radix-ui/react-slot": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -8170,18 +7383,18 @@ } }, "node_modules/@radix-ui/react-roving-focus": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.0.tgz", - "integrity": "sha512-EA6AMGeq9AEeQDeSH0aZgG198qkfHSbvWTf1HvoDmOB5bBG/qTxjYMWUKMnYiV6J/iP/J8MEFSuB2zRU2n7ODA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.1.1.tgz", + "integrity": "sha512-QE1RoxPGJ/Nm8Qmk0PxP8ojmoaS67i0s7hVssS7KuI2FQoc/uzVlZsqKfQvxPE6D8hICCPHJ4D88zNhT3OOmkw==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-collection": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", - "@radix-ui/react-context": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-collection": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", + "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-primitive": "2.0.1", "@radix-ui/react-use-callback-ref": "1.1.0", "@radix-ui/react-use-controllable-state": "1.1.0" }, @@ -8200,28 +7413,13 @@ } } }, - "node_modules/@radix-ui/react-roving-focus/node_modules/@radix-ui/react-context": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz", - "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@radix-ui/react-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz", - "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.1.tgz", + "integrity": "sha512-RApLLOcINYJA+dMVbOju7MYv1Mb2EBp2nH4HdDzXTSyaR5optlm6Otrz1euW3HbdOR8UmmFK06TD+A9frYWv+g==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.0" + "@radix-ui/react-compose-refs": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -8234,18 +7432,18 @@ } }, "node_modules/@radix-ui/react-tabs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.1.tgz", - "integrity": "sha512-3GBUDmP2DvzmtYLMsHmpA1GtR46ZDZ+OreXM/N+kkQJOPIgytFWWTfDQmBQKBvaFS0Vno0FktdbVzN28KGrMdw==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.1.2.tgz", + "integrity": "sha512-9u/tQJMcC2aGq7KXpGivMm1mgq7oRJKXphDwdypPd/j21j/2znamPU8WkXgnhUaTrSFNIt8XhOyCAupg8/GbwQ==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", + "@radix-ui/primitive": "1.1.1", "@radix-ui/react-context": "1.1.1", "@radix-ui/react-direction": "1.1.0", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-roving-focus": "1.1.0", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-roving-focus": "1.1.1", "@radix-ui/react-use-controllable-state": "1.1.0" }, "peerDependencies": { @@ -8264,23 +7462,23 @@ } }, "node_modules/@radix-ui/react-tooltip": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.4.tgz", - "integrity": "sha512-QpObUH/ZlpaO4YgHSaYzrLO2VuO+ZBFFgGzjMUPwtiYnAzzNNDPJeEGRrT7qNOrWm/Jr08M1vlp+vTHtnSQ0Uw==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.6.tgz", + "integrity": "sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.0", - "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/primitive": "1.1.1", + "@radix-ui/react-compose-refs": "1.1.1", "@radix-ui/react-context": "1.1.1", - "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.3", "@radix-ui/react-id": "1.1.0", - "@radix-ui/react-popper": "1.2.0", - "@radix-ui/react-portal": "1.1.2", - "@radix-ui/react-presence": "1.1.1", - "@radix-ui/react-primitive": "2.0.0", - "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-popper": "1.2.1", + "@radix-ui/react-portal": "1.1.3", + "@radix-ui/react-presence": "1.1.2", + "@radix-ui/react-primitive": "2.0.1", + "@radix-ui/react-slot": "1.1.1", "@radix-ui/react-use-controllable-state": "1.1.0", - "@radix-ui/react-visually-hidden": "1.1.0" + "@radix-ui/react-visually-hidden": "1.1.1" }, "peerDependencies": { "@types/react": "*", @@ -8400,12 +7598,12 @@ } }, "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz", - "integrity": "sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.1.tgz", + "integrity": "sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.0.0" + "@radix-ui/react-primitive": "2.0.1" }, "peerDependencies": { "@types/react": "*", @@ -8429,9 +7627,9 @@ "license": "MIT" }, "node_modules/@reduxjs/toolkit": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.4.0.tgz", - "integrity": "sha512-wJZEuSKj14tvNfxiIiJws0tQN77/rDqucBq528ApebMIRHyWpCanJVQRxQ8WWZC19iCDKxDsGlbAir3F1layxA==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.5.0.tgz", + "integrity": "sha512-awNe2oTodsZ6LmRqmkFhtb/KH03hUhxOamEQy411m3Njj3BbFvoBovxo4Q1cBWnV1ErprVj9MlF0UPXkng0eyg==", "license": "MIT", "dependencies": { "immer": "^10.0.3", @@ -8440,7 +7638,7 @@ "reselect": "^5.1.0" }, "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18", + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" }, "peerDependenciesMeta": { @@ -8490,9 +7688,9 @@ } }, "node_modules/@rollup/pluginutils": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.3.tgz", - "integrity": "sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==", + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", + "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", "license": "MIT", "dependencies": { "@types/estree": "^1.0.0", @@ -8511,10 +7709,206 @@ } } }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.29.1.tgz", + "integrity": "sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.29.1.tgz", + "integrity": "sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.29.1.tgz", + "integrity": "sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.29.1.tgz", + "integrity": "sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.29.1.tgz", + "integrity": "sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.29.1.tgz", + "integrity": "sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.29.1.tgz", + "integrity": "sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.29.1.tgz", + "integrity": "sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.29.1.tgz", + "integrity": "sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.29.1.tgz", + "integrity": "sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.29.1.tgz", + "integrity": "sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.29.1.tgz", + "integrity": "sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.29.1.tgz", + "integrity": "sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.29.1.tgz", + "integrity": "sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.28.0.tgz", - "integrity": "sha512-Nl4KIzteVEKE9BdAvYoTkW19pa7LR/RBrT6F1dJCV/3pbjwDcaOq+edkP0LXuJ9kflW/xOK414X78r+K84+msw==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.29.1.tgz", + "integrity": "sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==", "cpu": [ "x64" ], @@ -8525,9 +7919,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.28.0.tgz", - "integrity": "sha512-eKpJr4vBDOi4goT75MvW+0dXcNUqisK4jvibY9vDdlgLx+yekxSm55StsHbxUsRxSTt3JEQvlr3cGDkzcSP8bw==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.29.1.tgz", + "integrity": "sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==", "cpu": [ "x64" ], @@ -8538,6 +7932,48 @@ "linux" ] }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.29.1.tgz", + "integrity": "sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.29.1.tgz", + "integrity": "sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.29.1.tgz", + "integrity": "sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rtsao/scc": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", @@ -8589,15 +8025,6 @@ "integrity": "sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==", "license": "MIT" }, - "node_modules/@safe-global/safe-core-sdk-types/node_modules/cross-fetch": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "license": "MIT", - "dependencies": { - "node-fetch": "^2.6.12" - } - }, "node_modules/@safe-global/safe-core-sdk-types/node_modules/eventemitter3": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz", @@ -8783,9 +8210,9 @@ } }, "node_modules/@safe-global/safe-deployments": { - "version": "1.37.20", - "resolved": "https://registry.npmjs.org/@safe-global/safe-deployments/-/safe-deployments-1.37.20.tgz", - "integrity": "sha512-2T2cYtgpLGzxM0GUPXd5mqZiQ193fgWXB2Yg0Azd/EBpBsAfUEWVmjdux+5D2aNNyVv++16Hq5GqiOv5sU07Tg==", + "version": "1.37.22", + "resolved": "https://registry.npmjs.org/@safe-global/safe-deployments/-/safe-deployments-1.37.22.tgz", + "integrity": "sha512-acUBJ22qqivSjHOwa8laQuHckqpWDjphjdC3zPhUN6G/swHe1WJHN5F2sodtNIjEyRxM73JRRJFsLYfb0EhSAQ==", "license": "MIT", "dependencies": { "semver": "^7.6.2" @@ -8893,9 +8320,9 @@ } }, "node_modules/@scure/base": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", - "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", + "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", "license": "MIT", "funding": { "url": "https://paulmillr.com/funding/" @@ -8915,6 +8342,18 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@scure/bip32/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@scure/bip32/node_modules/@noble/hashes": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", @@ -8927,6 +8366,15 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@scure/bip32/node_modules/@scure/base": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@scure/bip39": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.3.0.tgz", @@ -8952,6 +8400,15 @@ "url": "https://paulmillr.com/funding/" } }, + "node_modules/@scure/bip39/node_modules/@scure/base": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/@sec-ant/readable-stream": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", @@ -8978,54 +8435,10 @@ "semantic-release": ">=18.0.0" } }, - "node_modules/@semantic-release/changelog/node_modules/@semantic-release/error": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", - "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.17" - } - }, - "node_modules/@semantic-release/changelog/node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/changelog/node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@semantic-release/changelog/node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/@semantic-release/commit-analyzer": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.0.tgz", - "integrity": "sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==", + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-13.0.1.tgz", + "integrity": "sha512-wdnBPHKkr9HhNhXOhZD5a2LNl91+hs8CC2vsAVYxtZH3y0dV3wKn+uZSN61rdJQZ8EGxzWB3inWocBHV9+u/CQ==", "dev": true, "license": "MIT", "dependencies": { @@ -9034,7 +8447,7 @@ "conventional-commits-filter": "^5.0.0", "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", - "import-from-esm": "^1.0.3", + "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", "micromatch": "^4.0.2" }, @@ -9046,13 +8459,13 @@ } }, "node_modules/@semantic-release/error": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", - "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", + "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", "dev": true, "license": "MIT", "engines": { - "node": ">=18" + "node": ">=14.17" } }, "node_modules/@semantic-release/git": { @@ -9078,185 +8491,101 @@ "semantic-release": ">=18.0.0" } }, - "node_modules/@semantic-release/git/node_modules/@semantic-release/error": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-3.0.0.tgz", - "integrity": "sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.17" - } - }, - "node_modules/@semantic-release/git/node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/git/node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@semantic-release/git/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "node_modules/@semantic-release/github": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.1.tgz", + "integrity": "sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==", "dev": true, "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" + "@octokit/core": "^6.0.0", + "@octokit/plugin-paginate-rest": "^11.0.0", + "@octokit/plugin-retry": "^7.0.0", + "@octokit/plugin-throttling": "^9.0.0", + "@semantic-release/error": "^4.0.0", + "aggregate-error": "^5.0.0", + "debug": "^4.3.4", + "dir-glob": "^3.0.1", + "globby": "^14.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "issue-parser": "^7.0.0", + "lodash-es": "^4.17.21", + "mime": "^4.0.0", + "p-filter": "^4.0.0", + "url-join": "^5.0.0" }, "engines": { - "node": ">=10" + "node": ">=20.8.1" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/@semantic-release/git/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" + "peerDependencies": { + "semantic-release": ">=24.1.0" } }, - "node_modules/@semantic-release/git/node_modules/indent-string": { + "node_modules/@semantic-release/github/node_modules/@semantic-release/error": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/git/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", "dev": true, "license": "MIT", "engines": { - "node": ">=6" + "node": ">=18" } }, - "node_modules/@semantic-release/git/node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/@semantic-release/github/node_modules/agent-base": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "dev": true, "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, "engines": { - "node": ">=8" + "node": ">= 14" } }, - "node_modules/@semantic-release/git/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/@semantic-release/github/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^2.1.0" + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" }, "engines": { - "node": ">=6" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/git/node_modules/p-reduce": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", - "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/git/node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/@semantic-release/github": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-11.0.1.tgz", - "integrity": "sha512-Z9cr0LgU/zgucbT9cksH0/pX9zmVda9hkDPcgIE0uvjMQ8w/mElDivGjx1w1pEQ+MuQJ5CBq3VCF16S6G4VH3A==", + "node_modules/@semantic-release/github/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", "dev": true, "license": "MIT", "dependencies": { - "@octokit/core": "^6.0.0", - "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-retry": "^7.0.0", - "@octokit/plugin-throttling": "^9.0.0", - "@semantic-release/error": "^4.0.0", - "aggregate-error": "^5.0.0", - "debug": "^4.3.4", - "dir-glob": "^3.0.1", - "globby": "^14.0.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.0", - "issue-parser": "^7.0.0", - "lodash-es": "^4.17.21", - "mime": "^4.0.0", - "p-filter": "^4.0.0", - "url-join": "^5.0.0" + "escape-string-regexp": "5.0.0" }, "engines": { - "node": ">=20.8.1" + "node": ">=14.16" }, - "peerDependencies": { - "semantic-release": ">=24.1.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@semantic-release/github/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "node_modules/@semantic-release/github/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { - "node": ">= 14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@semantic-release/github/node_modules/globby": { @@ -9281,23 +8610,36 @@ } }, "node_modules/@semantic-release/github/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { "node": ">= 14" } }, + "node_modules/@semantic-release/github/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/github/node_modules/mime": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.4.tgz", - "integrity": "sha512-v8yqInVjhXyqP6+Kw4fV3ZzeMRqEW6FotRsKXjRS5VMTNIuXsdRoAvklpoRgSqXm6o9VNH4/C0mgedko9DdLsQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/mime/-/mime-4.0.6.tgz", + "integrity": "sha512-4rGt7rvQHBbaSOF9POGkk1ocRP16Md1x36Xma8sz8h8/vfCUI2OtEIeCqe4Ofes853x4xDoPiFLIT47J5fI/7A==", "dev": true, "funding": [ "https://github.com/sponsors/broofa" @@ -9364,6 +8706,16 @@ "semantic-release": ">=20.1.0" } }, + "node_modules/@semantic-release/npm/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@semantic-release/npm/node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", @@ -9377,10 +8729,56 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@semantic-release/npm/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@semantic-release/npm/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.1.tgz", - "integrity": "sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", "dev": true, "license": "MIT", "dependencies": { @@ -9431,6 +8829,19 @@ "node": ">=18.18.0" } }, + "node_modules/@semantic-release/npm/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@semantic-release/npm/node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -9540,9 +8951,9 @@ } }, "node_modules/@semantic-release/release-notes-generator": { - "version": "14.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.1.tgz", - "integrity": "sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-14.0.3.tgz", + "integrity": "sha512-XxAZRPWGwO5JwJtS83bRdoIhCiYIx8Vhr+u231pQAsdFIAbm19rSVJLdnBN+Avvk7CKvNQE/nJ4y7uqKH6WTiw==", "dev": true, "license": "MIT", "dependencies": { @@ -9552,7 +8963,7 @@ "conventional-commits-parser": "^6.0.0", "debug": "^4.0.0", "get-stream": "^7.0.0", - "import-from-esm": "^1.0.3", + "import-from-esm": "^2.0.0", "into-stream": "^7.0.0", "lodash-es": "^4.17.21", "read-package-up": "^11.0.0" @@ -9578,50 +8989,50 @@ } }, "node_modules/@sentry-internal/browser-utils": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.42.0.tgz", - "integrity": "sha512-xzgRI0wglKYsPrna574w1t38aftuvo44gjOKFvPNGPnYfiW9y4m+64kUz3JFbtanvOrKPcaITpdYiB4DeJXEbA==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/browser-utils/-/browser-utils-8.47.0.tgz", + "integrity": "sha512-vOXzYzHTKkahTLDzWWIA4EiVCQ+Gk+7xGWUlNcR2ZiEPBqYZVb5MjsUozAcc7syrSUy6WicyFjcomZ3rlCVQhg==", "license": "MIT", "dependencies": { - "@sentry/core": "8.42.0" + "@sentry/core": "8.47.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/feedback": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.42.0.tgz", - "integrity": "sha512-dkIw5Wdukwzngg5gNJ0QcK48LyJaMAnBspqTqZ3ItR01STi6Z+6+/Bt5XgmrvDgRD+FNBinflc5zMmfdFXXhvw==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/feedback/-/feedback-8.47.0.tgz", + "integrity": "sha512-IAiIemTQIalxAOYhUENs9bZ8pMNgJnX3uQSuY7v0gknEqClOGpGkG04X/cxCmtJUj1acZ9ShTGDxoh55a+ggAQ==", "license": "MIT", "dependencies": { - "@sentry/core": "8.42.0" + "@sentry/core": "8.47.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.42.0.tgz", - "integrity": "sha512-oNcJEBlDfXnRFYC5Mxj5fairyZHNqlnU4g8kPuztB9G5zlsyLgWfPxzcn1ixVQunth2/WZRklDi4o1ZfyHww7w==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay/-/replay-8.47.0.tgz", + "integrity": "sha512-G/S40ZBORj0HSMLw/uVC6YDEPN/dqVk901vf4VYfml686DEhJrZesfAfp5SydJumQ0NKZQrdtvny+BWnlI5H1w==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "8.42.0", - "@sentry/core": "8.42.0" + "@sentry-internal/browser-utils": "8.47.0", + "@sentry/core": "8.47.0" }, "engines": { "node": ">=14.18" } }, "node_modules/@sentry-internal/replay-canvas": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.42.0.tgz", - "integrity": "sha512-XrPErqVhPsPh/oFLVKvz7Wb+Fi2J1zCPLeZCxWqFuPWI2agRyLVu0KvqJyzSpSrRAEJC/XFzuSVILlYlXXSfgA==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/replay-canvas/-/replay-canvas-8.47.0.tgz", + "integrity": "sha512-M4W9UGouEeELbGbP3QsXLDVtGiQSZoWJlKwqMWyqdQgZuLoKw0S33+60t6teLVMhuQZR0UI9VJTF5coiXysnnA==", "license": "MIT", "dependencies": { - "@sentry-internal/replay": "8.42.0", - "@sentry/core": "8.42.0" + "@sentry-internal/replay": "8.47.0", + "@sentry/core": "8.47.0" }, "engines": { "node": ">=14.18" @@ -9637,16 +9048,16 @@ } }, "node_modules/@sentry/browser": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.42.0.tgz", - "integrity": "sha512-lStrEk609KJHwXfDrOgoYVVoFFExixHywxSExk7ZDtwj2YPv6r6Y1gogvgr7dAZj7jWzadHkxZ33l9EOSJBfug==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry/browser/-/browser-8.47.0.tgz", + "integrity": "sha512-K6BzHisykmbFy/wORtGyfsAlw7ShevLALzu3ReZZZ18dVubO1bjSNjkZQU9MJD5Jcb9oLwkq89n3N9XIBfvdRA==", "license": "MIT", "dependencies": { - "@sentry-internal/browser-utils": "8.42.0", - "@sentry-internal/feedback": "8.42.0", - "@sentry-internal/replay": "8.42.0", - "@sentry-internal/replay-canvas": "8.42.0", - "@sentry/core": "8.42.0" + "@sentry-internal/browser-utils": "8.47.0", + "@sentry-internal/feedback": "8.47.0", + "@sentry-internal/replay": "8.47.0", + "@sentry-internal/replay-canvas": "8.47.0", + "@sentry/core": "8.47.0" }, "engines": { "node": ">=14.18" @@ -9712,6 +9123,71 @@ "@sentry/cli-win32-x64": "2.39.1" } }, + "node_modules/@sentry/cli-darwin": { + "version": "2.39.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.39.1.tgz", + "integrity": "sha512-kiNGNSAkg46LNGatfNH5tfsmI/kCAaPA62KQuFZloZiemTNzhy9/6NJP8HZ/GxGs8GDMxic6wNrV9CkVEgFLJQ==", + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-arm": { + "version": "2.39.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.39.1.tgz", + "integrity": "sha512-DkENbxyRxUrfLnJLXTA4s5UL/GoctU5Cm4ER1eB7XN7p9WsamFJd/yf2KpltkjEyiTuplv0yAbdjl1KX3vKmEQ==", + "cpu": [ + "arm" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-arm64": { + "version": "2.39.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.39.1.tgz", + "integrity": "sha512-5VbVJDatolDrWOgaffsEM7znjs0cR8bHt9Bq0mStM3tBolgAeSDHE89NgHggfZR+DJ2VWOy4vgCwkObrUD6NQw==", + "cpu": [ + "arm64" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-i686": { + "version": "2.39.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.39.1.tgz", + "integrity": "sha512-pXWVoKXCRrY7N8vc9H7mETiV9ZCz+zSnX65JQCzZxgYrayQPJTc+NPRnZTdYdk5RlAupXaFicBI2GwOCRqVRkg==", + "cpu": [ + "x86", + "ia32" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, "node_modules/@sentry/cli-linux-x64": { "version": "2.39.1", "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.39.1.tgz", @@ -9729,23 +9205,56 @@ "node": ">=10" } }, + "node_modules/@sentry/cli-win32-i686": { + "version": "2.39.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.39.1.tgz", + "integrity": "sha512-NglnNoqHSmE+Dz/wHeIVRnV2bLMx7tIn3IQ8vXGO5HWA2f8zYJGktbkLq1Lg23PaQmeZLPGlja3gBQfZYSG10Q==", + "cpu": [ + "x86", + "ia32" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-win32-x64": { + "version": "2.39.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.39.1.tgz", + "integrity": "sha512-xv0R2CMf/X1Fte3cMWie1NXuHmUyQPDBfCyIt6k6RPFPxAYUgcqgMPznYwVMwWEA1W43PaOkSn3d8ZylsDaETw==", + "cpu": [ + "x64" + ], + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, "node_modules/@sentry/core": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.42.0.tgz", - "integrity": "sha512-ac6O3pgoIbU6rpwz6LlwW0wp3/GAHuSI0C5IsTgIY6baN8rOBnlAtG6KrHDDkGmUQ2srxkDJu9n1O6Td3cBCqw==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-8.47.0.tgz", + "integrity": "sha512-iSEJZMe3DOcqBFZQAqgA3NB2lCWBc4Gv5x/SCri/TVg96wAlss4VrUunSI2Mp0J4jJ5nJcJ2ChqHSBAU48k3FA==", "license": "MIT", "engines": { "node": ">=14.18" } }, "node_modules/@sentry/react": { - "version": "8.42.0", - "resolved": "https://registry.npmjs.org/@sentry/react/-/react-8.42.0.tgz", - "integrity": "sha512-UBi/WM4oMa+kOA99R7t7Ke57zq6uQw6mALYW4fJ+wuhHZJBLDDDHSGpEUhdWuQ1oWQv/laT34DGS44PJOjfeAg==", + "version": "8.47.0", + "resolved": "https://registry.npmjs.org/@sentry/react/-/react-8.47.0.tgz", + "integrity": "sha512-SRk2Up+qBTow4rQGiRXViC2i4M5w/tae5w8I/rmX+IxFoPyh8wXERcLAj/8xbbRm8aR+A4i5gNgfFtrYsyFJFA==", "license": "MIT", "dependencies": { - "@sentry/browser": "8.42.0", - "@sentry/core": "8.42.0", + "@sentry/browser": "8.47.0", + "@sentry/core": "8.47.0", "hoist-non-react-statics": "^3.3.2" }, "engines": { @@ -9806,760 +9315,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@smithy/abort-controller": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.8.tgz", - "integrity": "sha512-+3DOBcUn5/rVjlxGvUPKc416SExarAQ+Qe0bqk30YSUjbepwpS7QN0cyKUSifvLJhdMZ0WPzPP5ymut0oonrpQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/chunked-blob-reader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-4.0.0.tgz", - "integrity": "sha512-jSqRnZvkT4egkq/7b6/QRCNXmmYVcHwnJldqJ3IhVpQE2atObVJ137xmGeuGFhjFUr8gCEVAOKwSY79OvpbDaQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/chunked-blob-reader-native": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-3.0.1.tgz", - "integrity": "sha512-VEYtPvh5rs/xlyqpm5NRnfYLZn+q0SRPELbvBV+C/G7IQ+ouTuo+NKKa3ShG5OaFR8NYVMXls9hPYLTvIKKDrQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/config-resolver": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.12.tgz", - "integrity": "sha512-YAJP9UJFZRZ8N+UruTeq78zkdjUHmzsY62J4qKWZ4SXB4QXJ/+680EfXXgkYA2xj77ooMqtUY9m406zGNqwivQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/node-config-provider": "^3.1.11", - "@smithy/types": "^3.7.1", - "@smithy/util-config-provider": "^3.0.0", - "@smithy/util-middleware": "^3.0.10", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/core": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.5.4.tgz", - "integrity": "sha512-iFh2Ymn2sCziBRLPuOOxRPkuCx/2gBdXtBGuCUFLUe6bWYjKnhHyIPqGeNkLZ5Aco/5GjebRTBFiWID3sDbrKw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/middleware-serde": "^3.0.10", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "@smithy/util-body-length-browser": "^3.0.0", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-stream": "^3.3.1", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.7.tgz", - "integrity": "sha512-cEfbau+rrWF8ylkmmVAObOmjbTIzKyUC5TkBL58SbLywD0RCBC4JAUKbmtSm2w5KUJNRPGgpGFMvE2FKnuNlWQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/node-config-provider": "^3.1.11", - "@smithy/property-provider": "^3.1.10", - "@smithy/types": "^3.7.1", - "@smithy/url-parser": "^3.0.10", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-codec": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-3.1.9.tgz", - "integrity": "sha512-F574nX0hhlNOjBnP+noLtsPFqXnWh2L0+nZKCwcu7P7J8k+k+rdIDs+RMnrMwrzhUE4mwMgyN0cYnEn0G8yrnQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@smithy/types": "^3.7.1", - "@smithy/util-hex-encoding": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/eventstream-serde-browser": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-3.0.13.tgz", - "integrity": "sha512-Nee9m+97o9Qj6/XeLz2g2vANS2SZgAxV4rDBMKGHvFJHU/xz88x2RwCkwsvEwYjSX4BV1NG1JXmxEaDUzZTAtw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/eventstream-serde-universal": "^3.0.12", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.0.10.tgz", - "integrity": "sha512-K1M0x7P7qbBUKB0UWIL5KOcyi6zqV5mPJoL0/o01HPJr0CSq3A9FYuJC6e11EX6hR8QTIR++DBiGrYveOu6trw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-node": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-3.0.12.tgz", - "integrity": "sha512-kiZymxXvZ4tnuYsPSMUHe+MMfc4FTeFWJIc0Q5wygJoUQM4rVHNghvd48y7ppuulNMbuYt95ah71pYc2+o4JOA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/eventstream-serde-universal": "^3.0.12", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-universal": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-3.0.12.tgz", - "integrity": "sha512-1i8ifhLJrOZ+pEifTlF0EfZzMLUGQggYQ6WmZ4d5g77zEKf7oZ0kvh1yKWHPjofvOwqrkwRDVuxuYC8wVd662A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/eventstream-codec": "^3.1.9", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/fetch-http-handler": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.1.1.tgz", - "integrity": "sha512-bH7QW0+JdX0bPBadXt8GwMof/jz0H28I84hU1Uet9ISpzUqXqRQ3fEZJ+ANPOhzSEczYvANNl3uDQDYArSFDtA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^4.1.7", - "@smithy/querystring-builder": "^3.0.10", - "@smithy/types": "^3.7.1", - "@smithy/util-base64": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/hash-blob-browser": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-3.1.9.tgz", - "integrity": "sha512-wOu78omaUuW5DE+PVWXiRKWRZLecARyP3xcq5SmkXUw9+utgN8HnSnBfrjL2B/4ZxgqPjaAJQkC/+JHf1ITVaQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/chunked-blob-reader": "^4.0.0", - "@smithy/chunked-blob-reader-native": "^3.0.1", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/hash-node": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.10.tgz", - "integrity": "sha512-3zWGWCHI+FlJ5WJwx73Mw2llYR8aflVyZN5JhoqLxbdPZi6UyKSdCeXAWJw9ja22m6S6Tzz1KZ+kAaSwvydi0g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/hash-stream-node": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-3.1.9.tgz", - "integrity": "sha512-3XfHBjSP3oDWxLmlxnt+F+FqXpL3WlXs+XXaB6bV9Wo8BBu87fK1dSEsyH7Z4ZHRmwZ4g9lFMdf08m9hoX1iRA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/invalid-dependency": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.10.tgz", - "integrity": "sha512-Lp2L65vFi+cj0vFMu2obpPW69DU+6O5g3086lmI4XcnRCG8PxvpWC7XyaVwJCxsZFzueHjXnrOH/E0pl0zikfA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/is-array-buffer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz", - "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/md5-js": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-3.0.10.tgz", - "integrity": "sha512-m3bv6dApflt3fS2Y1PyWPUtRP7iuBlvikEOGwu0HsCZ0vE7zcIX+dBoh3e+31/rddagw8nj92j0kJg2TfV+SJA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/middleware-content-length": { - "version": "3.0.12", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.12.tgz", - "integrity": "sha512-1mDEXqzM20yywaMDuf5o9ue8OkJ373lSPbaSjyEvkWdqELhFMyNNgKGWL/rCSf4KME8B+HlHKuR8u9kRj8HzEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-endpoint": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.4.tgz", - "integrity": "sha512-TybiW2LA3kYVd3e+lWhINVu1o26KJbBwOpADnf0L4x/35vLVica77XVR5hvV9+kWeTGeSJ3IHTcYxbRxlbwhsg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/core": "^2.5.4", - "@smithy/middleware-serde": "^3.0.10", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/shared-ini-file-loader": "^3.1.11", - "@smithy/types": "^3.7.1", - "@smithy/url-parser": "^3.0.10", - "@smithy/util-middleware": "^3.0.10", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry": { - "version": "3.0.28", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.28.tgz", - "integrity": "sha512-vK2eDfvIXG1U64FEUhYxoZ1JSj4XFbYWkK36iz02i3pFwWiDz1Q7jKhGTBCwx/7KqJNk4VS7d7cDLXFOvP7M+g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/node-config-provider": "^3.1.11", - "@smithy/protocol-http": "^4.1.7", - "@smithy/service-error-classification": "^3.0.10", - "@smithy/smithy-client": "^3.4.5", - "@smithy/types": "^3.7.1", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-retry": "^3.0.10", - "tslib": "^2.6.2", - "uuid": "^9.0.1" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-retry/node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "dev": true, - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/@smithy/middleware-serde": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.10.tgz", - "integrity": "sha512-MnAuhh+dD14F428ubSJuRnmRsfOpxSzvRhaGVTvd/lrUDE3kxzCCmH8lnVTvoNQnV2BbJ4c15QwZ3UdQBtFNZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/middleware-stack": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.10.tgz", - "integrity": "sha512-grCHyoiARDBBGPyw2BeicpjgpsDFWZZxptbVKb3CRd/ZA15F/T6rZjCCuBUjJwdck1nwUuIxYtsS4H9DDpbP5w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/node-config-provider": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.11.tgz", - "integrity": "sha512-URq3gT3RpDikh/8MBJUB+QGZzfS7Bm6TQTqoh4CqE8NBuyPkWa5eUXj0XFcFfeZVgg3WMh1u19iaXn8FvvXxZw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/property-provider": "^3.1.10", - "@smithy/shared-ini-file-loader": "^3.1.11", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/node-http-handler": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.3.1.tgz", - "integrity": "sha512-fr+UAOMGWh6bn4YSEezBCpJn9Ukp9oR4D32sCjCo7U81evE11YePOQ58ogzyfgmjIO79YeOdfXXqr0jyhPQeMg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/abort-controller": "^3.1.8", - "@smithy/protocol-http": "^4.1.7", - "@smithy/querystring-builder": "^3.0.10", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/property-provider": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.10.tgz", - "integrity": "sha512-n1MJZGTorTH2DvyTVj+3wXnd4CzjJxyXeOgnTlgNVFxaaMeT4OteEp4QrzF8p9ee2yg42nvyVK6R/awLCakjeQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/protocol-http": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.7.tgz", - "integrity": "sha512-FP2LepWD0eJeOTm0SjssPcgqAlDFzOmRXqXmGhfIM52G7Lrox/pcpQf6RP4F21k0+O12zaqQt5fCDOeBtqY6Cg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/querystring-builder": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.10.tgz", - "integrity": "sha512-nT9CQF3EIJtIUepXQuBFb8dxJi3WVZS3XfuDksxSCSn+/CzZowRLdhDn+2acbBv8R6eaJqPupoI/aRFIImNVPQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "@smithy/util-uri-escape": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/querystring-parser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.10.tgz", - "integrity": "sha512-Oa0XDcpo9SmjhiDD9ua2UyM3uU01ZTuIrNdZvzwUTykW1PM8o2yJvMh1Do1rY5sUQg4NDV70dMi0JhDx4GyxuQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/service-error-classification": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.10.tgz", - "integrity": "sha512-zHe642KCqDxXLuhs6xmHVgRwy078RfqxP2wRDpIyiF8EmsWXptMwnMwbVa50lw+WOGNrYm9zbaEg0oDe3PTtvQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "3.1.11", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.11.tgz", - "integrity": "sha512-AUdrIZHFtUgmfSN4Gq9nHu3IkHMa1YDcN+s061Nfm+6pQ0mJy85YQDB0tZBCmls0Vuj22pLwDPmL92+Hvfwwlg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/signature-v4": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.3.tgz", - "integrity": "sha512-pPSQQ2v2vu9vc8iew7sszLd0O09I5TRc5zhY71KA+Ao0xYazIG+uLeHbTJfIWGO3BGVLiXjUr3EEeCcEQLjpWQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-middleware": "^3.0.10", - "@smithy/util-uri-escape": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/smithy-client": { - "version": "3.4.5", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.5.tgz", - "integrity": "sha512-k0sybYT9zlP79sIKd1XGm4TmK0AS1nA2bzDHXx7m0nGi3RQ8dxxQUs4CPkSmQTKAo+KF9aINU3KzpGIpV7UoMw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/core": "^2.5.4", - "@smithy/middleware-endpoint": "^3.2.4", - "@smithy/middleware-stack": "^3.0.10", - "@smithy/protocol-http": "^4.1.7", - "@smithy/types": "^3.7.1", - "@smithy/util-stream": "^3.3.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/types": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.7.1.tgz", - "integrity": "sha512-XKLcLXZY7sUQgvvWyeaL/qwNPp6V3dWcUjqrQKjSb+tzYiCy340R/c64LV5j+Tnb2GhmunEX0eou+L+m2hJNYA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/url-parser": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.10.tgz", - "integrity": "sha512-j90NUalTSBR2NaZTuruEgavSdh8MLirf58LoGSk4AtQfyIymogIhgnGUU2Mga2bkMkpSoC9gxb74xBXL5afKAQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/querystring-parser": "^3.0.10", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/util-base64": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz", - "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-body-length-browser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz", - "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@smithy/util-body-length-node": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz", - "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-buffer-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz", - "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-config-provider": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz", - "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "3.0.28", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.28.tgz", - "integrity": "sha512-6bzwAbZpHRFVJsOztmov5PGDmJYsbNSoIEfHSJJyFLzfBGCCChiO3od9k7E/TLgrCsIifdAbB9nqbVbyE7wRUw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/property-provider": "^3.1.10", - "@smithy/smithy-client": "^3.4.5", - "@smithy/types": "^3.7.1", - "bowser": "^2.11.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "3.0.28", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.28.tgz", - "integrity": "sha512-78ENJDorV1CjOQselGmm3+z7Yqjj5HWCbjzh0Ixuq736dh1oEnD9sAttSBNSLlpZsX8VQnmERqA2fEFlmqWn8w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/config-resolver": "^3.0.12", - "@smithy/credential-provider-imds": "^3.2.7", - "@smithy/node-config-provider": "^3.1.11", - "@smithy/property-provider": "^3.1.10", - "@smithy/smithy-client": "^3.4.5", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/@smithy/util-endpoints": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.6.tgz", - "integrity": "sha512-mFV1t3ndBh0yZOJgWxO9J/4cHZVn5UG1D8DeCc6/echfNkeEJWu9LD7mgGH5fHrEdR7LDoWw7PQO6QiGpHXhgA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/node-config-provider": "^3.1.11", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-hex-encoding": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz", - "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-middleware": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.10.tgz", - "integrity": "sha512-eJO+/+RsrG2RpmY68jZdwQtnfsxjmPxzMlQpnHKjFPwrYqvlcT+fHdT+ZVwcjlWSrByOhGr9Ff2GG17efc192A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-retry": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.10.tgz", - "integrity": "sha512-1l4qatFp4PiU6j7UsbasUHL2VU023NRB/gfaa1M0rDqVrRN4g3mCArLRyH3OuktApA4ye+yjWQHjdziunw2eWA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/service-error-classification": "^3.0.10", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-stream": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.3.1.tgz", - "integrity": "sha512-Ff68R5lJh2zj+AUTvbAU/4yx+6QPRzg7+pI7M1FbtQHcRIp7xvguxVsQBKyB3fwiOwhAKu0lnNyYBaQfSW6TNw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/fetch-http-handler": "^4.1.1", - "@smithy/node-http-handler": "^3.3.1", - "@smithy/types": "^3.7.1", - "@smithy/util-base64": "^3.0.0", - "@smithy/util-buffer-from": "^3.0.0", - "@smithy/util-hex-encoding": "^3.0.0", - "@smithy/util-utf8": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-uri-escape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz", - "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-utf8": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz", - "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^3.0.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@smithy/util-waiter": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-3.1.9.tgz", - "integrity": "sha512-/aMXPANhMOlMPjfPtSrDfPeVP8l56SJlz93xeiLmhLe5xvlXA5T3abZ2ilEsDEPeY9T/wnN/vNGn9wa1SbufWA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/abort-controller": "^3.1.8", - "@smithy/types": "^3.7.1", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, "node_modules/@socket.io/component-emitter": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", @@ -10731,18 +9486,18 @@ } }, "node_modules/@supabase/auth-js": { - "version": "2.66.1", - "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.66.1.tgz", - "integrity": "sha512-kOW+04SuDXmP2jRX9JL1Rgzduj8BcOG1qC3RaWdZsxnv89svNCdLRv8PfXW3QPKJdw0k1jF30OlQDPkzbDEL9w==", + "version": "2.67.3", + "resolved": "https://registry.npmjs.org/@supabase/auth-js/-/auth-js-2.67.3.tgz", + "integrity": "sha512-NJDaW8yXs49xMvWVOkSIr8j46jf+tYHV0wHhrwOaLLMZSFO4g6kKAf+MfzQ2RaD06OCUkUHIzctLAxjTgEVpzw==", "license": "MIT", "dependencies": { "@supabase/node-fetch": "^2.6.14" } }, "node_modules/@supabase/functions-js": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.4.3.tgz", - "integrity": "sha512-sOLXy+mWRyu4LLv1onYydq+10mNRQ4rzqQxNhbrKLTLTcdcmS9hbWif0bGz/NavmiQfPs4ZcmQJp4WqOXlR4AQ==", + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@supabase/functions-js/-/functions-js-2.4.4.tgz", + "integrity": "sha512-WL2p6r4AXNGwop7iwvul2BvOtuJ1YQy8EbOd0dhG1oN1q8el/BIRSFCFnWAMM/vJJlHWLi4ad22sKbKr9mvjoA==", "license": "MIT", "dependencies": { "@supabase/node-fetch": "^2.6.14" @@ -10761,18 +9516,18 @@ } }, "node_modules/@supabase/postgrest-js": { - "version": "1.16.3", - "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.16.3.tgz", - "integrity": "sha512-HI6dsbW68AKlOPofUjDTaosiDBCtW4XAm0D18pPwxoW3zKOE2Ru13Z69Wuys9fd6iTpfDViNco5sgrtnP0666A==", + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-1.17.7.tgz", + "integrity": "sha512-aOzOYaTADm/dVTNksyqv9KsbhVa1gHz1Hoxb2ZEF2Ed9H7qlWOfptECQWmkEmrrFjtNaiPrgiSaPECvzI/seDA==", "license": "MIT", "dependencies": { "@supabase/node-fetch": "^2.6.14" } }, "node_modules/@supabase/realtime-js": { - "version": "2.10.9", - "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.10.9.tgz", - "integrity": "sha512-0AjN65VDNIScZzrrPaVvlND4vbgVS+j9Wcy3zf7e+l9JY4IwCTahFenPLcKy9bkr7KY0wfB7MkipZPKxMaDnjw==", + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@supabase/realtime-js/-/realtime-js-2.11.2.tgz", + "integrity": "sha512-u/XeuL2Y0QEhXSoIPZZwR6wMXgB+RQbJzG9VErA3VghVt7uRfSVsjeqd7m5GhX3JR6dM/WRmLbVR8URpDWG4+w==", "license": "MIT", "dependencies": { "@supabase/node-fetch": "^2.6.14", @@ -10812,16 +9567,16 @@ } }, "node_modules/@supabase/supabase-js": { - "version": "2.47.2", - "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.47.2.tgz", - "integrity": "sha512-BdP5hY29eCROJRV61WCM+OzcTSjaSzZe0H+2l88tOwmTG+1XqCiVYtZnUNIh12V8g5gdmQL5urp1pSYARbl38A==", + "version": "2.47.10", + "resolved": "https://registry.npmjs.org/@supabase/supabase-js/-/supabase-js-2.47.10.tgz", + "integrity": "sha512-vJfPF820Ho5WILYHfKiBykDQ1SB9odTHrRZ0JxHfuLMC8GRvv21YLkUZQK7/rSVCkLvD6/ZwMWaOAfdUd//guw==", "license": "MIT", "dependencies": { - "@supabase/auth-js": "2.66.1", - "@supabase/functions-js": "2.4.3", + "@supabase/auth-js": "2.67.3", + "@supabase/functions-js": "2.4.4", "@supabase/node-fetch": "2.6.15", - "@supabase/postgrest-js": "1.16.3", - "@supabase/realtime-js": "2.10.9", + "@supabase/postgrest-js": "1.17.7", + "@supabase/realtime-js": "2.11.2", "@supabase/storage-js": "2.7.1" } }, @@ -10882,9 +9637,9 @@ } }, "node_modules/@tabler/icons": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.24.0.tgz", - "integrity": "sha512-qNis9e90QcdxAGV3wNIeX0Ba2R7ktm0cnqOToKHJfC2kj3fvJwEVLsw63K0/fm7NW8rSZjDSTQRmMnSg8g/wrg==", + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-3.26.0.tgz", + "integrity": "sha512-oO3D4ss+DxzxqU1aDy0f1HmToyrO0gcQWIMpzHAfV1quPUx0BZYvNm5xz1DQb4DxNm/+xNvbBGLJy4pzTLYWag==", "license": "MIT", "funding": { "type": "github", @@ -10892,12 +9647,12 @@ } }, "node_modules/@tabler/icons-react": { - "version": "3.24.0", - "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.24.0.tgz", - "integrity": "sha512-m9c7TmlcDmKqvZAasG5rv1YvazZDrVEhNdNFa2d1Bzotc0dh+iceFdiZCEcYPDb5UcRyLAMvOaOC9y/5sfMMWw==", + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/@tabler/icons-react/-/icons-react-3.26.0.tgz", + "integrity": "sha512-t18Zmu1ROktB7M8hWQ6vJw+mNpI/LPk5PPxLuE+kNB+4Zzf38GfETL8VF98inhzcfHohsggdROzMzwSAfjcAxw==", "license": "MIT", "dependencies": { - "@tabler/icons": "3.24.0" + "@tabler/icons": "3.26.0" }, "funding": { "type": "github", @@ -10908,9 +9663,9 @@ } }, "node_modules/@tanstack/query-core": { - "version": "5.62.2", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.62.2.tgz", - "integrity": "sha512-LcwVcC5qpsDpHcqlXUUL5o9SaOBwhNkGeV+B06s0GBoyBr8FqXPuXT29XzYXR36lchhnerp6XO+CWc84/vh7Zg==", + "version": "5.62.12", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.62.12.tgz", + "integrity": "sha512-6igFeBgymHkCxVgaEk+yiLwkMf9haui/EQLmI3o9CatOyDThEoFKe8toLWvWliZC/Jf+h7NwHi/zjfyLArr1ow==", "license": "MIT", "funding": { "type": "github", @@ -10918,12 +9673,12 @@ } }, "node_modules/@tanstack/react-query": { - "version": "5.62.2", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.62.2.tgz", - "integrity": "sha512-fkTpKKfwTJtVPKVR+ag7YqFgG/7TRVVPzduPAUF9zRCiiA8Wu305u+KJl8rCrh98Qce77vzIakvtUyzWLtaPGA==", + "version": "5.62.12", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.62.12.tgz", + "integrity": "sha512-yt8p7l5MlHA3QCt6xF1Cu9dw1Anf93yTK+DMDJQ64h/mshAymVAtcwj8TpsyyBrZNWAAZvza/m76bnTSR79ZtQ==", "license": "MIT", "dependencies": { - "@tanstack/query-core": "5.62.2" + "@tanstack/query-core": "5.62.12" }, "funding": { "type": "github", @@ -10934,26 +9689,26 @@ } }, "node_modules/@tanstack/react-virtual": { - "version": "3.10.9", - "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.10.9.tgz", - "integrity": "sha512-OXO2uBjFqA4Ibr2O3y0YMnkrRWGVNqcvHQXmGvMu6IK8chZl3PrDxFXdGZ2iZkSrKh3/qUYoFqYe+Rx23RoU0g==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.11.2.tgz", + "integrity": "sha512-OuFzMXPF4+xZgx8UzJha0AieuMihhhaWG0tCqpp6tDzlFwOmNBPYMuLOtMJ1Tr4pXLHmgjcWhG6RlknY2oNTdQ==", "license": "MIT", "dependencies": { - "@tanstack/virtual-core": "3.10.9" + "@tanstack/virtual-core": "3.11.2" }, "funding": { "type": "github", "url": "https://github.com/sponsors/tannerlinsley" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/@tanstack/virtual-core": { - "version": "3.10.9", - "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.10.9.tgz", - "integrity": "sha512-kBknKOKzmeR7lN+vSadaKWXaLS0SZZG+oqpQ/k80Q6g9REn6zRHS/ZYdrIzHnpHgy/eWs00SujveUN/GJT2qTw==", + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.11.2.tgz", + "integrity": "sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==", "license": "MIT", "funding": { "type": "github", @@ -11488,6 +10243,31 @@ "@babel/runtime": "7.x" } }, + "node_modules/@toruslabs/base-controllers/node_modules/@ethereumjs/rlp": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@toruslabs/base-controllers/node_modules/@ethereumjs/util": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@toruslabs/base-controllers/node_modules/jwt-decode": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", @@ -11574,16 +10354,16 @@ } }, "node_modules/@toruslabs/http-helpers": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-7.0.0.tgz", - "integrity": "sha512-U79uCCA1EAManPmgIn+0YpCrKUxj9C7GYlGt7Ftnd3soYCsAXVqWgck+R5knrNvTSOPmot8QYkTl+ncP44Vg/A==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@toruslabs/http-helpers/-/http-helpers-7.0.1.tgz", + "integrity": "sha512-9LqvgH/JfMtgZSzRqSutDfXZ5gw6+hziByYgzOzLGTO3WcqALAKCcO+icvcNI/NCw8HW4xpTM2xZIEkkEcFYPg==", "license": "MIT", "dependencies": { "deepmerge": "^4.3.1", - "loglevel": "^1.9.1" + "loglevel": "^1.9.2" }, "engines": { - "node": ">=18.x", + "node": ">=20.x", "npm": ">=9.x" }, "peerDependencies": { @@ -11827,9 +10607,9 @@ "license": "MIT" }, "node_modules/@types/geojson": { - "version": "7946.0.14", - "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.14.tgz", - "integrity": "sha512-WCfD5Ht3ZesJUsONdhvm84dmzWOiOzOAqOncN0++w0lBw1o8OuDNJF2McvvCef/yBqb/HYRahp1BYtODFQ8bRg==", + "version": "7946.0.15", + "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.15.tgz", + "integrity": "sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==", "dev": true, "license": "MIT" }, @@ -11866,20 +10646,12 @@ "license": "MIT" }, "node_modules/@types/lodash": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", - "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", + "version": "4.17.14", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.14.tgz", + "integrity": "sha512-jsxagdikDiDBeIRaPYtArcT8my4tN1og7MtMRquFT3XNA6axxyHDRUemqDz/taRDdOUn0GnGHRCuff4q48sW9A==", + "dev": true, "license": "MIT" }, - "node_modules/@types/lodash-es": { - "version": "4.17.12", - "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz", - "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", - "license": "MIT", - "dependencies": { - "@types/lodash": "*" - } - }, "node_modules/@types/long": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/@types/long/-/long-4.0.2.tgz", @@ -11928,9 +10700,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.17.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.9.tgz", - "integrity": "sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==", + "version": "20.17.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.11.tgz", + "integrity": "sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==", "license": "MIT", "dependencies": { "undici-types": "~6.19.2" @@ -12000,9 +10772,9 @@ } }, "node_modules/@types/react": { - "version": "18.3.14", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.14.tgz", - "integrity": "sha512-NzahNKvjNhVjuPBQ+2G7WlxstQ+47kXZNHlUvFakDViuIEfGY926GqhMueQFZ7woG+sPiQKlF36XfrIUVSUfFg==", + "version": "18.3.18", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.18.tgz", + "integrity": "sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==", "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -12010,13 +10782,13 @@ } }, "node_modules/@types/react-dom": { - "version": "18.3.2", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.2.tgz", - "integrity": "sha512-Fqp+rcvem9wEnGr3RY8dYNvSQ8PoLqjZ9HLgaPUOjJJD120uDyOxOjc/39M4Kddp9JQCxpGQbnhVQF0C0ncYVg==", + "version": "18.3.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.5.tgz", + "integrity": "sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==", "dev": true, "license": "MIT", - "dependencies": { - "@types/react": "^18" + "peerDependencies": { + "@types/react": "^18.0.0" } }, "node_modules/@types/react-lazy-load-image-component": { @@ -12041,11 +10813,11 @@ } }, "node_modules/@types/react-transition-group": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.11.tgz", - "integrity": "sha512-RM05tAniPZ5DZPzzNFP+DmrcOdD0efDUxMy3145oljWSl3x9ZV5vhme98gTxFrj2lhXvmGNnUiuDyJgY9IKkNA==", + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", "license": "MIT", - "dependencies": { + "peerDependencies": { "@types/react": "*" } }, @@ -12139,9 +10911,9 @@ "license": "MIT" }, "node_modules/@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==", "license": "MIT" }, "node_modules/@types/ws": { @@ -12553,9 +11325,9 @@ } }, "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz", + "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==", "dev": true, "license": "ISC" }, @@ -12621,24 +11393,24 @@ } }, "node_modules/@walletconnect/core": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.17.2.tgz", - "integrity": "sha512-O9VUsFg78CbvIaxfQuZMsHcJ4a2Z16DRz/O4S+uOAcGKhH/i/ln8hp864Tb+xRvifWSzaZ6CeAVxk657F+pscA==", + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.17.3.tgz", + "integrity": "sha512-57uv0FW4L6H/tmkb1kS2nG41MDguyDgZbGR58nkDUd1TO/HydyiTByVOhFzIxgN331cnY/1G1rMaKqncgdnOFA==", "license": "Apache-2.0", "dependencies": { "@walletconnect/heartbeat": "1.2.2", "@walletconnect/jsonrpc-provider": "1.0.14", "@walletconnect/jsonrpc-types": "1.0.4", "@walletconnect/jsonrpc-utils": "1.0.8", - "@walletconnect/jsonrpc-ws-connection": "1.0.14", + "@walletconnect/jsonrpc-ws-connection": "1.0.16", "@walletconnect/keyvaluestorage": "1.1.1", "@walletconnect/logger": "2.1.2", "@walletconnect/relay-api": "1.0.11", "@walletconnect/relay-auth": "1.0.4", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.17.2", - "@walletconnect/utils": "2.17.2", + "@walletconnect/types": "2.17.3", + "@walletconnect/utils": "2.17.3", "@walletconnect/window-getters": "1.0.1", "events": "3.3.0", "lodash.isequal": "4.5.0", @@ -12813,6 +11585,15 @@ "events": "^3.3.0" } }, + "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/cross-fetch": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.2.0.tgz", + "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "license": "MIT", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, "node_modules/@walletconnect/jsonrpc-provider": { "version": "1.0.14", "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.14.tgz", @@ -12852,9 +11633,9 @@ "license": "0BSD" }, "node_modules/@walletconnect/jsonrpc-ws-connection": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz", - "integrity": "sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.16.tgz", + "integrity": "sha512-G81JmsMqh5nJheE1mPst1W0WfVv0SG3N7JggwLLGnI7iuDZJq8cRJvQwLGKHn5H1WTW7DEPCo00zz5w62AbL3Q==", "license": "MIT", "dependencies": { "@walletconnect/jsonrpc-utils": "^1.0.6", @@ -13213,6 +11994,18 @@ "tslib": "1.14.1" } }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz", + "integrity": "sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.6", + "@walletconnect/safe-json": "^1.0.2", + "events": "^3.3.0", + "ws": "^7.5.1" + } + }, "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/types": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.12.2.tgz", @@ -13270,6 +12063,27 @@ "multiformats": "^9.4.2" } }, + "node_modules/@walletconnect/sign-client/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/@walletconnect/time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", @@ -13286,9 +12100,9 @@ "license": "0BSD" }, "node_modules/@walletconnect/types": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.17.2.tgz", - "integrity": "sha512-j/+0WuO00lR8ntu7b1+MKe/r59hNwYLFzW0tTmozzhfAlDL+dYwWasDBNq4AH8NbVd7vlPCQWmncH7/6FVtOfQ==", + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.17.3.tgz", + "integrity": "sha512-5eFxnbZGJJx0IQyCS99qz+OvozpLJJYfVG96dEHGgbzZMd+C9V1eitYqVClx26uX6V+WQVqVwjpD2Dyzie++Wg==", "license": "Apache-2.0", "dependencies": { "@walletconnect/events": "1.0.1", @@ -13406,9 +12220,9 @@ } }, "node_modules/@walletconnect/utils": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.17.2.tgz", - "integrity": "sha512-T7eLRiuw96fgwUy2A5NZB5Eu87ukX8RCVoO9lji34RFV4o2IGU9FhTEWyd4QQKI8OuQRjSknhbJs0tU0r0faPw==", + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.17.3.tgz", + "integrity": "sha512-tG77UpZNeLYgeOwViwWnifpyBatkPlpKSSayhN0gcjY1lZAUNqtYslpm4AdTxlrA3pL61MnyybXgWYT5eZjarw==", "license": "Apache-2.0", "dependencies": { "@ethersproject/hash": "5.7.0", @@ -13424,11 +12238,11 @@ "@walletconnect/relay-auth": "1.0.4", "@walletconnect/safe-json": "1.0.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.17.2", + "@walletconnect/types": "2.17.3", "@walletconnect/window-getters": "1.0.1", "@walletconnect/window-metadata": "1.0.1", "detect-browser": "5.3.0", - "elliptic": "6.6.0", + "elliptic": "6.6.1", "query-string": "7.1.3", "uint8arrays": "3.1.0" } @@ -13440,9 +12254,9 @@ "license": "MIT" }, "node_modules/@walletconnect/utils/node_modules/elliptic": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.0.tgz", - "integrity": "sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "license": "MIT", "dependencies": { "bn.js": "^4.11.9", @@ -13513,6 +12327,18 @@ "node": ">=18" } }, + "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.14.tgz", + "integrity": "sha512-Jsl6fC55AYcbkNVkwNM6Jo+ufsuCQRqViOQ8ZBPH9pRREHH9welbBiszuTLqEJiQcO/6XfFDl6bzCJIkrEi8XA==", + "license": "MIT", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.6", + "@walletconnect/safe-json": "^1.0.2", + "events": "^3.3.0", + "ws": "^7.5.1" + } + }, "node_modules/@walletconnect/web3wallet/node_modules/@walletconnect/sign-client": { "version": "2.17.1", "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.17.1.tgz", @@ -13608,6 +12434,27 @@ "multiformats": "^9.4.2" } }, + "node_modules/@walletconnect/web3wallet/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/@walletconnect/window-getters": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", @@ -13663,14 +12510,39 @@ "@babel/runtime": "7.x" } }, + "node_modules/@web3auth/account-abstraction-provider/node_modules/@ethereumjs/rlp": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/account-abstraction-provider/node_modules/@ethereumjs/util": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@web3auth/auth": { - "version": "9.5.3", - "resolved": "https://registry.npmjs.org/@web3auth/auth/-/auth-9.5.3.tgz", - "integrity": "sha512-774DFBzuq/mO9y5Zf0ICdK9pZ/YgYgnRVo3CYiayuknA4/wTxosK+xvhlcP6fGRKVgoaYa6bP+gBGmqoFCGUzQ==", + "version": "9.6.3", + "resolved": "https://registry.npmjs.org/@web3auth/auth/-/auth-9.6.3.tgz", + "integrity": "sha512-OqwEneMSEl0w40sJqWcKMm3gh9cBzS1oz7BqKYWXcb6xvPn8xq8RUMYVTl+yEno/9ePoT05rj6JTfWWtpte3Bg==", "license": "MIT", "dependencies": { "@ethereumjs/util": "^9.1.0", - "@toruslabs/constants": "^14.1.1", + "@toruslabs/constants": "^14.2.0", "@toruslabs/ffjavascript": "^4.0.0", "@toruslabs/metadata-helpers": "^6.0.0", "@toruslabs/secure-pub-sub": "^1.1.0", @@ -13699,22 +12571,22 @@ "npm": ">=9.x" }, "optionalDependencies": { - "@nx/nx-linux-x64-gnu": "^20.1.2", - "@rollup/rollup-linux-x64-gnu": "^4.27.3" + "@nx/nx-linux-x64-gnu": "^20.2.2", + "@rollup/rollup-linux-x64-gnu": "^4.28.1" }, "peerDependencies": { "@babel/runtime": "7.x" } }, "node_modules/@web3auth/auth-adapter": { - "version": "9.4.5", - "resolved": "https://registry.npmjs.org/@web3auth/auth-adapter/-/auth-adapter-9.4.5.tgz", - "integrity": "sha512-Q9/GnW8DOCYS1rnVL84V4CHYxdxiryHU5+RnmldPzHUlhDl+L41zjFYoH3mm+U7WNnJCfiLKgcEnPurMz10i+w==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@web3auth/auth-adapter/-/auth-adapter-9.5.1.tgz", + "integrity": "sha512-Pxda3WeG3EkG8p7N9hJ++fU501ejI1+/W3nb82RDsn5n+QNvc2mrHDol3TaDHtZV0yHv2CL3DJS5+H7N2oxOQg==", "license": "ISC", "dependencies": { - "@web3auth/auth": "^9.5.3", - "@web3auth/base": "^9.4.5", - "@web3auth/base-provider": "^9.4.5", + "@web3auth/auth": "^9.6.2", + "@web3auth/base": "^9.5.1", + "@web3auth/base-provider": "^9.5.1", "deepmerge": "^4.3.1" }, "engines": { @@ -13725,6 +12597,127 @@ "@babel/runtime": "^7.x" } }, + "node_modules/@web3auth/auth-adapter/node_modules/@ethereumjs/rlp": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/auth-adapter/node_modules/@ethereumjs/util": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/auth-adapter/node_modules/@toruslabs/base-controllers": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-7.0.1.tgz", + "integrity": "sha512-vc1LH6im084UdmLuUrFVXTQ5fh9ZXrXpwoml7o44F+UGZHtNcJYhOV5J9z8BMcQFonc2eJxzsD8daC/YFfPaUQ==", + "license": "ISC", + "dependencies": { + "@ethereumjs/util": "^9.1.0", + "@toruslabs/broadcast-channel": "^11.0.0", + "@toruslabs/http-helpers": "^7.0.0", + "@web3auth/auth": "^9.6.2", + "async-mutex": "^0.5.0", + "bignumber.js": "^9.1.2", + "bowser": "^2.11.0", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@web3auth/auth-adapter/node_modules/@web3auth/base": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@web3auth/base/-/base-9.5.1.tgz", + "integrity": "sha512-Zd3PgyHwn0QWcQUg6ZAgn7DW06laIvo1ySJnNw4q3tYHj96KPx4pPJfPKW5+pr2CY2hvYYa6iU00bKsrDB+5cA==", + "license": "ISC", + "dependencies": { + "@toruslabs/base-controllers": "^7.0.1", + "@toruslabs/constants": "^14.2.0", + "@toruslabs/http-helpers": "^7.0.0", + "@web3auth/auth": "^9.6.2", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2", + "ts-custom-error": "^3.3.1" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x" + } + }, + "node_modules/@web3auth/auth-adapter/node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/auth/node_modules/@ethereumjs/rlp": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/auth/node_modules/@ethereumjs/util": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/auth/node_modules/readable-stream": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.6.0.tgz", + "integrity": "sha512-cbAdYt0VcnpN2Bekq7PU+k363ZRsPwJoEEJOEtSJQlJXzwaxt3FIo/uL+KeDSGIjJqtkwyge4KQgD2S2kd+CQw==", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@web3auth/base": { "version": "9.4.5", "resolved": "https://registry.npmjs.org/@web3auth/base/-/base-9.4.5.tgz", @@ -13748,14 +12741,14 @@ } }, "node_modules/@web3auth/base-provider": { - "version": "9.4.5", - "resolved": "https://registry.npmjs.org/@web3auth/base-provider/-/base-provider-9.4.5.tgz", - "integrity": "sha512-Q+1HnG0bQFOHNhiw0BnuRLKpOh3O/iicl1kp4K8TtUOQC/4JTsY0odehQ1phBOr1IxROTjmDl/QW3coST3CSVA==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@web3auth/base-provider/-/base-provider-9.5.1.tgz", + "integrity": "sha512-Xk9oopf2HqLF/hYF8tNfF56SGxwIOIPA1RfR4c9rPXkHHuYEB0DZau55rgjQ8j/ipk+KNYGT0BL8oLF491Kddw==", "license": "ISC", "dependencies": { - "@toruslabs/base-controllers": "^6.3.2", - "@web3auth/auth": "^9.5.3", - "@web3auth/base": "^9.4.5", + "@toruslabs/base-controllers": "^7.0.1", + "@web3auth/auth": "^9.6.2", + "@web3auth/base": "^9.5.1", "json-rpc-random-id": "^1.0.1" }, "engines": { @@ -13766,6 +12759,86 @@ "@babel/runtime": "7.x" } }, + "node_modules/@web3auth/base-provider/node_modules/@ethereumjs/rlp": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/base-provider/node_modules/@ethereumjs/util": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/base-provider/node_modules/@toruslabs/base-controllers": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-7.0.1.tgz", + "integrity": "sha512-vc1LH6im084UdmLuUrFVXTQ5fh9ZXrXpwoml7o44F+UGZHtNcJYhOV5J9z8BMcQFonc2eJxzsD8daC/YFfPaUQ==", + "license": "ISC", + "dependencies": { + "@ethereumjs/util": "^9.1.0", + "@toruslabs/broadcast-channel": "^11.0.0", + "@toruslabs/http-helpers": "^7.0.0", + "@web3auth/auth": "^9.6.2", + "async-mutex": "^0.5.0", + "bignumber.js": "^9.1.2", + "bowser": "^2.11.0", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@web3auth/base-provider/node_modules/@web3auth/base": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@web3auth/base/-/base-9.5.1.tgz", + "integrity": "sha512-Zd3PgyHwn0QWcQUg6ZAgn7DW06laIvo1ySJnNw4q3tYHj96KPx4pPJfPKW5+pr2CY2hvYYa6iU00bKsrDB+5cA==", + "license": "ISC", + "dependencies": { + "@toruslabs/base-controllers": "^7.0.1", + "@toruslabs/constants": "^14.2.0", + "@toruslabs/http-helpers": "^7.0.0", + "@web3auth/auth": "^9.6.2", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2", + "ts-custom-error": "^3.3.1" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x" + } + }, + "node_modules/@web3auth/base-provider/node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@web3auth/base/node_modules/jwt-decode": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", @@ -13802,6 +12875,31 @@ "@babel/runtime": "7.x" } }, + "node_modules/@web3auth/ethereum-provider/node_modules/@ethereumjs/rlp": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/ethereum-provider/node_modules/@ethereumjs/util": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, "node_modules/@web3auth/modal": { "version": "9.4.5", "resolved": "https://registry.npmjs.org/@web3auth/modal/-/modal-9.4.5.tgz", @@ -13848,14 +12946,14 @@ } }, "node_modules/@web3auth/no-modal": { - "version": "9.4.5", - "resolved": "https://registry.npmjs.org/@web3auth/no-modal/-/no-modal-9.4.5.tgz", - "integrity": "sha512-ct6tyE4d1fkTawHKIC0Gf2sOkaYSoRUKtf6nJQO3Brf53PE4DqnkvS42fcEV6ZCb9MPBTzhB0cw0ds7jAOGPxQ==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@web3auth/no-modal/-/no-modal-9.5.1.tgz", + "integrity": "sha512-4sFaENdGNlcJj+d3PgqDRg41PhId2lM7FyneF+tElUUGHAkXib0cVaRgk1i/8AP9LrdZkxedmm7LJo+iqhM9Cw==", "license": "ISC", "dependencies": { - "@web3auth/auth": "^9.5.3", - "@web3auth/base": "^9.4.5", - "@web3auth/base-provider": "^9.4.5", + "@web3auth/auth": "^9.6.2", + "@web3auth/base": "^9.5.1", + "@web3auth/base-provider": "^9.5.1", "deepmerge": "^4.3.1" }, "engines": { @@ -13876,21 +12974,101 @@ } } }, + "node_modules/@web3auth/no-modal/node_modules/@ethereumjs/rlp": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/no-modal/node_modules/@ethereumjs/util": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/no-modal/node_modules/@toruslabs/base-controllers": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-7.0.1.tgz", + "integrity": "sha512-vc1LH6im084UdmLuUrFVXTQ5fh9ZXrXpwoml7o44F+UGZHtNcJYhOV5J9z8BMcQFonc2eJxzsD8daC/YFfPaUQ==", + "license": "ISC", + "dependencies": { + "@ethereumjs/util": "^9.1.0", + "@toruslabs/broadcast-channel": "^11.0.0", + "@toruslabs/http-helpers": "^7.0.0", + "@web3auth/auth": "^9.6.2", + "async-mutex": "^0.5.0", + "bignumber.js": "^9.1.2", + "bowser": "^2.11.0", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@web3auth/no-modal/node_modules/@web3auth/base": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@web3auth/base/-/base-9.5.1.tgz", + "integrity": "sha512-Zd3PgyHwn0QWcQUg6ZAgn7DW06laIvo1ySJnNw4q3tYHj96KPx4pPJfPKW5+pr2CY2hvYYa6iU00bKsrDB+5cA==", + "license": "ISC", + "dependencies": { + "@toruslabs/base-controllers": "^7.0.1", + "@toruslabs/constants": "^14.2.0", + "@toruslabs/http-helpers": "^7.0.0", + "@web3auth/auth": "^9.6.2", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2", + "ts-custom-error": "^3.3.1" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x" + } + }, + "node_modules/@web3auth/no-modal/node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@web3auth/ui": { - "version": "9.4.5", - "resolved": "https://registry.npmjs.org/@web3auth/ui/-/ui-9.4.5.tgz", - "integrity": "sha512-R61t2pyGwtT3QvGU3e/ImWbuaR23xfHAjJgU56ure5XrR6lyc5PfVPZtpEfZ+KBa06lnI+xDxVWFMusZabYGNQ==", + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@web3auth/ui/-/ui-9.5.1.tgz", + "integrity": "sha512-PiVZ47hwL7Rqw529gfJ6Tp41qzwvvpZrEn4gzyimqqycvobQfj3dXIyQ+iuETB+49tyrU0U1VmwJYd7GO5ExMA==", "license": "ISC", "dependencies": { "@toruslabs/http-helpers": "^7.0.0", - "@web3auth/auth": "^9.5.3", - "@web3auth/base": "^9.4.5", + "@web3auth/auth": "^9.6.2", + "@web3auth/base": "^9.5.1", "bowser": "^2.11.0", "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", "deepmerge": "^4.3.1", "i18next": "^23.16.8", - "react-i18next": "^15.1.2", + "react-i18next": "^15.2.0", "react-qrcode-logo": "^3.0.0" }, "engines": { @@ -13903,10 +13081,90 @@ "react-dom": "^18.x" } }, + "node_modules/@web3auth/ui/node_modules/@ethereumjs/rlp": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-5.0.2.tgz", + "integrity": "sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==", + "license": "MPL-2.0", + "bin": { + "rlp": "bin/rlp.cjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/ui/node_modules/@ethereumjs/util": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-9.1.0.tgz", + "integrity": "sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==", + "license": "MPL-2.0", + "dependencies": { + "@ethereumjs/rlp": "^5.0.2", + "ethereum-cryptography": "^2.2.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@web3auth/ui/node_modules/@toruslabs/base-controllers": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@toruslabs/base-controllers/-/base-controllers-7.0.1.tgz", + "integrity": "sha512-vc1LH6im084UdmLuUrFVXTQ5fh9ZXrXpwoml7o44F+UGZHtNcJYhOV5J9z8BMcQFonc2eJxzsD8daC/YFfPaUQ==", + "license": "ISC", + "dependencies": { + "@ethereumjs/util": "^9.1.0", + "@toruslabs/broadcast-channel": "^11.0.0", + "@toruslabs/http-helpers": "^7.0.0", + "@web3auth/auth": "^9.6.2", + "async-mutex": "^0.5.0", + "bignumber.js": "^9.1.2", + "bowser": "^2.11.0", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "7.x" + } + }, + "node_modules/@web3auth/ui/node_modules/@web3auth/base": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/@web3auth/base/-/base-9.5.1.tgz", + "integrity": "sha512-Zd3PgyHwn0QWcQUg6ZAgn7DW06laIvo1ySJnNw4q3tYHj96KPx4pPJfPKW5+pr2CY2hvYYa6iU00bKsrDB+5cA==", + "license": "ISC", + "dependencies": { + "@toruslabs/base-controllers": "^7.0.1", + "@toruslabs/constants": "^14.2.0", + "@toruslabs/http-helpers": "^7.0.0", + "@web3auth/auth": "^9.6.2", + "jwt-decode": "^4.0.0", + "loglevel": "^1.9.2", + "ts-custom-error": "^3.3.1" + }, + "engines": { + "node": ">=18.x", + "npm": ">=9.x" + }, + "peerDependencies": { + "@babel/runtime": "^7.x" + } + }, + "node_modules/@web3auth/ui/node_modules/jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/@web3auth/ui/node_modules/react-i18next": { - "version": "15.1.3", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.1.3.tgz", - "integrity": "sha512-J11oA30FbM3NZegUZjn8ySK903z6PLBz/ZuBYyT1JMR0QPrW6PFXvl1WoUhortdGi9dM0m48/zJQlPskVZXgVw==", + "version": "15.4.0", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-15.4.0.tgz", + "integrity": "sha512-Py6UkX3zV08RTvL6ZANRoBh9sL/ne6rQq79XlkHEdd82cZr2H9usbWpUNVadJntIZP2pu3M2rL1CN+5rQYfYFw==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.25.0", @@ -14019,11 +13277,29 @@ "license": "Apache-2.0 OR MIT" }, "node_modules/abortcontroller-polyfill": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.6.tgz", - "integrity": "sha512-Zypm+LjYdWAzvuypZvDN0smUJrhOurcuBWhhMRBExqVLRvdjp3Z9mASxKyq19K+meZMshwjjy5S0lkm388zE4Q==", + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.8.tgz", + "integrity": "sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==", "license": "MIT" }, + "node_modules/abstract-leveldown": { + "version": "0.12.4", + "resolved": "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz", + "integrity": "sha512-TOod9d5RDExo6STLMGa+04HGkl+TlMfbDnTyN93/ETJ9DpQ0DaYLqcMZlbXvdc4W3vVo1Qrl+WhSp8zvDsJ+jA==", + "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", + "license": "MIT", + "dependencies": { + "xtend": "~3.0.0" + } + }, + "node_modules/abstract-leveldown/node_modules/xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==", + "engines": { + "node": ">=0.4" + } + }, "node_modules/acorn": { "version": "8.14.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", @@ -14065,20 +13341,17 @@ } }, "node_modules/aggregate-error": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", - "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, "license": "MIT", "dependencies": { - "clean-stack": "^5.2.0", - "indent-string": "^5.0.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/ajv": { @@ -14243,13 +13516,13 @@ } }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -14339,16 +13612,16 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", + "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -14358,16 +13631,16 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", + "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "call-bind": "^1.0.8", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.5", + "es-shim-unscopables": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -14394,19 +13667,18 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "license": "MIT", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -14767,20 +14039,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", @@ -14902,6 +14160,16 @@ "safe-buffer": "^5.1.2" } }, + "node_modules/browserify-fs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browserify-fs/-/browserify-fs-1.0.0.tgz", + "integrity": "sha512-8LqHRPuAEKvyTX34R6tsw4bO2ro6j9DmlYBhiYWHRM26Zv2cBw1fJOU0NeUQ0RkXkPn/PFBjhA0dm4AgaBurTg==", + "dependencies": { + "level-filesystem": "^1.0.1", + "level-js": "^2.1.3", + "levelup": "^0.18.2" + } + }, "node_modules/browserify-rsa": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", @@ -15023,9 +14291,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "version": "4.24.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.3.tgz", + "integrity": "sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==", "funding": [ { "type": "opencollective", @@ -15042,9 +14310,9 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", "update-browserslist-db": "^1.1.1" }, "bin": { @@ -15122,6 +14390,18 @@ "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", "license": "BSD-3-Clause" }, + "node_modules/buffer-es6": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/buffer-es6/-/buffer-es6-4.9.3.tgz", + "integrity": "sha512-Ibt+oXxhmeYJSsCkODPqNpPmyegefiD8rfutH1NYGhMZQhSp95Rz7haemgnJ6dxa6LT+JLLbtgOMORRluwKktw==", + "license": "MIT" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, "node_modules/buffer-reverse": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", @@ -15141,9 +14421,9 @@ "license": "MIT" }, "node_modules/bufferutil": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.8.tgz", - "integrity": "sha512-4T53u4PdgsXqKaIctwF8ifXlRTTmEPJ8iEPWFdGZvcf7sbwYo6FKFEX9eNNAnzFZ7EzJAQ3CJeOtCRA4rDp7Pw==", + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/bufferutil/-/bufferutil-4.0.9.tgz", + "integrity": "sha512-WDtdLmJvAuNNPzByAYpRo2rF1Mmradw6gvWsQKf63476DDXmomT9zUiGypLcG4ibIM67vhAj8jJRdbmEws2Aqw==", "hasInstallScript": true, "license": "MIT", "dependencies": { @@ -15169,16 +14449,44 @@ "license": "MIT" }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -15206,9 +14514,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001686", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001686.tgz", - "integrity": "sha512-Y7deg0Aergpa24M3qLC5xjNklnKnhsmSyR/V89dLZ1n0ucJIFNs7PgR2Yfa/Zf6W79SbBicgtGxZr2juHkEUIA==", + "version": "1.0.30001690", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz", + "integrity": "sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==", "funding": [ { "type": "opencollective", @@ -15431,15 +14739,6 @@ "node": ">= 0.10" } }, - "node_modules/citty": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", - "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", - "license": "MIT", - "dependencies": { - "consola": "^3.2.3" - } - }, "node_modules/classnames": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", @@ -15447,32 +14746,13 @@ "license": "MIT" }, "node_modules/clean-stack": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", - "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "5.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clean-stack/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/cli-highlight": { @@ -15536,91 +14816,6 @@ "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", "license": "MIT" }, - "node_modules/clipboardy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz", - "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==", - "license": "MIT", - "dependencies": { - "execa": "^8.0.1", - "is-wsl": "^3.1.0", - "is64bit": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/clipboardy/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "license": "MIT", - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/clipboardy/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/clipboardy/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -15746,12 +14941,57 @@ "dev": true, "license": "MIT" }, - "node_modules/confbox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", - "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "license": "MIT" }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", @@ -15771,9 +15011,9 @@ "license": "MIT" }, "node_modules/consola": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", - "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.3.3.tgz", + "integrity": "sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==", "license": "MIT", "engines": { "node": "^14.18.0 || >=16.10.0" @@ -16046,12 +15286,12 @@ } }, "node_modules/cross-fetch": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.8.tgz", - "integrity": "sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", + "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", "license": "MIT", "dependencies": { - "node-fetch": "^2.6.12" + "node-fetch": "^2.7.0" } }, "node_modules/cross-spawn": { @@ -16187,14 +15427,14 @@ "license": "BSD-2-Clause" }, "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -16204,29 +15444,29 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/inspect-js" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -16273,9 +15513,9 @@ } }, "node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "license": "MIT", "dependencies": { "ms": "^2.1.3" @@ -16410,6 +15650,126 @@ "node": ">= 16" } }, + "node_modules/default-gateway/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-gateway/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=14.18.0" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deferred-leveldown": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz", + "integrity": "sha512-+WCbb4+ez/SZ77Sdy1iadagFiVzMB89IKOBhglgnUkVxOxRWmmFsz8UDSNWh4Rhq+3wr/vMFlYj+rdEwWUDdng==", + "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", + "license": "MIT", + "dependencies": { + "abstract-leveldown": "~0.12.1" + } + }, "node_modules/define-data-property": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", @@ -16637,6 +15997,20 @@ "url": "https://dotenvx.com" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", @@ -16699,20 +16073,6 @@ "stream-shift": "^1.0.2" } }, - "node_modules/duplexify/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/ecdsa-sig-formatter": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", @@ -16722,6 +16082,23 @@ "safe-buffer": "^5.0.1" } }, + "node_modules/eciesjs": { + "version": "0.4.13", + "resolved": "https://registry.npmjs.org/eciesjs/-/eciesjs-0.4.13.tgz", + "integrity": "sha512-zBdtR4K+wbj10bWPpIOF9DW+eFYQu8miU5ypunh0t4Bvt83ZPlEWgT5Dq/0G6uwEXumZKjfb5BZxYUZQ2Hzn/Q==", + "license": "MIT", + "dependencies": { + "@ecies/ciphers": "^0.2.2", + "@noble/ciphers": "^1.0.0", + "@noble/curves": "^1.6.0", + "@noble/hashes": "^1.5.0" + }, + "engines": { + "bun": ">=1", + "deno": ">=2", + "node": ">=16" + } + }, "node_modules/eip1193-provider": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/eip1193-provider/-/eip1193-provider-1.0.1.tgz", @@ -16733,9 +16110,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.5.71", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.71.tgz", - "integrity": "sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA==", + "version": "1.5.76", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.76.tgz", + "integrity": "sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==", "license": "ISC" }, "node_modules/elliptic": { @@ -16820,6 +16197,23 @@ "xmlhttprequest-ssl": "~2.1.1" } }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/engine.io-client/node_modules/ws": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", @@ -16851,9 +16245,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", - "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "version": "5.18.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.0.tgz", + "integrity": "sha512-0/r0MySGYG8YqlayBZ6MuCfECmHFdJ5qyPh8s8wa5Hnm6SaFLSK1VYCbj+NKp090Nm1caZhD+QTnmxO7esYGyQ==", "dev": true, "license": "MIT", "dependencies": { @@ -16944,6 +16338,64 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/env-ci/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/env-ci/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/env-ci/node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -16957,6 +16409,19 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/env-ci/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/env-paths": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", @@ -16995,6 +16460,18 @@ "integrity": "sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==", "license": "MIT" }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "license": "MIT", + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -17005,57 +16482,62 @@ } }, "node_modules/es-abstract": { - "version": "1.23.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", - "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", "license": "MIT", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", "object-inspect": "^1.13.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.5", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" }, "engines": { "node": ">= 0.4" @@ -17065,13 +16547,10 @@ } }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, "engines": { "node": ">= 0.4" } @@ -17086,27 +16565,28 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.0.tgz", - "integrity": "sha512-tpxqxncxnpw3c93u8n3VOzACmRFoVmWJqbWXvX/JfKbkhBw1oslgPrUfeSt2psuqyEJFD6N/9lg5i7bsKpoq+Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", + "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", + "get-intrinsic": "^1.2.6", "globalthis": "^1.0.4", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "iterator.prototype": "^1.1.3", - "safe-array-concat": "^1.1.2" + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "iterator.prototype": "^1.1.4", + "safe-array-concat": "^1.1.3" }, "engines": { "node": ">= 0.4" @@ -17125,14 +16605,15 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "license": "MIT", "dependencies": { - "get-intrinsic": "^1.2.4", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -17958,29 +17439,29 @@ } }, "node_modules/eslint-plugin-react": { - "version": "7.37.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.2.tgz", - "integrity": "sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==", + "version": "7.37.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.3.tgz", + "integrity": "sha512-DomWuTQPFYZwF/7c9W2fkKkStqZmBd3uugfqBYLdkZ3Hii23WzZuOLUskGxB8qkSKqftxEeGL1TB2kMhrce0jA==", "dev": true, "license": "MIT", "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.2", + "array.prototype.flatmap": "^1.3.3", "array.prototype.tosorted": "^1.1.4", "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.1.0", + "es-iterator-helpers": "^1.2.1", "estraverse": "^5.3.0", "hasown": "^2.0.2", "jsx-ast-utils": "^2.4.1 || ^3.0.0", "minimatch": "^3.1.2", "object.entries": "^1.1.8", "object.fromentries": "^2.0.8", - "object.values": "^1.2.0", + "object.values": "^1.2.1", "prop-types": "^15.8.1", "resolve": "^2.0.0-next.5", "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.11", + "string.prototype.matchall": "^4.0.12", "string.prototype.repeat": "^1.0.0" }, "engines": { @@ -18453,6 +17934,34 @@ "node": ">=14.0.0" } }, + "node_modules/eth-block-tracker/node_modules/@metamask/utils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@metamask/utils/-/utils-5.0.2.tgz", + "integrity": "sha512-yfmE79bRQtnMzarnKfX7AEJBwFTxvTyw3nBQlu/5rmGXrjAeAMltoGxO62TFurxrQAFMNa/fEjIHNvungZp0+g==", + "license": "ISC", + "dependencies": { + "@ethereumjs/tx": "^4.1.2", + "@types/debug": "^4.1.7", + "debug": "^4.3.4", + "semver": "^7.3.8", + "superstruct": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/eth-block-tracker/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/eth-json-rpc-filters": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/eth-json-rpc-filters/-/eth-json-rpc-filters-6.0.1.tgz", @@ -18591,6 +18100,18 @@ "@scure/bip39": "1.3.0" } }, + "node_modules/ethereum-cryptography/node_modules/@noble/curves": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.4.2.tgz", + "integrity": "sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "1.4.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/ethereum-cryptography/node_modules/@noble/hashes": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.4.0.tgz", @@ -18868,6 +18389,12 @@ "node": ">=6" } }, + "node_modules/eventemitter2": { + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.9.tgz", + "integrity": "sha512-JEPTiaOt9f04oa6NOkc4aH+nVp5I3wEjpHbIPqfgCdD5v5bUzy7xQqwcVO2aDQgOWhI28da57HksMrzK9HlRxg==", + "license": "MIT" + }, "node_modules/eventemitter3": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", @@ -18894,40 +18421,29 @@ } }, "node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/execa/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -18958,6 +18474,36 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "license": "MIT" }, + "node_modules/extension-port-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/extension-port-stream/-/extension-port-stream-3.0.0.tgz", + "integrity": "sha512-an2S5quJMiy5bnZKEf6AkfH/7r8CzHvhchU40gxN+OM6HPhe7Z9T1FUychcf2M9PpPOO0Hf7BAEfJkw2TDIBDw==", + "license": "ISC", + "dependencies": { + "readable-stream": "^3.6.2 || ^4.4.2", + "webextension-polyfill": ">=0.10.0 <1.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/fast-content-type-parse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-2.0.1.tgz", + "integrity": "sha512-nGqtvLrj5w0naR6tDPfB4cUmYCqouzyQiz6C5y/LtcDllJdrcc6WaWW6iXyIIOErTa/XRybj28aasdn4LkVk6Q==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT" + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -19033,29 +18579,6 @@ "integrity": "sha512-VhXlQgj9ioXCqGstD37E/HBeqEGV/qOD/kmbVG8h5xKBYvM1L3lR1Zn4555cQ8GkYbJa8aJSipLPndE1k6zK2w==", "license": "Apache-2.0" }, - "node_modules/fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - }, - { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" - } - ], - "license": "MIT", - "dependencies": { - "strnum": "^1.0.5" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } - }, "node_modules/fastify-plugin": { "version": "4.5.1", "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz", @@ -19076,9 +18599,9 @@ } }, "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.18.0.tgz", + "integrity": "sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==", "license": "ISC", "dependencies": { "reusify": "^1.0.4" @@ -19292,6 +18815,12 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", + "license": "MIT" + }, "node_modules/form-data": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", @@ -19477,6 +19006,20 @@ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "license": "ISC" }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/function-bind": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", @@ -19499,15 +19042,17 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -19534,6 +19079,38 @@ "node": ">=10" } }, + "node_modules/fwd-stream": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fwd-stream/-/fwd-stream-1.0.4.tgz", + "integrity": "sha512-q2qaK2B38W07wfPSQDKMiKOD5Nzv2XyuvQlrmh1q0pxyHNanKHq8lwQ6n9zHucAwA5EbzRJKEgds2orn88rYTg==", + "dependencies": { + "readable-stream": "~1.0.26-4" + } + }, + "node_modules/fwd-stream/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" + }, + "node_modules/fwd-stream/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/fwd-stream/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT" + }, "node_modules/gaxios": { "version": "6.7.1", "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.7.1.tgz", @@ -19551,24 +19128,21 @@ } }, "node_modules/gaxios/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } }, "node_modules/gaxios/node_modules/https-proxy-agent": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.5.tgz", - "integrity": "sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "license": "MIT", "dependencies": { - "agent-base": "^7.0.2", + "agent-base": "^7.1.2", "debug": "4" }, "engines": { @@ -19629,16 +19203,21 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "license": "MIT", "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -19662,11 +19241,18 @@ "node": ">=6" } }, - "node_modules/get-port-please": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.1.2.tgz", - "integrity": "sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==", - "license": "MIT" + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/get-stream": { "version": "6.0.1", @@ -19681,14 +19267,14 @@ } }, "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -19811,9 +19397,9 @@ } }, "node_modules/globals": { - "version": "15.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.13.0.tgz", - "integrity": "sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==", + "version": "15.14.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz", + "integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==", "dev": true, "license": "MIT", "engines": { @@ -19949,9 +19535,9 @@ "license": "MIT" }, "node_modules/graphql": { - "version": "16.9.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.9.0.tgz", - "integrity": "sha512-GGTKBX4SD7Wdb8mqeDLni2oaRGYQWjWHGKPQ24ZMnUtKfcsVoiv4uX8+LJr1K6U5VW2Lu1BwJnj7uiori0YtRw==", + "version": "16.10.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.10.0.tgz", + "integrity": "sha512-AjqGKbDGUFRKIRCP9tCKiIGHyriz2oHEbPIbEtcSLSs4YjReZOIPQQWek4+6hjw62H9QShXHyaGivGiYVLeYFQ==", "license": "MIT", "engines": { "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" @@ -20046,10 +19632,13 @@ } }, "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", "license": "MIT", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -20077,12 +19666,12 @@ } }, "node_modules/has-proto": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.1.0.tgz", - "integrity": "sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "dunder-proto": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -20132,20 +19721,6 @@ "node": ">=4" } }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/hash.js": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", @@ -20468,28 +20043,15 @@ } }, "node_modules/http-proxy-agent/node_modules/agent-base": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.1.tgz", - "integrity": "sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", + "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", "dev": true, "license": "MIT", - "dependencies": { - "debug": "^4.3.4" - }, "engines": { "node": ">= 14" } }, - "node_modules/http-shutdown": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz", - "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==", - "license": "MIT", - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, "node_modules/https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -20510,12 +20072,13 @@ } }, "node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, "license": "Apache-2.0", "engines": { - "node": ">=14.18.0" + "node": ">=10.17.0" } }, "node_modules/i": { @@ -20550,9 +20113,9 @@ } }, "node_modules/i18next-browser-languagedetector": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.1.tgz", - "integrity": "sha512-h/pM34bcH6tbz8WgGXcmWauNpQupCGr25XPp9cZwZInR9XHSjIFDYp1SIok7zSPsTOMxdvuLyu86V+g2Kycnfw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.2.2.tgz", + "integrity": "sha512-6b7r75uIJDWCcCflmbof+sJ94k9UQO4X0YR62oUfqGI/GjCLVzlCwu8TFdRZIqVLzWbzNcmkmhfqKEr4TLz4HQ==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.23.2" @@ -20564,6 +20127,12 @@ "integrity": "sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==", "license": "Apache-2.0" }, + "node_modules/idb-wrapper": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/idb-wrapper/-/idb-wrapper-1.7.2.tgz", + "integrity": "sha512-zfNREywMuf0NzDo9mVsL0yegjsirJxHpKHvWcyRozIqQy89g0a3U+oBPOCN4cc0oCiOuYgZHimzaW/R46G1Mpg==", + "license": "MIT" + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -20627,9 +20196,9 @@ } }, "node_modules/import-from-esm": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.4.tgz", - "integrity": "sha512-7EyUlPFC0HOlBDpUFGfYstsU7XHxZJKAAMzCT8wZ0hMW7b+hG51LIKTDcsgtz8Pu6YC0HqRVbX+rVUtsGMUKvg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-2.0.0.tgz", + "integrity": "sha512-YVt14UZCgsX1vZQ3gKjkWVdBdHQ6eu3MPU1TBgL1H5orXe2+jWD006WCPPtOuwlQm10NuzOW5WawiF1Q9veW8g==", "dev": true, "license": "MIT", "dependencies": { @@ -20637,7 +20206,7 @@ "import-meta-resolve": "^4.0.0" }, "engines": { - "node": ">=16.20" + "node": ">=18.20" } }, "node_modules/import-meta-resolve": { @@ -20662,16 +20231,13 @@ } }, "node_modules/indent-string": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", - "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/index-to-position": { @@ -20687,6 +20253,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==" + }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -20754,14 +20325,14 @@ "license": "Apache-2.0 OR MIT" }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -20805,15 +20376,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, "node_modules/ipfs-unixfs": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/ipfs-unixfs/-/ipfs-unixfs-11.2.0.tgz", @@ -20898,14 +20460,22 @@ "url": "https://github.com/sponsors/brc-dd" } }, + "node_modules/is": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/is/-/is-0.2.7.tgz", + "integrity": "sha512-ajQCouIvkcSnl2iRdK70Jug9mohIHVX9uKpoWnl115ov0R5mzBvRrXxrnHbsA+8AdwCwc/sfw7HXmd4I5EJBdQ==", + "engines": { + "node": "*" + } + }, "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -20915,13 +20485,14 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -20937,12 +20508,15 @@ "license": "MIT" }, "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.0.tgz", + "integrity": "sha512-GExz9MtyhlZyXYLxzlJRj5WUCE661zhDa1Yna52CN57AJsymh+DvXXjyveSioqSRdxvUrdKdvqB1b5cVKsNpWQ==", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -20979,12 +20553,12 @@ } }, "node_modules/is-boolean-object": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.0.tgz", - "integrity": "sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" }, "engines": { @@ -21053,9 +20627,9 @@ } }, "node_modules/is-core-module": { - "version": "2.15.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", - "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "license": "MIT", "dependencies": { "hasown": "^2.0.2" @@ -21068,11 +20642,13 @@ } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "license": "MIT", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -21083,12 +20659,13 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -21097,21 +20674,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-electron": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.2.2.tgz", @@ -21128,12 +20690,12 @@ } }, "node_modules/is-finalizationregistry": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", - "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -21158,12 +20720,15 @@ "license": "MIT" }, "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -21194,24 +20759,6 @@ "npm": ">=3" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-ip": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-5.0.1.tgz", @@ -21262,18 +20809,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-network-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", @@ -21296,12 +20831,12 @@ } }, "node_modules/is-number-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.0.tgz", - "integrity": "sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" }, "engines": { @@ -21321,6 +20856,11 @@ "node": ">=8" } }, + "node_modules/is-object": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-0.1.2.tgz", + "integrity": "sha512-GkfZZlIZtpkFrqyAXPQSRBMsaHAw+CgoKe2HXAkjd/sfoI9+hS8PT4wg2rJxdQyUKr7N2vHJbg7/jQtE5l5vBQ==" + }, "node_modules/is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -21341,13 +20881,13 @@ } }, "node_modules/is-regex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.0.tgz", - "integrity": "sha512-B6ohK4ZmoftlUe+uvenXSbPJFo6U37BH7oO1B3nQH8f/7h27N56s85MhUtbFJAziz5dcmuR3i8ovUl35zp8pFA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "gopd": "^1.1.0", + "call-bound": "^1.0.2", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" }, @@ -21383,12 +20923,12 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -21410,12 +20950,12 @@ } }, "node_modules/is-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.0.tgz", - "integrity": "sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" }, "engines": { @@ -21426,14 +20966,14 @@ } }, "node_modules/is-symbol": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.0.tgz", - "integrity": "sha512-qS8KkNNXUZ/I+nX6QT8ZS1/Yx0A444yhzdTKxCzKkNjQ9sHErBxJnJAgh+f5YhusYECEcjo4XcyH87hn6+ks0A==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "has-symbols": "^1.0.3", - "safe-regex-test": "^1.0.3" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -21443,12 +20983,12 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -21489,25 +21029,12 @@ } }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -21516,34 +21043,20 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "license": "MIT", - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is64bit": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz", - "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==", + "node_modules/is-weakset": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "license": "MIT", "dependencies": { - "system-architecture": "^0.1.0" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { - "node": ">=18" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/isarray": { @@ -21552,6 +21065,12 @@ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "license": "MIT" }, + "node_modules/isbuffer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/isbuffer/-/isbuffer-0.0.0.tgz", + "integrity": "sha512-xU+NoHp+YtKQkaM2HsQchYn0sltxMxew0HavMfHbjnucBoTSGbw745tL+Z7QBANleWM1eEQMenEpi174mIeS4g==", + "license": "MIT" + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -21732,9 +21251,9 @@ } }, "node_modules/it-ndjson": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/it-ndjson/-/it-ndjson-1.0.7.tgz", - "integrity": "sha512-V3IskT5RCVtov1u6sC9gkg0uD02qe8yPoVzBZVaRx+YkuMdpFd6opiAwfYovNd/NEbqo9mBN8wJLtw6vD0Xiqg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/it-ndjson/-/it-ndjson-1.1.0.tgz", + "integrity": "sha512-vh5u/zLEqaqhN0UYjjhCtz3x01vn921k/bYNtjjawMSiYjj3m6QLxXcmocj9eTQli7fGSayAeUXj3lz57Ct5ig==", "license": "Apache-2.0 OR MIT" }, "node_modules/it-pair": { @@ -21894,17 +21413,18 @@ } }, "node_modules/iterator.prototype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz", - "integrity": "sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", + "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", "dev": true, "license": "MIT", "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" + "define-data-property": "^1.1.4", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.6", + "get-proto": "^1.0.0", + "has-symbols": "^1.1.0", + "set-function-name": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -21920,15 +21440,6 @@ "node": ">= 0.6.0" } }, - "node_modules/jiti": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.1.tgz", - "integrity": "sha512-yPBThwecp1wS9DmoA4x4KR2h3QoslacnDR8ypuFM962kI4/456Iy1oHx2RAgh4jfZNdn0bctsdadceiBUgpU1g==", - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, "node_modules/jose": { "version": "5.9.6", "resolved": "https://registry.npmjs.org/jose/-/jose-5.9.6.tgz", @@ -21964,9 +21475,9 @@ } }, "node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "license": "MIT", "bin": { "jsesc": "bin/jsesc" @@ -22036,12 +21547,13 @@ "license": "MIT" }, "node_modules/json-stable-stringify": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.1.1.tgz", - "integrity": "sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.2.1.tgz", + "integrity": "sha512-Lp6HbbBgosLmJbjx0pBLbgvx68FaFU1sdkmBuckmhhJ88kL13OA51CDtR2yJB50eCNMH9wRqtQNNiAqQH4YXnA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "isarray": "^2.0.5", "jsonify": "^0.0.1", "object-keys": "^1.1.1" @@ -22170,20 +21682,6 @@ "node": ">=10.0.0" } }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/key-encoder": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/key-encoder/-/key-encoder-2.0.3.tgz", @@ -22247,6 +21745,251 @@ "node": ">=0.10" } }, + "node_modules/level-blobs": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/level-blobs/-/level-blobs-0.1.7.tgz", + "integrity": "sha512-n0iYYCGozLd36m/Pzm206+brIgXP8mxPZazZ6ZvgKr+8YwOZ8/PPpYC5zMUu2qFygRN8RO6WC/HH3XWMW7RMVg==", + "dependencies": { + "level-peek": "1.0.6", + "once": "^1.3.0", + "readable-stream": "^1.0.26-4" + } + }, + "node_modules/level-blobs/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" + }, + "node_modules/level-blobs/node_modules/readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/level-blobs/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT" + }, + "node_modules/level-filesystem": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/level-filesystem/-/level-filesystem-1.2.0.tgz", + "integrity": "sha512-PhXDuCNYpngpxp3jwMT9AYBMgOvB6zxj3DeuIywNKmZqFj2djj9XfT2XDVslfqmo0Ip79cAd3SBy3FsfOZPJ1g==", + "dependencies": { + "concat-stream": "^1.4.4", + "errno": "^0.1.1", + "fwd-stream": "^1.0.4", + "level-blobs": "^0.1.7", + "level-peek": "^1.0.6", + "level-sublevel": "^5.2.0", + "octal": "^1.0.0", + "once": "^1.3.0", + "xtend": "^2.2.0" + } + }, + "node_modules/level-filesystem/node_modules/xtend": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.2.0.tgz", + "integrity": "sha512-SLt5uylT+4aoXxXuwtQp5ZnMMzhDb1Xkg4pEqc00WUJCQifPfV9Ub1VrNhp9kXkrjZD2I2Hl8WnjP37jzZLPZw==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/level-fix-range": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/level-fix-range/-/level-fix-range-1.0.2.tgz", + "integrity": "sha512-9llaVn6uqBiSlBP+wKiIEoBa01FwEISFgHSZiyec2S0KpyLUkGR4afW/FCZ/X8y+QJvzS0u4PGOlZDdh1/1avQ==", + "license": "MIT" + }, + "node_modules/level-hooks": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/level-hooks/-/level-hooks-4.5.0.tgz", + "integrity": "sha512-fxLNny/vL/G4PnkLhWsbHnEaRi+A/k8r5EH/M77npZwYL62RHi2fV0S824z3QdpAk6VTgisJwIRywzBHLK4ZVA==", + "dependencies": { + "string-range": "~1.2" + } + }, + "node_modules/level-js": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/level-js/-/level-js-2.2.4.tgz", + "integrity": "sha512-lZtjt4ZwHE00UMC1vAb271p9qzg8vKlnDeXfIesH3zL0KxhHRDjClQLGLWhyR0nK4XARnd4wc/9eD1ffd4PshQ==", + "deprecated": "Superseded by browser-level (https://github.com/Level/community#faq)", + "license": "BSD-2-Clause", + "dependencies": { + "abstract-leveldown": "~0.12.0", + "idb-wrapper": "^1.5.0", + "isbuffer": "~0.0.0", + "ltgt": "^2.1.2", + "typedarray-to-buffer": "~1.0.0", + "xtend": "~2.1.2" + } + }, + "node_modules/level-js/node_modules/object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==", + "license": "MIT" + }, + "node_modules/level-js/node_modules/typedarray-to-buffer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-1.0.4.tgz", + "integrity": "sha512-vjMKrfSoUDN8/Vnqitw2FmstOfuJ73G6CrSEKnf11A6RmasVxHqfeBcnTb6RsL4pTMuV5Zsv9IiHRphMZyckUw==", + "license": "MIT" + }, + "node_modules/level-js/node_modules/xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==", + "dependencies": { + "object-keys": "~0.4.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/level-peek": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/level-peek/-/level-peek-1.0.6.tgz", + "integrity": "sha512-TKEzH5TxROTjQxWMczt9sizVgnmJ4F3hotBI48xCTYvOKd/4gA/uY0XjKkhJFo6BMic8Tqjf6jFMLWeg3MAbqQ==", + "license": "MIT", + "dependencies": { + "level-fix-range": "~1.0.2" + } + }, + "node_modules/level-sublevel": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/level-sublevel/-/level-sublevel-5.2.3.tgz", + "integrity": "sha512-tO8jrFp+QZYrxx/Gnmjawuh1UBiifpvKNAcm4KCogesWr1Nm2+ckARitf+Oo7xg4OHqMW76eAqQ204BoIlscjA==", + "license": "MIT", + "dependencies": { + "level-fix-range": "2.0", + "level-hooks": ">=4.4.0 <5", + "string-range": "~1.2.1", + "xtend": "~2.0.4" + } + }, + "node_modules/level-sublevel/node_modules/clone": { + "version": "0.1.19", + "resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz", + "integrity": "sha512-IO78I0y6JcSpEPHzK4obKdsL7E7oLdRVDVOLwr2Hkbjsb+Eoz0dxW6tef0WizoKu0gLC4oZSZuEF4U2K6w1WQw==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/level-sublevel/node_modules/level-fix-range": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/level-fix-range/-/level-fix-range-2.0.0.tgz", + "integrity": "sha512-WrLfGWgwWbYPrHsYzJau+5+te89dUbENBg3/lsxOs4p2tYOhCHjbgXxBAj4DFqp3k/XBwitcRXoCh8RoCogASA==", + "license": "MIT", + "dependencies": { + "clone": "~0.1.9" + } + }, + "node_modules/level-sublevel/node_modules/object-keys": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.2.0.tgz", + "integrity": "sha512-XODjdR2pBh/1qrjPcbSeSgEtKbYo7LqYNq64/TPuCf7j9SfDD3i21yatKoIy39yIWNvVM59iutfQQpCv1RfFzA==", + "deprecated": "Please update to the latest object-keys", + "license": "MIT", + "dependencies": { + "foreach": "~2.0.1", + "indexof": "~0.0.1", + "is": "~0.2.6" + } + }, + "node_modules/level-sublevel/node_modules/xtend": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.0.6.tgz", + "integrity": "sha512-fOZg4ECOlrMl+A6Msr7EIFcON1L26mb4NY5rurSkOex/TWhazOrg6eXD/B0XkuiYcYhQDWLXzQxLMVJ7LXwokg==", + "dependencies": { + "is-object": "~0.1.2", + "object-keys": "~0.2.0" + }, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/levelup": { + "version": "0.18.6", + "resolved": "https://registry.npmjs.org/levelup/-/levelup-0.18.6.tgz", + "integrity": "sha512-uB0auyRqIVXx+hrpIUtol4VAPhLRcnxcOsd2i2m6rbFIDarO5dnrupLOStYYpEcu8ZT087Z9HEuYw1wjr6RL6Q==", + "deprecated": "Superseded by abstract-level (https://github.com/Level/community#faq)", + "license": "MIT", + "dependencies": { + "bl": "~0.8.1", + "deferred-leveldown": "~0.2.0", + "errno": "~0.1.1", + "prr": "~0.0.0", + "readable-stream": "~1.0.26", + "semver": "~2.3.1", + "xtend": "~3.0.0" + } + }, + "node_modules/levelup/node_modules/bl": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz", + "integrity": "sha512-pfqikmByp+lifZCS0p6j6KreV6kNU6Apzpm2nKOk+94cZb/jvle55+JxWiByUQ0Wo/+XnDXEy5MxxKMb6r0VIw==", + "license": "MIT", + "dependencies": { + "readable-stream": "~1.0.26" + } + }, + "node_modules/levelup/node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "license": "MIT" + }, + "node_modules/levelup/node_modules/prr": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz", + "integrity": "sha512-LmUECmrW7RVj6mDWKjTXfKug7TFGdiz9P18HMcO4RHL+RW7MCOGNvpj5j47Rnp6ne6r4fZ2VzyUWEpKbg+tsjQ==", + "license": "MIT" + }, + "node_modules/levelup/node_modules/readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "node_modules/levelup/node_modules/semver": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz", + "integrity": "sha512-abLdIKCosKfpnmhS52NCTjO4RiLspDfsn37prjzGrp9im5DPJOgh82Os92vtwGh6XdQryKI/7SREZnV+aqiXrA==", + "license": "BSD", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/levelup/node_modules/string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==", + "license": "MIT" + }, + "node_modules/levelup/node_modules/xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha512-sp/sT9OALMjRW1fKDlPeuSZlDQpkqReA0pyJukniWbTGoEKefHxhGJynE3PNhUMlcM8qWIjPwecwCw4LArS5Eg==", + "engines": { + "node": ">=0.4" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -22262,36 +22005,38 @@ } }, "node_modules/libp2p": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-2.3.1.tgz", - "integrity": "sha512-b8SydqWzScHXiS5A+c29w2JGbkYBajW+AGFmWmtaF5r53ZpMTetnPmlczkT7D2Zd9+k4yKC7plGBWBNku/KNXQ==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/libp2p/-/libp2p-2.4.2.tgz", + "integrity": "sha512-8y+moEpzzkDjRbK7e+0k8zgtCnL4RkttFnjxrnzoVLQdk6ki3xf0SQkH3aD6FHyz8fdHlG48Av6BEOsT+F9TKg==", "license": "Apache-2.0 OR MIT", "dependencies": { - "@libp2p/crypto": "^5.0.7", - "@libp2p/interface": "^2.2.1", - "@libp2p/interface-internal": "^2.1.1", - "@libp2p/logger": "^5.1.4", - "@libp2p/multistream-select": "^6.0.9", - "@libp2p/peer-collections": "^6.0.12", - "@libp2p/peer-id": "^5.0.8", - "@libp2p/peer-store": "^11.0.12", - "@libp2p/utils": "^6.2.1", + "@chainsafe/is-ip": "^2.0.2", + "@chainsafe/netmask": "^2.0.0", + "@libp2p/crypto": "^5.0.8", + "@libp2p/interface": "^2.3.0", + "@libp2p/interface-internal": "^2.2.1", + "@libp2p/logger": "^5.1.5", + "@libp2p/multistream-select": "^6.0.10", + "@libp2p/peer-collections": "^6.0.13", + "@libp2p/peer-id": "^5.0.9", + "@libp2p/peer-store": "^11.0.13", + "@libp2p/utils": "^6.3.0", "@multiformats/dns": "^1.0.6", - "@multiformats/multiaddr": "^12.2.3", - "@multiformats/multiaddr-matcher": "^1.2.1", + "@multiformats/multiaddr": "^12.3.3", + "@multiformats/multiaddr-matcher": "^1.6.0", "any-signal": "^4.1.1", - "datastore-core": "^10.0.0", - "interface-datastore": "^8.3.0", - "it-byte-stream": "^1.0.12", + "datastore-core": "^10.0.2", + "interface-datastore": "^8.3.1", + "it-byte-stream": "^1.1.0", "it-merge": "^3.0.5", - "it-parallel": "^3.0.7", + "it-parallel": "^3.0.8", "merge-options": "^3.0.4", - "multiformats": "^13.1.0", + "multiformats": "^13.3.1", "p-defer": "^4.0.1", - "p-retry": "^6.2.0", - "progress-events": "^1.0.0", + "p-retry": "^6.2.1", + "progress-events": "^1.0.1", "race-event": "^1.3.0", - "race-signal": "^1.0.2", + "race-signal": "^1.1.0", "uint8arrays": "^5.1.0" } }, @@ -22310,36 +22055,6 @@ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "license": "MIT" }, - "node_modules/listhen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.9.0.tgz", - "integrity": "sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==", - "license": "MIT", - "dependencies": { - "@parcel/watcher": "^2.4.1", - "@parcel/watcher-wasm": "^2.4.1", - "citty": "^0.1.6", - "clipboardy": "^4.0.0", - "consola": "^3.2.3", - "crossws": ">=0.2.0 <0.4.0", - "defu": "^6.1.4", - "get-port-please": "^3.1.2", - "h3": "^1.12.0", - "http-shutdown": "^1.2.2", - "jiti": "^2.1.2", - "mlly": "^1.7.1", - "node-forge": "^1.3.1", - "pathe": "^1.1.2", - "std-env": "^3.7.0", - "ufo": "^1.5.4", - "untun": "^0.1.3", - "uqr": "^0.1.2" - }, - "bin": { - "listen": "bin/listhen.mjs", - "listhen": "bin/listhen.mjs" - } - }, "node_modules/lit": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", @@ -22610,6 +22325,12 @@ "yallist": "^3.0.2" } }, + "node_modules/ltgt": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ltgt/-/ltgt-2.2.1.tgz", + "integrity": "sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==", + "license": "MIT" + }, "node_modules/magic-sdk": { "version": "13.6.2", "resolved": "https://registry.npmjs.org/magic-sdk/-/magic-sdk-13.6.2.tgz", @@ -22623,9 +22344,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.14", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.14.tgz", - "integrity": "sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==", + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0" @@ -22677,9 +22398,9 @@ } }, "node_modules/marked-terminal/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", "dev": true, "license": "MIT", "engines": { @@ -22689,6 +22410,15 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -23640,15 +23370,13 @@ } }, "node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/mimic-response": { @@ -23743,18 +23471,6 @@ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", "license": "MIT" }, - "node_modules/mlly": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.3.tgz", - "integrity": "sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==", - "license": "MIT", - "dependencies": { - "acorn": "^8.14.0", - "pathe": "^1.1.2", - "pkg-types": "^1.2.1", - "ufo": "^1.5.4" - } - }, "node_modules/moment": { "version": "2.30.1", "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", @@ -24119,15 +23835,6 @@ "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", "license": "MIT" }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "license": "(BSD-3-Clause OR GPL-2.0)", - "engines": { - "node": ">= 6.13.0" - } - }, "node_modules/node-gyp-build": { "version": "4.8.4", "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", @@ -24252,9 +23959,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "license": "MIT" }, "node_modules/node-stdlib-browser": { @@ -24341,21 +24048,6 @@ "dev": true, "license": "MIT" }, - "node_modules/node-stdlib-browser/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/node-stdlib-browser/node_modules/stream-browserify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz", @@ -24461,6 +24153,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz", "integrity": "sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==", + "license": "MIT", "dependencies": { "clsx": "^1.1.0", "goober": "^2.0.33" @@ -24648,30 +24341,16 @@ } }, "node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, "license": "MIT", "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + "path-key": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/npm/node_modules/@isaacs/cliui": { @@ -27094,6 +26773,53 @@ "node": "*" } }, + "node_modules/obj-multiplex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/obj-multiplex/-/obj-multiplex-1.0.0.tgz", + "integrity": "sha512-0GNJAOsHoBHeNTvl5Vt6IWnpUEcc3uSRxzBri7EDyIcMgYvnY2JL2qdeV5zTMjWQX5OHcD5amcW2HFfDh0gjIA==", + "license": "ISC", + "dependencies": { + "end-of-stream": "^1.4.0", + "once": "^1.4.0", + "readable-stream": "^2.3.3" + } + }, + "node_modules/obj-multiplex/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/obj-multiplex/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/obj-multiplex/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/obj-multiplex/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -27150,14 +26876,16 @@ } }, "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -27217,13 +26945,14 @@ } }, "node_modules/object.values": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", - "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", + "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, @@ -27262,6 +26991,12 @@ "npm": ">=7.0.0" } }, + "node_modules/octal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/octal/-/octal-1.0.0.tgz", + "integrity": "sha512-nnda7W8d+A3vEIY+UrDQzzboPf1vhs4JYVhff5CDkq9QNoZY7Xrxeo/htox37j9dZf7yNHevZzqtejWgy1vCqQ==", + "license": "MIT" + }, "node_modules/ofetch": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.4.1.tgz", @@ -27295,15 +27030,16 @@ } }, "node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, "license": "MIT", "dependencies": { - "mimic-fn": "^4.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=12" + "node": ">=6" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -27345,10 +27081,27 @@ "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==", "license": "MIT" }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/ox": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ox/-/ox-0.1.2.tgz", - "integrity": "sha512-ak/8K0Rtphg9vnRJlbOdaX9R7cmxD2MiSthjWGaQdMk3D7hrAlDoM+6Lxn7hN52Za3vrXfZ7enfke/5WjolDww==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/ox/-/ox-0.6.0.tgz", + "integrity": "sha512-blUzTLidvUlshv0O02CnLFqBLidNzPoAZdIth894avUAotTuWziznv6IENv5idRuOSSP3dH8WzcYw84zVdu0Aw==", "funding": [ { "type": "github", @@ -27374,50 +27127,14 @@ } } }, - "node_modules/ox/node_modules/@noble/curves": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.7.0.tgz", - "integrity": "sha512-UTMhXK9SeDhFJVrHeUJ5uZlI6ajXg10O6Ddocf9S6GjbSBVZsJo88HzKwXznNfGpMTRDyJkqMjNDPYgf0qFWnw==", - "license": "MIT", - "dependencies": { - "@noble/hashes": "1.6.0" - }, - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ox/node_modules/@noble/hashes": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.0.tgz", - "integrity": "sha512-YUULf0Uk4/mAA89w+k3+yUYh6NrEvxZa5T6SY3wlMvE2chHkxFUUIDI8/XW1QSC357iA5pSnqt7XEhvFOqmDyQ==", - "license": "MIT", - "engines": { - "node": "^14.21.3 || >=16" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/ox/node_modules/@scure/base": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", - "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", - "license": "MIT", - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, "node_modules/ox/node_modules/@scure/bip32": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.0.tgz", - "integrity": "sha512-82q1QfklrUUdXJzjuRU7iG7D7XiFx5PHYVS0+oeNKhyDLT7WPqs6pBcM2W5ZdwOwKCwoE1Vy1se+DHjcXwCYnA==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.6.1.tgz", + "integrity": "sha512-jSO+5Ud1E588Y+LFo8TaB8JVPNAZw/lGGao+1SepHDeTs2dFLurdNIAgUuDlwezqEjRjElkCJajVrtrZaBxvaQ==", "license": "MIT", "dependencies": { - "@noble/curves": "~1.7.0", - "@noble/hashes": "~1.6.0", + "@noble/curves": "~1.8.0", + "@noble/hashes": "~1.7.0", "@scure/base": "~1.2.1" }, "funding": { @@ -27425,12 +27142,12 @@ } }, "node_modules/ox/node_modules/@scure/bip39": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.0.tgz", - "integrity": "sha512-Dop+ASYhnrwm9+HA/HwXg7j2ZqM6yk2fyLWb5znexjctFY3+E+eU8cIWI0Pql0Qx4hPZCijlGq4OL71g+Uz30A==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@scure/bip39/-/bip39-1.5.1.tgz", + "integrity": "sha512-GnlufVSP9UdAo/H2Patfv22VTtpNTyfi+I3qCKpvuB5l1KWzEYx+l2TNpBy9Ksh4xTs3Rn06tBlpWCi/1Vz8gw==", "license": "MIT", "dependencies": { - "@noble/hashes": "~1.6.0", + "@noble/hashes": "~1.7.0", "@scure/base": "~1.2.1" }, "funding": { @@ -27438,9 +27155,9 @@ } }, "node_modules/ox/node_modules/abitype": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.7.tgz", - "integrity": "sha512-ZfYYSktDQUwc2eduYu8C4wOs+RDPmnRYMh7zNfzeMtGGgb0U+6tLGjixUic6mXf5xKKCcgT5Qp6cv39tOARVFw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/abitype/-/abitype-1.0.8.tgz", + "integrity": "sha512-ZeiI6h3GnW06uYDLx0etQtX/p8E24UaHHBj57RSjK7YBFe7iuVn07EDpOeP451D06sF27VOz9JJPlIKJmXgkEg==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/wevm" @@ -27584,16 +27301,13 @@ } }, "node_modules/p-reduce": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", - "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", + "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, "node_modules/p-retry": { @@ -27614,9 +27328,9 @@ } }, "node_modules/p-timeout": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.3.tgz", - "integrity": "sha512-UJUyfKbwvr/uZSV6btANfb+0t/mOhKV/KXcCUTp8FcQI+v/0d+wXqH4htrW0E4rR6WiEO/EPvUFiV9D5OI4vlw==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", "license": "MIT", "engines": { "node": ">=14.16" @@ -27870,12 +27584,13 @@ } }, "node_modules/permissionless": { - "version": "0.2.21", - "resolved": "https://registry.npmjs.org/permissionless/-/permissionless-0.2.21.tgz", - "integrity": "sha512-hNrRR/I5InbqkKgRBLhXQY5R0j9biqp688ECBxsW5AO99jOv9HPjz82EdRT87OG4XkCjO4AY20hi4ZPoc+XjRg==", + "version": "0.2.24", + "resolved": "https://registry.npmjs.org/permissionless/-/permissionless-0.2.24.tgz", + "integrity": "sha512-46B/2zuvuEifIMRMLRJEH60LvxduPhEGnX6jzei9f7AoJEL3TEWQorPxOLwx3XUASU2c+ssTNSFigNmVGRkGCw==", "license": "MIT", "peerDependencies": { - "viem": "^2.21.22" + "viem": "^2.21.54", + "webauthn-p256": "0.0.10" } }, "node_modules/picocolors": { @@ -28052,17 +27767,6 @@ "node": ">=10" } }, - "node_modules/pkg-types": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.2.1.tgz", - "integrity": "sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==", - "license": "MIT", - "dependencies": { - "confbox": "^0.1.8", - "mlly": "^1.7.2", - "pathe": "^1.1.2" - } - }, "node_modules/pngjs": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", @@ -28139,9 +27843,9 @@ } }, "node_modules/preact": { - "version": "10.25.1", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.1.tgz", - "integrity": "sha512-frxeZV2vhQSohQwJ7FvlqC40ze89+8friponWUFeVEkaCfhC6Eu4V0iND5C9CXz8JLndV07QRDeXzH1+Anz5Og==", + "version": "10.25.4", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.25.4.tgz", + "integrity": "sha512-jLdZDb+Q+odkHJ+MpW/9U5cODzqnB+fy2EiHSZES7ldV5LK7yjlVzTp7R8Xy6W6y75kfK8iWYtFVH7lvjwrCMA==", "license": "MIT", "funding": { "type": "opencollective", @@ -28238,6 +27942,12 @@ "node": ">= 0.6.0" } }, + "node_modules/process-es6": { + "version": "0.11.6", + "resolved": "https://registry.npmjs.org/process-es6/-/process-es6-0.11.6.tgz", + "integrity": "sha512-GYBRQtL4v3wgigq10Pv58jmTbFXlIiTbSfgnNqZLY0ldUPqy1rRxDI5fCjoCpnM6TqmHQI8ydzTBXW86OYc0gA==", + "license": "MIT" + }, "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", @@ -28364,6 +28074,12 @@ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", "license": "MIT" }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "license": "MIT" + }, "node_modules/public-encrypt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", @@ -28683,20 +28399,6 @@ "rabin-wasm": "cli/bin.js" } }, - "node_modules/rabin-wasm/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/race-event": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/race-event/-/race-event-1.3.0.tgz", @@ -28843,9 +28545,9 @@ "license": "MIT" }, "node_modules/react-hook-form": { - "version": "7.53.2", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.53.2.tgz", - "integrity": "sha512-YVel6fW5sOeedd1524pltpHX+jgU2u3DSDtXEaBORNdqiNrsX/nUI/iGXONegttg0mJVnfrIkiV0cmTU6Oo2xw==", + "version": "7.54.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.54.2.tgz", + "integrity": "sha512-eHpAUgUjWbZocoQYUHposymRb4ZP6d0uwUnooL2uOybA9/3tPUvoAKqEWK1WaSiTxxOfTpffNZP7QwlnM3/gEg==", "license": "MIT", "engines": { "node": ">=18.0.0" @@ -28881,22 +28583,22 @@ } }, "node_modules/react-is": { - "version": "18.3.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", - "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.0.0.tgz", + "integrity": "sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g==", "license": "MIT" }, "node_modules/react-lazy-load-image-component": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/react-lazy-load-image-component/-/react-lazy-load-image-component-1.6.2.tgz", - "integrity": "sha512-dAdH5PsRgvDMlHC7QpZRA9oRzEZl1kPFwowmR9Mt0IUUhxk2wwq43PB6Ffwv84HFYuPmsxDUCka0E9KVXi8roQ==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/react-lazy-load-image-component/-/react-lazy-load-image-component-1.6.3.tgz", + "integrity": "sha512-kdQYUDbuISF3T9El0sBLNoWrmPohqlytcG4ognLtHYjY8bZAsJ0/Ez+VaV+0QlVyUY3K6dDXkuQAz3GpvdjBkw==", "license": "MIT", "dependencies": { "lodash.debounce": "^4.0.8", "lodash.throttle": "^4.1.1" }, "peerDependencies": { - "react": "^15.x.x || ^16.x.x || ^17.x.x || ^18.x.x" + "react": "^15.x.x || ^16.x.x || ^17.x.x || ^18.x.x || ^19.x.x" } }, "node_modules/react-markdown": { @@ -28930,6 +28632,12 @@ "react": ">=16" } }, + "node_modules/react-markdown/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT" + }, "node_modules/react-native-webrtc": { "version": "124.0.4", "resolved": "https://registry.npmjs.org/react-native-webrtc/-/react-native-webrtc-124.0.4.tgz", @@ -29026,17 +28734,17 @@ } }, "node_modules/react-redux": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz", - "integrity": "sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "license": "MIT", "dependencies": { - "@types/use-sync-external-store": "^0.0.3", - "use-sync-external-store": "^1.0.0" + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" }, "peerDependencies": { - "@types/react": "^18.2.25", - "react": "^18.0", + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", "redux": "^5.0.0" }, "peerDependenciesMeta": { @@ -29059,23 +28767,23 @@ } }, "node_modules/react-remove-scroll": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.0.tgz", - "integrity": "sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==", + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.6.2.tgz", + "integrity": "sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==", "license": "MIT", "dependencies": { - "react-remove-scroll-bar": "^2.3.6", + "react-remove-scroll-bar": "^2.3.7", "react-style-singleton": "^2.2.1", "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", + "use-callback-ref": "^1.3.3", "use-sidecar": "^1.1.2" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -29084,20 +28792,20 @@ } }, "node_modules/react-remove-scroll-bar": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", - "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.8.tgz", + "integrity": "sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==", "license": "MIT", "dependencies": { - "react-style-singleton": "^2.2.1", + "react-style-singleton": "^2.2.2", "tslib": "^2.0.0" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -29106,9 +28814,9 @@ } }, "node_modules/react-router": { - "version": "6.28.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.0.tgz", - "integrity": "sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==", + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.28.1.tgz", + "integrity": "sha512-2omQTA3rkMljmrvvo6WtewGdVh45SpL9hGiCI9uUrwGGfNFDIvGK4gYJsKlJoNVi6AQZcopSCballL+QGOm7fA==", "license": "MIT", "dependencies": { "@remix-run/router": "1.21.0" @@ -29121,13 +28829,13 @@ } }, "node_modules/react-router-dom": { - "version": "6.28.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.0.tgz", - "integrity": "sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==", + "version": "6.28.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.28.1.tgz", + "integrity": "sha512-YraE27C/RdjcZwl5UCqF/ffXnZDxpJdk9Q6jw38SZHjXs7NNdpViq2l2c7fO7+4uWaEfcwfGCv3RSg4e1By/fQ==", "license": "MIT", "dependencies": { "@remix-run/router": "1.21.0", - "react-router": "6.28.0" + "react-router": "6.28.1" }, "engines": { "node": ">=14.0.0" @@ -29155,21 +28863,20 @@ } }, "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.3.tgz", + "integrity": "sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==", "license": "MIT", "dependencies": { "get-nonce": "^1.0.0", - "invariant": "^2.2.4", "tslib": "^2.0.0" }, "engines": { "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -29250,19 +28957,17 @@ } }, "node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "license": "MIT", "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 6" } }, "node_modules/readdirp": { @@ -29298,43 +29003,6 @@ "node": ">= 12.13.0" } }, - "node_modules/recursive-readdir": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", - "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/recursive-readdir/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/recursive-readdir/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/redux": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", @@ -29357,18 +29025,19 @@ "license": "Apache-2.0" }, "node_modules/reflect.getprototypeof": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", - "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "which-builtin-type": "^1.1.4" + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -29414,14 +29083,16 @@ } }, "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "set-function-name": "^2.0.2" }, "engines": { @@ -29482,6 +29153,19 @@ "regjsparser": "bin/parser" } }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", + "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/rehackt": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/rehackt/-/rehackt-0.1.0.tgz", @@ -29613,18 +29297,21 @@ "license": "MIT" }, "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -29658,9 +29345,9 @@ } }, "node_modules/retimeable-signal": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/retimeable-signal/-/retimeable-signal-0.0.0.tgz", - "integrity": "sha512-jxnBbSwD7khkZIf0cnD6j3BVawwhrbcT4y1WWWZq14l5Ds+z+csataLeBSRtKVqn5tjuT4WPCbMDJLKI2C/WUA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/retimeable-signal/-/retimeable-signal-1.0.1.tgz", + "integrity": "sha512-Cy26CYfbWnYu8HMoJeDhaMpW/EYFIbne3vMf6G9RSrOyWYXbPehja/BEdzpqmM84uy2bfBD7NPZhoQ4GZEtgvg==", "license": "Apache-2.0 OR MIT" }, "node_modules/retry": { @@ -29782,9 +29469,9 @@ } }, "node_modules/rollup": { - "version": "4.28.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.28.0.tgz", - "integrity": "sha512-G9GOrmgWHBma4YfCcX8PjH0qhXSdH8B4HDE2o4/jaxj93S4DPCIDoLcXz99eWMji4hB29UFCEd7B2gwGJDR9cQ==", + "version": "4.29.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.29.1.tgz", + "integrity": "sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==", "dev": true, "license": "MIT", "dependencies": { @@ -29798,27 +29485,96 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.28.0", - "@rollup/rollup-android-arm64": "4.28.0", - "@rollup/rollup-darwin-arm64": "4.28.0", - "@rollup/rollup-darwin-x64": "4.28.0", - "@rollup/rollup-freebsd-arm64": "4.28.0", - "@rollup/rollup-freebsd-x64": "4.28.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.28.0", - "@rollup/rollup-linux-arm-musleabihf": "4.28.0", - "@rollup/rollup-linux-arm64-gnu": "4.28.0", - "@rollup/rollup-linux-arm64-musl": "4.28.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.28.0", - "@rollup/rollup-linux-riscv64-gnu": "4.28.0", - "@rollup/rollup-linux-s390x-gnu": "4.28.0", - "@rollup/rollup-linux-x64-gnu": "4.28.0", - "@rollup/rollup-linux-x64-musl": "4.28.0", - "@rollup/rollup-win32-arm64-msvc": "4.28.0", - "@rollup/rollup-win32-ia32-msvc": "4.28.0", - "@rollup/rollup-win32-x64-msvc": "4.28.0", + "@rollup/rollup-android-arm-eabi": "4.29.1", + "@rollup/rollup-android-arm64": "4.29.1", + "@rollup/rollup-darwin-arm64": "4.29.1", + "@rollup/rollup-darwin-x64": "4.29.1", + "@rollup/rollup-freebsd-arm64": "4.29.1", + "@rollup/rollup-freebsd-x64": "4.29.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.29.1", + "@rollup/rollup-linux-arm-musleabihf": "4.29.1", + "@rollup/rollup-linux-arm64-gnu": "4.29.1", + "@rollup/rollup-linux-arm64-musl": "4.29.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.29.1", + "@rollup/rollup-linux-powerpc64le-gnu": "4.29.1", + "@rollup/rollup-linux-riscv64-gnu": "4.29.1", + "@rollup/rollup-linux-s390x-gnu": "4.29.1", + "@rollup/rollup-linux-x64-gnu": "4.29.1", + "@rollup/rollup-linux-x64-musl": "4.29.1", + "@rollup/rollup-win32-arm64-msvc": "4.29.1", + "@rollup/rollup-win32-ia32-msvc": "4.29.1", + "@rollup/rollup-win32-x64-msvc": "4.29.1", "fsevents": "~2.3.2" } }, + "node_modules/rollup-plugin-node-builtins": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-builtins/-/rollup-plugin-node-builtins-2.1.2.tgz", + "integrity": "sha512-bxdnJw8jIivr2yEyt8IZSGqZkygIJOGAWypXvHXnwKAbUcN4Q/dGTx7K0oAJryC/m6aq6tKutltSeXtuogU6sw==", + "license": "ISC", + "dependencies": { + "browserify-fs": "^1.0.0", + "buffer-es6": "^4.9.2", + "crypto-browserify": "^3.11.0", + "process-es6": "^0.11.2" + } + }, + "node_modules/rollup-plugin-node-globals": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-node-globals/-/rollup-plugin-node-globals-1.4.0.tgz", + "integrity": "sha512-xRkB+W/m1KLIzPUmG0ofvR+CPNcvuCuNdjVBVS7ALKSxr3EDhnzNceGkGi1m8MToSli13AzKFYH4ie9w3I5L3g==", + "license": "MIT", + "dependencies": { + "acorn": "^5.7.3", + "buffer-es6": "^4.9.3", + "estree-walker": "^0.5.2", + "magic-string": "^0.22.5", + "process-es6": "^0.11.6", + "rollup-pluginutils": "^2.3.1" + } + }, + "node_modules/rollup-plugin-node-globals/node_modules/acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/rollup-plugin-node-globals/node_modules/estree-walker": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.5.2.tgz", + "integrity": "sha512-XpCnW/AE10ws/kDAs37cngSkvgIR8aN3G0MS85m7dUpuK2EREo9VJ00uvw6Dg/hXEpfsE1I1TvJOJr+Z+TL+ig==", + "license": "MIT" + }, + "node_modules/rollup-plugin-node-globals/node_modules/magic-string": { + "version": "0.22.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.22.5.tgz", + "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==", + "license": "MIT", + "dependencies": { + "vlq": "^0.2.2" + } + }, + "node_modules/rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "license": "MIT", + "dependencies": { + "estree-walker": "^0.6.1" + } + }, + "node_modules/rollup-pluginutils/node_modules/estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "license": "MIT" + }, "node_modules/rollup-preserve-directives": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/rollup-preserve-directives/-/rollup-preserve-directives-1.1.3.tgz", @@ -29878,14 +29634,15 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -29921,15 +29678,31 @@ "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==", "license": "MIT" }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -30044,9 +29817,9 @@ "license": "MIT" }, "node_modules/semantic-release": { - "version": "24.2.0", - "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.0.tgz", - "integrity": "sha512-fQfn6e/aYToRtVJYKqneFM1Rg3KP2gh3wSWtpYsLlz6uaPKlISrTzvYAFn+mYWo07F0X1Cz5ucU89AVE8X1mbg==", + "version": "24.2.1", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-24.2.1.tgz", + "integrity": "sha512-z0/3cutKNkLQ4Oy0HTi3lubnjTsdjjgOqmxdPjeYWe6lhFqUPfwslZxRHv3HDZlN4MhnZitb9SLihDkZNxOXfQ==", "dev": true, "license": "MIT", "dependencies": { @@ -30066,7 +29839,7 @@ "git-log-parser": "^1.2.0", "hook-std": "^3.0.0", "hosted-git-info": "^8.0.0", - "import-from-esm": "^1.3.1", + "import-from-esm": "^2.0.0", "lodash-es": "^4.17.21", "marked": "^12.0.0", "marked-terminal": "^7.0.0", @@ -30087,6 +29860,16 @@ "node": ">=20.8.1" } }, + "node_modules/semantic-release/node_modules/@semantic-release/error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-4.0.0.tgz", + "integrity": "sha512-mgdxrHTLOjOddRVYIYDo0fR3/v61GNN1YGkfbrjuIKg/uMgCd+Qzo3UAXJ+woLQQpos4pl5Esuw5A7AoNlzjUQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, "node_modules/semantic-release/node_modules/@sindresorhus/merge-streams": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", @@ -30100,6 +29883,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/aggregate-error": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-5.0.0.tgz", + "integrity": "sha512-gOsf2YwSlleG6IjRYG2A7k0HmBMEo6qVNk9Bp/EaLgAJT5ngH6PXbqa4ItvnEwCm/velL5jAnQgsHsWnjhGmvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^5.2.0", + "indent-string": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semantic-release/node_modules/clean-stack": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-5.2.0.tgz", + "integrity": "sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "5.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", @@ -30142,10 +29958,23 @@ } } }, + "node_modules/semantic-release/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/execa": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.1.tgz", - "integrity": "sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==", + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.5.2.tgz", + "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", "dev": true, "license": "MIT", "dependencies": { @@ -30196,6 +30025,19 @@ "node": ">=18.18.0" } }, + "node_modules/semantic-release/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -30239,6 +30081,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/semantic-release/node_modules/p-reduce": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-3.0.0.tgz", + "integrity": "sha512-xsrIUgI0Kn6iyDYm9StOpOeK29XM1aboGji26+QEortiFST1hGZaUQOLhtEbqHErPpGW/aSz6allwK2qcptp0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/semantic-release/node_modules/path-key": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", @@ -30432,6 +30287,20 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", @@ -30479,15 +30348,69 @@ } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -30669,23 +30592,21 @@ "license": "MIT" }, "node_modules/simplebar-core": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/simplebar-core/-/simplebar-core-1.2.6.tgz", - "integrity": "sha512-H5NYU+O+uvqOH5VXw3+lgoc1vTI6jL8LOZJsw4xgRpV7uIPjRpmLPdz0TrouxwKHBhpVLzVIlyKhaRLelIThMw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/simplebar-core/-/simplebar-core-1.3.0.tgz", + "integrity": "sha512-LpWl3w0caz0bl322E68qsrRPpIn+rWBGAaEJ0lUJA7Xpr2sw92AkIhg6VWj988IefLXYh50ILatfAnbNoCFrlA==", "license": "MIT", "dependencies": { - "@types/lodash-es": "^4.17.6", - "lodash": "^4.17.21", - "lodash-es": "^4.17.21" + "lodash": "^4.17.21" } }, "node_modules/simplebar-react": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-3.2.6.tgz", - "integrity": "sha512-8jDiBuVCG86JmOrsmkA+4q77iFAEbhU9EX62PohLisg3dnxdLXFFhkxnx2Es3Cxt8IlZFlJsF9GaobFL3ukwiA==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/simplebar-react/-/simplebar-react-3.3.0.tgz", + "integrity": "sha512-sxzy+xRuU41He4tT4QLGYutchtOuye/xxVeq7xhyOiwMiHNK1ZpvbOTyy+7P0i7gfpXLGTJ8Bep8+4Mhdgtz/g==", "license": "MIT", "dependencies": { - "simplebar-core": "^1.2.6" + "simplebar-core": "^1.3.0" }, "peerDependencies": { "react": ">=16.8.0" @@ -30738,6 +30659,23 @@ "node": ">=10.0.0" } }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/socket.io-parser": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", @@ -30751,6 +30689,23 @@ "node": ">=10.0.0" } }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/solady": { "version": "0.0.180", "resolved": "https://registry.npmjs.org/solady/-/solady-0.0.180.tgz", @@ -30862,20 +30817,6 @@ "readable-stream": "^3.0.0" } }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/stable-hash": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.4.tgz", @@ -30883,12 +30824,6 @@ "dev": true, "license": "MIT" }, - "node_modules/std-env": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.8.0.tgz", - "integrity": "sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==", - "license": "MIT" - }, "node_modules/stream-browserify": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", @@ -31090,6 +31025,12 @@ "dev": true, "license": "MIT" }, + "node_modules/string-range": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/string-range/-/string-range-1.2.2.tgz", + "integrity": "sha512-tYft6IFi8SjplJpxCUxyqisD3b+R2CSkomrtJYCkvuf1KuCAWgz7YXt4O0jip7efpfCemwHEzTEAO8EuOYgh3w==", + "license": "MIT" + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -31126,24 +31067,25 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", - "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", + "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", + "es-abstract": "^1.23.6", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.7", - "regexp.prototype.flags": "^1.5.2", + "get-intrinsic": "^1.2.6", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "internal-slot": "^1.1.0", + "regexp.prototype.flags": "^1.5.3", "set-function-name": "^2.0.2", - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -31164,15 +31106,18 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -31182,15 +31127,19 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -31244,15 +31193,13 @@ } }, "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, "license": "MIT", "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, "node_modules/strip-hex-prefix": { @@ -31281,13 +31228,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strnum": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==", - "dev": true, - "license": "MIT" - }, "node_modules/stubs": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz", @@ -31390,16 +31330,16 @@ } }, "node_modules/swr": { - "version": "2.2.5", - "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.5.tgz", - "integrity": "sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.0.tgz", + "integrity": "sha512-NyZ76wA4yElZWBHzSgEJc28a0u6QZvhb6w0azeL2k7+Q1gAzVK+IqQYXhVOC/mzi+HZIozrZvBVeSeOZNR2bqA==", "license": "MIT", "dependencies": { - "client-only": "^0.0.1", - "use-sync-external-store": "^1.2.0" + "dequal": "^2.0.3", + "use-sync-external-store": "^1.4.0" }, "peerDependencies": { - "react": "^16.11.0 || ^17.0.0 || ^18.0.0" + "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, "node_modules/symbol-observable": { @@ -31428,18 +31368,6 @@ "url": "https://opencollective.com/unts" } }, - "node_modules/system-architecture": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz", - "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==", - "license": "MIT", - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/tapable": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", @@ -31513,20 +31441,6 @@ "ieee754": "^1.1.13" } }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/teeny-request": { "version": "9.0.0", "resolved": "https://registry.npmjs.org/teeny-request/-/teeny-request-9.0.0.tgz", @@ -32333,6 +32247,15 @@ "@babel/runtime": "^7.13.10" } }, + "node_modules/thirdweb/node_modules/@scure/base": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.9.tgz", + "integrity": "sha512-8YKhl8GHiNI/pU2VMaofa2Tor7PJRAjwQLBBuilkJ9L5+13yVbC7JO/wS7piioAvPSwR3JKM1IJ/u4xQzbcXKg==", + "license": "MIT", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/thirdweb/node_modules/@scure/bip32": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/@scure/bip32/-/bip32-1.3.2.tgz", @@ -32435,19 +32358,19 @@ } }, "node_modules/thirdweb/node_modules/@walletconnect/sign-client": { - "version": "2.17.2", - "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.17.2.tgz", - "integrity": "sha512-/wigdCIQjlBXSWY43Id0IPvZ5biq4HiiQZti8Ljvx408UYjmqcxcBitbj2UJXMYkid7704JWAB2mw32I1HgshQ==", + "version": "2.17.3", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.17.3.tgz", + "integrity": "sha512-OzOWxRTfVGCHU3OOF6ibPkgPfDpivFJjuknfcOUt9PYWpTAv6YKOmT4cyfBPhc7llruyHpV44fYbykMcLIvEcg==", "license": "Apache-2.0", "dependencies": { - "@walletconnect/core": "2.17.2", + "@walletconnect/core": "2.17.3", "@walletconnect/events": "1.0.1", "@walletconnect/heartbeat": "1.2.2", "@walletconnect/jsonrpc-utils": "1.0.8", "@walletconnect/logger": "2.1.2", "@walletconnect/time": "1.0.2", - "@walletconnect/types": "2.17.2", - "@walletconnect/utils": "2.17.2", + "@walletconnect/types": "2.17.3", + "@walletconnect/utils": "2.17.3", "events": "3.3.0" } }, @@ -32967,9 +32890,9 @@ } }, "node_modules/type-fest": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.0.tgz", - "integrity": "sha512-G6zXWS1dLj6eagy6sVhOMQiLtJdxQBHIA9Z6HFUNLOlr6MFOgzV8wvmidtPONfPtEUv0uZsy77XJNzTAfwPDaA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz", + "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==", "dev": true, "license": "(MIT OR CC0-1.0)", "engines": { @@ -32980,30 +32903,30 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -33013,18 +32936,18 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", - "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "reflect.getprototypeof": "^1.0.6" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -33062,6 +32985,12 @@ "rxjs": "*" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -33072,17 +33001,19 @@ } }, "node_modules/typedarray.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.3.tgz", - "integrity": "sha512-8WbVAQAUlENo1q3c3zZYuy5k9VzBQvp8AX9WOtbvyWlLM1v5JaSRmjubLjzHF4JFtptjH/5c/i95yaElvcjC0A==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.5.tgz", + "integrity": "sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-offset": "^1.0.2" + "get-proto": "^1.0.1", + "math-intrinsics": "^1.1.0", + "typed-array-buffer": "^1.0.3", + "typed-array-byte-offset": "^1.0.4" }, "engines": { "node": ">= 0.4" @@ -33106,15 +33037,15 @@ } }, "node_modules/typescript-eslint": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.17.0.tgz", - "integrity": "sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.0.tgz", + "integrity": "sha512-Ni8sUkVWYK4KAcTtPjQ/UTiRk6jcsuDhPpxULapUDi8A/l8TSBk+t1GtJA1RsCzIJg0q6+J7bf35AwQigENWRQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.17.0", - "@typescript-eslint/parser": "8.17.0", - "@typescript-eslint/utils": "8.17.0" + "@typescript-eslint/eslint-plugin": "8.19.0", + "@typescript-eslint/parser": "8.19.0", + "@typescript-eslint/utils": "8.19.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -33124,26 +33055,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.17.0.tgz", - "integrity": "sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz", + "integrity": "sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/type-utils": "8.17.0", - "@typescript-eslint/utils": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", + "@typescript-eslint/scope-manager": "8.19.0", + "@typescript-eslint/type-utils": "8.19.0", + "@typescript-eslint/utils": "8.19.0", + "@typescript-eslint/visitor-keys": "8.19.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -33158,25 +33085,21 @@ }, "peerDependencies": { "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/parser": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.17.0.tgz", - "integrity": "sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.0.tgz", + "integrity": "sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/typescript-estree": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", + "@typescript-eslint/scope-manager": "8.19.0", + "@typescript-eslint/types": "8.19.0", + "@typescript-eslint/typescript-estree": "8.19.0", + "@typescript-eslint/visitor-keys": "8.19.0", "debug": "^4.3.4" }, "engines": { @@ -33187,23 +33110,19 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/scope-manager": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.17.0.tgz", - "integrity": "sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz", + "integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0" + "@typescript-eslint/types": "8.19.0", + "@typescript-eslint/visitor-keys": "8.19.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -33214,14 +33133,14 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/type-utils": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.17.0.tgz", - "integrity": "sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz", + "integrity": "sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/typescript-estree": "8.17.0", - "@typescript-eslint/utils": "8.17.0", + "@typescript-eslint/typescript-estree": "8.19.0", + "@typescript-eslint/utils": "8.19.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -33233,18 +33152,14 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/types": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.17.0.tgz", - "integrity": "sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz", + "integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==", "dev": true, "license": "MIT", "engines": { @@ -33256,14 +33171,14 @@ } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/typescript-estree": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.17.0.tgz", - "integrity": "sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz", + "integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==", "dev": true, - "license": "BSD-2-Clause", + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/visitor-keys": "8.17.0", + "@typescript-eslint/types": "8.19.0", + "@typescript-eslint/visitor-keys": "8.19.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -33278,23 +33193,21 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/utils": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.17.0.tgz", - "integrity": "sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz", + "integrity": "sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.17.0", - "@typescript-eslint/types": "8.17.0", - "@typescript-eslint/typescript-estree": "8.17.0" + "@typescript-eslint/scope-manager": "8.19.0", + "@typescript-eslint/types": "8.19.0", + "@typescript-eslint/typescript-estree": "8.19.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -33304,22 +33217,18 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.8.0" } }, "node_modules/typescript-eslint/node_modules/@typescript-eslint/visitor-keys": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.17.0.tgz", - "integrity": "sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz", + "integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.17.0", + "@typescript-eslint/types": "8.19.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -33421,15 +33330,18 @@ } }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -33711,36 +33623,39 @@ } }, "node_modules/unstorage": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.13.1.tgz", - "integrity": "sha512-ELexQHUrG05QVIM/iUeQNdl9FXDZhqLJ4yP59fnmn2jGUh0TEulwOgov1ubOb3Gt2ZGK/VMchJwPDNVEGWQpRg==", + "version": "1.14.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.14.4.tgz", + "integrity": "sha512-1SYeamwuYeQJtJ/USE1x4l17LkmQBzg7deBJ+U9qOBoHo15d1cDxG4jM31zKRgF7pG0kirZy4wVMX6WL6Zoscg==", "license": "MIT", "dependencies": { "anymatch": "^3.1.3", "chokidar": "^3.6.0", - "citty": "^0.1.6", "destr": "^2.0.3", "h3": "^1.13.0", - "listhen": "^1.9.0", "lru-cache": "^10.4.3", "node-fetch-native": "^1.6.4", "ofetch": "^1.4.1", "ufo": "^1.5.4" }, "peerDependencies": { - "@azure/app-configuration": "^1.7.0", - "@azure/cosmos": "^4.1.1", - "@azure/data-tables": "^13.2.2", + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", "@azure/identity": "^4.5.0", "@azure/keyvault-secrets": "^4.9.0", - "@azure/storage-blob": "^12.25.0", - "@capacitor/preferences": "^6.0.2", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6.0.3", + "@deno/kv": ">=0.8.4", "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0", "@planetscale/database": "^1.19.0", "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.0", "@vercel/kv": "^1.0.1", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", "idb-keyval": "^6.2.1", - "ioredis": "^5.4.1" + "ioredis": "^5.4.2", + "uploadthing": "^7.4.1" }, "peerDependenciesMeta": { "@azure/app-configuration": { @@ -33764,6 +33679,9 @@ "@capacitor/preferences": { "optional": true }, + "@deno/kv": { + "optional": true + }, "@netlify/blobs": { "optional": true }, @@ -33773,14 +33691,26 @@ "@upstash/redis": { "optional": true }, + "@vercel/blob": { + "optional": true + }, "@vercel/kv": { "optional": true }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, "idb-keyval": { "optional": true }, "ioredis": { "optional": true + }, + "uploadthing": { + "optional": true } } }, @@ -33790,20 +33720,6 @@ "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "license": "ISC" }, - "node_modules/untun": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz", - "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==", - "license": "MIT", - "dependencies": { - "citty": "^0.1.5", - "consola": "^3.2.3", - "pathe": "^1.1.1" - }, - "bin": { - "untun": "bin/untun.mjs" - } - }, "node_modules/update-browserslist-db": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", @@ -33888,9 +33804,9 @@ "license": "MIT" }, "node_modules/use-callback-ref": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", - "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.3.tgz", + "integrity": "sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==", "license": "MIT", "dependencies": { "tslib": "^2.0.0" @@ -33899,8 +33815,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -33909,9 +33825,9 @@ } }, "node_modules/use-sidecar": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", - "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.3.tgz", + "integrity": "sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==", "license": "MIT", "dependencies": { "detect-node-es": "^1.1.0", @@ -33921,8 +33837,8 @@ "node": ">=10" }, "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "@types/react": "*", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -34110,9 +34026,9 @@ } }, "node_modules/viem": { - "version": "2.21.54", - "resolved": "https://registry.npmjs.org/viem/-/viem-2.21.54.tgz", - "integrity": "sha512-G9mmtbua3UtnVY9BqAtWdNp+3AO+oWhD0B9KaEsZb6gcrOWgmA4rz02yqEMg+qW9m6KgKGie7q3zcHqJIw6AqA==", + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/viem/-/viem-2.22.2.tgz", + "integrity": "sha512-HNATy2rwkQcC1JRYBJJujJTtVtDkWlQEB7GvAtn4GBXdbBROnjs8pGXwJAWhb/crErVk5yJ/Fh50yGtA9VZh8A==", "funding": [ { "type": "github", @@ -34127,7 +34043,7 @@ "@scure/bip39": "1.5.0", "abitype": "1.0.7", "isows": "1.0.6", - "ox": "0.1.2", + "ox": "0.6.0", "webauthn-p256": "0.0.10", "ws": "8.18.0" }, @@ -34167,11 +34083,14 @@ "url": "https://paulmillr.com/funding/" } }, - "node_modules/viem/node_modules/@scure/base": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.2.1.tgz", - "integrity": "sha512-DGmGtC8Tt63J5GfHgfl5CuAXh96VF/LD8K9Hr/Gv0J2lAoRGlPOMpqMpMbCTOoOJMZCk2Xt+DskdDyn6dEFdzQ==", + "node_modules/viem/node_modules/@noble/hashes": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.6.1.tgz", + "integrity": "sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==", "license": "MIT", + "engines": { + "node": "^14.21.3 || >=16" + }, "funding": { "url": "https://paulmillr.com/funding/" } @@ -34322,6 +34241,12 @@ "vite": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" } }, + "node_modules/vlq": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", + "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", + "license": "MIT" + }, "node_modules/vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -34678,32 +34603,6 @@ "node": ">=8.0.0" } }, - "node_modules/web3-utils/node_modules/@ethereumjs/rlp": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@ethereumjs/rlp/-/rlp-4.0.1.tgz", - "integrity": "sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==", - "license": "MPL-2.0", - "bin": { - "rlp": "bin/rlp" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/web3-utils/node_modules/@ethereumjs/util": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@ethereumjs/util/-/util-8.1.0.tgz", - "integrity": "sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==", - "license": "MPL-2.0", - "dependencies": { - "@ethereumjs/rlp": "^4.0.1", - "ethereum-cryptography": "^2.0.0", - "micro-ftch": "^0.3.1" - }, - "engines": { - "node": ">=14" - } - }, "node_modules/webauthn-p256": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/webauthn-p256/-/webauthn-p256-0.0.10.tgz", @@ -34733,6 +34632,12 @@ "tslib": "^2.7.0" } }, + "node_modules/webextension-polyfill": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/webextension-polyfill/-/webextension-polyfill-0.10.0.tgz", + "integrity": "sha512-c5s35LgVa5tFaHhrZDnr3FpQpjj1BB+RXhLTYUxGqBVN460HkbM8TBtEqdXWbpTKfzwCcjAZVF7zXCYSKtcp9g==", + "license": "MPL-2.0" + }, "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", @@ -34825,16 +34730,16 @@ } }, "node_modules/which-boxed-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.0.tgz", - "integrity": "sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "license": "MIT", "dependencies": { "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.0", - "is-number-object": "^1.1.0", - "is-string": "^1.1.0", - "is-symbol": "^1.1.0" + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" }, "engines": { "node": ">= 0.4" @@ -34844,24 +34749,24 @@ } }, "node_modules/which-builtin-type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz", - "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", + "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", + "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", + "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -34895,15 +34800,16 @@ "license": "ISC" }, "node_modules/which-typed-array": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz", - "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "for-each": "^0.3.3", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, "engines": { @@ -35158,9 +35064,9 @@ "license": "ISC" }, "node_modules/yaml": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.6.1.tgz", - "integrity": "sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.7.0.tgz", + "integrity": "sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==", "license": "ISC", "bin": { "yaml": "bin.mjs" @@ -35235,9 +35141,9 @@ } }, "node_modules/yup": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/yup/-/yup-1.5.0.tgz", - "integrity": "sha512-NJfBIHnp1QbqZwxcgl6irnDMIsb/7d1prNhFx02f1kp8h+orpi4xs3w90szNpOh68a/iHPdMsYvhZWoDmUvXBQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.6.1.tgz", + "integrity": "sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==", "license": "MIT", "dependencies": { "property-expr": "^2.0.5", @@ -35284,21 +35190,21 @@ } }, "node_modules/zod": { - "version": "3.23.8", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", - "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", + "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", "license": "MIT", "funding": { "url": "https://github.com/sponsors/colinhacks" } }, "node_modules/zod-to-json-schema": { - "version": "3.23.5", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.23.5.tgz", - "integrity": "sha512-5wlSS0bXfF/BrL4jPAbz9da5hDlDptdEppYfe+x4eIJ7jioqKG9uUxOwPzqof09u/XeVdrgFu29lZi+8XNDJtA==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.1.tgz", + "integrity": "sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==", "license": "ISC", "peerDependencies": { - "zod": "^3.23.3" + "zod": "^3.24.1" } }, "node_modules/zwitch": { diff --git a/package.json b/package.json index 4dcd87f1b..6b52ebe8b 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "@lens-protocol/metadata": "^1.2.0", "@lens-protocol/react": "^2.3.2", "@lens-protocol/react-web": "^2.3.1", + "@metamask/sdk-react": "^0.31.4", "@mui/base": "^5.0.0-beta.7", "@mui/lab": "^5.0.0-alpha.136", "@mui/material": "^5.16.5", @@ -129,7 +130,6 @@ "@babel/plugin-syntax-flow": "^7.22.5", "@babel/plugin-transform-react-jsx": "^7.22.5", "@eslint/js": "^9.14.0", - "@froxz/vite-plugin-s3": "^1.6.0", "@semantic-release/changelog": "^6.0.3", "@semantic-release/git": "^10.0.1", "@types/autosuggest-highlight": "^3.2.0", diff --git a/src/App.tsx b/src/App.tsx index cbd2f376a..157087d74 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -88,7 +88,6 @@ export default function App() { - diff --git a/src/assets/animations/watchit-spinner.json b/src/assets/animations/watchit-spinner.json index e2f4a4e2e..aad0bbd09 100644 --- a/src/assets/animations/watchit-spinner.json +++ b/src/assets/animations/watchit-spinner.json @@ -1 +1,343 @@ -{"nm":"Main Scene","ddd":0,"h":500,"w":500,"meta":{"g":"@lottiefiles/creator 1.31.1"},"layers":[{"ty":4,"nm":"logo","sr":1,"st":0,"op":150,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[250,250]},"s":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[100,100],"t":0},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[60,60],"t":49},{"s":[100,100],"t":100}]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,256.95313194692716]},"r":{"a":1,"k":[{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[0],"t":0},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[2160],"t":98},{"o":{"x":0.333,"y":0},"i":{"x":0.667,"y":1},"s":[2160],"t":100},{"s":[2160],"t":149}]},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","bm":0,"hd":false,"nm":"Group 1","it":[{"ty":"el","bm":0,"hd":false,"nm":"Ellipse 1","d":1,"p":{"a":0,"k":[410,158]},"s":{"a":0,"k":[70,70]}},{"ty":"gf","bm":0,"hd":false,"nm":"Fill","e":{"a":0,"k":[392.112,131.061]},"g":{"p":2,"k":{"a":0,"k":[0,0.5686274509803921,0.6196078431372549,0.6705882352941176,1,1,1,1]}},"t":1,"a":{"a":0,"k":0},"h":{"a":0,"k":0},"s":{"a":0,"k":[432.026,93.0909]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]},{"ty":"gr","bm":0,"hd":false,"nm":"Group 2","it":[{"ty":"sh","bm":0,"hd":false,"nm":"Path 1","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-16.820999999999998,40.55599999999998],[4.498999999999995,7.086999999999989],[11.382000000000005,5.84099999999998],[20.3373,-8.816000000000003],[-3.878300000000003,-8.477000000000004],[0,0]],"o":[[40.605999999999995,32.72500000000002],[-13.919999999999987,-32.143],[-8.483000000000004,-13.370000000000005],[-19.39999999999999,-11.563000000000002],[-8.553000000000004,3.7080000000000126],[0,0],[0,0]],"v":[[111.049,260.02],[187.575,221.24],[159.767,161.955],[130.647,132.621],[67.6855,127.247],[60.6274,149.81],[111.049,260.02]]}}},{"ty":"gf","bm":0,"hd":false,"nm":"Fill","e":{"a":0,"k":[77.531,267.166]},"g":{"p":2,"k":{"a":0,"k":[0,0.5686274509803921,0.6196078431372549,0.6705882352941176,1,1,1,1]}},"t":1,"a":{"a":0,"k":0},"h":{"a":0,"k":0},"s":{"a":0,"k":[162.818,338.583]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]},{"ty":"gr","bm":0,"hd":false,"nm":"Group 3","it":[{"ty":"sh","bm":0,"hd":false,"nm":"Path 2","d":1,"ks":{"a":0,"k":{"c":true,"i":[[0,0],[-43.32400000000001,111.88499999999999],[-9.676999999999964,0],[0,0],[-5.927000000000021,-14.382999999999981],[-36.48599999999999,80.95600000000002],[-2.2579999999999814,5.0639999999999645],[68.51500000000004,1.6119999999999948],[0,0],[83.614,67.125],[-2.7480000000000047,-6.105000000000018]],"o":[[36.485000000000014,80.95600000000002],[5.9269999999999925,-14.384000000000015],[0,0],[9.677000000000021,0],[43.32600000000002,111.88499999999999],[2.745999999999981,-6.105000000000018],[-83.61399999999998,67.12699999999995],[0,0],[-68.51599999999996,1.612000000000009],[2.2560000000000002,5.062000000000012],[0,0]],"v":[[118.69,277.014],[236.214,322.358],[256.138,280.021],[256.138,280.163],[276.06,322.5],[393.586,277.156],[401.227,260.16],[256.138,122.882],[256.138,122.74],[111.049,260.02],[118.69,277.014]]}}},{"ty":"fl","bm":0,"hd":false,"nm":"Fill","c":{"a":0,"k":[1,1,1]},"r":2,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":1},{"ty":4,"nm":"background","sr":1,"st":0,"op":150,"ip":0,"hd":false,"ddd":0,"bm":0,"hasMask":false,"ao":0,"ks":{"a":{"a":0,"k":[250,250]},"s":{"a":0,"k":[96.0268,96.0268]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[250,250]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}},"shapes":[{"ty":"gr","bm":0,"hd":false,"nm":"Group 4","it":[{"ty":"rc","bm":0,"hd":false,"nm":"Rectangle 1","d":1,"p":{"a":0,"k":[250,250]},"r":{"a":1,"k":[{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[50],"t":0},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[250],"t":17},{"o":{"x":0.167,"y":0.167},"i":{"x":0.833,"y":0.833},"s":[250],"t":84},{"s":[50],"t":100}]},"s":{"a":0,"k":[500,500]}},{"ty":"fl","bm":0,"hd":false,"nm":"Fill","c":{"a":0,"k":[0.2902,0.2039,0.7216]},"r":1,"o":{"a":0,"k":100}},{"ty":"tr","a":{"a":0,"k":[0,0]},"s":{"a":0,"k":[100,100]},"sk":{"a":0,"k":0},"p":{"a":0,"k":[0,0]},"r":{"a":0,"k":0},"sa":{"a":0,"k":0},"o":{"a":0,"k":100}}]}],"ind":2}],"v":"5.7.0","fr":30,"op":150,"ip":0,"assets":[]} \ No newline at end of file +{ + "nm": "Main Scene", + "ddd": 0, + "h": 500, + "w": 500, + "meta": { "g": "@lottiefiles/creator 1.31.1" }, + "layers": [ + { + "ty": 4, + "nm": "logo", + "sr": 1, + "st": 0, + "op": 150, + "ip": 0, + "hd": false, + "ddd": 0, + "bm": 0, + "hasMask": false, + "ao": 0, + "ks": { + "a": { "a": 0, "k": [250, 250] }, + "s": { + "a": 1, + "k": [ + { "o": { "x": 0.333, "y": 0 }, "i": { "x": 0.667, "y": 1 }, "s": [100, 100], "t": 0 }, + { "o": { "x": 0.333, "y": 0 }, "i": { "x": 0.667, "y": 1 }, "s": [60, 60], "t": 49 }, + { "s": [100, 100], "t": 100 } + ] + }, + "sk": { "a": 0, "k": 0 }, + "p": { "a": 0, "k": [250, 256.95313194692716] }, + "r": { + "a": 1, + "k": [ + { "o": { "x": 0.333, "y": 0 }, "i": { "x": 0.667, "y": 1 }, "s": [0], "t": 0 }, + { "o": { "x": 0.333, "y": 0 }, "i": { "x": 0.667, "y": 1 }, "s": [2160], "t": 98 }, + { "o": { "x": 0.333, "y": 0 }, "i": { "x": 0.667, "y": 1 }, "s": [2160], "t": 100 }, + { "s": [2160], "t": 149 } + ] + }, + "sa": { "a": 0, "k": 0 }, + "o": { "a": 0, "k": 100 } + }, + "shapes": [ + { + "ty": "gr", + "bm": 0, + "hd": false, + "nm": "Group 1", + "it": [ + { + "ty": "el", + "bm": 0, + "hd": false, + "nm": "Ellipse 1", + "d": 1, + "p": { "a": 0, "k": [410, 158] }, + "s": { "a": 0, "k": [70, 70] } + }, + { + "ty": "gf", + "bm": 0, + "hd": false, + "nm": "Fill", + "e": { "a": 0, "k": [392.112, 131.061] }, + "g": { + "p": 2, + "k": { + "a": 0, + "k": [0, 0.5686274509803921, 0.6196078431372549, 0.6705882352941176, 1, 1, 1, 1] + } + }, + "t": 1, + "a": { "a": 0, "k": 0 }, + "h": { "a": 0, "k": 0 }, + "s": { "a": 0, "k": [432.026, 93.0909] }, + "r": 1, + "o": { "a": 0, "k": 100 } + }, + { + "ty": "tr", + "a": { "a": 0, "k": [0, 0] }, + "s": { "a": 0, "k": [100, 100] }, + "sk": { "a": 0, "k": 0 }, + "p": { "a": 0, "k": [0, 0] }, + "r": { "a": 0, "k": 0 }, + "sa": { "a": 0, "k": 0 }, + "o": { "a": 0, "k": 100 } + } + ] + }, + { + "ty": "gr", + "bm": 0, + "hd": false, + "nm": "Group 2", + "it": [ + { + "ty": "sh", + "bm": 0, + "hd": false, + "nm": "Path 1", + "d": 1, + "ks": { + "a": 0, + "k": { + "c": true, + "i": [ + [0, 0], + [-16.820999999999998, 40.55599999999998], + [4.498999999999995, 7.086999999999989], + [11.382000000000005, 5.84099999999998], + [20.3373, -8.816000000000003], + [-3.878300000000003, -8.477000000000004], + [0, 0] + ], + "o": [ + [40.605999999999995, 32.72500000000002], + [-13.919999999999987, -32.143], + [-8.483000000000004, -13.370000000000005], + [-19.39999999999999, -11.563000000000002], + [-8.553000000000004, 3.7080000000000126], + [0, 0], + [0, 0] + ], + "v": [ + [111.049, 260.02], + [187.575, 221.24], + [159.767, 161.955], + [130.647, 132.621], + [67.6855, 127.247], + [60.6274, 149.81], + [111.049, 260.02] + ] + } + } + }, + { + "ty": "gf", + "bm": 0, + "hd": false, + "nm": "Fill", + "e": { "a": 0, "k": [77.531, 267.166] }, + "g": { + "p": 2, + "k": { + "a": 0, + "k": [0, 0.5686274509803921, 0.6196078431372549, 0.6705882352941176, 1, 1, 1, 1] + } + }, + "t": 1, + "a": { "a": 0, "k": 0 }, + "h": { "a": 0, "k": 0 }, + "s": { "a": 0, "k": [162.818, 338.583] }, + "r": 1, + "o": { "a": 0, "k": 100 } + }, + { + "ty": "tr", + "a": { "a": 0, "k": [0, 0] }, + "s": { "a": 0, "k": [100, 100] }, + "sk": { "a": 0, "k": 0 }, + "p": { "a": 0, "k": [0, 0] }, + "r": { "a": 0, "k": 0 }, + "sa": { "a": 0, "k": 0 }, + "o": { "a": 0, "k": 100 } + } + ] + }, + { + "ty": "gr", + "bm": 0, + "hd": false, + "nm": "Group 3", + "it": [ + { + "ty": "sh", + "bm": 0, + "hd": false, + "nm": "Path 2", + "d": 1, + "ks": { + "a": 0, + "k": { + "c": true, + "i": [ + [0, 0], + [-43.32400000000001, 111.88499999999999], + [-9.676999999999964, 0], + [0, 0], + [-5.927000000000021, -14.382999999999981], + [-36.48599999999999, 80.95600000000002], + [-2.2579999999999814, 5.0639999999999645], + [68.51500000000004, 1.6119999999999948], + [0, 0], + [83.614, 67.125], + [-2.7480000000000047, -6.105000000000018] + ], + "o": [ + [36.485000000000014, 80.95600000000002], + [5.9269999999999925, -14.384000000000015], + [0, 0], + [9.677000000000021, 0], + [43.32600000000002, 111.88499999999999], + [2.745999999999981, -6.105000000000018], + [-83.61399999999998, 67.12699999999995], + [0, 0], + [-68.51599999999996, 1.612000000000009], + [2.2560000000000002, 5.062000000000012], + [0, 0] + ], + "v": [ + [118.69, 277.014], + [236.214, 322.358], + [256.138, 280.021], + [256.138, 280.163], + [276.06, 322.5], + [393.586, 277.156], + [401.227, 260.16], + [256.138, 122.882], + [256.138, 122.74], + [111.049, 260.02], + [118.69, 277.014] + ] + } + } + }, + { + "ty": "fl", + "bm": 0, + "hd": false, + "nm": "Fill", + "c": { "a": 0, "k": [1, 1, 1] }, + "r": 2, + "o": { "a": 0, "k": 100 } + }, + { + "ty": "tr", + "a": { "a": 0, "k": [0, 0] }, + "s": { "a": 0, "k": [100, 100] }, + "sk": { "a": 0, "k": 0 }, + "p": { "a": 0, "k": [0, 0] }, + "r": { "a": 0, "k": 0 }, + "sa": { "a": 0, "k": 0 }, + "o": { "a": 0, "k": 100 } + } + ] + } + ], + "ind": 1 + }, + { + "ty": 4, + "nm": "background", + "sr": 1, + "st": 0, + "op": 150, + "ip": 0, + "hd": false, + "ddd": 0, + "bm": 0, + "hasMask": false, + "ao": 0, + "ks": { + "a": { "a": 0, "k": [250, 250] }, + "s": { "a": 0, "k": [96.0268, 96.0268] }, + "sk": { "a": 0, "k": 0 }, + "p": { "a": 0, "k": [250, 250] }, + "r": { "a": 0, "k": 0 }, + "sa": { "a": 0, "k": 0 }, + "o": { "a": 0, "k": 100 } + }, + "shapes": [ + { + "ty": "gr", + "bm": 0, + "hd": false, + "nm": "Group 4", + "it": [ + { + "ty": "rc", + "bm": 0, + "hd": false, + "nm": "Rectangle 1", + "d": 1, + "p": { "a": 0, "k": [250, 250] }, + "r": { + "a": 1, + "k": [ + { + "o": { "x": 0.167, "y": 0.167 }, + "i": { "x": 0.833, "y": 0.833 }, + "s": [50], + "t": 0 + }, + { + "o": { "x": 0.167, "y": 0.167 }, + "i": { "x": 0.833, "y": 0.833 }, + "s": [250], + "t": 17 + }, + { + "o": { "x": 0.167, "y": 0.167 }, + "i": { "x": 0.833, "y": 0.833 }, + "s": [250], + "t": 84 + }, + { "s": [50], "t": 100 } + ] + }, + "s": { "a": 0, "k": [500, 500] } + }, + { + "ty": "fl", + "bm": 0, + "hd": false, + "nm": "Fill", + "c": { "a": 0, "k": [0.2902, 0.2039, 0.7216] }, + "r": 1, + "o": { "a": 0, "k": 100 } + }, + { + "ty": "tr", + "a": { "a": 0, "k": [0, 0] }, + "s": { "a": 0, "k": [100, 100] }, + "sk": { "a": 0, "k": 0 }, + "p": { "a": 0, "k": [0, 0] }, + "r": { "a": 0, "k": 0 }, + "sa": { "a": 0, "k": 0 }, + "o": { "a": 0, "k": 100 } + } + ] + } + ], + "ind": 2 + } + ], + "v": "5.7.0", + "fr": 30, + "op": 150, + "ip": 0, + "assets": [] +} diff --git a/src/assets/illustrations/earn.svg b/src/assets/illustrations/earn.svg new file mode 100644 index 000000000..edef5e5ee --- /dev/null +++ b/src/assets/illustrations/earn.svg @@ -0,0 +1,1106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/clients/viem/publicClient.ts b/src/clients/viem/publicClient.ts index 133fdf186..466d49b48 100644 --- a/src/clients/viem/publicClient.ts +++ b/src/clients/viem/publicClient.ts @@ -10,5 +10,5 @@ export const publicClient = createPublicClient({ export const publicClientWebSocket = createPublicClient({ chain: polygonAmoy, - transport: webSocket(WS_URL) + transport: webSocket(WS_URL), }); diff --git a/src/clients/viem/walletClient.ts b/src/clients/viem/walletClient.ts index bee5aaf0f..69cbe0dca 100644 --- a/src/clients/viem/walletClient.ts +++ b/src/clients/viem/walletClient.ts @@ -1,7 +1,7 @@ -import {createWalletClient, custom} from "viem"; -import {polygonAmoy} from "viem/chains"; -import "viem/window"; -import {publicClient} from "@src/clients/viem/publicClient"; +import { createWalletClient, custom } from 'viem'; +import { polygonAmoy } from 'viem/chains'; +import 'viem/window'; +import { publicClient } from '@src/clients/viem/publicClient'; export async function ConnectWalletClient() { // window.ethereum is an object provided by MetaMask or other web3 wallets @@ -12,7 +12,7 @@ export async function ConnectWalletClient() { } else { // If window.ethereum is not available, throw an error const errorMessage = - "MetaMask or another web3 wallet is not installed. Please install one to proceed."; + 'MetaMask or another web3 wallet is not installed. Please install one to proceed.'; throw new Error(errorMessage); } // Return the wallet client @@ -23,5 +23,5 @@ export async function ConnectWalletClient() { } export function ConnectPublicClient() { - return publicClient + return publicClient; } diff --git a/src/components/activate-subscription-profile-modal.tsx b/src/components/activate-subscription-profile-modal.tsx index 9b4936654..810d43a24 100644 --- a/src/components/activate-subscription-profile-modal.tsx +++ b/src/components/activate-subscription-profile-modal.tsx @@ -3,16 +3,16 @@ import React, { useEffect, useState } from 'react'; // MUI IMPORTS import { - Dialog, Button, - TextField, - DialogTitle, - DialogContent, + Dialog, DialogActions, - Typography, - Stack, - Paper, + DialogContent, + DialogTitle, Divider, + Paper, + Stack, + TextField, + Typography, } from '@mui/material'; // ETHERS IMPORTS @@ -24,10 +24,12 @@ import { encodeAbiParameters } from 'viem'; // LOCAL IMPORTS import { GLOBAL_CONSTANTS } from '@src/config-global'; import { useAuthorizePolicy } from '@src/hooks/use-authorize-policy.ts'; -import { useSnackbar } from 'notistack'; -import NeonPaper from "@src/sections/publication/NeonPaperContainer.tsx"; -import Box from "@mui/material/Box"; -import LoadingButton from "@mui/lab/LoadingButton"; +import NeonPaper from '@src/sections/publication/NeonPaperContainer.tsx'; +import Box from '@mui/material/Box'; +import LoadingButton from '@mui/lab/LoadingButton'; +import { notifyError, notifySuccess } from '@notifications/internal-notifications.ts'; +import { SUCCESS } from '@notifications/success.ts'; +import { ERRORS } from '@notifications/errors.ts'; // ---------------------------------------------------------------------- @@ -42,8 +44,6 @@ export const ActivateSubscriptionProfileModal = ({ isOpen, onClose, }: ActivateSubscriptionProfileModalProps) => { - const { enqueueSnackbar } = useSnackbar(); - const [selectedAmount, setSelectedAmount] = useState('10'); const [customAmount, setCustomAmount] = useState(''); @@ -56,7 +56,7 @@ export const ActivateSubscriptionProfileModal = ({ ]; useEffect(() => { - if (error) enqueueSnackbar(error.message, { variant: 'error' }); + if (error) notifyError(error as ERRORS); }, [error]); const handleAmountChange = (value: string) => { @@ -94,7 +94,8 @@ export const ActivateSubscriptionProfileModal = ({ data: encodedData, }); - enqueueSnackbar('Joining price set successfully!', { variant: 'success' }) + notifySuccess(SUCCESS.JOINING_PRICE_SUCCESSFULLY); + onClose?.(); } catch (err) { console.error('err'); @@ -117,7 +118,8 @@ export const ActivateSubscriptionProfileModal = ({ - Users will pay a daily rate to access your content. + Users will pay a daily rate to access your + content. @@ -220,19 +222,13 @@ export const ActivateSubscriptionProfileModal = ({ - - {error && ( - - {error.message} - - )} - + - - {title && ( ) => { +const FollowUnfollowButton = ({ + profileId, + size = 'medium', + followButtonMinWidth = 120, +}: PropsWithChildren) => { const dispatch = useDispatch(); - const { enqueueSnackbar } = useSnackbar(); const { data: profile, execute: getProfile, loading } = useLazyProfile(); const sessionData = useSelector((state: any) => state.auth.session); const [isFollowed, setIsFollowed] = useState(profile?.operations?.isFollowedByMe?.value); @@ -80,7 +82,12 @@ const FollowUnfollowButton = ({ profileId, size = 'medium', followButtonMinWidth }; // General function to handle follow/unfollow actions - const handleAction = async (action: any, successMsg: string, followState: boolean) => { + const handleAction = async ( + action: any, + actionLbl: string, + profileName: string, + followState: boolean + ) => { if (!profile) return; if (!sessionData?.authenticated) return dispatch(openLoginModal()); @@ -88,7 +95,11 @@ const FollowUnfollowButton = ({ profileId, size = 'medium', followButtonMinWidth try { const result = await action({ profile }); if (result.isSuccess()) { - enqueueSnackbar(successMsg, { variant: 'success' }) + notifySuccess(SUCCESS.FOLLOW_UNFOLLOW_SUCCESSFULLY, { + actionLbl, + profileName, + }); + setIsFollowed(followState); // Wait for transaction confirmation @@ -96,28 +107,31 @@ const FollowUnfollowButton = ({ profileId, size = 'medium', followButtonMinWidth handleUpdateProfile(); // Update the following list - if(action === unfollow) { + if (action === unfollow) { dispatch(removeFollowing(profileId)); - }else{ + } else { dispatch(addFollowing(profile)); } // Send notification to the profile being followed - const notificationPayload = generatePayload('FOLLOW', { - id: profile.id, - displayName: profile?.metadata?.displayName ?? 'no name', - avatar: (profile?.metadata?.picture as any)?.optimized?.uri, - }, { - rawDescription: `${sessionData?.profile?.metadata?.displayName} now is following you`, - }); + const notificationPayload = generatePayload( + 'FOLLOW', + { + id: profile.id, + displayName: profile?.metadata?.displayName ?? 'no name', + avatar: (profile?.metadata?.picture as any)?.optimized?.uri, + }, + { + rawDescription: `${sessionData?.profile?.metadata?.displayName} now is following you`, + } + ); await sendNotification(profile.id, sessionData?.profile?.id, notificationPayload); } else { handleActionError(result.error); } } catch (err) { - console.log(err); - enqueueSnackbar('An error occurred while processing the action.', { variant: 'error' }) + notifyError(ERRORS.FOLLOW_UNFOLLOW_OCCURRED_ERROR); } finally { setIsProcessing(false); } @@ -125,23 +139,15 @@ const FollowUnfollowButton = ({ profileId, size = 'medium', followButtonMinWidth // Function to handle action errors const handleActionError = (error: any) => { - const errorMessages: { [key: string]: string } = { - BroadcastingError: 'There was an error broadcasting the transaction.', - PendingSigningRequestError: 'There is a pending signing request in your wallet.', - InsufficientAllowanceError: `You must approve the contract to spend at least: ${error.requestedAmount.asset.symbol} ${error.requestedAmount.toSignificantDigits(6)}`, - InsufficientFundsError: `You do not have enough funds to pay for this follow fee: ${error.requestedAmount.asset.symbol} ${error.requestedAmount.toSignificantDigits(6)}`, - WalletConnectionError: 'There was an error connecting to your wallet.', - PrematureFollowError: 'There is a pending unfollow request for this profile.', - }; - - enqueueSnackbar(errorMessages[error.name] || 'An unknown error occurred.', { variant: 'error' }) + const errorName = + ERRORS[pascalToUpperSnake(error.name) as keyof typeof ERRORS] || ERRORS.UNKNOWN_ERROR; + notifyError(errorName, { + symbol: error.requestedAmount?.asset?.symbol ?? '', + amount: error.requestedAmount?.toSignificantDigits(6) ?? '', + }); }; - const getFollowMessage = (profileName: string, action: string): string => { - return `Successfully ${action} ${profileName}.`; - } - - const RainbowEffect = (isProcessing || loading) ? NeonPaper : Box; + const RainbowEffect = isProcessing || loading ? NeonPaper : Box; return ( <> @@ -150,7 +156,7 @@ const FollowUnfollowButton = ({ profileId, size = 'medium', followButtonMinWidth borderRadius: '10px', animationSpeed: '3s', padding: '0', - width: 'auto' + width: 'auto', })} > {isFollowed ? 'Unfollow' : 'Follow'} - + ); }; diff --git a/src/components/input-amount.tsx b/src/components/input-amount.tsx index 779937543..ea5dcc0d0 100644 --- a/src/components/input-amount.tsx +++ b/src/components/input-amount.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react'; +import { Ref, useEffect, useState } from 'react'; import Stack from '@mui/material/Stack'; import Typography from '@mui/material/Typography'; import Input, { InputProps, inputClasses } from '@mui/material/Input'; @@ -9,9 +9,18 @@ const MIN_AMOUNT = 0; export interface InputAmountProps extends InputProps { max: number; amount: number | number[]; + inputRef?: Ref; } -export const InputAmount = ({ amount, onBlur, onChange, max, sx, ...other }: InputAmountProps) => { +export const InputAmount = ({ + amount, + onBlur, + onChange, + max, + sx, + inputRef, + ...other +}: InputAmountProps) => { const [autoWidth, setAutoWidth] = useState(32); useEffect(() => { @@ -22,12 +31,13 @@ export const InputAmount = ({ amount, onBlur, onChange, max, sx, ...other }: Inp return ( { - + Setting up your profile - + Please wait - {profileCreationSteps.step1 === 'running' ? : profileCreationSteps.step1 === 'finished' ? : } - Creating your profile. + {profileCreationSteps.step1 === 'running' ? ( + + ) : profileCreationSteps.step1 === 'finished' ? ( + + ) : ( + + )} + + Creating your profile. + - {profileCreationSteps.step2 === 'running' ? : profileCreationSteps.step2 === 'finished' ? : } - Storing your data on blockchain. + {profileCreationSteps.step2 === 'running' ? ( + + ) : profileCreationSteps.step2 === 'finished' ? ( + + ) : ( + + )} + + Storing your data on blockchain. + - {profileCreationSteps.step3 === 'running' ? : profileCreationSteps.step3 === 'finished' ? : } - Done. + {profileCreationSteps.step3 === 'running' ? ( + + ) : profileCreationSteps.step3 === 'finished' ? ( + + ) : ( + + )} + + Done. + diff --git a/src/components/login-modal/modal.tsx b/src/components/login-modal/modal.tsx index 2b2545ecc..16bd6eea6 100644 --- a/src/components/login-modal/modal.tsx +++ b/src/components/login-modal/modal.tsx @@ -1,20 +1,21 @@ // REACT IMPORTS -import React, { useState, useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; // MUI IMPORTS -import { Modal, Box, Fade, Backdrop } from '@mui/material'; +import { Backdrop, Box, Fade, Modal } from '@mui/material'; // LENS IMPORTS -import { useLogout, useLogin, type Profile } from '@lens-protocol/react-web'; +import { type Profile, useLogin, useLogout } from '@lens-protocol/react-web'; import { useWeb3Auth } from '@src/hooks/use-web3-auth'; // LOCAL IMPORTS import { ProfileSelectView } from '@src/components/login-modal/profile-select-view.tsx'; import { ProfileFormView } from '@src/components/login-modal/profile-form-view.tsx'; import { WatchitLoader } from '../watchit-loader'; -import { useSnackbar } from 'notistack'; import { useDispatch, useSelector } from 'react-redux'; import { closeLoginModal } from '@redux/auth'; +import { notifySuccess } from '@notifications/internal-notifications.ts'; +import { SUCCESS } from '@notifications/success.ts'; // ---------------------------------------------------------------------- @@ -34,7 +35,6 @@ export const LoginModal: React.FC = ({ open, onClose }) => { const sessionData = useSelector((state: any) => state.auth.session); const { execute: logoutExecute } = useLogout(); const { execute: loginExecute, error } = useLogin(); - const { enqueueSnackbar } = useSnackbar(); const dispatch = useDispatch(); useEffect(() => { @@ -77,7 +77,7 @@ export const LoginModal: React.FC = ({ open, onClose }) => { }, [open, view, w3.connected]); const handleProfileCreateSuccess = () => { - enqueueSnackbar('Profile created successfully.', { variant: 'success' }) + notifySuccess(SUCCESS.PROFILE_CREATED_SUCCESSFULLY); dispatch(closeLoginModal()); }; @@ -109,7 +109,7 @@ export const LoginModal: React.FC = ({ open, onClose }) => { onClose={onClose} closeAfterTransition BackdropComponent={Backdrop} - BackdropProps={{ timeout: 500, onClick: () => {}}} + BackdropProps={{ timeout: 500, onClick: () => {} }} > = ({ open, onClose }) => { boxShadow: loading ? 0 : 24, outline: 'none', transition: 'all 0.5s ease-in-out', - overflow: 'auto' + overflow: 'auto', }} > {loading ? ( diff --git a/src/components/login-modal/profile-form-view.tsx b/src/components/login-modal/profile-form-view.tsx index 6b1751c3a..4437dfb24 100644 --- a/src/components/login-modal/profile-form-view.tsx +++ b/src/components/login-modal/profile-form-view.tsx @@ -1,32 +1,45 @@ // REACT IMPORTS import React, { useCallback, useEffect, useRef, useState } from 'react'; - -// MUI IMPORTS -import { Typography, Button, TextField, Box, Input, Grid } from '@mui/material'; - -// FORM IMPORTS import { useFormik } from 'formik'; import * as Yup from 'yup'; + +// Redux +import { useDispatch, useSelector } from 'react-redux'; +import { RootState } from '@reduxjs/toolkit/query'; +import { + closeLoginModal, + resetCurrentStep, + setIsUpdatingMetadata, + setProfileCreationStep, + updateProfileData, +} from '@redux/auth'; + +// MUI IMPORTS +import { Box, Button, Grid, Input, TextField, Typography } from '@mui/material'; import Avatar from '@mui/material/Avatar'; -import { Profile } from '@lens-protocol/api-bindings'; + +// Project IMPORTS import Image from '../image'; +import { ProfileData } from '@src/auth/context/web3Auth/types.ts'; +import { uploadImageToIPFS, uploadMetadataToIPFS } from '@src/utils/ipfs.ts'; +import { buildProfileMetadata } from '@src/utils/profile.ts'; +import TextMaxLine from '@src/components/text-max-line'; +import NeonPaper from '@src/sections/publication/NeonPaperContainer'; +import uuidv4 from '@src/utils/uuidv4'; + +// Lens +import { Profile } from '@lens-protocol/api-bindings'; import { + LoginError, SessionType, useCreateProfile, - LoginError, useSetProfileMetadata, } from '@lens-protocol/react-web'; -import { ProfileData } from '@src/auth/context/web3Auth/types.ts'; -import { uploadImageToIPFS, uploadMetadataToIPFS } from '@src/utils/ipfs.ts'; -import { buildProfileMetadata } from '@src/utils/profile.ts'; -import TextMaxLine from '@src/components/text-max-line'; -import { useSnackbar } from 'notistack'; -import {useDispatch, useSelector} from "react-redux"; -import { setProfileCreationStep, resetCurrentStep, closeLoginModal, updateProfileData, setIsUpdatingMetadata } from "@redux/auth"; -import NeonPaper from '@src/sections/publication/NeonPaperContainer'; -import {RootState} from "@reduxjs/toolkit/query"; -import uuidv4 from '@src/utils/uuidv4.ts'; +// Notifications +import { notifyError, notifySuccess } from '@notifications/internal-notifications'; +import { SUCCESS } from '@notifications/success'; +import { ERRORS } from '@notifications/errors.ts'; // ---------------------------------------------------------------------- @@ -70,7 +83,6 @@ export const ProfileFormView: React.FC = ({ }) => { const dispatch = useDispatch(); - const { enqueueSnackbar } = useSnackbar(); const [registrationLoading, setRegistrationLoading] = useState(false); // @ts-ignore const { currentStep } = useSelector((state: RootState) => state.auth); @@ -112,9 +124,9 @@ export const ProfileFormView: React.FC = ({ }); useEffect(() => { - if (errorCreateProfile) enqueueSnackbar(errorCreateProfile?.message, { variant: 'error' }); - if (errorSetProfileMetadata) enqueueSnackbar(errorSetProfileMetadata?.message, { variant: 'error' }); - if (error) enqueueSnackbar(error?.message, { variant: 'error' }); + if (errorCreateProfile) notifyError(ERRORS.CREATING_PROFILE_ERROR); + if (errorSetProfileMetadata) notifyError(ERRORS.UPDATING_PROFILE_ERROR); + if (error) notifyError(ERRORS.UNKNOWN_ERROR); }, [errorCreateProfile, errorSetProfileMetadata]); /** @@ -144,18 +156,22 @@ export const ProfileFormView: React.FC = ({ // Upload metadata to IPFS const metadataURI = await uploadMetadataToIPFS(metadata); - const profileImage = - data.profileImage instanceof File ? URL.createObjectURL(data.profileImage) : profileImagePreview; + data.profileImage instanceof File + ? URL.createObjectURL(data.profileImage) + : profileImagePreview; const backgroundImage = - data.backgroundImage instanceof File ? URL.createObjectURL(data.backgroundImage) : backgroundImagePreview; + data.backgroundImage instanceof File + ? URL.createObjectURL(data.backgroundImage) + : backgroundImagePreview; dispatch( updateProfileData({ name: data.name, bio: data.bio, profileImage: profileImage ?? sessionData?.profile?.metadata?.picture?.optimized?.uri, - backgroundImage: backgroundImage ?? sessionData?.profile?.metadata?.coverPicture?.optimized?.uri + backgroundImage: + backgroundImage ?? sessionData?.profile?.metadata?.coverPicture?.optimized?.uri, }) ); @@ -168,11 +184,12 @@ export const ProfileFormView: React.FC = ({ metadataURI, setProfileMetadataExecute, onSuccess: () => { - enqueueSnackbar('Profile metadata updated successfully', { variant: 'success' }); + notifySuccess(SUCCESS.PROFILE_METADATA_UPDATED); dispatch(setIsUpdatingMetadata(false)); }, onError: (error: any) => { - enqueueSnackbar(`Error updating profile metadata: ${error.message}`, { variant: 'error' }); + console.log('Error updating profile metadata:', error); + notifyError(ERRORS.UPDATING_PROFILE_ERROR); dispatch(setIsUpdatingMetadata(false)); }, }, @@ -225,7 +242,6 @@ export const ProfileFormView: React.FC = ({ // Save the pending metadata update setPendingMetadataUpdate({ data, profile: newProfile }); - } catch (error) { console.error('Error during profile registration:', error); setRegistrationLoading(false); @@ -608,14 +624,20 @@ export const ProfileFormView: React.FC = ({ diff --git a/src/components/login-modal/profile-select-view.tsx b/src/components/login-modal/profile-select-view.tsx index 872595229..bfc10bab0 100644 --- a/src/components/login-modal/profile-select-view.tsx +++ b/src/components/login-modal/profile-select-view.tsx @@ -10,11 +10,13 @@ import { Profile, useLazyProfiles, LoginError } from '@lens-protocol/react-web'; // @ts-ignore import Alert from '@mui/material/Alert'; -import {useDispatch, useSelector} from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; import { setAuthLoading, setBalance } from '@redux/auth'; import { useResponsive } from '@src/hooks/use-responsive.ts'; import { UserItem } from '../user-item'; -import { useSnackbar } from 'notistack'; +import LoadingScreen from '../loading-screen/loading-screen.tsx'; +import { notifyError } from '@notifications/internal-notifications.ts'; +import { ERRORS } from '@notifications/errors.ts'; // ---------------------------------------------------------------------- interface ProfileSelectionProps { @@ -36,17 +38,16 @@ export const ProfileSelectView: React.FC = ({ onClose, login, }) => { - const { enqueueSnackbar } = useSnackbar(); const dispatch = useDispatch(); const lgUp = useResponsive('up', 'lg'); const [profiles, setProfiles] = useState([] as Profile[]); - const { execute: getProfiles } = useLazyProfiles(); + const { execute: getProfiles, loading } = useLazyProfiles(); const sessionData = useSelector((state: any) => state.auth.session); useEffect(() => { if (!error) dispatch(setAuthLoading({ isSessionLoading: false })); - if (error) enqueueSnackbar(error.message, { variant: 'error' }); + if (error) notifyError(ERRORS.LOGIN_FAILED_ERROR); }, [error]); useEffect(() => { @@ -67,7 +68,7 @@ export const ProfileSelectView: React.FC = ({ onClose(); dispatch(setAuthLoading({ isSessionLoading: true })); await login(profile); - dispatch(setAuthLoading({ isSessionLoading: false })) + dispatch(setAuthLoading({ isSessionLoading: false })); } }; @@ -95,7 +96,10 @@ export const ProfileSelectView: React.FC = ({ backgroundColor: 'rgba(0,0,0,0.1)', }} /> - {profiles?.length > 0 ? ( + + {loading ? : <>} + + {profiles?.length > 0 && !loading ? ( = ({ ) : ( + <> + )} + + {profiles?.length === 0 && !loading ? ( No profiles found @@ -168,6 +176,8 @@ export const ProfileSelectView: React.FC = ({ Register new profile + ) : ( + <> )} ); diff --git a/src/components/nav-section/mini/styles.ts b/src/components/nav-section/mini/styles.ts index d4c3f7a6e..2bbdcbfde 100644 --- a/src/components/nav-section/mini/styles.ts +++ b/src/components/nav-section/mini/styles.ts @@ -82,7 +82,7 @@ type StyledNavContentProps = { }; export const StyledNavContent = styled(Box, { - shouldForwardProp: (prop) => prop !== 'active' + shouldForwardProp: (prop) => prop !== 'active', })(({ theme, active }) => ({ width: '3rem', height: '3rem', diff --git a/src/components/poster/variants/poster-top-titles.tsx b/src/components/poster/variants/poster-top-titles.tsx index 92da2bf11..6702cf93d 100644 --- a/src/components/poster/variants/poster-top-titles.tsx +++ b/src/components/poster/variants/poster-top-titles.tsx @@ -11,11 +11,11 @@ import { IconBookmark, IconBookmarkFilled, IconPlayerPlay } from '@tabler/icons- import Box from '@mui/material/Box'; import TextMaxLine from '@src/components/text-max-line'; import { CircularProgress } from '@mui/material'; -import { useBookmarkToggle} from '@lens-protocol/react-web'; +import { useBookmarkToggle } from '@lens-protocol/react-web'; import { openLoginModal } from '@redux/auth'; // @ts-ignore import { ReadResult } from '@lens-protocol/react/dist/declarations/src/helpers/reads'; -import {useDispatch, useSelector} from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; import { addBookmark, removeBookmark } from '@redux/bookmark'; // ---------------------------------------------------------------------- diff --git a/src/components/publication-detail-main.tsx b/src/components/publication-detail-main.tsx index b1f38ccff..c31e05ae4 100644 --- a/src/components/publication-detail-main.tsx +++ b/src/components/publication-detail-main.tsx @@ -54,9 +54,9 @@ import { ReportPublicationModal } from '@src/components/report-publication-modal import Popover from '@mui/material/Popover'; // @ts-ignore import { ReadResult } from '@lens-protocol/react/dist/declarations/src/helpers/reads'; -import {useNotifications} from "@src/hooks/use-notifications.ts"; +import { useNotifications } from '@src/hooks/use-notifications.ts'; import { openLoginModal } from '@redux/auth'; -import {useDispatch, useSelector} from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; import { addBookmark, removeBookmark } from '@redux/bookmark'; import { useNotificationPayload } from '@src/hooks/use-notification-payload.ts'; @@ -108,15 +108,21 @@ export default function PublicationDetailMain({ if (!sessionData?.authenticated) return dispatch(openLoginModal()); // Send a notification to the profile owner using the sendNotification function from useNotifications hook - const payloadForNotification = generatePayload('LIKE', { - id: post.by.id, - displayName: post?.by?.metadata?.displayName, - avatar: (post?.by?.metadata?.picture as any)?.optimized?.uri ?? `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${post?.by?.id}`, - }, { - rawDescription: `${sessionData?.profile?.metadata?.displayName} liked ${post?.metadata?.title}`, - root_id: post?.id, - post_title: post?.metadata?.title, - }); + const payloadForNotification = generatePayload( + 'LIKE', + { + id: post.by.id, + displayName: post?.by?.metadata?.displayName, + avatar: + (post?.by?.metadata?.picture as any)?.optimized?.uri ?? + `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${post?.by?.id}`, + }, + { + rawDescription: `${sessionData?.profile?.metadata?.displayName} liked ${post?.metadata?.title}`, + root_id: post?.id, + post_title: post?.metadata?.title, + } + ); try { await toggle({ @@ -124,7 +130,7 @@ export default function PublicationDetailMain({ publication: post, }).then(() => { // Send notification to the author when not already liked - if (!hasLiked){ + if (!hasLiked) { sendNotification(post.by.id, sessionData?.profile?.id, payloadForNotification); } }); @@ -239,7 +245,9 @@ export default function PublicationDetailMain({ > - ) : <>} + ) : ( + <> + )} {sessionData?.authenticated ? ( - + ) : ( = ({icon, subtitle} ) => { +const NotLoggedIn: FC = ({ icon, subtitle }) => { const dispatch = useDispatch(); const sessionData = useSelector((state: any) => state.auth.session); const handleClicked = () => { if (!sessionData?.authenticated) return dispatch(openLoginModal()); - } + }; return ( = ({icon, subtitle} ) => { zIndex: 10, }} > - + Finance Dashboard - + {subtitle} ); -} +}; export default NotLoggedIn; diff --git a/src/components/subscribe-profile-modal.tsx b/src/components/subscribe-profile-modal.tsx index 028445d2c..7b6bc525e 100644 --- a/src/components/subscribe-profile-modal.tsx +++ b/src/components/subscribe-profile-modal.tsx @@ -3,16 +3,16 @@ import React, { useEffect, useState } from 'react'; // MUI IMPORTS import { - Dialog, Button, - TextField, - DialogTitle, - DialogContent, + Dialog, DialogActions, - Typography, - Stack, - Paper, + DialogContent, + DialogTitle, Divider, + Paper, + Stack, + TextField, + Typography, } from '@mui/material'; // ETHERS IMPORTS @@ -32,12 +32,14 @@ import LinearProgress from '@mui/material/LinearProgress'; import { setBalance } from '@redux/auth'; import { useDispatch, useSelector } from 'react-redux'; import { useGetBalance } from '@src/hooks/use-get-balance.ts'; -import { useSnackbar } from 'notistack'; -import {useNotifications} from "@src/hooks/use-notifications.ts"; +import { useNotifications } from '@src/hooks/use-notifications.ts'; import { useNotificationPayload } from '@src/hooks/use-notification-payload.ts'; -import NeonPaper from "@src/sections/publication/NeonPaperContainer.tsx"; -import Box from "@mui/material/Box"; +import NeonPaper from '@src/sections/publication/NeonPaperContainer.tsx'; +import Box from '@mui/material/Box'; import { GLOBAL_CONSTANTS } from '@src/config-global.ts'; +import { notifyError, notifySuccess } from '@notifications/internal-notifications.ts'; +import { SUCCESS } from '@notifications/success.ts'; +import { ERRORS } from '@notifications/errors.ts'; // ---------------------------------------------------------------------- @@ -56,22 +58,23 @@ export const SubscribeProfileModal = ({ profile, onSubscribe, }: SubscribeProfileModalProps) => { - const { enqueueSnackbar } = useSnackbar(); const dispatch = useDispatch(); const { balance: balanceFromRedux } = useSelector((state: any) => state.auth); // State variables for handling durations and messages const [selectedDuration, setSelectedDuration] = useState('7'); const [customDuration, setCustomDuration] = useState(''); - const [errorMessage, setErrorMessage] = useState(''); // Hook to get the user's session data const sessionData = useSelector((state: any) => state.auth.session); - const { balance: balanceFromContract, refetch } = useGetBalance(sessionData?.address); + const { balance: balanceFromContract, refetch } = useGetBalance(); // Hooks for subscription and terms resolution const { data, error, loading, subscribe } = useSubscribe(); - const { terms, loading: loadingTerms } = useGetPolicyTerms(GLOBAL_CONSTANTS.SUBSCRIPTION_POLICY_ADDRESS as Address, profile?.ownedBy?.address as Address); + const { terms, loading: loadingTerms } = useGetPolicyTerms( + GLOBAL_CONSTANTS.SUBSCRIPTION_POLICY_ADDRESS as Address, + profile?.ownedBy?.address as Address + ); const { sendNotification } = useNotifications(); const { generatePayload } = useNotificationPayload(sessionData); @@ -118,15 +121,14 @@ export const SubscribeProfileModal = ({ // Effect to handle subscription errors useEffect(() => { if (error) { - enqueueSnackbar(error.shortMessage ?? error.message, { variant: 'error' }) - setErrorMessage(error.shortMessage ?? error.message); + notifyError(error as ERRORS); } }, [error]); // Effect to handle successful subscription useEffect(() => { if (data?.receipt) { - enqueueSnackbar('Successfully joined the profile.', { variant: 'success' }) + notifySuccess(SUCCESS.PROFILE_JOINED_SUCCESSFULLY); onSubscribe?.(); refetch?.(); onClose?.(); @@ -137,14 +139,12 @@ export const SubscribeProfileModal = ({ const handleDurationChange = (value: string) => { setSelectedDuration(value); setCustomDuration(''); - setErrorMessage(''); }; // Handler for changing the custom duration const handleCustomDurationChange = (event: React.ChangeEvent) => { setSelectedDuration(''); setCustomDuration(event.target.value); - setErrorMessage(''); }; // Handler for the subscribe action @@ -154,12 +154,12 @@ export const SubscribeProfileModal = ({ } if (isCustomDurationInvalid) { - setErrorMessage(`Please enter a valid number of days (minimum ${minDays} days).`); + notifyError(ERRORS.SUBSCRIBE_MINIMUN_DAYS_ERROR); return; } if (!isBalanceSufficient) { - setErrorMessage('Insufficient balance to complete the action.'); + notifyError(ERRORS.INSUFICIENT_BALANCE_ERROR); return; } @@ -168,23 +168,28 @@ export const SubscribeProfileModal = ({ await subscribe({ holderAddress: profile?.ownedBy?.address as Address, amount: totalCostMMC, - }).then(async() => { + }).then(async () => { // Send notification to the profile owner - const notificationPayload = generatePayload('JOIN', { - id: profile.id, - displayName: profile?.metadata?.displayName ?? 'no name', - avatar: (profile?.metadata?.picture as any)?.optimized?.uri ?? `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${profile?.id}`, - }, { - durationDays, - totalCostMMC, - rawDescription: `${sessionData?.profile?.metadata?.displayName} has joined to your content`, - }); + const notificationPayload = generatePayload( + 'JOIN', + { + id: profile.id, + displayName: profile?.metadata?.displayName ?? 'no name', + avatar: + (profile?.metadata?.picture as any)?.optimized?.uri ?? + `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${profile?.id}`, + }, + { + durationDays, + totalCostMMC, + rawDescription: `${sessionData?.profile?.metadata?.displayName} has joined to your content`, + } + ); await sendNotification(profile.id, sessionData?.profile?.id, notificationPayload); }); } catch (err) { console.error(err); - enqueueSnackbar('Failed to join the profile.', { variant: 'error' }) - setErrorMessage('Failed to join the profile.'); + notifyError(ERRORS.FAILED_JOIN_PROFILE_ERROR); } }; @@ -273,20 +278,6 @@ export const SubscribeProfileModal = ({ )} - - {/* Display error if balance is insufficient */} - {/*{balanceFromRedux && !isBalanceSufficient && (*/} - {/* */} - {/* Insufficient balance to complete the action.*/} - {/* */} - {/*)}*/} - - {/* Display any error messages */} - {errorMessage && ( - - {errorMessage} - - )} )} @@ -298,16 +289,21 @@ export const SubscribeProfileModal = ({ Cancel - - - Join - + + Join + diff --git a/src/components/subscribe-to-unlock-card.tsx b/src/components/subscribe-to-unlock-card.tsx index 816a25998..56120bb30 100644 --- a/src/components/subscribe-to-unlock-card.tsx +++ b/src/components/subscribe-to-unlock-card.tsx @@ -19,7 +19,10 @@ export const SubscribeToUnlockCard = ({ subscribeDisabled, post, }: Props) => { - const { terms } = useGetPolicyTerms(GLOBAL_CONSTANTS.SUBSCRIPTION_POLICY_ADDRESS as Address, post?.by?.ownedBy?.address as Address); + const { terms } = useGetPolicyTerms( + GLOBAL_CONSTANTS.SUBSCRIPTION_POLICY_ADDRESS as Address, + post?.by?.ownedBy?.address as Address + ); const durationDays = 30; // a month const totalCostWei = terms?.amount ? terms?.amount * BigInt(durationDays) : 0; // Calculate total cost in Wei: DAILY_COST_WEI * durationDays const totalCostMMC = ethers.formatUnits(totalCostWei, 18); // Converts Wei to MMC @@ -45,7 +48,8 @@ export const SubscribeToUnlockCard = ({ - This content is exclusively for members. Become part of our growing community to access behind-the-scenes content, exclusive posts, and much more! + This content is exclusively for members. Become part of our growing community to access + behind-the-scenes content, exclusive posts, and much more! ; }; -export default function TableNoData({ notFound, sx }: Props) { +export default function TableNoData({ loading, notFound, sx }: Props) { return ( {notFound ? ( - + = ({ open, onClose }) => { const loading = useSelector((state: any) => state.auth.isSessionLoading); const sessionData = useSelector((state: any) => state.auth.session); - const { enqueueSnackbar } = useSnackbar(); const handleProfileUpdateSuccess = () => { - enqueueSnackbar('Profile updated successfully.', { variant: 'success' }) + notifySuccess(SUCCESS.PROFILE_UPDATED_SUCCESSFULLY); onClose?.(); }; diff --git a/src/components/user-item/index.tsx b/src/components/user-item/index.tsx index c35f9146e..48ccaad91 100644 --- a/src/components/user-item/index.tsx +++ b/src/components/user-item/index.tsx @@ -16,7 +16,7 @@ import Image from '../image'; import { paths } from '../../routes/paths'; import { useRouter } from '@src/routes/hooks'; import FollowUnfollowButton from '@src/components/follow-unfollow-button.tsx'; -import {useSelector} from "react-redux"; +import { useSelector } from 'react-redux'; // ---------------------------------------------------------------------- @@ -40,7 +40,8 @@ export const UserItem = ({ }: FollowerItemProps) => { const sessionData = useSelector((state: any) => state.auth.session); const router = useRouter(); - const profile = sessionData && sessionData?.profile?.id === profileData?.id ? sessionData.profile : profileData; + const profile = + sessionData && sessionData?.profile?.id === profileData?.id ? sessionData.profile : profileData; const goToProfile = () => { // eslint-disable-next-line @typescript-eslint/no-unused-expressions @@ -131,7 +132,11 @@ export const UserItem = ({ /> {canFollow && profile?.id !== sessionData?.profile?.id && ( - + )} diff --git a/src/components/video-player/video-player.tsx b/src/components/video-player/video-player.tsx index 5fa641458..3b4ea2a46 100644 --- a/src/components/video-player/video-player.tsx +++ b/src/components/video-player/video-player.tsx @@ -42,11 +42,10 @@ export const VideoPlayer: FC = ({ src, titleMovie, onBack, sho }; }, [onBack]); - useEffect(() => { if (player.current) { if (isHLSProvider(player.current.provider)) { - console.log("tune provider config") + console.log('tune provider config'); player.current.provider.config = { debug: false, autoStartLoad: true, @@ -85,7 +84,7 @@ export const VideoPlayer: FC = ({ src, titleMovie, onBack, sho enableID3MetadataCues: false, enableWebVTT: false, // TODO change when subtitles needed enableIMSC1: false, // TODO change when subtitles needed - enableCEA708Captions: false, // TODO change when subtitles needed + enableCEA708Captions: false, // TODO change when subtitles needed stretchShortVideoTrack: false, maxAudioFramesDrift: 1, diff --git a/src/config-global.ts b/src/config-global.ts index eb3f87834..382b670eb 100644 --- a/src/config-global.ts +++ b/src/config-global.ts @@ -15,25 +15,14 @@ export const GLOBAL_CONSTANTS = { import.meta.env.VITE_SUBSCRIPTION_POLICY_ADDRESS || '', ACCESS_WORKFLOW_ADDRESS: - process.env.VITE_ACCESS_WORKFLOW_ADDRESS || - import.meta.env.VITE_ACCESS_WORKFLOW_ADDRESS || - '', + process.env.VITE_ACCESS_WORKFLOW_ADDRESS || import.meta.env.VITE_ACCESS_WORKFLOW_ADDRESS || '', ACCESS_AGG_ADDRESS: - process.env.VITE_ACCESS_AGG_ADDRESS || - import.meta.env.VITE_ACCESS_AGG_ADDRESS || - '', + process.env.VITE_ACCESS_AGG_ADDRESS || import.meta.env.VITE_ACCESS_AGG_ADDRESS || '', POLICIES_AGG_ADDRESS: - process.env.VITE_POLICIES_AGG_ADDRESS || - import.meta.env.VITE_POLICIES_AGG_ADDRESS || - '', + process.env.VITE_POLICIES_AGG_ADDRESS || import.meta.env.VITE_POLICIES_AGG_ADDRESS || '', LEDGER_VAULT_ADDRESS: - process.env.VITE_LEDGER_VAULT_ADDRESS || - import.meta.env.VITE_LEDGER_VAULT_ADDRESS || - '', - OKLINK_API_KEY: - process.env.VITE_OKLINK_API_KEY || - import.meta.env.VITE_OKLINK_API_KEY || - '', + process.env.VITE_LEDGER_VAULT_ADDRESS || import.meta.env.VITE_LEDGER_VAULT_ADDRESS || '', + OKLINK_API_KEY: process.env.VITE_OKLINK_API_KEY || import.meta.env.VITE_OKLINK_API_KEY || '', RIGHT_POLICY_AUTHORIZER: process.env.VITE_RIGHT_POLICY_AUTHORIZER || import.meta.env.VITE_RIGHT_POLICY_AUTHORIZER || '', SENTRY_AUTH_TOKEN: @@ -44,9 +33,12 @@ export const GLOBAL_CONSTANTS = { process.env.VITE_PINATA_SECRET_API_KEY || import.meta.env.VITE_PINATA_SECRET_API_KEY || '', WEB3_CLIENT_ID: process.env.VITE_WEB3_CLIENT_ID || import.meta.env.VITE_WEB3_CLIENT_ID || '', PIMLICO: process.env.VITE_PIMLICO || import.meta.env.VITE_PIMLICO || '', - NEXT_PUBLIC_SUPABASE_URL: process.env.VITE_SUPABASE_URL || import.meta.env.VITE_SUPABASE_URL || '', - NEXT_PUBLIC_SUPABASE_ANON_KEY: process.env.VITE_SUPABASE_API_KEY || import.meta.env.VITE_SUPABASE_API_KEY || '', + NEXT_PUBLIC_SUPABASE_URL: + process.env.VITE_SUPABASE_URL || import.meta.env.VITE_SUPABASE_URL || '', + NEXT_PUBLIC_SUPABASE_ANON_KEY: + process.env.VITE_SUPABASE_API_KEY || import.meta.env.VITE_SUPABASE_API_KEY || '', ENVIRONMENT: process.env.NODE_ENV || import.meta.env.VITE_ENVIRONMENT || 'development', + INFURA_API_KEY: process.env.VITE_INFURA_API_KEY || import.meta.env.VITE_INFURA_API_KEY || '', }; export const MAPBOX_API = import.meta.env.VITE_MAPBOX_API || ''; diff --git a/src/config/abi/AccessAgg.json b/src/config/abi/AccessAgg.json index 8f23eb335..9b0967606 100644 --- a/src/config/abi/AccessAgg.json +++ b/src/config/abi/AccessAgg.json @@ -1 +1,1915 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"rightsPolicyManager","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"RIGHTS_POLICY_MANAGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRightsPolicyManager"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"authority","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"accessManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isAccessAllowedByAsset","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"assetId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isAccessAllowedByHolder","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isConsumingScheduledOp","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"setAuthority","inputs":[{"name":"newAuthority","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AuthorityUpdated","inputs":[{"name":"authority","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessManagedInvalidAuthority","inputs":[{"name":"authority","type":"address","internalType":"address"}]},{"type":"error","name":"AccessManagedRequiredDelay","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"delay","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"AccessManagedUnauthorized","inputs":[{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidUnauthorizedOperation","inputs":[{"name":"","type":"string","internalType":"string"}]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60c03461014557601f6111fc38819003918201601f19168301916001600160401b038311848410176101495780849260209460405283398101031261014557516001600160a01b0381169081900361014557306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16610136576002600160401b03196001600160401b038216016100cd575b5060a05260405161109e908161015e8239608051818181610820015261093f015260a05181818160d101526105470152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61009b565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461089857806352d1902d146107db5780637a9e5e4b146106e65780638fb3603714610635578063929cd2e0146105bf578063a1a2dac6146104a6578063ad3cb1cc14610425578063bf7e214f146103b5578063c4d66de8146100f95763f1bdc45214610087575f80fd5b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557610130610d48565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103ad575b60011490816103a3575b15908161039a575b5061037257818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561031d575b506101f3610f78565b6101fb610f78565b610203610f78565b61020b610f78565b61021481610ecd565b61021c610f78565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005561028a57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836101ea565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610181565b303b159150610179565b84915061016f565b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576104a2604051610464604082610d6b565b600581527f352e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610e13565b0390f35b346100f55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55761052e60406104e2610d48565b8151906024356020830152602082526104fb8383610d6b565b825193849283927fbe5fb16600000000000000000000000000000000000000000000000000000000845260048401610e9d565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156105b4576020915f91610584575b506040519015158152f35b6105a6915060403d6040116105ad575b61059e8183610d6b565b810190610e63565b5082610579565b503d610594565b6040513d5f823e3d90fd5b346100f55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576105f6610d48565b6024359073ffffffffffffffffffffffffffffffffffffffff82168092036100f55761052e916040918251916020830152602082526104fb8383610d6b565b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156106de5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6106b4565b346100f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55761071d610d48565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036107af57803b1561076d5761076b90610ecd565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108705760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576108ca610d48565b6024359067ffffffffffffffff82116100f557366023830112156100f5578160040135906108f782610dd9565b916109056040519384610d6b565b808352602083019336602483830101116100f557815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610d06575b50610870576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa9081156105b4575f91610cbb575b5015610c375773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610c03575b50610a7657847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610bd85750823b15610bad57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610b7b575f809161076b945190845af43d15610b73573d91610b5783610dd9565b92610b656040519485610d6b565b83523d5f602085013e610fcf565b606091610fcf565b50505034610b8557005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610c2f575b81610c1f60209383610d6b565b810103126100f557519086610a45565b3d9150610c12565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610cfe575b81610cd660409383610d6b565b810103126100f5576020610ce982610e56565b91015163ffffffff8116036100f557846109f0565b3d9150610cc9565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614158461096a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100f557565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610dac57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff8111610dac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b519081151582036100f557565b91908260409103126100f5576020610e7a83610e56565b92015173ffffffffffffffffffffffffffffffffffffffff811681036100f55790565b60409073ffffffffffffffffffffffffffffffffffffffff610eca94931681528160208201520190610e13565b90565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615610fa757565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9061100c5750805115610fe457805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b8151158061105f575b61101d575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561101556fea26469706673582212202e5754fb7e75dbb169594500b936583cd6d90b9799eb24010bce9d850919e7de64736f6c634300081a0033","sourceMap":"474:2431:2:-:0;;;;;;;;;;;;;-1:-1:-1;;474:2431:2;;;;-1:-1:-1;;;;;474:2431:2;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;474:2431:2;;;;;;;;1171:4:56;1163:13;;8837:64:55;474:2431:2;;;;;;7896:76:55;;-1:-1:-1;;;;;;;;;;;474:2431:2;;7985:34:55;7981:146;;-1:-1:-1;1020:65:2;;;474:2431;;;;;;;;1163:13:56;474:2431:2;;;;;;;;;;1020:65;474:2431;;;;;;;;;;;7981:146:55;-1:-1:-1;;;;;;474:2431:2;-1:-1:-1;;;;;474:2431:2;;;8837:64:55;474:2431:2;;;;;;8087:29:55;;474:2431:2;;8087:29:55;7981:146;;;7896:76;7938:23;;;-1:-1:-1;7938:23:55;;-1:-1:-1;7938:23:55;474:2431:2;-1:-1:-1;474:2431:2;;;;;;-1:-1:-1;474:2431:2;;;;;-1:-1:-1;474:2431:2","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461089857806352d1902d146107db5780637a9e5e4b146106e65780638fb3603714610635578063929cd2e0146105bf578063a1a2dac6146104a6578063ad3cb1cc14610425578063bf7e214f146103b5578063c4d66de8146100f95763f1bdc45214610087575f80fd5b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557610130610d48565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103ad575b60011490816103a3575b15908161039a575b5061037257818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561031d575b506101f3610f78565b6101fb610f78565b610203610f78565b61020b610f78565b61021481610ecd565b61021c610f78565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005561028a57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836101ea565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610181565b303b159150610179565b84915061016f565b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576104a2604051610464604082610d6b565b600581527f352e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610e13565b0390f35b346100f55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55761052e60406104e2610d48565b8151906024356020830152602082526104fb8383610d6b565b825193849283927fbe5fb16600000000000000000000000000000000000000000000000000000000845260048401610e9d565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156105b4576020915f91610584575b506040519015158152f35b6105a6915060403d6040116105ad575b61059e8183610d6b565b810190610e63565b5082610579565b503d610594565b6040513d5f823e3d90fd5b346100f55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576105f6610d48565b6024359073ffffffffffffffffffffffffffffffffffffffff82168092036100f55761052e916040918251916020830152602082526104fb8383610d6b565b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156106de5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6106b4565b346100f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55761071d610d48565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036107af57803b1561076d5761076b90610ecd565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108705760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576108ca610d48565b6024359067ffffffffffffffff82116100f557366023830112156100f5578160040135906108f782610dd9565b916109056040519384610d6b565b808352602083019336602483830101116100f557815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610d06575b50610870576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa9081156105b4575f91610cbb575b5015610c375773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610c03575b50610a7657847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610bd85750823b15610bad57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610b7b575f809161076b945190845af43d15610b73573d91610b5783610dd9565b92610b656040519485610d6b565b83523d5f602085013e610fcf565b606091610fcf565b50505034610b8557005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610c2f575b81610c1f60209383610d6b565b810103126100f557519086610a45565b3d9150610c12565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610cfe575b81610cd660409383610d6b565b810103126100f5576020610ce982610e56565b91015163ffffffff8116036100f557846109f0565b3d9150610cc9565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614158461096a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100f557565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610dac57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff8111610dac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b519081151582036100f557565b91908260409103126100f5576020610e7a83610e56565b92015173ffffffffffffffffffffffffffffffffffffffff811681036100f55790565b60409073ffffffffffffffffffffffffffffffffffffffff610eca94931681528160208201520190610e13565b90565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615610fa757565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9061100c5750805115610fe457805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b8151158061105f575b61101d575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561101556fea26469706673582212202e5754fb7e75dbb169594500b936583cd6d90b9799eb24010bce9d850919e7de64736f6c634300081a0033","sourceMap":"474:2431:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;628:59;474:2431;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8837:64:55;474:2431:2;;;;;;4301:16:55;474:2431:2;;;;4726:16:55;;:34;;;;474:2431:2;4805:1:55;4790:16;:50;;;;474:2431:2;4855:13:55;:30;;;;474:2431:2;4851:91:55;;;474:2431:2;;4805:1:55;474:2431:2;;;;;8837:64:55;474:2431:2;4979:67:55;;474:2431:2;6893:76:55;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:54;;;:::i;:::-;6893:76:55;;:::i;:::-;474:2431:2;;3295:62:102;474:2431:2;;;3295:62:102;474:2431:2;5066:101:55;;474:2431:2;5066:101:55;474:2431:2;8837:64:55;474:2431:2;;8837:64:55;474:2431:2;5142:14:55;474:2431:2;;;4805:1:55;474:2431:2;;5142:14:55;474:2431:2;4979:67:55;474:2431:2;;;;8837:64:55;474:2431:2;4979:67:55;;;4851:91;4908:23;474:2431:2;4908:23:55;474:2431:2;;4908:23:55;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:55;;4726:34;;;-1:-1:-1;4726:34:55;;474:2431:2;;;;;;;;;;;;;1782:71:54;474:2431:2;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;2429:56;474:2431;;;:::i;:::-;;;;;;;2382:19;;474:2431;;2382:19;;;;;;:::i;:::-;474:2431;;2429:56;;;;;474:2431;2429:56;;474:2431;2429:56;;;:::i;:::-;;:21;474:2431;2429:21;474:2431;2429:56;;;;;;474:2431;2429:56;474:2431;2429:56;;;474:2431;;;;;;;;;;2429:56;;;;474:2431;2429:56;474:2431;2429:56;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;474:2431;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1902:56;474:2431;;;;;1856:18;474:2431;1856:18;;474:2431;;1856:18;;;;;;:::i;474:2431::-;;;;;;;;;;;1782:71:54;474:2431:2;;;;;4698:71:54;;;474:2431:2;;4698:71:54;474:2431:2;;;;;;;;4698:71:54;474:2431:2;;4698:71:54;;474:2431:2;;;;;;;;;;;;;:::i;:::-;;1782:71:54;474:2431:2;;966:10:57;4258:21:54;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;474:2431:2;4355:110:54;474:2431:2;4411:43:54;;474:2431:2;4411:43:54;474:2431:2;;;;;4411:43:54;4254:92;4302:33;474:2431:2;4302:33:54;966:10:57;474:2431:2;;;;4302:33:54;474:2431:2;;;;;;;;;;;;5115:6:56;474:2431:2;5106:4:56;5098:23;5094:145;;474:2431:2;;;811:66:68;474:2431:2;;;5094:145:56;5199:29;474:2431:2;5199:29:56;474:2431:2;;5199:29:56;474:2431:2;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:6:56;474:2431:2;4683:4:56;;4675:23;:120;;;;;474:2431:2;4658:251:56;;;3058:30:102;474:2431:2;;3295:62:102;474:2431:2;;;;3058:30:102;;;;474:2431:2;3058:30:102;;474:2431:2;;3058:30:102;;474:2431:2;1893:10:102;474:2431:2;;;;3058:30:102;;;;;;;474:2431:2;3058:30:102;;;474:2431:2;1869:35:102;;1865:140;;474:2431:2;;;;;;;6156:52:56;;474:2431:2;6156:52:56;474:2431:2;6156:52:56;;;;474:2431:2;;6156:52:56;;;474:2431:2;-1:-1:-1;6152:437:56;;6518:60;;474:2431:2;6518:60:56;474:2431:2;;;;6518:60:56;6152:437;6250:40;811:66:68;6250:40:56;;;6246:120;;1748:29:68;;;:34;1744:119;;474:2431:2;;811:66:68;474:2431:2;;;811:66:68;474:2431:2;2407:36:68;474:2431:2;2407:36:68;;474:2431:2;;2458:15:68;:11;;474:2431:2;4049:25:75;;4091:55;4049:25;;;;;;474:2431:2;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;4091:55:75;:::i;474:2431:2:-;;;4091:55:75;:::i;2454:148:68:-;6163:9;;;;6159:70;;474:2431:2;6159:70:68;6199:19;474:2431:2;6199:19:68;474:2431:2;;6199:19:68;1744:119;1805:47;474:2431:2;1805:47:68;474:2431:2;;;;1805:47:68;6246:120:56;6317:34;474:2431:2;6317:34:56;474:2431:2;;;;6317:34:56;6156:52;;;;474:2431:2;6156:52:56;;474:2431:2;6156:52:56;;;;;;474:2431:2;6156:52:56;;;:::i;:::-;;;474:2431:2;;;;;6156:52:56;;;;;;;-1:-1:-1;6156:52:56;;1865:140:102;1927:67;474:2431:2;;1927:67:102;;;474:2431:2;;1927:67:102;;520:1:100;474:2431:2;;520:1:100;;474:2431:2;520:1:100;3058:30:102;474:2431:2;;520:1:100;;;;;;1927:67:102;3058:30;;;474:2431:2;3058:30:102;;474:2431:2;3058:30:102;;;;;;474:2431:2;3058:30:102;;;:::i;:::-;;;474:2431:2;;;;;;;;:::i;:::-;;;;;;;;;;3058:30:102;;;;;;-1:-1:-1;3058:30:102;;4675:120:56;474:2431:2;;;811:66:68;474:2431:2;;4753:42:56;;4675:120;;;474:2431:2;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;474:2431:2;;;;;-1:-1:-1;474:2431:2;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;474:2431:2;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;4964:220:54:-;474:2431:2;;5147:30:54;4964:220;474:2431:2;;;1782:71:54;474:2431:2;;;1782:71:54;474:2431:2;;;;;;5147:30:54;4964:220::o;7084:141:55:-;474:2431:2;8837:64:55;474:2431:2;;;;7150:18:55;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:55;;-1:-1:-1;7191:17:55;4421:582:75;;4593:8;;-1:-1:-1;474:2431:2;;5674:21:75;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;474:2431:2;;4841:22:75;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;474:2431:2;4917:24:75;;4862:1;4917:24;474:2431:2;4917:24:75;474:2431:2;;4862:1:75;4917:24;4841:49;4867:18;;;:23;4841:49;","linkReferences":{},"immutableReferences":{"103":[{"start":209,"length":32},{"start":1351,"length":32}],"43541":[{"start":2080,"length":32},{"start":2367,"length":32}]}},"methodIdentifiers":{"RIGHTS_POLICY_MANAGER()":"f1bdc452","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","authority()":"bf7e214f","initialize(address)":"c4d66de8","isAccessAllowedByAsset(address,uint256)":"a1a2dac6","isAccessAllowedByHolder(address,address)":"929cd2e0","isConsumingScheduledOp()":"8fb36037","proxiableUUID()":"52d1902d","setAuthority(address)":"7a9e5e4b","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rightsPolicyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"RIGHTS_POLICY_MANAGER\",\"outputs\":[{\"internalType\":\"contract IRightsPolicyManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"assetId\",\"type\":\"uint256\"}],\"name\":\"isAccessAllowedByAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"isAccessAllowedByHolder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"initialize(address)\":{\"details\":\"Sets up the contract for usage.\",\"params\":{\"accessManager\":\"Address of the Access Manager contract used for permission handling.\"}},\"isAccessAllowedByAsset(address,uint256)\":{\"params\":{\"account\":\"Address of the account to verify.\",\"assetId\":\"ID of the asset used as criteria.\"},\"returns\":{\"_0\":\"active True if the account has access; otherwise, false.\"}},\"isAccessAllowedByHolder(address,address)\":{\"params\":{\"account\":\"Address of the account to verify.\",\"holder\":\"Address of the rights holder used as criteria.\"},\"returns\":{\"_0\":\"active True if the account has access; otherwise, false.\"}},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"RIGHTS_POLICY_MANAGER\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"initialize(address)\":{\"notice\":\"Initializes the proxy state.\"},\"isAccessAllowedByAsset(address,uint256)\":{\"notice\":\"Checks if an account has access to a specific asset ID.\"},\"isAccessAllowedByHolder(address,address)\":{\"notice\":\"Checks if an account has access rights based on a holder's criteria.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/aggregation/AccessAgg.sol\":\"AccessAgg\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=node_modules/@synaps3/types/contracts/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"contracts/aggregation/AccessAgg.sol\":{\"keccak256\":\"0xac84fdeac803313a0de33ee07e3ec0b9f115b5aa80976f401b296c513774b28e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec0ac0b41d4bfb64700a638ebd4a47e883cb872dba088f2472f160ee70b57eb8\",\"dweb:/ipfs/QmVFnvcMLTVbFxFEvDw7545vvnqZ7U4TiPU7Y8urQSyR56\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol\":{\"keccak256\":\"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6\",\"dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"rightsPolicyManager","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"authority","type":"address"}],"type":"error","name":"AccessManagedInvalidAuthority"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint32","name":"delay","type":"uint32"}],"type":"error","name":"AccessManagedRequiredDelay"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"AccessManagedUnauthorized"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"InvalidUnauthorizedOperation"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"address","name":"authority","type":"address","indexed":false}],"type":"event","name":"AuthorityUpdated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"RIGHTS_POLICY_MANAGER","outputs":[{"internalType":"contract IRightsPolicyManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"authority","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"accessManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"assetId","type":"uint256"}],"stateMutability":"view","type":"function","name":"isAccessAllowedByAsset","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"isAccessAllowedByHolder","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isConsumingScheduledOp","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"newAuthority","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAuthority"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"authority()":{"details":"Returns the current authority."},"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"initialize(address)":{"details":"Sets up the contract for usage.","params":{"accessManager":"Address of the Access Manager contract used for permission handling."}},"isAccessAllowedByAsset(address,uint256)":{"params":{"account":"Address of the account to verify.","assetId":"ID of the asset used as criteria."},"returns":{"_0":"active True if the account has access; otherwise, false."}},"isAccessAllowedByHolder(address,address)":{"params":{"account":"Address of the account to verify.","holder":"Address of the rights holder used as criteria."},"returns":{"_0":"active True if the account has access; otherwise, false."}},"isConsumingScheduledOp()":{"details":"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls."},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"setAuthority(address)":{"details":"Transfers control to a new authority. The caller must be the current authority."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"initialize(address)":{"notice":"Initializes the proxy state."},"isAccessAllowedByAsset(address,uint256)":{"notice":"Checks if an account has access to a specific asset ID."},"isAccessAllowedByHolder(address,address)":{"notice":"Checks if an account has access rights based on a holder's criteria."}},"version":1}},"settings":{"remappings":["@account-abstraction/=node_modules/@account-abstraction/","@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/","@ethsign/=node_modules/@ethsign/","@openzeppelin/=node_modules/@openzeppelin/","@synaps3/=node_modules/@synaps3/types/contracts/","@uniswap/=node_modules/@uniswap/","base64-sol/=node_modules/base64-sol/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/aggregation/AccessAgg.sol":"AccessAgg"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/aggregation/AccessAgg.sol":{"keccak256":"0xac84fdeac803313a0de33ee07e3ec0b9f115b5aa80976f401b296c513774b28e","urls":["bzz-raw://ec0ac0b41d4bfb64700a638ebd4a47e883cb872dba088f2472f160ee70b57eb8","dweb:/ipfs/QmVFnvcMLTVbFxFEvDw7545vvnqZ7U4TiPU7Y8urQSyR56"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol":{"keccak256":"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373","urls":["bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447","dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27","urls":["bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e","dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol":{"keccak256":"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4","urls":["bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e","dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol":{"keccak256":"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6","urls":["bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694","dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol":{"keccak256":"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2","urls":["bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4","dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol":{"keccak256":"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030","urls":["bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c","dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol":{"keccak256":"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f","urls":["bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e","dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol":{"keccak256":"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e","urls":["bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6","dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol":{"keccak256":"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e","urls":["bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1","dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol":{"keccak256":"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df","urls":["bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2","dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"contracts/aggregation/AccessAgg.sol","id":203,"exportedSymbols":{"AccessAgg":[202],"AccessControlledUpgradeable":[51361],"IRightsPolicyManager":[50447],"Initializable":[43521],"UUPSUpgradeable":[43703]},"nodeType":"SourceUnit","src":"32:2874:2","nodes":[{"id":85,"nodeType":"PragmaDirective","src":"32:23:2","nodes":[],"literals":["solidity","0.8",".26"]},{"id":87,"nodeType":"ImportDirective","src":"57:98:2","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":203,"sourceUnit":43522,"symbolAliases":[{"foreign":{"id":86,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43521,"src":"66:13:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":89,"nodeType":"ImportDirective","src":"156:102:2","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":203,"sourceUnit":43704,"symbolAliases":[{"foreign":{"id":88,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43703,"src":"165:15:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":91,"nodeType":"ImportDirective","src":"260:115:2","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol","file":"@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol","nameLocation":"-1:-1:-1","scope":203,"sourceUnit":51362,"symbolAliases":[{"foreign":{"id":90,"name":"AccessControlledUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51361,"src":"269:27:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":93,"nodeType":"ImportDirective","src":"376:96:2","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol","file":"@synaps3/core/interfaces/rights/IRightsPolicyManager.sol","nameLocation":"-1:-1:-1","scope":203,"sourceUnit":50448,"symbolAliases":[{"foreign":{"id":92,"name":"IRightsPolicyManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50447,"src":"385:20:2","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":202,"nodeType":"ContractDefinition","src":"474:2431:2","nodes":[{"id":103,"nodeType":"VariableDeclaration","src":"628:59:2","nodes":[],"constant":false,"documentation":{"id":100,"nodeType":"StructuredDocumentation","src":"562:61:2","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"functionSelector":"f1bdc452","mutability":"immutable","name":"RIGHTS_POLICY_MANAGER","nameLocation":"666:21:2","scope":202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"},"typeName":{"id":102,"nodeType":"UserDefinedTypeName","pathNode":{"id":101,"name":"IRightsPolicyManager","nameLocations":["628:20:2"],"nodeType":"IdentifierPath","referencedDeclaration":50447,"src":"628:20:2"},"referencedDeclaration":50447,"src":"628:20:2","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"visibility":"public"},{"id":119,"nodeType":"FunctionDefinition","src":"747:345:2","nodes":[],"body":{"id":118,"nodeType":"Block","src":"788:304:2","nodes":[],"statements":[{"documentation":"https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5","expression":{"arguments":[],"expression":{"argumentTypes":[],"id":109,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43489,"src":"988:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":110,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"988:22:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":111,"nodeType":"ExpressionStatement","src":"988:22:2"},{"expression":{"id":116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":112,"name":"RIGHTS_POLICY_MANAGER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103,"src":"1020:21:2","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":114,"name":"rightsPolicyManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":106,"src":"1065:19:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":113,"name":"IRightsPolicyManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50447,"src":"1044:20:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRightsPolicyManager_$50447_$","typeString":"type(contract IRightsPolicyManager)"}},"id":115,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1044:41:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"src":"1020:65:2","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"id":117,"nodeType":"ExpressionStatement","src":"1020:65:2"}]},"documentation":{"id":104,"nodeType":"StructuredDocumentation","src":"694:48:2","text":"@custom:oz-upgrades-unsafe-allow constructor"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":107,"nodeType":"ParameterList","parameters":[{"constant":false,"id":106,"mutability":"mutable","name":"rightsPolicyManager","nameLocation":"767:19:2","nodeType":"VariableDeclaration","scope":119,"src":"759:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":105,"name":"address","nodeType":"ElementaryTypeName","src":"759:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"758:29:2"},"returnParameters":{"id":108,"nodeType":"ParameterList","parameters":[],"src":"788:0:2"},"scope":202,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":135,"nodeType":"FunctionDefinition","src":"1286:151:2","nodes":[],"body":{"id":134,"nodeType":"Block","src":"1348:89:2","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":127,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43575,"src":"1358:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":128,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1358:24:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":129,"nodeType":"ExpressionStatement","src":"1358:24:2"},{"expression":{"arguments":[{"id":131,"name":"accessManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":122,"src":"1416:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":130,"name":"__AccessControlled_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51296,"src":"1392:23:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":132,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1392:38:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":133,"nodeType":"ExpressionStatement","src":"1392:38:2"}]},"documentation":{"id":120,"nodeType":"StructuredDocumentation","src":"1098:183:2","text":"@notice Initializes the proxy state.\n @dev Sets up the contract for usage.\n @param accessManager Address of the Access Manager contract used for permission handling."},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":125,"kind":"modifierInvocation","modifierName":{"id":124,"name":"initializer","nameLocations":["1336:11:2"],"nodeType":"IdentifierPath","referencedDeclaration":43375,"src":"1336:11:2"},"nodeType":"ModifierInvocation","src":"1336:11:2"}],"name":"initialize","nameLocation":"1295:10:2","parameters":{"id":123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122,"mutability":"mutable","name":"accessManager","nameLocation":"1314:13:2","nodeType":"VariableDeclaration","scope":135,"src":"1306:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":121,"name":"address","nodeType":"ElementaryTypeName","src":"1306:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1305:23:2"},"returnParameters":{"id":126,"nodeType":"ParameterList","parameters":[],"src":"1348:0:2"},"scope":202,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":163,"nodeType":"FunctionDefinition","src":"1727:261:2","nodes":[],"body":{"id":162,"nodeType":"Block","src":"1822:166:2","nodes":[],"statements":[{"assignments":[146],"declarations":[{"constant":false,"id":146,"mutability":"mutable","name":"criteria","nameLocation":"1845:8:2","nodeType":"VariableDeclaration","scope":162,"src":"1832:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":145,"name":"bytes","nodeType":"ElementaryTypeName","src":"1832:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":151,"initialValue":{"arguments":[{"id":149,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":140,"src":"1867:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":147,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"1856:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":148,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1860:6:2","memberName":"encode","nodeType":"MemberAccess","src":"1856:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1856:18:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"1832:42:2"},{"assignments":[153,null],"declarations":[{"constant":false,"id":153,"mutability":"mutable","name":"active","nameLocation":"1890:6:2","nodeType":"VariableDeclaration","scope":162,"src":"1885:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":152,"name":"bool","nodeType":"ElementaryTypeName","src":"1885:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":159,"initialValue":{"arguments":[{"id":156,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":138,"src":"1940:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":157,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"1949:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":154,"name":"RIGHTS_POLICY_MANAGER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103,"src":"1902:21:2","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"id":155,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1924:15:2","memberName":"getActivePolicy","nodeType":"MemberAccess","referencedDeclaration":50421,"src":"1902:37:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_address_$","typeString":"function (address,bytes memory) view external returns (bool,address)"}},"id":158,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1902:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"1884:74:2"},{"expression":{"id":160,"name":"active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":153,"src":"1975:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":144,"id":161,"nodeType":"Return","src":"1968:13:2"}]},"documentation":{"id":136,"nodeType":"StructuredDocumentation","src":"1443:279:2","text":"@notice Checks if an account has access rights based on a holder's criteria.\n @param account Address of the account to verify.\n @param holder Address of the rights holder used as criteria.\n @return active True if the account has access; otherwise, false."},"functionSelector":"929cd2e0","implemented":true,"kind":"function","modifiers":[],"name":"isAccessAllowedByHolder","nameLocation":"1736:23:2","parameters":{"id":141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":138,"mutability":"mutable","name":"account","nameLocation":"1768:7:2","nodeType":"VariableDeclaration","scope":163,"src":"1760:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":137,"name":"address","nodeType":"ElementaryTypeName","src":"1760:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":140,"mutability":"mutable","name":"holder","nameLocation":"1785:6:2","nodeType":"VariableDeclaration","scope":163,"src":"1777:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":139,"name":"address","nodeType":"ElementaryTypeName","src":"1777:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1759:33:2"},"returnParameters":{"id":144,"nodeType":"ParameterList","parameters":[{"constant":false,"id":143,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":163,"src":"1816:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":142,"name":"bool","nodeType":"ElementaryTypeName","src":"1816:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"1815:6:2"},"scope":202,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":191,"nodeType":"FunctionDefinition","src":"2253:262:2","nodes":[],"body":{"id":190,"nodeType":"Block","src":"2348:167:2","nodes":[],"statements":[{"assignments":[174],"declarations":[{"constant":false,"id":174,"mutability":"mutable","name":"criteria","nameLocation":"2371:8:2","nodeType":"VariableDeclaration","scope":190,"src":"2358:21:2","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":173,"name":"bytes","nodeType":"ElementaryTypeName","src":"2358:5:2","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":179,"initialValue":{"arguments":[{"id":177,"name":"assetId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":168,"src":"2393:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":175,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2382:3:2","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":176,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2386:6:2","memberName":"encode","nodeType":"MemberAccess","src":"2382:10:2","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":178,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2382:19:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2358:43:2"},{"assignments":[181,null],"declarations":[{"constant":false,"id":181,"mutability":"mutable","name":"active","nameLocation":"2417:6:2","nodeType":"VariableDeclaration","scope":190,"src":"2412:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":180,"name":"bool","nodeType":"ElementaryTypeName","src":"2412:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":187,"initialValue":{"arguments":[{"id":184,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":166,"src":"2467:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":185,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174,"src":"2476:8:2","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":182,"name":"RIGHTS_POLICY_MANAGER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":103,"src":"2429:21:2","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"id":183,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2451:15:2","memberName":"getActivePolicy","nodeType":"MemberAccess","referencedDeclaration":50421,"src":"2429:37:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_address_$","typeString":"function (address,bytes memory) view external returns (bool,address)"}},"id":186,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2429:56:2","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_address_$","typeString":"tuple(bool,address)"}},"nodeType":"VariableDeclarationStatement","src":"2411:74:2"},{"expression":{"id":188,"name":"active","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181,"src":"2502:6:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":172,"id":189,"nodeType":"Return","src":"2495:13:2"}]},"documentation":{"id":164,"nodeType":"StructuredDocumentation","src":"1994:254:2","text":"@notice Checks if an account has access to a specific asset ID.\n @param account Address of the account to verify.\n @param assetId ID of the asset used as criteria.\n @return active True if the account has access; otherwise, false."},"functionSelector":"a1a2dac6","implemented":true,"kind":"function","modifiers":[],"name":"isAccessAllowedByAsset","nameLocation":"2262:22:2","parameters":{"id":169,"nodeType":"ParameterList","parameters":[{"constant":false,"id":166,"mutability":"mutable","name":"account","nameLocation":"2293:7:2","nodeType":"VariableDeclaration","scope":191,"src":"2285:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":165,"name":"address","nodeType":"ElementaryTypeName","src":"2285:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":168,"mutability":"mutable","name":"assetId","nameLocation":"2310:7:2","nodeType":"VariableDeclaration","scope":191,"src":"2302:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":167,"name":"uint256","nodeType":"ElementaryTypeName","src":"2302:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2284:34:2"},"returnParameters":{"id":172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":171,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":191,"src":"2342:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":170,"name":"bool","nodeType":"ElementaryTypeName","src":"2342:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"2341:6:2"},"scope":202,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":201,"nodeType":"FunctionDefinition","src":"2819:84:2","nodes":[],"body":{"id":200,"nodeType":"Block","src":"2901:2:2","nodes":[],"statements":[]},"baseFunctions":[43657],"documentation":{"id":192,"nodeType":"StructuredDocumentation","src":"2521:293:2","text":"@notice Function that should revert when msg.sender is not authorized to upgrade the contract.\n @param newImplementation The address of the new implementation contract.\n @dev See https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable-_authorizeUpgrade-address-"},"implemented":true,"kind":"function","modifiers":[{"id":198,"kind":"modifierInvocation","modifierName":{"id":197,"name":"onlyAdmin","nameLocations":["2891:9:2"],"nodeType":"IdentifierPath","referencedDeclaration":51279,"src":"2891:9:2"},"nodeType":"ModifierInvocation","src":"2891:9:2"}],"name":"_authorizeUpgrade","nameLocation":"2828:17:2","overrides":{"id":196,"nodeType":"OverrideSpecifier","overrides":[],"src":"2882:8:2"},"parameters":{"id":195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":194,"mutability":"mutable","name":"newImplementation","nameLocation":"2854:17:2","nodeType":"VariableDeclaration","scope":201,"src":"2846:25:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":193,"name":"address","nodeType":"ElementaryTypeName","src":"2846:7:2","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2845:27:2"},"returnParameters":{"id":199,"nodeType":"ParameterList","parameters":[],"src":"2901:0:2"},"scope":202,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":94,"name":"Initializable","nameLocations":["496:13:2"],"nodeType":"IdentifierPath","referencedDeclaration":43521,"src":"496:13:2"},"id":95,"nodeType":"InheritanceSpecifier","src":"496:13:2"},{"baseName":{"id":96,"name":"UUPSUpgradeable","nameLocations":["511:15:2"],"nodeType":"IdentifierPath","referencedDeclaration":43703,"src":"511:15:2"},"id":97,"nodeType":"InheritanceSpecifier","src":"511:15:2"},{"baseName":{"id":98,"name":"AccessControlledUpgradeable","nameLocations":["528:27:2"],"nodeType":"IdentifierPath","referencedDeclaration":51361,"src":"528:27:2"},"id":99,"nodeType":"InheritanceSpecifier","src":"528:27:2"}],"canonicalName":"AccessAgg","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[202,51361,43267,43871,43749,43703,44440,43521],"name":"AccessAgg","nameLocation":"483:9:2","scope":203,"usedErrors":[43284,43287,43548,43553,43842,43848,43852,44498,44511,45462,45724,51261],"usedEvents":[43292,43838,44413]}],"license":"MIT"},"id":2} \ No newline at end of file +{ + "abi": [ + { + "type": "constructor", + "inputs": [{ "name": "rightsPolicyManager", "type": "address", "internalType": "address" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "RIGHTS_POLICY_MANAGER", + "inputs": [], + "outputs": [ + { "name": "", "type": "address", "internalType": "contract IRightsPolicyManager" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [{ "name": "accessManager", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isAccessAllowedByAsset", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "assetId", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isAccessAllowedByHolder", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "holder", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isConsumingScheduledOp", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "proxiableUUID", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [{ "name": "newAuthority", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "upgradeToAndCall", + "inputs": [ + { "name": "newImplementation", "type": "address", "internalType": "address" }, + { "name": "data", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { "name": "authority", "type": "address", "indexed": false, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Upgraded", + "inputs": [ + { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AccessManagedInvalidAuthority", + "inputs": [{ "name": "authority", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AccessManagedRequiredDelay", + "inputs": [ + { "name": "caller", "type": "address", "internalType": "address" }, + { "name": "delay", "type": "uint32", "internalType": "uint32" } + ] + }, + { + "type": "error", + "name": "AccessManagedUnauthorized", + "inputs": [{ "name": "caller", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [{ "name": "target", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC1967InvalidImplementation", + "inputs": [{ "name": "implementation", "type": "address", "internalType": "address" }] + }, + { "type": "error", "name": "ERC1967NonPayable", "inputs": [] }, + { "type": "error", "name": "FailedCall", "inputs": [] }, + { "type": "error", "name": "InvalidInitialization", "inputs": [] }, + { + "type": "error", + "name": "InvalidUnauthorizedOperation", + "inputs": [{ "name": "", "type": "string", "internalType": "string" }] + }, + { "type": "error", "name": "NotInitializing", "inputs": [] }, + { "type": "error", "name": "UUPSUnauthorizedCallContext", "inputs": [] }, + { + "type": "error", + "name": "UUPSUnsupportedProxiableUUID", + "inputs": [{ "name": "slot", "type": "bytes32", "internalType": "bytes32" }] + } + ], + "bytecode": { + "object": "0x60c03461014557601f6111fc38819003918201601f19168301916001600160401b038311848410176101495780849260209460405283398101031261014557516001600160a01b0381169081900361014557306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16610136576002600160401b03196001600160401b038216016100cd575b5060a05260405161109e908161015e8239608051818181610820015261093f015260a05181818160d101526105470152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61009b565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461089857806352d1902d146107db5780637a9e5e4b146106e65780638fb3603714610635578063929cd2e0146105bf578063a1a2dac6146104a6578063ad3cb1cc14610425578063bf7e214f146103b5578063c4d66de8146100f95763f1bdc45214610087575f80fd5b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557610130610d48565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103ad575b60011490816103a3575b15908161039a575b5061037257818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561031d575b506101f3610f78565b6101fb610f78565b610203610f78565b61020b610f78565b61021481610ecd565b61021c610f78565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005561028a57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836101ea565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610181565b303b159150610179565b84915061016f565b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576104a2604051610464604082610d6b565b600581527f352e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610e13565b0390f35b346100f55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55761052e60406104e2610d48565b8151906024356020830152602082526104fb8383610d6b565b825193849283927fbe5fb16600000000000000000000000000000000000000000000000000000000845260048401610e9d565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156105b4576020915f91610584575b506040519015158152f35b6105a6915060403d6040116105ad575b61059e8183610d6b565b810190610e63565b5082610579565b503d610594565b6040513d5f823e3d90fd5b346100f55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576105f6610d48565b6024359073ffffffffffffffffffffffffffffffffffffffff82168092036100f55761052e916040918251916020830152602082526104fb8383610d6b565b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156106de5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6106b4565b346100f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55761071d610d48565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036107af57803b1561076d5761076b90610ecd565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108705760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576108ca610d48565b6024359067ffffffffffffffff82116100f557366023830112156100f5578160040135906108f782610dd9565b916109056040519384610d6b565b808352602083019336602483830101116100f557815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610d06575b50610870576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa9081156105b4575f91610cbb575b5015610c375773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610c03575b50610a7657847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610bd85750823b15610bad57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610b7b575f809161076b945190845af43d15610b73573d91610b5783610dd9565b92610b656040519485610d6b565b83523d5f602085013e610fcf565b606091610fcf565b50505034610b8557005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610c2f575b81610c1f60209383610d6b565b810103126100f557519086610a45565b3d9150610c12565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610cfe575b81610cd660409383610d6b565b810103126100f5576020610ce982610e56565b91015163ffffffff8116036100f557846109f0565b3d9150610cc9565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614158461096a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100f557565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610dac57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff8111610dac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b519081151582036100f557565b91908260409103126100f5576020610e7a83610e56565b92015173ffffffffffffffffffffffffffffffffffffffff811681036100f55790565b60409073ffffffffffffffffffffffffffffffffffffffff610eca94931681528160208201520190610e13565b90565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615610fa757565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9061100c5750805115610fe457805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b8151158061105f575b61101d575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561101556fea26469706673582212202e5754fb7e75dbb169594500b936583cd6d90b9799eb24010bce9d850919e7de64736f6c634300081a0033", + "sourceMap": "474:2431:2:-:0;;;;;;;;;;;;;-1:-1:-1;;474:2431:2;;;;-1:-1:-1;;;;;474:2431:2;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;474:2431:2;;;;;;;;1171:4:56;1163:13;;8837:64:55;474:2431:2;;;;;;7896:76:55;;-1:-1:-1;;;;;;;;;;;474:2431:2;;7985:34:55;7981:146;;-1:-1:-1;1020:65:2;;;474:2431;;;;;;;;1163:13:56;474:2431:2;;;;;;;;;;1020:65;474:2431;;;;;;;;;;;7981:146:55;-1:-1:-1;;;;;;474:2431:2;-1:-1:-1;;;;;474:2431:2;;;8837:64:55;474:2431:2;;;;;;8087:29:55;;474:2431:2;;8087:29:55;7981:146;;;7896:76;7938:23;;;-1:-1:-1;7938:23:55;;-1:-1:-1;7938:23:55;474:2431:2;-1:-1:-1;474:2431:2;;;;;;-1:-1:-1;474:2431:2;;;;;-1:-1:-1;474:2431:2", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461089857806352d1902d146107db5780637a9e5e4b146106e65780638fb3603714610635578063929cd2e0146105bf578063a1a2dac6146104a6578063ad3cb1cc14610425578063bf7e214f146103b5578063c4d66de8146100f95763f1bdc45214610087575f80fd5b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557610130610d48565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103ad575b60011490816103a3575b15908161039a575b5061037257818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561031d575b506101f3610f78565b6101fb610f78565b610203610f78565b61020b610f78565b61021481610ecd565b61021c610f78565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005561028a57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836101ea565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610181565b303b159150610179565b84915061016f565b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f557602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576104a2604051610464604082610d6b565b600581527f352e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610e13565b0390f35b346100f55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55761052e60406104e2610d48565b8151906024356020830152602082526104fb8383610d6b565b825193849283927fbe5fb16600000000000000000000000000000000000000000000000000000000845260048401610e9d565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156105b4576020915f91610584575b506040519015158152f35b6105a6915060403d6040116105ad575b61059e8183610d6b565b810190610e63565b5082610579565b503d610594565b6040513d5f823e3d90fd5b346100f55760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576105f6610d48565b6024359073ffffffffffffffffffffffffffffffffffffffff82168092036100f55761052e916040918251916020830152602082526104fb8383610d6b565b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156106de5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6106b4565b346100f55760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55761071d610d48565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036107af57803b1561076d5761076b90610ecd565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100f5575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f55773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108705760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126100f5576108ca610d48565b6024359067ffffffffffffffff82116100f557366023830112156100f5578160040135906108f782610dd9565b916109056040519384610d6b565b808352602083019336602483830101116100f557815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610d06575b50610870576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa9081156105b4575f91610cbb575b5015610c375773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610c03575b50610a7657847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610bd85750823b15610bad57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610b7b575f809161076b945190845af43d15610b73573d91610b5783610dd9565b92610b656040519485610d6b565b83523d5f602085013e610fcf565b606091610fcf565b50505034610b8557005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610c2f575b81610c1f60209383610d6b565b810103126100f557519086610a45565b3d9150610c12565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610cfe575b81610cd660409383610d6b565b810103126100f5576020610ce982610e56565b91015163ffffffff8116036100f557846109f0565b3d9150610cc9565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614158461096a565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100f557565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610dac57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff8111610dac57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b519081151582036100f557565b91908260409103126100f5576020610e7a83610e56565b92015173ffffffffffffffffffffffffffffffffffffffff811681036100f55790565b60409073ffffffffffffffffffffffffffffffffffffffff610eca94931681528160208201520190610e13565b90565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615610fa757565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9061100c5750805115610fe457805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b8151158061105f575b61101d575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561101556fea26469706673582212202e5754fb7e75dbb169594500b936583cd6d90b9799eb24010bce9d850919e7de64736f6c634300081a0033", + "sourceMap": "474:2431:2:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;628:59;474:2431;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8837:64:55;474:2431:2;;;;;;4301:16:55;474:2431:2;;;;4726:16:55;;:34;;;;474:2431:2;4805:1:55;4790:16;:50;;;;474:2431:2;4855:13:55;:30;;;;474:2431:2;4851:91:55;;;474:2431:2;;4805:1:55;474:2431:2;;;;;8837:64:55;474:2431:2;4979:67:55;;474:2431:2;6893:76:55;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:54;;;:::i;:::-;6893:76:55;;:::i;:::-;474:2431:2;;3295:62:102;474:2431:2;;;3295:62:102;474:2431:2;5066:101:55;;474:2431:2;5066:101:55;474:2431:2;8837:64:55;474:2431:2;;8837:64:55;474:2431:2;5142:14:55;474:2431:2;;;4805:1:55;474:2431:2;;5142:14:55;474:2431:2;4979:67:55;474:2431:2;;;;8837:64:55;474:2431:2;4979:67:55;;;4851:91;4908:23;474:2431:2;4908:23:55;474:2431:2;;4908:23:55;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:55;;4726:34;;;-1:-1:-1;4726:34:55;;474:2431:2;;;;;;;;;;;;;1782:71:54;474:2431:2;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;2429:56;474:2431;;;:::i;:::-;;;;;;;2382:19;;474:2431;;2382:19;;;;;;:::i;:::-;474:2431;;2429:56;;;;;474:2431;2429:56;;474:2431;2429:56;;;:::i;:::-;;:21;474:2431;2429:21;474:2431;2429:56;;;;;;474:2431;2429:56;474:2431;2429:56;;;474:2431;;;;;;;;;;2429:56;;;;474:2431;2429:56;474:2431;2429:56;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;474:2431;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;1902:56;474:2431;;;;;1856:18;474:2431;1856:18;;474:2431;;1856:18;;;;;;:::i;474:2431::-;;;;;;;;;;;1782:71:54;474:2431:2;;;;;4698:71:54;;;474:2431:2;;4698:71:54;474:2431:2;;;;;;;;4698:71:54;474:2431:2;;4698:71:54;;474:2431:2;;;;;;;;;;;;;:::i;:::-;;1782:71:54;474:2431:2;;966:10:57;4258:21:54;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;474:2431:2;4355:110:54;474:2431:2;4411:43:54;;474:2431:2;4411:43:54;474:2431:2;;;;;4411:43:54;4254:92;4302:33;474:2431:2;4302:33:54;966:10:57;474:2431:2;;;;4302:33:54;474:2431:2;;;;;;;;;;;;5115:6:56;474:2431:2;5106:4:56;5098:23;5094:145;;474:2431:2;;;811:66:68;474:2431:2;;;5094:145:56;5199:29;474:2431:2;5199:29:56;474:2431:2;;5199:29:56;474:2431:2;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:6:56;474:2431:2;4683:4:56;;4675:23;:120;;;;;474:2431:2;4658:251:56;;;3058:30:102;474:2431:2;;3295:62:102;474:2431:2;;;;3058:30:102;;;;474:2431:2;3058:30:102;;474:2431:2;;3058:30:102;;474:2431:2;1893:10:102;474:2431:2;;;;3058:30:102;;;;;;;474:2431:2;3058:30:102;;;474:2431:2;1869:35:102;;1865:140;;474:2431:2;;;;;;;6156:52:56;;474:2431:2;6156:52:56;474:2431:2;6156:52:56;;;;474:2431:2;;6156:52:56;;;474:2431:2;-1:-1:-1;6152:437:56;;6518:60;;474:2431:2;6518:60:56;474:2431:2;;;;6518:60:56;6152:437;6250:40;811:66:68;6250:40:56;;;6246:120;;1748:29:68;;;:34;1744:119;;474:2431:2;;811:66:68;474:2431:2;;;811:66:68;474:2431:2;2407:36:68;474:2431:2;2407:36:68;;474:2431:2;;2458:15:68;:11;;474:2431:2;4049:25:75;;4091:55;4049:25;;;;;;474:2431:2;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;4091:55:75;:::i;474:2431:2:-;;;4091:55:75;:::i;2454:148:68:-;6163:9;;;;6159:70;;474:2431:2;6159:70:68;6199:19;474:2431:2;6199:19:68;474:2431:2;;6199:19:68;1744:119;1805:47;474:2431:2;1805:47:68;474:2431:2;;;;1805:47:68;6246:120:56;6317:34;474:2431:2;6317:34:56;474:2431:2;;;;6317:34:56;6156:52;;;;474:2431:2;6156:52:56;;474:2431:2;6156:52:56;;;;;;474:2431:2;6156:52:56;;;:::i;:::-;;;474:2431:2;;;;;6156:52:56;;;;;;;-1:-1:-1;6156:52:56;;1865:140:102;1927:67;474:2431:2;;1927:67:102;;;474:2431:2;;1927:67:102;;520:1:100;474:2431:2;;520:1:100;;474:2431:2;520:1:100;3058:30:102;474:2431:2;;520:1:100;;;;;;1927:67:102;3058:30;;;474:2431:2;3058:30:102;;474:2431:2;3058:30:102;;;;;;474:2431:2;3058:30:102;;;:::i;:::-;;;474:2431:2;;;;;;;;:::i;:::-;;;;;;;;;;3058:30:102;;;;;;-1:-1:-1;3058:30:102;;4675:120:56;474:2431:2;;;811:66:68;474:2431:2;;4753:42:56;;4675:120;;;474:2431:2;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;474:2431:2;;;;;-1:-1:-1;474:2431:2;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;474:2431:2;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;4964:220:54:-;474:2431:2;;5147:30:54;4964:220;474:2431:2;;;1782:71:54;474:2431:2;;;1782:71:54;474:2431:2;;;;;;5147:30:54;4964:220::o;7084:141:55:-;474:2431:2;8837:64:55;474:2431:2;;;;7150:18:55;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:55;;-1:-1:-1;7191:17:55;4421:582:75;;4593:8;;-1:-1:-1;474:2431:2;;5674:21:75;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;474:2431:2;;4841:22:75;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;474:2431:2;4917:24:75;;4862:1;4917:24;474:2431:2;4917:24:75;474:2431:2;;4862:1:75;4917:24;4841:49;4867:18;;;:23;4841:49;", + "linkReferences": {}, + "immutableReferences": { + "103": [ + { "start": 209, "length": 32 }, + { "start": 1351, "length": 32 } + ], + "43541": [ + { "start": 2080, "length": 32 }, + { "start": 2367, "length": 32 } + ] + } + }, + "methodIdentifiers": { + "RIGHTS_POLICY_MANAGER()": "f1bdc452", + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "authority()": "bf7e214f", + "initialize(address)": "c4d66de8", + "isAccessAllowedByAsset(address,uint256)": "a1a2dac6", + "isAccessAllowedByHolder(address,address)": "929cd2e0", + "isConsumingScheduledOp()": "8fb36037", + "proxiableUUID()": "52d1902d", + "setAuthority(address)": "7a9e5e4b", + "upgradeToAndCall(address,bytes)": "4f1ef286" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rightsPolicyManager\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"RIGHTS_POLICY_MANAGER\",\"outputs\":[{\"internalType\":\"contract IRightsPolicyManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"assetId\",\"type\":\"uint256\"}],\"name\":\"isAccessAllowedByAsset\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"isAccessAllowedByHolder\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"initialize(address)\":{\"details\":\"Sets up the contract for usage.\",\"params\":{\"accessManager\":\"Address of the Access Manager contract used for permission handling.\"}},\"isAccessAllowedByAsset(address,uint256)\":{\"params\":{\"account\":\"Address of the account to verify.\",\"assetId\":\"ID of the asset used as criteria.\"},\"returns\":{\"_0\":\"active True if the account has access; otherwise, false.\"}},\"isAccessAllowedByHolder(address,address)\":{\"params\":{\"account\":\"Address of the account to verify.\",\"holder\":\"Address of the rights holder used as criteria.\"},\"returns\":{\"_0\":\"active True if the account has access; otherwise, false.\"}},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"RIGHTS_POLICY_MANAGER\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"initialize(address)\":{\"notice\":\"Initializes the proxy state.\"},\"isAccessAllowedByAsset(address,uint256)\":{\"notice\":\"Checks if an account has access to a specific asset ID.\"},\"isAccessAllowedByHolder(address,address)\":{\"notice\":\"Checks if an account has access rights based on a holder's criteria.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/aggregation/AccessAgg.sol\":\"AccessAgg\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=node_modules/@synaps3/types/contracts/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"contracts/aggregation/AccessAgg.sol\":{\"keccak256\":\"0xac84fdeac803313a0de33ee07e3ec0b9f115b5aa80976f401b296c513774b28e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec0ac0b41d4bfb64700a638ebd4a47e883cb872dba088f2472f160ee70b57eb8\",\"dweb:/ipfs/QmVFnvcMLTVbFxFEvDw7545vvnqZ7U4TiPU7Y8urQSyR56\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol\":{\"keccak256\":\"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6\",\"dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { "internalType": "address", "name": "rightsPolicyManager", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [{ "internalType": "address", "name": "authority", "type": "address" }], + "type": "error", + "name": "AccessManagedInvalidAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "caller", "type": "address" }, + { "internalType": "uint32", "name": "delay", "type": "uint32" } + ], + "type": "error", + "name": "AccessManagedRequiredDelay" + }, + { + "inputs": [{ "internalType": "address", "name": "caller", "type": "address" }], + "type": "error", + "name": "AccessManagedUnauthorized" + }, + { + "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], + "type": "error", + "name": "AddressEmptyCode" + }, + { + "inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }], + "type": "error", + "name": "ERC1967InvalidImplementation" + }, + { "inputs": [], "type": "error", "name": "ERC1967NonPayable" }, + { "inputs": [], "type": "error", "name": "FailedCall" }, + { "inputs": [], "type": "error", "name": "InvalidInitialization" }, + { + "inputs": [{ "internalType": "string", "name": "", "type": "string" }], + "type": "error", + "name": "InvalidUnauthorizedOperation" + }, + { "inputs": [], "type": "error", "name": "NotInitializing" }, + { "inputs": [], "type": "error", "name": "UUPSUnauthorizedCallContext" }, + { + "inputs": [{ "internalType": "bytes32", "name": "slot", "type": "bytes32" }], + "type": "error", + "name": "UUPSUnsupportedProxiableUUID" + }, + { + "inputs": [ + { "internalType": "address", "name": "authority", "type": "address", "indexed": false } + ], + "type": "event", + "name": "AuthorityUpdated", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "uint64", "name": "version", "type": "uint64", "indexed": false } + ], + "type": "event", + "name": "Initialized", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "Upgraded", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "RIGHTS_POLICY_MANAGER", + "outputs": [ + { "internalType": "contract IRightsPolicyManager", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "authority", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }] + }, + { + "inputs": [{ "internalType": "address", "name": "accessManager", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "initialize" + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "uint256", "name": "assetId", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function", + "name": "isAccessAllowedByAsset", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "address", "name": "holder", "type": "address" } + ], + "stateMutability": "view", + "type": "function", + "name": "isAccessAllowedByHolder", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "isConsumingScheduledOp", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] + }, + { + "inputs": [{ "internalType": "address", "name": "newAuthority", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "setAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "newImplementation", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "stateMutability": "payable", + "type": "function", + "name": "upgradeToAndCall" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "authority()": { "details": "Returns the current authority." }, + "constructor": { "custom:oz-upgrades-unsafe-allow": "constructor" }, + "initialize(address)": { + "details": "Sets up the contract for usage.", + "params": { + "accessManager": "Address of the Access Manager contract used for permission handling." + } + }, + "isAccessAllowedByAsset(address,uint256)": { + "params": { + "account": "Address of the account to verify.", + "assetId": "ID of the asset used as criteria." + }, + "returns": { "_0": "active True if the account has access; otherwise, false." } + }, + "isAccessAllowedByHolder(address,address)": { + "params": { + "account": "Address of the account to verify.", + "holder": "Address of the rights holder used as criteria." + }, + "returns": { "_0": "active True if the account has access; otherwise, false." } + }, + "isConsumingScheduledOp()": { + "details": "Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls." + }, + "proxiableUUID()": { + "details": "Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier." + }, + "setAuthority(address)": { + "details": "Transfers control to a new authority. The caller must be the current authority." + }, + "upgradeToAndCall(address,bytes)": { + "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", + "details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "initialize(address)": { "notice": "Initializes the proxy state." }, + "isAccessAllowedByAsset(address,uint256)": { + "notice": "Checks if an account has access to a specific asset ID." + }, + "isAccessAllowedByHolder(address,address)": { + "notice": "Checks if an account has access rights based on a holder's criteria." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@account-abstraction/=node_modules/@account-abstraction/", + "@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/", + "@ethsign/=node_modules/@ethsign/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@synaps3/=node_modules/@synaps3/types/contracts/", + "@uniswap/=node_modules/@uniswap/", + "base64-sol/=node_modules/base64-sol/", + "forge-std/=lib/forge-std/src/", + "hardhat/=node_modules/hardhat/", + "solady/=lib/solady/src/" + ], + "optimizer": { "enabled": true, "runs": 20000 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "contracts/aggregation/AccessAgg.sol": "AccessAgg" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/aggregation/AccessAgg.sol": { + "keccak256": "0xac84fdeac803313a0de33ee07e3ec0b9f115b5aa80976f401b296c513774b28e", + "urls": [ + "bzz-raw://ec0ac0b41d4bfb64700a638ebd4a47e883cb872dba088f2472f160ee70b57eb8", + "dweb:/ipfs/QmVFnvcMLTVbFxFEvDw7545vvnqZ7U4TiPU7Y8urQSyR56" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol": { + "keccak256": "0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373", + "urls": [ + "bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447", + "dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", + "urls": [ + "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", + "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol": { + "keccak256": "0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27", + "urls": [ + "bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e", + "dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", + "urls": [ + "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", + "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol": { + "keccak256": "0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4", + "urls": [ + "bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e", + "dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol": { + "keccak256": "0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6", + "urls": [ + "bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694", + "dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol": { + "keccak256": "0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2", + "urls": [ + "bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4", + "dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol": { + "keccak256": "0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030", + "urls": [ + "bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c", + "dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol": { + "keccak256": "0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486", + "urls": [ + "bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d", + "dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { + "keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d", + "urls": [ + "bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196", + "dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { + "keccak256": "0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06", + "urls": [ + "bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c", + "dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { + "keccak256": "0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c", + "urls": [ + "bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa", + "dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", + "urls": [ + "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", + "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Errors.sol": { + "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", + "urls": [ + "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", + "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Panic.sol": { + "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", + "urls": [ + "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", + "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/StorageSlot.sol": { + "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97", + "urls": [ + "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b", + "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", + "urls": [ + "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", + "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": { + "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", + "urls": [ + "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", + "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/types/Time.sol": { + "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", + "urls": [ + "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", + "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol": { + "keccak256": "0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f", + "urls": [ + "bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e", + "dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol": { + "keccak256": "0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e", + "urls": [ + "bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6", + "dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/Constants.sol": { + "keccak256": "0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e", + "urls": [ + "bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1", + "dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol": { + "keccak256": "0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df", + "urls": [ + "bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2", + "dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "storageLayout": { "storage": [], "types": {} }, + "ast": { + "absolutePath": "contracts/aggregation/AccessAgg.sol", + "id": 203, + "exportedSymbols": { + "AccessAgg": [202], + "AccessControlledUpgradeable": [51361], + "IRightsPolicyManager": [50447], + "Initializable": [43521], + "UUPSUpgradeable": [43703] + }, + "nodeType": "SourceUnit", + "src": "32:2874:2", + "nodes": [ + { + "id": 85, + "nodeType": "PragmaDirective", + "src": "32:23:2", + "nodes": [], + "literals": ["solidity", "0.8", ".26"] + }, + { + "id": 87, + "nodeType": "ImportDirective", + "src": "57:98:2", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "nameLocation": "-1:-1:-1", + "scope": 203, + "sourceUnit": 43522, + "symbolAliases": [ + { + "foreign": { + "id": 86, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43521, + "src": "66:13:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 89, + "nodeType": "ImportDirective", + "src": "156:102:2", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 203, + "sourceUnit": 43704, + "symbolAliases": [ + { + "foreign": { + "id": 88, + "name": "UUPSUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43703, + "src": "165:15:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 91, + "nodeType": "ImportDirective", + "src": "260:115:2", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "file": "@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 203, + "sourceUnit": 51362, + "symbolAliases": [ + { + "foreign": { + "id": 90, + "name": "AccessControlledUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51361, + "src": "269:27:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 93, + "nodeType": "ImportDirective", + "src": "376:96:2", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol", + "file": "@synaps3/core/interfaces/rights/IRightsPolicyManager.sol", + "nameLocation": "-1:-1:-1", + "scope": 203, + "sourceUnit": 50448, + "symbolAliases": [ + { + "foreign": { + "id": 92, + "name": "IRightsPolicyManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50447, + "src": "385:20:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 202, + "nodeType": "ContractDefinition", + "src": "474:2431:2", + "nodes": [ + { + "id": 103, + "nodeType": "VariableDeclaration", + "src": "628:59:2", + "nodes": [], + "constant": false, + "documentation": { + "id": 100, + "nodeType": "StructuredDocumentation", + "src": "562:61:2", + "text": "@custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "functionSelector": "f1bdc452", + "mutability": "immutable", + "name": "RIGHTS_POLICY_MANAGER", + "nameLocation": "666:21:2", + "scope": 202, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + }, + "typeName": { + "id": 102, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 101, + "name": "IRightsPolicyManager", + "nameLocations": ["628:20:2"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50447, + "src": "628:20:2" + }, + "referencedDeclaration": 50447, + "src": "628:20:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "visibility": "public" + }, + { + "id": 119, + "nodeType": "FunctionDefinition", + "src": "747:345:2", + "nodes": [], + "body": { + "id": 118, + "nodeType": "Block", + "src": "788:304:2", + "nodes": [], + "statements": [ + { + "documentation": "https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5", + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 109, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43489, + "src": "988:20:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "988:22:2", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 111, + "nodeType": "ExpressionStatement", + "src": "988:22:2" + }, + { + "expression": { + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 112, + "name": "RIGHTS_POLICY_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1020:21:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 114, + "name": "rightsPolicyManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 106, + "src": "1065:19:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 113, + "name": "IRightsPolicyManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50447, + "src": "1044:20:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IRightsPolicyManager_$50447_$", + "typeString": "type(contract IRightsPolicyManager)" + } + }, + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1044:41:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "src": "1020:65:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "id": 117, + "nodeType": "ExpressionStatement", + "src": "1020:65:2" + } + ] + }, + "documentation": { + "id": 104, + "nodeType": "StructuredDocumentation", + "src": "694:48:2", + "text": "@custom:oz-upgrades-unsafe-allow constructor" + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 106, + "mutability": "mutable", + "name": "rightsPolicyManager", + "nameLocation": "767:19:2", + "nodeType": "VariableDeclaration", + "scope": 119, + "src": "759:27:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "759:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "758:29:2" + }, + "returnParameters": { + "id": 108, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:0:2" + }, + "scope": 202, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 135, + "nodeType": "FunctionDefinition", + "src": "1286:151:2", + "nodes": [], + "body": { + "id": 134, + "nodeType": "Block", + "src": "1348:89:2", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 127, + "name": "__UUPSUpgradeable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43575, + "src": "1358:22:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1358:24:2", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 129, + "nodeType": "ExpressionStatement", + "src": "1358:24:2" + }, + { + "expression": { + "arguments": [ + { + "id": 131, + "name": "accessManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "1416:13:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "id": 130, + "name": "__AccessControlled_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51296, + "src": "1392:23:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1392:38:2", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 133, + "nodeType": "ExpressionStatement", + "src": "1392:38:2" + } + ] + }, + "documentation": { + "id": 120, + "nodeType": "StructuredDocumentation", + "src": "1098:183:2", + "text": "@notice Initializes the proxy state.\n @dev Sets up the contract for usage.\n @param accessManager Address of the Access Manager contract used for permission handling." + }, + "functionSelector": "c4d66de8", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 125, + "kind": "modifierInvocation", + "modifierName": { + "id": 124, + "name": "initializer", + "nameLocations": ["1336:11:2"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43375, + "src": "1336:11:2" + }, + "nodeType": "ModifierInvocation", + "src": "1336:11:2" + } + ], + "name": "initialize", + "nameLocation": "1295:10:2", + "parameters": { + "id": 123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 122, + "mutability": "mutable", + "name": "accessManager", + "nameLocation": "1314:13:2", + "nodeType": "VariableDeclaration", + "scope": 135, + "src": "1306:21:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 121, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1306:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "1305:23:2" + }, + "returnParameters": { + "id": 126, + "nodeType": "ParameterList", + "parameters": [], + "src": "1348:0:2" + }, + "scope": 202, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 163, + "nodeType": "FunctionDefinition", + "src": "1727:261:2", + "nodes": [], + "body": { + "id": 162, + "nodeType": "Block", + "src": "1822:166:2", + "nodes": [], + "statements": [ + { + "assignments": [146], + "declarations": [ + { + "constant": false, + "id": 146, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "1845:8:2", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "1832:21:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 145, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1832:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 151, + "initialValue": { + "arguments": [ + { + "id": 149, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 140, + "src": "1867:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "expression": { + "id": 147, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1856:3:2", + "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } + }, + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1860:6:2", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "1856:10:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1856:18:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1832:42:2" + }, + { + "assignments": [153, null], + "declarations": [ + { + "constant": false, + "id": 153, + "mutability": "mutable", + "name": "active", + "nameLocation": "1890:6:2", + "nodeType": "VariableDeclaration", + "scope": 162, + "src": "1885:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 152, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1885:4:2", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + }, + null + ], + "id": 159, + "initialValue": { + "arguments": [ + { + "id": 156, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 138, + "src": "1940:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 157, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 146, + "src": "1949:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } + ], + "expression": { + "id": 154, + "name": "RIGHTS_POLICY_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "1902:21:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1924:15:2", + "memberName": "getActivePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 50421, + "src": "1902:37:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_address_$", + "typeString": "function (address,bytes memory) view external returns (bool,address)" + } + }, + "id": 158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1902:56:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", + "typeString": "tuple(bool,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1884:74:2" + }, + { + "expression": { + "id": 160, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 153, + "src": "1975:6:2", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "functionReturnParameters": 144, + "id": 161, + "nodeType": "Return", + "src": "1968:13:2" + } + ] + }, + "documentation": { + "id": 136, + "nodeType": "StructuredDocumentation", + "src": "1443:279:2", + "text": "@notice Checks if an account has access rights based on a holder's criteria.\n @param account Address of the account to verify.\n @param holder Address of the rights holder used as criteria.\n @return active True if the account has access; otherwise, false." + }, + "functionSelector": "929cd2e0", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAccessAllowedByHolder", + "nameLocation": "1736:23:2", + "parameters": { + "id": 141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 138, + "mutability": "mutable", + "name": "account", + "nameLocation": "1768:7:2", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1760:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 137, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1760:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 140, + "mutability": "mutable", + "name": "holder", + "nameLocation": "1785:6:2", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1777:14:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1777:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "1759:33:2" + }, + "returnParameters": { + "id": 144, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 143, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 163, + "src": "1816:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 142, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1816:4:2", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + } + ], + "src": "1815:6:2" + }, + "scope": 202, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 191, + "nodeType": "FunctionDefinition", + "src": "2253:262:2", + "nodes": [], + "body": { + "id": 190, + "nodeType": "Block", + "src": "2348:167:2", + "nodes": [], + "statements": [ + { + "assignments": [174], + "declarations": [ + { + "constant": false, + "id": 174, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "2371:8:2", + "nodeType": "VariableDeclaration", + "scope": 190, + "src": "2358:21:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 173, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2358:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 179, + "initialValue": { + "arguments": [ + { + "id": 177, + "name": "assetId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 168, + "src": "2393:7:2", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_uint256", "typeString": "uint256" }], + "expression": { + "id": 175, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2382:3:2", + "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } + }, + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2386:6:2", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2382:10:2", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 178, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2382:19:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2358:43:2" + }, + { + "assignments": [181, null], + "declarations": [ + { + "constant": false, + "id": 181, + "mutability": "mutable", + "name": "active", + "nameLocation": "2417:6:2", + "nodeType": "VariableDeclaration", + "scope": 190, + "src": "2412:11:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 180, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2412:4:2", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + }, + null + ], + "id": 187, + "initialValue": { + "arguments": [ + { + "id": 184, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 166, + "src": "2467:7:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 185, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 174, + "src": "2476:8:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } + ], + "expression": { + "id": 182, + "name": "RIGHTS_POLICY_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 103, + "src": "2429:21:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "id": 183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2451:15:2", + "memberName": "getActivePolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 50421, + "src": "2429:37:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_bool_$_t_address_$", + "typeString": "function (address,bytes memory) view external returns (bool,address)" + } + }, + "id": 186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2429:56:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_address_$", + "typeString": "tuple(bool,address)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2411:74:2" + }, + { + "expression": { + "id": 188, + "name": "active", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 181, + "src": "2502:6:2", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "functionReturnParameters": 172, + "id": 189, + "nodeType": "Return", + "src": "2495:13:2" + } + ] + }, + "documentation": { + "id": 164, + "nodeType": "StructuredDocumentation", + "src": "1994:254:2", + "text": "@notice Checks if an account has access to a specific asset ID.\n @param account Address of the account to verify.\n @param assetId ID of the asset used as criteria.\n @return active True if the account has access; otherwise, false." + }, + "functionSelector": "a1a2dac6", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAccessAllowedByAsset", + "nameLocation": "2262:22:2", + "parameters": { + "id": 169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 166, + "mutability": "mutable", + "name": "account", + "nameLocation": "2293:7:2", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "2285:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 165, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2285:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 168, + "mutability": "mutable", + "name": "assetId", + "nameLocation": "2310:7:2", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "2302:15:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 167, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2302:7:2", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "2284:34:2" + }, + "returnParameters": { + "id": 172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 171, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 191, + "src": "2342:4:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 170, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2342:4:2", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + } + ], + "src": "2341:6:2" + }, + "scope": 202, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 201, + "nodeType": "FunctionDefinition", + "src": "2819:84:2", + "nodes": [], + "body": { + "id": 200, + "nodeType": "Block", + "src": "2901:2:2", + "nodes": [], + "statements": [] + }, + "baseFunctions": [43657], + "documentation": { + "id": 192, + "nodeType": "StructuredDocumentation", + "src": "2521:293:2", + "text": "@notice Function that should revert when msg.sender is not authorized to upgrade the contract.\n @param newImplementation The address of the new implementation contract.\n @dev See https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable-_authorizeUpgrade-address-" + }, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 198, + "kind": "modifierInvocation", + "modifierName": { + "id": 197, + "name": "onlyAdmin", + "nameLocations": ["2891:9:2"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51279, + "src": "2891:9:2" + }, + "nodeType": "ModifierInvocation", + "src": "2891:9:2" + } + ], + "name": "_authorizeUpgrade", + "nameLocation": "2828:17:2", + "overrides": { + "id": 196, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2882:8:2" + }, + "parameters": { + "id": 195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 194, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "2854:17:2", + "nodeType": "VariableDeclaration", + "scope": 201, + "src": "2846:25:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 193, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2846:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2845:27:2" + }, + "returnParameters": { + "id": 199, + "nodeType": "ParameterList", + "parameters": [], + "src": "2901:0:2" + }, + "scope": 202, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 94, + "name": "Initializable", + "nameLocations": ["496:13:2"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43521, + "src": "496:13:2" + }, + "id": 95, + "nodeType": "InheritanceSpecifier", + "src": "496:13:2" + }, + { + "baseName": { + "id": 96, + "name": "UUPSUpgradeable", + "nameLocations": ["511:15:2"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43703, + "src": "511:15:2" + }, + "id": 97, + "nodeType": "InheritanceSpecifier", + "src": "511:15:2" + }, + { + "baseName": { + "id": 98, + "name": "AccessControlledUpgradeable", + "nameLocations": ["528:27:2"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51361, + "src": "528:27:2" + }, + "id": 99, + "nodeType": "InheritanceSpecifier", + "src": "528:27:2" + } + ], + "canonicalName": "AccessAgg", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [202, 51361, 43267, 43871, 43749, 43703, 44440, 43521], + "name": "AccessAgg", + "nameLocation": "483:9:2", + "scope": 203, + "usedErrors": [ + 43284, 43287, 43548, 43553, 43842, 43848, 43852, 44498, 44511, 45462, 45724, 51261 + ], + "usedEvents": [43292, 43838, 44413] + } + ], + "license": "MIT" + }, + "id": 2 +} diff --git a/src/config/abi/AccessWorkflow.json b/src/config/abi/AccessWorkflow.json index 2c7461dc6..3df9448f1 100644 --- a/src/config/abi/AccessWorkflow.json +++ b/src/config/abi/AccessWorkflow.json @@ -1 +1,3114 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"rightsPolicyManager","type":"address","internalType":"address"},{"name":"agreementManager","type":"address","internalType":"address"},{"name":"mmc","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"AGREEMENT_MANAGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAgreementManager"}],"stateMutability":"view"},{"type":"function","name":"MMC","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IERC20"}],"stateMutability":"view"},{"type":"function","name":"RIGHTS_POLICY_MANAGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRightsPolicyManager"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"authority","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"accessManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isConsumingScheduledOp","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"registerAccessAgreement","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"holder","type":"address","internalType":"address"},{"name":"policyAddress","type":"address","internalType":"address"},{"name":"parties","type":"address[]","internalType":"address[]"},{"name":"payload","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"setAuthority","inputs":[{"name":"newAuthority","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AccessAgreementCreated","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"policyAddress","type":"address","indexed":true,"internalType":"address"},{"name":"proof","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"AuthorityUpdated","inputs":[{"name":"authority","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessManagedInvalidAuthority","inputs":[{"name":"authority","type":"address","internalType":"address"}]},{"type":"error","name":"AccessManagedRequiredDelay","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"delay","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"AccessManagedUnauthorized","inputs":[{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidUnauthorizedOperation","inputs":[{"name":"","type":"string","internalType":"string"}]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x6101003461018b57601f61156c38819003918201601f19168301916001600160401b0383118484101761018f5780849260609460405283398101031261018b57610048816101a3565b90610061604061005a602084016101a3565b92016101a3565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c1661017c576002600160401b03196001600160401b03821601610113575b506001600160a01b0390811660a05290811660c0521660e0526040516113b490816101b882396080518181816105fd01526106fe015260a05181818160c00152610c66015260c051818181610d820152611121015260e051818181610b400152610cd20152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f6100ac565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361018b5756fe6080806040526004361015610012575f80fd5b5f3560e01c908162efe0c3146110f757508063290ed22114610b6457806344dea5a714610b145780634f1ef2861461067557806352d1902d146105d65780637a9e5e4b146104ff5780638fb360371461046c578063ad3cb1cc146103d8578063bf7e214f14610386578063c4d66de8146100e85763f1bdc45214610094575f80fd5b346100e4575f6003193601126100e457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100e45760206003193601126100e457610101611145565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff82168015908161037e575b6001149081610374575b15908161036b575b5061034357818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556102ee575b506101c461128e565b6101cc61128e565b6101d461128e565b6101dc61128e565b6101e5816111e3565b6101ed61128e565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005561025b57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836101bb565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610152565b303b15915061014a565b849150610140565b346100e4575f6003193601126100e457602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100e4575f6003193601126100e45760408051906103f78183611168565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346100e4575f6003193601126100e4577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156104f75760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6104cd565b346100e45760206003193601126100e457610518611145565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036105aa57803b1561056857610566906111e3565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100e4575f6003193601126100e45773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361064d5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60406003193601126100e457610689611145565b6024359067ffffffffffffffff82116100e457366023830112156100e4578160040135906106b6826111a9565b916106c46040519384611168565b808352602083019336602483830101116100e457815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610ad2575b5061064d576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115610ac7575f91610a7a575b50156109f65773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f91816109c2575b5061083557847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8692036109975750823b1561096c57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561093a575f8091610566945190845af43d15610932573d91610916836111a9565b926109246040519485611168565b83523d5f602085013e6112e5565b6060916112e5565b5050503461094457005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d6020116109ee575b816109de60209383611168565b810103126100e457519086610804565b3d91506109d1565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610abf575b81610a9560409383611168565b810103126100e45780519081151582036100e4576020015163ffffffff8116036100e457846107af565b3d9150610a88565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610729565b346100e4575f6003193601126100e457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100e45760a06003193601126100e45760043560243573ffffffffffffffffffffffffffffffffffffffff81168091036100e4576044359073ffffffffffffffffffffffffffffffffffffffff82168092036100e4576064359267ffffffffffffffff84116100e457366023850112156100e45783600401359067ffffffffffffffff82116100e4573660248360051b870101116100e4576084359467ffffffffffffffff86116100e457366023870112156100e457856004013567ffffffffffffffff81116100e45736602482890101116100e457821561109957851561103b578315610fdd57959273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016966040519485927f3f5d1b6f0000000000000000000000000000000000000000000000000000000084528060a4850187600487015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660248701528b604487015260a0606487015252602460c485019501905f905b808210610f9d57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f846020979560248896600319888c9a0301608489015282875201878601375f8682860101520116010301815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215610ac7575f92610f67575b505f80956064604051809881937f9f7434f40000000000000000000000000000000000000000000000000000000083528760048401528860248401528960448401525af1948515610ac7575f95610e79575b507f8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc4077899160409182519182526020820152a36040518091602082016020835281518091526020604084019201905f5b818110610e60575050500390f35b8251845285945060209384019390920191600101610e52565b9094503d805f833e610e8b8183611168565b8101906020818303126100e45780519067ffffffffffffffff82116100e457019080601f830112156100e45781519167ffffffffffffffff8311610f3a578260051b9060405193610edf6020840186611168565b84526020808501928201019283116100e457602001905b828210610f2a5750919591507f8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc4077899050610e04565b8151815260209182019101610ef6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9491506020853d602011610f95575b81610f8360209383611168565b810103126100e457935190935f610db2565b3d9150610f76565b9195909293945085359073ffffffffffffffffffffffffffffffffffffffff82168092036100e45760208160019382935201960192018794939291610d11565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f506172746965732063616e6e6f7420626520656d7074790000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f506f6c69637920616464726573732063616e6e6f74206265207a65726f0000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f416d6f756e742063616e6e6f74206265207a65726f00000000000000000000006044820152fd5b346100e4575f6003193601126100e45760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100e457565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f3a57604052565b67ffffffffffffffff8111610f3a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156112bd57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9061132257508051156112fa57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611375575b611333575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561132b56fea26469706673582212205820754a04ca0b0a3942409cfe71d6906ffd4bbcc7ea28d600bd6aadded56c0764736f6c634300081a0033","sourceMap":"1218:3646:6:-:0;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;-1:-1:-1;;;;;1218:3646:6;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;1171:4:56;;1163:13;;8837:64:55;1218:3646:6;;;;;;7896:76:55;;-1:-1:-1;;;;;;;;;;;1218:3646:6;;7985:34:55;7981:146;;-1:-1:-1;;;;;;;1218:3646:6;;;;2527:65;1218:3646;;;2602:55;;1218:3646;2667:17;;1218:3646;;;;;;;;1163:13:56;1218:3646:6;;;;;;;;;;2527:65;1218:3646;;;;;;;;;;2602:55;1218:3646;;;;;;;;;;2667:17;1218:3646;;;;;;;;;;;7981:146:55;-1:-1:-1;;;;;;1218:3646:6;-1:-1:-1;;;;;1218:3646:6;;;8837:64:55;1218:3646:6;;;;;;8087:29:55;;1218:3646:6;;8087:29:55;7981:146;;;7896:76;7938:23;;;-1:-1:-1;7938:23:55;;-1:-1:-1;7938:23:55;1218:3646:6;-1:-1:-1;1218:3646:6;;;;;;-1:-1:-1;1218:3646:6;;;;;-1:-1:-1;1218:3646:6;;;;-1:-1:-1;;;;;1218:3646:6;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c908162efe0c3146110f757508063290ed22114610b6457806344dea5a714610b145780634f1ef2861461067557806352d1902d146105d65780637a9e5e4b146104ff5780638fb360371461046c578063ad3cb1cc146103d8578063bf7e214f14610386578063c4d66de8146100e85763f1bdc45214610094575f80fd5b346100e4575f6003193601126100e457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100e45760206003193601126100e457610101611145565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff82168015908161037e575b6001149081610374575b15908161036b575b5061034357818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556102ee575b506101c461128e565b6101cc61128e565b6101d461128e565b6101dc61128e565b6101e5816111e3565b6101ed61128e565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005561025b57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836101bb565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610152565b303b15915061014a565b849150610140565b346100e4575f6003193601126100e457602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100e4575f6003193601126100e45760408051906103f78183611168565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346100e4575f6003193601126100e4577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156104f75760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6104cd565b346100e45760206003193601126100e457610518611145565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036105aa57803b1561056857610566906111e3565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100e4575f6003193601126100e45773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361064d5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60406003193601126100e457610689611145565b6024359067ffffffffffffffff82116100e457366023830112156100e4578160040135906106b6826111a9565b916106c46040519384611168565b808352602083019336602483830101116100e457815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610ad2575b5061064d576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115610ac7575f91610a7a575b50156109f65773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f91816109c2575b5061083557847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8692036109975750823b1561096c57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561093a575f8091610566945190845af43d15610932573d91610916836111a9565b926109246040519485611168565b83523d5f602085013e6112e5565b6060916112e5565b5050503461094457005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d6020116109ee575b816109de60209383611168565b810103126100e457519086610804565b3d91506109d1565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610abf575b81610a9560409383611168565b810103126100e45780519081151582036100e4576020015163ffffffff8116036100e457846107af565b3d9150610a88565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610729565b346100e4575f6003193601126100e457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100e45760a06003193601126100e45760043560243573ffffffffffffffffffffffffffffffffffffffff81168091036100e4576044359073ffffffffffffffffffffffffffffffffffffffff82168092036100e4576064359267ffffffffffffffff84116100e457366023850112156100e45783600401359067ffffffffffffffff82116100e4573660248360051b870101116100e4576084359467ffffffffffffffff86116100e457366023870112156100e457856004013567ffffffffffffffff81116100e45736602482890101116100e457821561109957851561103b578315610fdd57959273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016966040519485927f3f5d1b6f0000000000000000000000000000000000000000000000000000000084528060a4850187600487015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660248701528b604487015260a0606487015252602460c485019501905f905b808210610f9d57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f846020979560248896600319888c9a0301608489015282875201878601375f8682860101520116010301815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215610ac7575f92610f67575b505f80956064604051809881937f9f7434f40000000000000000000000000000000000000000000000000000000083528760048401528860248401528960448401525af1948515610ac7575f95610e79575b507f8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc4077899160409182519182526020820152a36040518091602082016020835281518091526020604084019201905f5b818110610e60575050500390f35b8251845285945060209384019390920191600101610e52565b9094503d805f833e610e8b8183611168565b8101906020818303126100e45780519067ffffffffffffffff82116100e457019080601f830112156100e45781519167ffffffffffffffff8311610f3a578260051b9060405193610edf6020840186611168565b84526020808501928201019283116100e457602001905b828210610f2a5750919591507f8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc4077899050610e04565b8151815260209182019101610ef6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9491506020853d602011610f95575b81610f8360209383611168565b810103126100e457935190935f610db2565b3d9150610f76565b9195909293945085359073ffffffffffffffffffffffffffffffffffffffff82168092036100e45760208160019382935201960192018794939291610d11565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f506172746965732063616e6e6f7420626520656d7074790000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f506f6c69637920616464726573732063616e6e6f74206265207a65726f0000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f416d6f756e742063616e6e6f74206265207a65726f00000000000000000000006044820152fd5b346100e4575f6003193601126100e45760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100e457565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f3a57604052565b67ffffffffffffffff8111610f3a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156112bd57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9061132257508051156112fa57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611375575b611333575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561132b56fea26469706673582212205820754a04ca0b0a3942409cfe71d6906ffd4bbcc7ea28d600bd6aadded56c0764736f6c634300081a0033","sourceMap":"1218:3646:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;1414:59;1218:3646;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;:::i;:::-;8837:64:55;1218:3646:6;;;;;;4301:16:55;1218:3646:6;;;;4726:16:55;;:34;;;;1218:3646:6;4805:1:55;4790:16;:50;;;;1218:3646:6;4855:13:55;:30;;;;1218:3646:6;4851:91:55;;;1218:3646:6;;4805:1:55;1218:3646:6;;;;;8837:64:55;1218:3646:6;4979:67:55;;1218:3646:6;6893:76:55;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:54;;;:::i;:::-;6893:76:55;;:::i;:::-;1218:3646:6;;3295:62:102;1218:3646:6;;;3295:62:102;1218:3646:6;5066:101:55;;1218:3646:6;5066:101:55;1218:3646:6;8837:64:55;1218:3646:6;;8837:64:55;1218:3646:6;5142:14:55;1218:3646:6;;;4805:1:55;1218:3646:6;;5142:14:55;1218:3646:6;4979:67:55;1218:3646:6;;;;8837:64:55;1218:3646:6;4979:67:55;;;4851:91;4908:23;1218:3646:6;4908:23:55;1218:3646:6;;4908:23:55;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:55;;4726:34;;;-1:-1:-1;4726:34:55;;1218:3646:6;;;;;-1:-1:-1;;1218:3646:6;;;;;;;1782:71:54;1218:3646:6;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;1782:71:54;1218:3646:6;;;;;4698:71:54;;;1218:3646:6;;4698:71:54;1218:3646:6;;;;;;;;4698:71:54;1218:3646:6;;4698:71:54;;1218:3646:6;;;;;-1:-1:-1;;1218:3646:6;;;;;;;:::i;:::-;;1782:71:54;1218:3646:6;;966:10:57;4258:21:54;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;1218:3646:6;4355:110:54;1218:3646:6;4411:43:54;;1218:3646:6;4411:43:54;1218:3646:6;;;;;4411:43:54;4254:92;4302:33;1218:3646:6;4302:33:54;966:10:57;1218:3646:6;;;;4302:33:54;1218:3646:6;;;;;-1:-1:-1;;1218:3646:6;;;;;;5115:6:56;1218:3646:6;5106:4:56;5098:23;5094:145;;1218:3646:6;;;811:66:68;1218:3646:6;;;5094:145:56;5199:29;1218:3646:6;5199:29:56;1218:3646:6;;5199:29:56;1218:3646:6;;-1:-1:-1;;1218:3646:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:6:56;1218:3646:6;4683:4:56;;4675:23;:120;;;;;1218:3646:6;4658:251:56;;;3058:30:102;1218:3646:6;;3295:62:102;1218:3646:6;;;;3058:30:102;;;;1218:3646:6;3058:30:102;;1218:3646:6;;3058:30:102;;1218:3646:6;1893:10:102;1218:3646:6;;;;3058:30:102;;;;;;;1218:3646:6;3058:30:102;;;1218:3646:6;1869:35:102;;1865:140;;1218:3646:6;;;;;;;6156:52:56;;1218:3646:6;6156:52:56;1218:3646:6;6156:52:56;;;;1218:3646:6;;6156:52:56;;;1218:3646:6;-1:-1:-1;6152:437:56;;6518:60;;1218:3646:6;6518:60:56;1218:3646:6;;;;6518:60:56;6152:437;6250:40;811:66:68;6250:40:56;;;6246:120;;1748:29:68;;;:34;1744:119;;1218:3646:6;;811:66:68;1218:3646:6;;;811:66:68;1218:3646:6;2407:36:68;1218:3646:6;2407:36:68;;1218:3646:6;;2458:15:68;:11;;1218:3646:6;4049:25:75;;4091:55;4049:25;;;;;;1218:3646:6;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;4091:55:75;:::i;1218:3646:6:-;;;4091:55:75;:::i;2454:148:68:-;6163:9;;;;6159:70;;1218:3646:6;6159:70:68;6199:19;1218:3646:6;6199:19:68;1218:3646:6;;6199:19:68;1744:119;1805:47;1218:3646:6;1805:47:68;1218:3646:6;;;;1805:47:68;6246:120:56;6317:34;1218:3646:6;6317:34:56;1218:3646:6;;;;6317:34:56;6156:52;;;;1218:3646:6;6156:52:56;;1218:3646:6;6156:52:56;;;;;;1218:3646:6;6156:52:56;;;:::i;:::-;;;1218:3646:6;;;;;6156:52:56;;;;;;;-1:-1:-1;6156:52:56;;1865:140:102;1927:67;1218:3646:6;;1927:67:102;;;1218:3646:6;;1927:67:102;;520:1:100;1218:3646:6;;520:1:100;;1218:3646:6;520:1:100;3058:30:102;1218:3646:6;;520:1:100;;;;;;1927:67:102;3058:30;;;1218:3646:6;3058:30:102;;1218:3646:6;3058:30:102;;;;;;1218:3646:6;3058:30:102;;;:::i;:::-;;;1218:3646:6;;;;;;;;;;;;;;;;;;;;;;;3058:30:102;;;;;;-1:-1:-1;3058:30:102;;;1218:3646:6;;;;;;;;;4675:120:56;1218:3646:6;;;811:66:68;1218:3646:6;;4753:42:56;;4675:120;;;1218:3646:6;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;1669:27;1218:3646;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3796:10;;1218:3646;;3850:27;;1218:3646;;3929:18;;1218:3646;;4052:21;;1218:3646;4052:21;1218:3646;;;;4178:77;;;1218:3646;4178:77;;1218:3646;;;;4178:77;1218:3646;4178:77;;1218:3646;;4013:3;1218:3646;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;;;;;;;;;;;;;;;;;;;4178:77;;:17;1218:3646;;4178:17;1218:3646;4178:77;;;;;;;1218:3646;4178:77;;;1218:3646;;;;;;;;4297:66;;;;1218:3646;4297:66;;;1218:3646;4297:66;;1218:3646;;;;;;;;;;;4297:66;;;;;;;1218:3646;4297:66;;;1218:3646;;4378:60;1218:3646;;;;;;;;;;;;4378:60;1218:3646;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1218:3646:6;;;;;;;;;;;;;4297:66;;;;;;1218:3646;4297:66;;;;;;:::i;:::-;;;1218:3646;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4297:66:6;;;-1:-1:-1;4378:60:6;;-1:-1:-1;4297:66:6;;1218:3646;;;;;;;;;;;;;;;;;;;;;;;4178:77;;;;1218:3646;4178:77;;1218:3646;4178:77;;;;;;1218:3646;4178:77;;;:::i;:::-;;;1218:3646;;;;;;4178:77;;1218:3646;4178:77;;;;;-1:-1:-1;4178:77:6;;1218:3646;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;1545:52;1218:3646;1545:52;1218:3646;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;4964:220:54:-;1218:3646:6;;5147:30:54;4964:220;1218:3646:6;;;1782:71:54;1218:3646:6;;;1782:71:54;1218:3646:6;;;;;;5147:30:54;4964:220::o;7084:141:55:-;1218:3646:6;8837:64:55;1218:3646:6;;;;7150:18:55;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:55;;-1:-1:-1;7191:17:55;4421:582:75;;4593:8;;-1:-1:-1;1218:3646:6;;5674:21:75;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;1218:3646:6;;4841:22:75;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1218:3646:6;4917:24:75;;4862:1;4917:24;1218:3646:6;4917:24:75;1218:3646:6;;4862:1:75;4917:24;4841:49;4867:18;;;:23;4841:49;","linkReferences":{},"immutableReferences":{"1120":[{"start":192,"length":32},{"start":3174,"length":32}],"1124":[{"start":3458,"length":32},{"start":4385,"length":32}],"1128":[{"start":2880,"length":32},{"start":3282,"length":32}],"43541":[{"start":1533,"length":32},{"start":1790,"length":32}]}},"methodIdentifiers":{"AGREEMENT_MANAGER()":"00efe0c3","MMC()":"44dea5a7","RIGHTS_POLICY_MANAGER()":"f1bdc452","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","authority()":"bf7e214f","initialize(address)":"c4d66de8","isConsumingScheduledOp()":"8fb36037","proxiableUUID()":"52d1902d","registerAccessAgreement(uint256,address,address,address[],bytes)":"290ed221","setAuthority(address)":"7a9e5e4b","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rightsPolicyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agreementManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"mmc\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proof\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AccessAgreementCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"AGREEMENT_MANAGER\",\"outputs\":[{\"internalType\":\"contract IAgreementManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MMC\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RIGHTS_POLICY_MANAGER\",\"outputs\":[{\"internalType\":\"contract IRightsPolicyManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"policyAddress\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"parties\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"registerAccessAgreement\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract provides a unified interface to interact with multiple core protocol components involved in access and policy management.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AccessAgreementCreated(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of MMC tokens used in the agreement.\",\"holder\":\"The address of the rights holder.\",\"policyAddress\":\"The address of the registered policy.\",\"proof\":\"The unique identifier of the agreement.\"}},\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerAccessAgreement(uint256,address,address,address[],bytes)\":{\"details\":\"Encapsulates agreement creation and access policy registration into one cohesive workflow.\",\"params\":{\"amount\":\"The amount of MMC tokens to be used in the agreement.\",\"holder\":\"The address of the rights holder.\",\"parties\":\"An array of addresses representing the parties involved in the agreement.\",\"payload\":\"Additional data required for the agreement creation.\",\"policyAddress\":\"The address of the policy contract being used.\"},\"returns\":{\"_0\":\"attestationIds An array of registered attestations under the agreement.\"}},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"AGREEMENT_MANAGER\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"},\"MMC\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"},\"RIGHTS_POLICY_MANAGER\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"title\":\"AccessWorkflow\",\"version\":1},\"userdoc\":{\"events\":{\"AccessAgreementCreated(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a policy agreement workflow is successfully completed.\"}},\"kind\":\"user\",\"methods\":{\"initialize(address)\":{\"notice\":\"Initializes the proxy state.\"},\"registerAccessAgreement(uint256,address,address,address[],bytes)\":{\"notice\":\"Creates and registers a new access agreement in a single transaction.\"}},\"notice\":\"Handles comprehensive workflows for access management, including agreement creation, policy registration, and related operations.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/facades/AccessWorkflow.sol\":\"AccessWorkflow\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=node_modules/@synaps3/types/contracts/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"contracts/facades/AccessWorkflow.sol\":{\"keccak256\":\"0x7307825991759923678ba86a8ce58e6522e2b13c44db19ebb4574aeef8417508\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df7e3bcf83697db234dcc22b9b13b7ac653b2e87ad1cb70a772f417cc59fd0a8\",\"dweb:/ipfs/QmTVJo6Q4QnUtbu97uE531EjZLUZoVsRnZTKYgiwKUMe3T\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/financial/IAgreementManager.sol\":{\"keccak256\":\"0xd6e6eecd11819f0031962e653d55ad529f616f0e4b57751623c2c7481bc4fa67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfe472eae18ebebe8bdb62247dd951143742b963c196d863173d431a27e175ff\",\"dweb:/ipfs/QmTMYXFTcLvim8KS3wwc15uwCDjjWXhDCcdmPQPWnq4qGk\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol\":{\"keccak256\":\"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405\",\"dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol\":{\"keccak256\":\"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6\",\"dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu\"]},\"node_modules/@synaps3/types/contracts/core/libraries/FinancialOps.sol\":{\"keccak256\":\"0x562c5b305577ec5b57c5fba5df98afdaba99d7871772962502e0959852e92215\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d37937cd5fe0432f714aebba49d342dab1e9577c9d1edc3fe568a02e636e1a3d\",\"dweb:/ipfs/QmVteEKdVkvwKKEHyweJWbns75LU3jsqrQtAhcHY7eTwhX\"]},\"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol\":{\"keccak256\":\"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2\",\"dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Types.sol\":{\"keccak256\":\"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf\",\"dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe\"]},\"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"rightsPolicyManager","type":"address"},{"internalType":"address","name":"agreementManager","type":"address"},{"internalType":"address","name":"mmc","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"authority","type":"address"}],"type":"error","name":"AccessManagedInvalidAuthority"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint32","name":"delay","type":"uint32"}],"type":"error","name":"AccessManagedRequiredDelay"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"AccessManagedUnauthorized"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"InvalidUnauthorizedOperation"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"address","name":"policyAddress","type":"address","indexed":true},{"internalType":"uint256","name":"proof","type":"uint256","indexed":false},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false}],"type":"event","name":"AccessAgreementCreated","anonymous":false},{"inputs":[{"internalType":"address","name":"authority","type":"address","indexed":false}],"type":"event","name":"AuthorityUpdated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"AGREEMENT_MANAGER","outputs":[{"internalType":"contract IAgreementManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"MMC","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RIGHTS_POLICY_MANAGER","outputs":[{"internalType":"contract IRightsPolicyManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"authority","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"accessManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isConsumingScheduledOp","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"policyAddress","type":"address"},{"internalType":"address[]","name":"parties","type":"address[]"},{"internalType":"bytes","name":"payload","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerAccessAgreement","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"newAuthority","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAuthority"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"authority()":{"details":"Returns the current authority."},"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"isConsumingScheduledOp()":{"details":"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls."},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"registerAccessAgreement(uint256,address,address,address[],bytes)":{"details":"Encapsulates agreement creation and access policy registration into one cohesive workflow.","params":{"amount":"The amount of MMC tokens to be used in the agreement.","holder":"The address of the rights holder.","parties":"An array of addresses representing the parties involved in the agreement.","payload":"Additional data required for the agreement creation.","policyAddress":"The address of the policy contract being used."},"returns":{"_0":"attestationIds An array of registered attestations under the agreement."}},"setAuthority(address)":{"details":"Transfers control to a new authority. The caller must be the current authority."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"initialize(address)":{"notice":"Initializes the proxy state."},"registerAccessAgreement(uint256,address,address,address[],bytes)":{"notice":"Creates and registers a new access agreement in a single transaction."}},"version":1}},"settings":{"remappings":["@account-abstraction/=node_modules/@account-abstraction/","@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/","@ethsign/=node_modules/@ethsign/","@openzeppelin/=node_modules/@openzeppelin/","@synaps3/=node_modules/@synaps3/types/contracts/","@uniswap/=node_modules/@uniswap/","base64-sol/=node_modules/base64-sol/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/facades/AccessWorkflow.sol":"AccessWorkflow"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/facades/AccessWorkflow.sol":{"keccak256":"0x7307825991759923678ba86a8ce58e6522e2b13c44db19ebb4574aeef8417508","urls":["bzz-raw://df7e3bcf83697db234dcc22b9b13b7ac653b2e87ad1cb70a772f417cc59fd0a8","dweb:/ipfs/QmTVJo6Q4QnUtbu97uE531EjZLUZoVsRnZTKYgiwKUMe3T"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol":{"keccak256":"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373","urls":["bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447","dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27","urls":["bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e","dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol":{"keccak256":"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4","urls":["bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e","dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol":{"keccak256":"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6","urls":["bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694","dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol":{"keccak256":"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2","urls":["bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4","dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol":{"keccak256":"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030","urls":["bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c","dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol":{"keccak256":"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f","urls":["bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e","dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/financial/IAgreementManager.sol":{"keccak256":"0xd6e6eecd11819f0031962e653d55ad529f616f0e4b57751623c2c7481bc4fa67","urls":["bzz-raw://cfe472eae18ebebe8bdb62247dd951143742b963c196d863173d431a27e175ff","dweb:/ipfs/QmTMYXFTcLvim8KS3wwc15uwCDjjWXhDCcdmPQPWnq4qGk"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol":{"keccak256":"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02","urls":["bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405","dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol":{"keccak256":"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e","urls":["bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6","dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/libraries/FinancialOps.sol":{"keccak256":"0x562c5b305577ec5b57c5fba5df98afdaba99d7871772962502e0959852e92215","urls":["bzz-raw://d37937cd5fe0432f714aebba49d342dab1e9577c9d1edc3fe568a02e636e1a3d","dweb:/ipfs/QmVteEKdVkvwKKEHyweJWbns75LU3jsqrQtAhcHY7eTwhX"],"license":"GPL-3.0-or-later"},"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol":{"keccak256":"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411","urls":["bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2","dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol":{"keccak256":"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e","urls":["bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1","dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/Types.sol":{"keccak256":"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1","urls":["bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf","dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol":{"keccak256":"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df","urls":["bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2","dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"contracts/facades/AccessWorkflow.sol","id":1289,"exportedSymbols":{"AccessControlledUpgradeable":[51361],"AccessWorkflow":[1288],"FinancialOps":[50725],"IAgreementManager":[50235],"IERC20":[44896],"IPolicy":[50308],"IRightsPolicyManager":[50447],"Initializable":[43521],"LoopOps":[50745],"T":[51233],"UUPSUpgradeable":[43703]},"nodeType":"SourceUnit","src":"32:4833:6","nodes":[{"id":1086,"nodeType":"PragmaDirective","src":"32:23:6","nodes":[],"literals":["solidity","0.8",".26"]},{"id":1088,"nodeType":"ImportDirective","src":"57:71:6","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol","file":"@openzeppelin/contracts/interfaces/IERC20.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":44431,"symbolAliases":[{"foreign":{"id":1087,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44896,"src":"66:6:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1090,"nodeType":"ImportDirective","src":"129:98:6","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":43522,"symbolAliases":[{"foreign":{"id":1089,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43521,"src":"138:13:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1092,"nodeType":"ImportDirective","src":"228:102:6","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":43704,"symbolAliases":[{"foreign":{"id":1091,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43703,"src":"237:15:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1094,"nodeType":"ImportDirective","src":"331:115:6","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol","file":"@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":51362,"symbolAliases":[{"foreign":{"id":1093,"name":"AccessControlledUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51361,"src":"340:27:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1096,"nodeType":"ImportDirective","src":"448:96:6","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol","file":"@synaps3/core/interfaces/rights/IRightsPolicyManager.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":50448,"symbolAliases":[{"foreign":{"id":1095,"name":"IRightsPolicyManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50447,"src":"457:20:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1098,"nodeType":"ImportDirective","src":"545:72:6","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/libraries/FinancialOps.sol","file":"@synaps3/core/libraries/FinancialOps.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":50726,"symbolAliases":[{"foreign":{"id":1097,"name":"FinancialOps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50725,"src":"554:12:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1100,"nodeType":"ImportDirective","src":"618:62:6","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol","file":"@synaps3/core/libraries/LoopOps.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":50746,"symbolAliases":[{"foreign":{"id":1099,"name":"LoopOps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50745,"src":"627:7:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1102,"nodeType":"ImportDirective","src":"681:93:6","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/interfaces/financial/IAgreementManager.sol","file":"@synaps3/core/interfaces/financial/IAgreementManager.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":50236,"symbolAliases":[{"foreign":{"id":1101,"name":"IAgreementManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50235,"src":"690:17:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1104,"nodeType":"ImportDirective","src":"775:72:6","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol","file":"@synaps3/core/interfaces/policies/IPolicy.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":50309,"symbolAliases":[{"foreign":{"id":1103,"name":"IPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50308,"src":"784:7:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1106,"nodeType":"ImportDirective","src":"848:55:6","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/primitives/Types.sol","file":"@synaps3/core/primitives/Types.sol","nameLocation":"-1:-1:-1","scope":1289,"sourceUnit":51234,"symbolAliases":[{"foreign":{"id":1105,"name":"T","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51233,"src":"857:1:6","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1288,"nodeType":"ContractDefinition","src":"1218:3646:6","nodes":[{"id":1116,"nodeType":"UsingForDirective","src":"1311:31:6","nodes":[],"global":false,"libraryName":{"id":1114,"name":"FinancialOps","nameLocations":["1317:12:6"],"nodeType":"IdentifierPath","referencedDeclaration":50725,"src":"1317:12:6"},"typeName":{"id":1115,"name":"address","nodeType":"ElementaryTypeName","src":"1334:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":1120,"nodeType":"VariableDeclaration","src":"1414:59:6","nodes":[],"constant":false,"documentation":{"id":1117,"nodeType":"StructuredDocumentation","src":"1348:61:6","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"functionSelector":"f1bdc452","mutability":"immutable","name":"RIGHTS_POLICY_MANAGER","nameLocation":"1452:21:6","scope":1288,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"},"typeName":{"id":1119,"nodeType":"UserDefinedTypeName","pathNode":{"id":1118,"name":"IRightsPolicyManager","nameLocations":["1414:20:6"],"nodeType":"IdentifierPath","referencedDeclaration":50447,"src":"1414:20:6"},"referencedDeclaration":50447,"src":"1414:20:6","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"visibility":"public"},{"id":1124,"nodeType":"VariableDeclaration","src":"1545:52:6","nodes":[],"constant":false,"documentation":{"id":1121,"nodeType":"StructuredDocumentation","src":"1479:61:6","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"functionSelector":"00efe0c3","mutability":"immutable","name":"AGREEMENT_MANAGER","nameLocation":"1580:17:6","scope":1288,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAgreementManager_$50235","typeString":"contract IAgreementManager"},"typeName":{"id":1123,"nodeType":"UserDefinedTypeName","pathNode":{"id":1122,"name":"IAgreementManager","nameLocations":["1545:17:6"],"nodeType":"IdentifierPath","referencedDeclaration":50235,"src":"1545:17:6"},"referencedDeclaration":50235,"src":"1545:17:6","typeDescriptions":{"typeIdentifier":"t_contract$_IAgreementManager_$50235","typeString":"contract IAgreementManager"}},"visibility":"public"},{"id":1128,"nodeType":"VariableDeclaration","src":"1669:27:6","nodes":[],"constant":false,"documentation":{"id":1125,"nodeType":"StructuredDocumentation","src":"1603:61:6","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"functionSelector":"44dea5a7","mutability":"immutable","name":"MMC","nameLocation":"1693:3:6","scope":1288,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$44896","typeString":"contract IERC20"},"typeName":{"id":1127,"nodeType":"UserDefinedTypeName","pathNode":{"id":1126,"name":"IERC20","nameLocations":["1669:6:6"],"nodeType":"IdentifierPath","referencedDeclaration":44896,"src":"1669:6:6"},"referencedDeclaration":44896,"src":"1669:6:6","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$44896","typeString":"contract IERC20"}},"visibility":"public"},{"id":1139,"nodeType":"EventDefinition","src":"2041:115:6","nodes":[],"anonymous":false,"documentation":{"id":1129,"nodeType":"StructuredDocumentation","src":"1703:333:6","text":"@notice Emitted when a policy agreement workflow is successfully completed.\n @param holder The address of the rights holder.\n @param policyAddress The address of the registered policy.\n @param proof The unique identifier of the agreement.\n @param amount The amount of MMC tokens used in the agreement."},"eventSelector":"8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc407789","name":"AccessAgreementCreated","nameLocation":"2047:22:6","parameters":{"id":1138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1131,"indexed":true,"mutability":"mutable","name":"holder","nameLocation":"2086:6:6","nodeType":"VariableDeclaration","scope":1139,"src":"2070:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1130,"name":"address","nodeType":"ElementaryTypeName","src":"2070:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1133,"indexed":true,"mutability":"mutable","name":"policyAddress","nameLocation":"2110:13:6","nodeType":"VariableDeclaration","scope":1139,"src":"2094:29:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1132,"name":"address","nodeType":"ElementaryTypeName","src":"2094:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1135,"indexed":false,"mutability":"mutable","name":"proof","nameLocation":"2133:5:6","nodeType":"VariableDeclaration","scope":1139,"src":"2125:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1134,"name":"uint256","nodeType":"ElementaryTypeName","src":"2125:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1137,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2148:6:6","nodeType":"VariableDeclaration","scope":1139,"src":"2140:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1136,"name":"uint256","nodeType":"ElementaryTypeName","src":"2140:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2069:86:6"}},{"id":1171,"nodeType":"FunctionDefinition","src":"2215:476:6","nodes":[],"body":{"id":1170,"nodeType":"Block","src":"2295:396:6","nodes":[],"statements":[{"documentation":"https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5","expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1149,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43489,"src":"2495:20:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1150,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2495:22:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1151,"nodeType":"ExpressionStatement","src":"2495:22:6"},{"expression":{"id":1156,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1152,"name":"RIGHTS_POLICY_MANAGER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1120,"src":"2527:21:6","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1154,"name":"rightsPolicyManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1142,"src":"2572:19:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1153,"name":"IRightsPolicyManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50447,"src":"2551:20:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRightsPolicyManager_$50447_$","typeString":"type(contract IRightsPolicyManager)"}},"id":1155,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2551:41:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"src":"2527:65:6","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"id":1157,"nodeType":"ExpressionStatement","src":"2527:65:6"},{"expression":{"id":1162,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1158,"name":"AGREEMENT_MANAGER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1124,"src":"2602:17:6","typeDescriptions":{"typeIdentifier":"t_contract$_IAgreementManager_$50235","typeString":"contract IAgreementManager"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1160,"name":"agreementManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1144,"src":"2640:16:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1159,"name":"IAgreementManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50235,"src":"2622:17:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAgreementManager_$50235_$","typeString":"type(contract IAgreementManager)"}},"id":1161,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2622:35:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAgreementManager_$50235","typeString":"contract IAgreementManager"}},"src":"2602:55:6","typeDescriptions":{"typeIdentifier":"t_contract$_IAgreementManager_$50235","typeString":"contract IAgreementManager"}},"id":1163,"nodeType":"ExpressionStatement","src":"2602:55:6"},{"expression":{"id":1168,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":1164,"name":"MMC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1128,"src":"2667:3:6","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$44896","typeString":"contract IERC20"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1166,"name":"mmc","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1146,"src":"2680:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1165,"name":"IERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44896,"src":"2673:6:6","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IERC20_$44896_$","typeString":"type(contract IERC20)"}},"id":1167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2673:11:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$44896","typeString":"contract IERC20"}},"src":"2667:17:6","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$44896","typeString":"contract IERC20"}},"id":1169,"nodeType":"ExpressionStatement","src":"2667:17:6"}]},"documentation":{"id":1140,"nodeType":"StructuredDocumentation","src":"2162:48:6","text":"@custom:oz-upgrades-unsafe-allow constructor"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":1147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1142,"mutability":"mutable","name":"rightsPolicyManager","nameLocation":"2235:19:6","nodeType":"VariableDeclaration","scope":1171,"src":"2227:27:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1141,"name":"address","nodeType":"ElementaryTypeName","src":"2227:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1144,"mutability":"mutable","name":"agreementManager","nameLocation":"2264:16:6","nodeType":"VariableDeclaration","scope":1171,"src":"2256:24:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1143,"name":"address","nodeType":"ElementaryTypeName","src":"2256:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1146,"mutability":"mutable","name":"mmc","nameLocation":"2290:3:6","nodeType":"VariableDeclaration","scope":1171,"src":"2282:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1145,"name":"address","nodeType":"ElementaryTypeName","src":"2282:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2226:68:6"},"returnParameters":{"id":1148,"nodeType":"ParameterList","parameters":[],"src":"2295:0:6"},"scope":1288,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1187,"nodeType":"FunctionDefinition","src":"2742:151:6","nodes":[],"body":{"id":1186,"nodeType":"Block","src":"2804:89:6","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":1179,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43575,"src":"2814:22:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":1180,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2814:24:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1181,"nodeType":"ExpressionStatement","src":"2814:24:6"},{"expression":{"arguments":[{"id":1183,"name":"accessManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1174,"src":"2872:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1182,"name":"__AccessControlled_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51296,"src":"2848:23:6","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":1184,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2848:38:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1185,"nodeType":"ExpressionStatement","src":"2848:38:6"}]},"documentation":{"id":1172,"nodeType":"StructuredDocumentation","src":"2697:40:6","text":"@notice Initializes the proxy state."},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":1177,"kind":"modifierInvocation","modifierName":{"id":1176,"name":"initializer","nameLocations":["2792:11:6"],"nodeType":"IdentifierPath","referencedDeclaration":43375,"src":"2792:11:6"},"nodeType":"ModifierInvocation","src":"2792:11:6"}],"name":"initialize","nameLocation":"2751:10:6","parameters":{"id":1175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1174,"mutability":"mutable","name":"accessManager","nameLocation":"2770:13:6","nodeType":"VariableDeclaration","scope":1187,"src":"2762:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1173,"name":"address","nodeType":"ElementaryTypeName","src":"2762:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2761:23:6"},"returnParameters":{"id":1178,"nodeType":"ParameterList","parameters":[],"src":"2804:0:6"},"scope":1288,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1277,"nodeType":"FunctionDefinition","src":"3558:916:6","nodes":[],"body":{"id":1276,"nodeType":"Block","src":"3778:696:6","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1208,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1206,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"3796:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1207,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3805:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3796:10:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"416d6f756e742063616e6e6f74206265207a65726f","id":1209,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3808:23:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8beea76deddeff1012d90e1e8da369393f885b0575eb094a33da9912cc4bbb8b","typeString":"literal_string \"Amount cannot be zero\""},"value":"Amount cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8beea76deddeff1012d90e1e8da369393f885b0575eb094a33da9912cc4bbb8b","typeString":"literal_string \"Amount cannot be zero\""}],"id":1205,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3788:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1210,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3788:44:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1211,"nodeType":"ExpressionStatement","src":"3788:44:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1213,"name":"policyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"3850:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1216,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3875:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1215,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3867:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1214,"name":"address","nodeType":"ElementaryTypeName","src":"3867:7:6","typeDescriptions":{}}},"id":1217,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3867:10:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"3850:27:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"506f6c69637920616464726573732063616e6e6f74206265207a65726f","id":1219,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3879:31:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_8a6661da13a8d67bc98e42ccc9fa9bc111e1eed8bd8a52fe22b2daae01e33d93","typeString":"literal_string \"Policy address cannot be zero\""},"value":"Policy address cannot be zero"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_8a6661da13a8d67bc98e42ccc9fa9bc111e1eed8bd8a52fe22b2daae01e33d93","typeString":"literal_string \"Policy address cannot be zero\""}],"id":1212,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3842:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3842:69:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1221,"nodeType":"ExpressionStatement","src":"3842:69:6"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1226,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1223,"name":"parties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1197,"src":"3929:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1224,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3937:6:6","memberName":"length","nodeType":"MemberAccess","src":"3929:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"30","id":1225,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3946:1:6","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"3929:18:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},{"hexValue":"506172746965732063616e6e6f7420626520656d707479","id":1227,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3949:25:6","typeDescriptions":{"typeIdentifier":"t_stringliteral_d35ccab2b07909e583991ce966a16acaa97b44c1d919c7f20eecf9f30f3804ae","typeString":"literal_string \"Parties cannot be empty\""},"value":"Parties cannot be empty"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_stringliteral_d35ccab2b07909e583991ce966a16acaa97b44c1d919c7f20eecf9f30f3804ae","typeString":"literal_string \"Parties cannot be empty\""}],"id":1222,"name":"require","nodeType":"Identifier","overloadedDeclarations":[-18,-18,-18],"referencedDeclaration":-18,"src":"3921:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$","typeString":"function (bool,string memory) pure"}},"id":1228,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3921:54:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1229,"nodeType":"ExpressionStatement","src":"3921:54:6"},{"assignments":[1231],"declarations":[{"constant":false,"id":1231,"mutability":"mutable","name":"currency","nameLocation":"3994:8:6","nodeType":"VariableDeclaration","scope":1276,"src":"3986:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1230,"name":"address","nodeType":"ElementaryTypeName","src":"3986:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1236,"initialValue":{"arguments":[{"id":1234,"name":"MMC","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1128,"src":"4013:3:6","typeDescriptions":{"typeIdentifier":"t_contract$_IERC20_$44896","typeString":"contract IERC20"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IERC20_$44896","typeString":"contract IERC20"}],"id":1233,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4005:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1232,"name":"address","nodeType":"ElementaryTypeName","src":"4005:7:6","typeDescriptions":{}}},"id":1235,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4005:12:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3986:31:6"},{"assignments":[1238],"declarations":[{"constant":false,"id":1238,"mutability":"mutable","name":"broker","nameLocation":"4035:6:6","nodeType":"VariableDeclaration","scope":1276,"src":"4027:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1237,"name":"address","nodeType":"ElementaryTypeName","src":"4027:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1243,"initialValue":{"arguments":[{"id":1241,"name":"RIGHTS_POLICY_MANAGER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1120,"src":"4052:21:6","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}],"id":1240,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4044:7:6","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1239,"name":"address","nodeType":"ElementaryTypeName","src":"4044:7:6","typeDescriptions":{}}},"id":1242,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4044:30:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"4027:47:6"},{"assignments":[1245],"declarations":[{"constant":false,"id":1245,"mutability":"mutable","name":"proof","nameLocation":"4170:5:6","nodeType":"VariableDeclaration","scope":1276,"src":"4162:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1244,"name":"uint256","nodeType":"ElementaryTypeName","src":"4162:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1254,"initialValue":{"arguments":[{"id":1248,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"4212:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1249,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1231,"src":"4220:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1250,"name":"broker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1238,"src":"4230:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1251,"name":"parties","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1197,"src":"4238:7:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},{"id":1252,"name":"payload","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1199,"src":"4247:7:6","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"},{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"expression":{"id":1246,"name":"AGREEMENT_MANAGER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1124,"src":"4178:17:6","typeDescriptions":{"typeIdentifier":"t_contract$_IAgreementManager_$50235","typeString":"contract IAgreementManager"}},"id":1247,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4196:15:6","memberName":"createAgreement","nodeType":"MemberAccess","referencedDeclaration":50216,"src":"4178:33:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$","typeString":"function (uint256,address,address,address[] memory,bytes memory) external returns (uint256)"}},"id":1253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4178:77:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4162:93:6"},{"assignments":[1259],"declarations":[{"constant":false,"id":1259,"mutability":"mutable","name":"attestations","nameLocation":"4282:12:6","nodeType":"VariableDeclaration","scope":1276,"src":"4265:29:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1257,"name":"uint256","nodeType":"ElementaryTypeName","src":"4265:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1258,"nodeType":"ArrayTypeName","src":"4265:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"id":1266,"initialValue":{"arguments":[{"id":1262,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1245,"src":"4334:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1263,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1192,"src":"4341:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1264,"name":"policyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"4349:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1260,"name":"RIGHTS_POLICY_MANAGER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1120,"src":"4297:21:6","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyManager_$50447","typeString":"contract IRightsPolicyManager"}},"id":1261,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4319:14:6","memberName":"registerPolicy","nodeType":"MemberAccess","referencedDeclaration":50446,"src":"4297:36:6","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (uint256,address,address) external returns (uint256[] memory)"}},"id":1265,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4297:66:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"nodeType":"VariableDeclarationStatement","src":"4265:98:6"},{"eventCall":{"arguments":[{"id":1268,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1192,"src":"4401:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1269,"name":"policyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"4409:13:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1270,"name":"proof","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1245,"src":"4424:5:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1271,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"4431:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1267,"name":"AccessAgreementCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1139,"src":"4378:22:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256,uint256)"}},"id":1272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4378:60:6","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1273,"nodeType":"EmitStatement","src":"4373:65:6"},{"expression":{"id":1274,"name":"attestations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4455:12:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":1204,"id":1275,"nodeType":"Return","src":"4448:19:6"}]},"documentation":{"id":1188,"nodeType":"StructuredDocumentation","src":"2899:654:6","text":"@notice Creates and registers a new access agreement in a single transaction.\n @dev Encapsulates agreement creation and access policy registration into one cohesive workflow.\n @param amount The amount of MMC tokens to be used in the agreement.\n @param holder The address of the rights holder.\n @param policyAddress The address of the policy contract being used.\n @param parties An array of addresses representing the parties involved in the agreement.\n @param payload Additional data required for the agreement creation.\n @return attestationIds An array of registered attestations under the agreement."},"functionSelector":"290ed221","implemented":true,"kind":"function","modifiers":[],"name":"registerAccessAgreement","nameLocation":"3567:23:6","parameters":{"id":1200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1190,"mutability":"mutable","name":"amount","nameLocation":"3608:6:6","nodeType":"VariableDeclaration","scope":1277,"src":"3600:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1189,"name":"uint256","nodeType":"ElementaryTypeName","src":"3600:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1192,"mutability":"mutable","name":"holder","nameLocation":"3632:6:6","nodeType":"VariableDeclaration","scope":1277,"src":"3624:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1191,"name":"address","nodeType":"ElementaryTypeName","src":"3624:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1194,"mutability":"mutable","name":"policyAddress","nameLocation":"3656:13:6","nodeType":"VariableDeclaration","scope":1277,"src":"3648:21:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1193,"name":"address","nodeType":"ElementaryTypeName","src":"3648:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1197,"mutability":"mutable","name":"parties","nameLocation":"3698:7:6","nodeType":"VariableDeclaration","scope":1277,"src":"3679:26:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":1195,"name":"address","nodeType":"ElementaryTypeName","src":"3679:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1196,"nodeType":"ArrayTypeName","src":"3679:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":1199,"mutability":"mutable","name":"payload","nameLocation":"3730:7:6","nodeType":"VariableDeclaration","scope":1277,"src":"3715:22:6","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1198,"name":"bytes","nodeType":"ElementaryTypeName","src":"3715:5:6","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3590:153:6"},"returnParameters":{"id":1204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1203,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1277,"src":"3760:16:6","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1201,"name":"uint256","nodeType":"ElementaryTypeName","src":"3760:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1202,"nodeType":"ArrayTypeName","src":"3760:9:6","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"3759:18:6"},"scope":1288,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1287,"nodeType":"FunctionDefinition","src":"4778:84:6","nodes":[],"body":{"id":1286,"nodeType":"Block","src":"4860:2:6","nodes":[],"statements":[]},"baseFunctions":[43657],"documentation":{"id":1278,"nodeType":"StructuredDocumentation","src":"4480:293:6","text":"@notice Function that should revert when msg.sender is not authorized to upgrade the contract.\n @param newImplementation The address of the new implementation contract.\n @dev See https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable-_authorizeUpgrade-address-"},"implemented":true,"kind":"function","modifiers":[{"id":1284,"kind":"modifierInvocation","modifierName":{"id":1283,"name":"onlyAdmin","nameLocations":["4850:9:6"],"nodeType":"IdentifierPath","referencedDeclaration":51279,"src":"4850:9:6"},"nodeType":"ModifierInvocation","src":"4850:9:6"}],"name":"_authorizeUpgrade","nameLocation":"4787:17:6","overrides":{"id":1282,"nodeType":"OverrideSpecifier","overrides":[],"src":"4841:8:6"},"parameters":{"id":1281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1280,"mutability":"mutable","name":"newImplementation","nameLocation":"4813:17:6","nodeType":"VariableDeclaration","scope":1287,"src":"4805:25:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1279,"name":"address","nodeType":"ElementaryTypeName","src":"4805:7:6","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4804:27:6"},"returnParameters":{"id":1285,"nodeType":"ParameterList","parameters":[],"src":"4860:0:6"},"scope":1288,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":1108,"name":"Initializable","nameLocations":["1245:13:6"],"nodeType":"IdentifierPath","referencedDeclaration":43521,"src":"1245:13:6"},"id":1109,"nodeType":"InheritanceSpecifier","src":"1245:13:6"},{"baseName":{"id":1110,"name":"UUPSUpgradeable","nameLocations":["1260:15:6"],"nodeType":"IdentifierPath","referencedDeclaration":43703,"src":"1260:15:6"},"id":1111,"nodeType":"InheritanceSpecifier","src":"1260:15:6"},{"baseName":{"id":1112,"name":"AccessControlledUpgradeable","nameLocations":["1277:27:6"],"nodeType":"IdentifierPath","referencedDeclaration":51361,"src":"1277:27:6"},"id":1113,"nodeType":"InheritanceSpecifier","src":"1277:27:6"}],"canonicalName":"AccessWorkflow","contractDependencies":[],"contractKind":"contract","documentation":{"id":1107,"nodeType":"StructuredDocumentation","src":"905:313:6","text":"@title AccessWorkflow\n @notice Handles comprehensive workflows for access management, including agreement creation, policy registration, and related operations.\n @dev This contract provides a unified interface to interact with multiple core protocol components involved in access and policy management."},"fullyImplemented":true,"linearizedBaseContracts":[1288,51361,43267,43871,43749,43703,44440,43521],"name":"AccessWorkflow","nameLocation":"1227:14:6","scope":1289,"usedErrors":[43284,43287,43548,43553,43842,43848,43852,44498,44511,45462,45724,51261],"usedEvents":[1139,43292,43838,44413]}],"license":"MIT"},"id":6} \ No newline at end of file +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { "name": "rightsPolicyManager", "type": "address", "internalType": "address" }, + { "name": "agreementManager", "type": "address", "internalType": "address" }, + { "name": "mmc", "type": "address", "internalType": "address" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "AGREEMENT_MANAGER", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "contract IAgreementManager" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "MMC", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "contract IERC20" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RIGHTS_POLICY_MANAGER", + "inputs": [], + "outputs": [ + { "name": "", "type": "address", "internalType": "contract IRightsPolicyManager" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [{ "name": "accessManager", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isConsumingScheduledOp", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "proxiableUUID", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "registerAccessAgreement", + "inputs": [ + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "holder", "type": "address", "internalType": "address" }, + { "name": "policyAddress", "type": "address", "internalType": "address" }, + { "name": "parties", "type": "address[]", "internalType": "address[]" }, + { "name": "payload", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [{ "name": "", "type": "uint256[]", "internalType": "uint256[]" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [{ "name": "newAuthority", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "upgradeToAndCall", + "inputs": [ + { "name": "newImplementation", "type": "address", "internalType": "address" }, + { "name": "data", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AccessAgreementCreated", + "inputs": [ + { "name": "holder", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "policyAddress", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "proof", "type": "uint256", "indexed": false, "internalType": "uint256" }, + { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { "name": "authority", "type": "address", "indexed": false, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Upgraded", + "inputs": [ + { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AccessManagedInvalidAuthority", + "inputs": [{ "name": "authority", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AccessManagedRequiredDelay", + "inputs": [ + { "name": "caller", "type": "address", "internalType": "address" }, + { "name": "delay", "type": "uint32", "internalType": "uint32" } + ] + }, + { + "type": "error", + "name": "AccessManagedUnauthorized", + "inputs": [{ "name": "caller", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [{ "name": "target", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC1967InvalidImplementation", + "inputs": [{ "name": "implementation", "type": "address", "internalType": "address" }] + }, + { "type": "error", "name": "ERC1967NonPayable", "inputs": [] }, + { "type": "error", "name": "FailedCall", "inputs": [] }, + { "type": "error", "name": "InvalidInitialization", "inputs": [] }, + { + "type": "error", + "name": "InvalidUnauthorizedOperation", + "inputs": [{ "name": "", "type": "string", "internalType": "string" }] + }, + { "type": "error", "name": "NotInitializing", "inputs": [] }, + { "type": "error", "name": "UUPSUnauthorizedCallContext", "inputs": [] }, + { + "type": "error", + "name": "UUPSUnsupportedProxiableUUID", + "inputs": [{ "name": "slot", "type": "bytes32", "internalType": "bytes32" }] + } + ], + "bytecode": { + "object": "0x6101003461018b57601f61156c38819003918201601f19168301916001600160401b0383118484101761018f5780849260609460405283398101031261018b57610048816101a3565b90610061604061005a602084016101a3565b92016101a3565b91306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c1661017c576002600160401b03196001600160401b03821601610113575b506001600160a01b0390811660a05290811660c0521660e0526040516113b490816101b882396080518181816105fd01526106fe015260a05181818160c00152610c66015260c051818181610d820152611121015260e051818181610b400152610cd20152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f6100ac565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b038216820361018b5756fe6080806040526004361015610012575f80fd5b5f3560e01c908162efe0c3146110f757508063290ed22114610b6457806344dea5a714610b145780634f1ef2861461067557806352d1902d146105d65780637a9e5e4b146104ff5780638fb360371461046c578063ad3cb1cc146103d8578063bf7e214f14610386578063c4d66de8146100e85763f1bdc45214610094575f80fd5b346100e4575f6003193601126100e457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100e45760206003193601126100e457610101611145565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff82168015908161037e575b6001149081610374575b15908161036b575b5061034357818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556102ee575b506101c461128e565b6101cc61128e565b6101d461128e565b6101dc61128e565b6101e5816111e3565b6101ed61128e565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005561025b57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836101bb565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610152565b303b15915061014a565b849150610140565b346100e4575f6003193601126100e457602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100e4575f6003193601126100e45760408051906103f78183611168565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346100e4575f6003193601126100e4577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156104f75760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6104cd565b346100e45760206003193601126100e457610518611145565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036105aa57803b1561056857610566906111e3565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100e4575f6003193601126100e45773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361064d5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60406003193601126100e457610689611145565b6024359067ffffffffffffffff82116100e457366023830112156100e4578160040135906106b6826111a9565b916106c46040519384611168565b808352602083019336602483830101116100e457815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610ad2575b5061064d576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115610ac7575f91610a7a575b50156109f65773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f91816109c2575b5061083557847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8692036109975750823b1561096c57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561093a575f8091610566945190845af43d15610932573d91610916836111a9565b926109246040519485611168565b83523d5f602085013e6112e5565b6060916112e5565b5050503461094457005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d6020116109ee575b816109de60209383611168565b810103126100e457519086610804565b3d91506109d1565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610abf575b81610a9560409383611168565b810103126100e45780519081151582036100e4576020015163ffffffff8116036100e457846107af565b3d9150610a88565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610729565b346100e4575f6003193601126100e457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100e45760a06003193601126100e45760043560243573ffffffffffffffffffffffffffffffffffffffff81168091036100e4576044359073ffffffffffffffffffffffffffffffffffffffff82168092036100e4576064359267ffffffffffffffff84116100e457366023850112156100e45783600401359067ffffffffffffffff82116100e4573660248360051b870101116100e4576084359467ffffffffffffffff86116100e457366023870112156100e457856004013567ffffffffffffffff81116100e45736602482890101116100e457821561109957851561103b578315610fdd57959273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016966040519485927f3f5d1b6f0000000000000000000000000000000000000000000000000000000084528060a4850187600487015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660248701528b604487015260a0606487015252602460c485019501905f905b808210610f9d57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f846020979560248896600319888c9a0301608489015282875201878601375f8682860101520116010301815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215610ac7575f92610f67575b505f80956064604051809881937f9f7434f40000000000000000000000000000000000000000000000000000000083528760048401528860248401528960448401525af1948515610ac7575f95610e79575b507f8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc4077899160409182519182526020820152a36040518091602082016020835281518091526020604084019201905f5b818110610e60575050500390f35b8251845285945060209384019390920191600101610e52565b9094503d805f833e610e8b8183611168565b8101906020818303126100e45780519067ffffffffffffffff82116100e457019080601f830112156100e45781519167ffffffffffffffff8311610f3a578260051b9060405193610edf6020840186611168565b84526020808501928201019283116100e457602001905b828210610f2a5750919591507f8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc4077899050610e04565b8151815260209182019101610ef6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9491506020853d602011610f95575b81610f8360209383611168565b810103126100e457935190935f610db2565b3d9150610f76565b9195909293945085359073ffffffffffffffffffffffffffffffffffffffff82168092036100e45760208160019382935201960192018794939291610d11565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f506172746965732063616e6e6f7420626520656d7074790000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f506f6c69637920616464726573732063616e6e6f74206265207a65726f0000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f416d6f756e742063616e6e6f74206265207a65726f00000000000000000000006044820152fd5b346100e4575f6003193601126100e45760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100e457565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f3a57604052565b67ffffffffffffffff8111610f3a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156112bd57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9061132257508051156112fa57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611375575b611333575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561132b56fea26469706673582212205820754a04ca0b0a3942409cfe71d6906ffd4bbcc7ea28d600bd6aadded56c0764736f6c634300081a0033", + "sourceMap": "1218:3646:6:-:0;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;-1:-1:-1;;;;;1218:3646:6;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;:::i;:::-;1171:4:56;;1163:13;;8837:64:55;1218:3646:6;;;;;;7896:76:55;;-1:-1:-1;;;;;;;;;;;1218:3646:6;;7985:34:55;7981:146;;-1:-1:-1;;;;;;;1218:3646:6;;;;2527:65;1218:3646;;;2602:55;;1218:3646;2667:17;;1218:3646;;;;;;;;1163:13:56;1218:3646:6;;;;;;;;;;2527:65;1218:3646;;;;;;;;;;2602:55;1218:3646;;;;;;;;;;2667:17;1218:3646;;;;;;;;;;;7981:146:55;-1:-1:-1;;;;;;1218:3646:6;-1:-1:-1;;;;;1218:3646:6;;;8837:64:55;1218:3646:6;;;;;;8087:29:55;;1218:3646:6;;8087:29:55;7981:146;;;7896:76;7938:23;;;-1:-1:-1;7938:23:55;;-1:-1:-1;7938:23:55;1218:3646:6;-1:-1:-1;1218:3646:6;;;;;;-1:-1:-1;1218:3646:6;;;;;-1:-1:-1;1218:3646:6;;;;-1:-1:-1;;;;;1218:3646:6;;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x6080806040526004361015610012575f80fd5b5f3560e01c908162efe0c3146110f757508063290ed22114610b6457806344dea5a714610b145780634f1ef2861461067557806352d1902d146105d65780637a9e5e4b146104ff5780638fb360371461046c578063ad3cb1cc146103d8578063bf7e214f14610386578063c4d66de8146100e85763f1bdc45214610094575f80fd5b346100e4575f6003193601126100e457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100e45760206003193601126100e457610101611145565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff82168015908161037e575b6001149081610374575b15908161036b575b5061034357818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556102ee575b506101c461128e565b6101cc61128e565b6101d461128e565b6101dc61128e565b6101e5816111e3565b6101ed61128e565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005561025b57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055836101bb565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b90501584610152565b303b15915061014a565b849150610140565b346100e4575f6003193601126100e457602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100e4575f6003193601126100e45760408051906103f78183611168565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346100e4575f6003193601126100e4577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156104f75760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6104cd565b346100e45760206003193601126100e457610518611145565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036105aa57803b1561056857610566906111e3565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100e4575f6003193601126100e45773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016300361064d5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60406003193601126100e457610689611145565b6024359067ffffffffffffffff82116100e457366023830112156100e4578160040135906106b6826111a9565b916106c46040519384611168565b808352602083019336602483830101116100e457815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610ad2575b5061064d576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115610ac7575f91610a7a575b50156109f65773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f91816109c2575b5061083557847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8692036109975750823b1561096c57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a282511561093a575f8091610566945190845af43d15610932573d91610916836111a9565b926109246040519485611168565b83523d5f602085013e6112e5565b6060916112e5565b5050503461094457005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d6020116109ee575b816109de60209383611168565b810103126100e457519086610804565b3d91506109d1565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610abf575b81610a9560409383611168565b810103126100e45780519081151582036100e4576020015163ffffffff8116036100e457846107af565b3d9150610a88565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610729565b346100e4575f6003193601126100e457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100e45760a06003193601126100e45760043560243573ffffffffffffffffffffffffffffffffffffffff81168091036100e4576044359073ffffffffffffffffffffffffffffffffffffffff82168092036100e4576064359267ffffffffffffffff84116100e457366023850112156100e45783600401359067ffffffffffffffff82116100e4573660248360051b870101116100e4576084359467ffffffffffffffff86116100e457366023870112156100e457856004013567ffffffffffffffff81116100e45736602482890101116100e457821561109957851561103b578315610fdd57959273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016966040519485927f3f5d1b6f0000000000000000000000000000000000000000000000000000000084528060a4850187600487015273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001660248701528b604487015260a0606487015252602460c485019501905f905b808210610f9d57505050837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f846020979560248896600319888c9a0301608489015282875201878601375f8682860101520116010301815f73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af1918215610ac7575f92610f67575b505f80956064604051809881937f9f7434f40000000000000000000000000000000000000000000000000000000083528760048401528860248401528960448401525af1948515610ac7575f95610e79575b507f8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc4077899160409182519182526020820152a36040518091602082016020835281518091526020604084019201905f5b818110610e60575050500390f35b8251845285945060209384019390920191600101610e52565b9094503d805f833e610e8b8183611168565b8101906020818303126100e45780519067ffffffffffffffff82116100e457019080601f830112156100e45781519167ffffffffffffffff8311610f3a578260051b9060405193610edf6020840186611168565b84526020808501928201019283116100e457602001905b828210610f2a5750919591507f8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc4077899050610e04565b8151815260209182019101610ef6565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b9491506020853d602011610f95575b81610f8360209383611168565b810103126100e457935190935f610db2565b3d9150610f76565b9195909293945085359073ffffffffffffffffffffffffffffffffffffffff82168092036100e45760208160019382935201960192018794939291610d11565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f506172746965732063616e6e6f7420626520656d7074790000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f506f6c69637920616464726573732063616e6e6f74206265207a65726f0000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f416d6f756e742063616e6e6f74206265207a65726f00000000000000000000006044820152fd5b346100e4575f6003193601126100e45760209073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100e457565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f3a57604052565b67ffffffffffffffff8111610f3a57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c16156112bd57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9061132257508051156112fa57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611375575b611333575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561132b56fea26469706673582212205820754a04ca0b0a3942409cfe71d6906ffd4bbcc7ea28d600bd6aadded56c0764736f6c634300081a0033", + "sourceMap": "1218:3646:6:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;1414:59;1218:3646;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;:::i;:::-;8837:64:55;1218:3646:6;;;;;;4301:16:55;1218:3646:6;;;;4726:16:55;;:34;;;;1218:3646:6;4805:1:55;4790:16;:50;;;;1218:3646:6;4855:13:55;:30;;;;1218:3646:6;4851:91:55;;;1218:3646:6;;4805:1:55;1218:3646:6;;;;;8837:64:55;1218:3646:6;4979:67:55;;1218:3646:6;6893:76:55;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:54;;;:::i;:::-;6893:76:55;;:::i;:::-;1218:3646:6;;3295:62:102;1218:3646:6;;;3295:62:102;1218:3646:6;5066:101:55;;1218:3646:6;5066:101:55;1218:3646:6;8837:64:55;1218:3646:6;;8837:64:55;1218:3646:6;5142:14:55;1218:3646:6;;;4805:1:55;1218:3646:6;;5142:14:55;1218:3646:6;4979:67:55;1218:3646:6;;;;8837:64:55;1218:3646:6;4979:67:55;;;4851:91;4908:23;1218:3646:6;4908:23:55;1218:3646:6;;4908:23:55;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:55;;4726:34;;;-1:-1:-1;4726:34:55;;1218:3646:6;;;;;-1:-1:-1;;1218:3646:6;;;;;;;1782:71:54;1218:3646:6;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;1782:71:54;1218:3646:6;;;;;4698:71:54;;;1218:3646:6;;4698:71:54;1218:3646:6;;;;;;;;4698:71:54;1218:3646:6;;4698:71:54;;1218:3646:6;;;;;-1:-1:-1;;1218:3646:6;;;;;;;:::i;:::-;;1782:71:54;1218:3646:6;;966:10:57;4258:21:54;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;1218:3646:6;4355:110:54;1218:3646:6;4411:43:54;;1218:3646:6;4411:43:54;1218:3646:6;;;;;4411:43:54;4254:92;4302:33;1218:3646:6;4302:33:54;966:10:57;1218:3646:6;;;;4302:33:54;1218:3646:6;;;;;-1:-1:-1;;1218:3646:6;;;;;;5115:6:56;1218:3646:6;5106:4:56;5098:23;5094:145;;1218:3646:6;;;811:66:68;1218:3646:6;;;5094:145:56;5199:29;1218:3646:6;5199:29:56;1218:3646:6;;5199:29:56;1218:3646:6;;-1:-1:-1;;1218:3646:6;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:6:56;1218:3646:6;4683:4:56;;4675:23;:120;;;;;1218:3646:6;4658:251:56;;;3058:30:102;1218:3646:6;;3295:62:102;1218:3646:6;;;;3058:30:102;;;;1218:3646:6;3058:30:102;;1218:3646:6;;3058:30:102;;1218:3646:6;1893:10:102;1218:3646:6;;;;3058:30:102;;;;;;;1218:3646:6;3058:30:102;;;1218:3646:6;1869:35:102;;1865:140;;1218:3646:6;;;;;;;6156:52:56;;1218:3646:6;6156:52:56;1218:3646:6;6156:52:56;;;;1218:3646:6;;6156:52:56;;;1218:3646:6;-1:-1:-1;6152:437:56;;6518:60;;1218:3646:6;6518:60:56;1218:3646:6;;;;6518:60:56;6152:437;6250:40;811:66:68;6250:40:56;;;6246:120;;1748:29:68;;;:34;1744:119;;1218:3646:6;;811:66:68;1218:3646:6;;;811:66:68;1218:3646:6;2407:36:68;1218:3646:6;2407:36:68;;1218:3646:6;;2458:15:68;:11;;1218:3646:6;4049:25:75;;4091:55;4049:25;;;;;;1218:3646:6;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;4091:55:75;:::i;1218:3646:6:-;;;4091:55:75;:::i;2454:148:68:-;6163:9;;;;6159:70;;1218:3646:6;6159:70:68;6199:19;1218:3646:6;6199:19:68;1218:3646:6;;6199:19:68;1744:119;1805:47;1218:3646:6;1805:47:68;1218:3646:6;;;;1805:47:68;6246:120:56;6317:34;1218:3646:6;6317:34:56;1218:3646:6;;;;6317:34:56;6156:52;;;;1218:3646:6;6156:52:56;;1218:3646:6;6156:52:56;;;;;;1218:3646:6;6156:52:56;;;:::i;:::-;;;1218:3646:6;;;;;6156:52:56;;;;;;;-1:-1:-1;6156:52:56;;1865:140:102;1927:67;1218:3646:6;;1927:67:102;;;1218:3646:6;;1927:67:102;;520:1:100;1218:3646:6;;520:1:100;;1218:3646:6;520:1:100;3058:30:102;1218:3646:6;;520:1:100;;;;;;1927:67:102;3058:30;;;1218:3646:6;3058:30:102;;1218:3646:6;3058:30:102;;;;;;1218:3646:6;3058:30:102;;;:::i;:::-;;;1218:3646:6;;;;;;;;;;;;;;;;;;;;;;;3058:30:102;;;;;;-1:-1:-1;3058:30:102;;;1218:3646:6;;;;;;;;;4675:120:56;1218:3646:6;;;811:66:68;1218:3646:6;;4753:42:56;;4675:120;;;1218:3646:6;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;1669:27;1218:3646;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3796:10;;1218:3646;;3850:27;;1218:3646;;3929:18;;1218:3646;;4052:21;;1218:3646;4052:21;1218:3646;;;;4178:77;;;1218:3646;4178:77;;1218:3646;;;;4178:77;1218:3646;4178:77;;1218:3646;;4013:3;1218:3646;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;;;;;;;;;;;;;;;;;;;;;;4178:77;;:17;1218:3646;;4178:17;1218:3646;4178:77;;;;;;;1218:3646;4178:77;;;1218:3646;;;;;;;;4297:66;;;;1218:3646;4297:66;;;1218:3646;4297:66;;1218:3646;;;;;;;;;;;4297:66;;;;;;;1218:3646;4297:66;;;1218:3646;;4378:60;1218:3646;;;;;;;;;;;;4378:60;1218:3646;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1218:3646:6;;;;;;;;;;;;;4297:66;;;;;;1218:3646;4297:66;;;;;;:::i;:::-;;;1218:3646;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4297:66:6;;;-1:-1:-1;4378:60:6;;-1:-1:-1;4297:66:6;;1218:3646;;;;;;;;;;;;;;;;;;;;;;;4178:77;;;;1218:3646;4178:77;;1218:3646;4178:77;;;;;;1218:3646;4178:77;;;:::i;:::-;;;1218:3646;;;;;;4178:77;;1218:3646;4178:77;;;;;-1:-1:-1;4178:77:6;;1218:3646;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1218:3646:6;;;;;;1545:52;1218:3646;1545:52;1218:3646;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;4964:220:54:-;1218:3646:6;;5147:30:54;4964:220;1218:3646:6;;;1782:71:54;1218:3646:6;;;1782:71:54;1218:3646:6;;;;;;5147:30:54;4964:220::o;7084:141:55:-;1218:3646:6;8837:64:55;1218:3646:6;;;;7150:18:55;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:55;;-1:-1:-1;7191:17:55;4421:582:75;;4593:8;;-1:-1:-1;1218:3646:6;;5674:21:75;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;1218:3646:6;;4841:22:75;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1218:3646:6;4917:24:75;;4862:1;4917:24;1218:3646:6;4917:24:75;1218:3646:6;;4862:1:75;4917:24;4841:49;4867:18;;;:23;4841:49;", + "linkReferences": {}, + "immutableReferences": { + "1120": [ + { "start": 192, "length": 32 }, + { "start": 3174, "length": 32 } + ], + "1124": [ + { "start": 3458, "length": 32 }, + { "start": 4385, "length": 32 } + ], + "1128": [ + { "start": 2880, "length": 32 }, + { "start": 3282, "length": 32 } + ], + "43541": [ + { "start": 1533, "length": 32 }, + { "start": 1790, "length": 32 } + ] + } + }, + "methodIdentifiers": { + "AGREEMENT_MANAGER()": "00efe0c3", + "MMC()": "44dea5a7", + "RIGHTS_POLICY_MANAGER()": "f1bdc452", + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "authority()": "bf7e214f", + "initialize(address)": "c4d66de8", + "isConsumingScheduledOp()": "8fb36037", + "proxiableUUID()": "52d1902d", + "registerAccessAgreement(uint256,address,address,address[],bytes)": "290ed221", + "setAuthority(address)": "7a9e5e4b", + "upgradeToAndCall(address,bytes)": "4f1ef286" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rightsPolicyManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agreementManager\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"mmc\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policyAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proof\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"AccessAgreementCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"AGREEMENT_MANAGER\",\"outputs\":[{\"internalType\":\"contract IAgreementManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MMC\",\"outputs\":[{\"internalType\":\"contract IERC20\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RIGHTS_POLICY_MANAGER\",\"outputs\":[{\"internalType\":\"contract IRightsPolicyManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"policyAddress\",\"type\":\"address\"},{\"internalType\":\"address[]\",\"name\":\"parties\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"name\":\"registerAccessAgreement\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract provides a unified interface to interact with multiple core protocol components involved in access and policy management.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AccessAgreementCreated(address,address,uint256,uint256)\":{\"params\":{\"amount\":\"The amount of MMC tokens used in the agreement.\",\"holder\":\"The address of the rights holder.\",\"policyAddress\":\"The address of the registered policy.\",\"proof\":\"The unique identifier of the agreement.\"}},\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerAccessAgreement(uint256,address,address,address[],bytes)\":{\"details\":\"Encapsulates agreement creation and access policy registration into one cohesive workflow.\",\"params\":{\"amount\":\"The amount of MMC tokens to be used in the agreement.\",\"holder\":\"The address of the rights holder.\",\"parties\":\"An array of addresses representing the parties involved in the agreement.\",\"payload\":\"Additional data required for the agreement creation.\",\"policyAddress\":\"The address of the policy contract being used.\"},\"returns\":{\"_0\":\"attestationIds An array of registered attestations under the agreement.\"}},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"AGREEMENT_MANAGER\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"},\"MMC\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"},\"RIGHTS_POLICY_MANAGER\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"title\":\"AccessWorkflow\",\"version\":1},\"userdoc\":{\"events\":{\"AccessAgreementCreated(address,address,uint256,uint256)\":{\"notice\":\"Emitted when a policy agreement workflow is successfully completed.\"}},\"kind\":\"user\",\"methods\":{\"initialize(address)\":{\"notice\":\"Initializes the proxy state.\"},\"registerAccessAgreement(uint256,address,address,address[],bytes)\":{\"notice\":\"Creates and registers a new access agreement in a single transaction.\"}},\"notice\":\"Handles comprehensive workflows for access management, including agreement creation, policy registration, and related operations.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/facades/AccessWorkflow.sol\":\"AccessWorkflow\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=node_modules/@synaps3/types/contracts/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"contracts/facades/AccessWorkflow.sol\":{\"keccak256\":\"0x7307825991759923678ba86a8ce58e6522e2b13c44db19ebb4574aeef8417508\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df7e3bcf83697db234dcc22b9b13b7ac653b2e87ad1cb70a772f417cc59fd0a8\",\"dweb:/ipfs/QmTVJo6Q4QnUtbu97uE531EjZLUZoVsRnZTKYgiwKUMe3T\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/financial/IAgreementManager.sol\":{\"keccak256\":\"0xd6e6eecd11819f0031962e653d55ad529f616f0e4b57751623c2c7481bc4fa67\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cfe472eae18ebebe8bdb62247dd951143742b963c196d863173d431a27e175ff\",\"dweb:/ipfs/QmTMYXFTcLvim8KS3wwc15uwCDjjWXhDCcdmPQPWnq4qGk\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol\":{\"keccak256\":\"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405\",\"dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol\":{\"keccak256\":\"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6\",\"dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu\"]},\"node_modules/@synaps3/types/contracts/core/libraries/FinancialOps.sol\":{\"keccak256\":\"0x562c5b305577ec5b57c5fba5df98afdaba99d7871772962502e0959852e92215\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d37937cd5fe0432f714aebba49d342dab1e9577c9d1edc3fe568a02e636e1a3d\",\"dweb:/ipfs/QmVteEKdVkvwKKEHyweJWbns75LU3jsqrQtAhcHY7eTwhX\"]},\"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol\":{\"keccak256\":\"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2\",\"dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Types.sol\":{\"keccak256\":\"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf\",\"dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe\"]},\"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { "internalType": "address", "name": "rightsPolicyManager", "type": "address" }, + { "internalType": "address", "name": "agreementManager", "type": "address" }, + { "internalType": "address", "name": "mmc", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [{ "internalType": "address", "name": "authority", "type": "address" }], + "type": "error", + "name": "AccessManagedInvalidAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "caller", "type": "address" }, + { "internalType": "uint32", "name": "delay", "type": "uint32" } + ], + "type": "error", + "name": "AccessManagedRequiredDelay" + }, + { + "inputs": [{ "internalType": "address", "name": "caller", "type": "address" }], + "type": "error", + "name": "AccessManagedUnauthorized" + }, + { + "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], + "type": "error", + "name": "AddressEmptyCode" + }, + { + "inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }], + "type": "error", + "name": "ERC1967InvalidImplementation" + }, + { "inputs": [], "type": "error", "name": "ERC1967NonPayable" }, + { "inputs": [], "type": "error", "name": "FailedCall" }, + { "inputs": [], "type": "error", "name": "InvalidInitialization" }, + { + "inputs": [{ "internalType": "string", "name": "", "type": "string" }], + "type": "error", + "name": "InvalidUnauthorizedOperation" + }, + { "inputs": [], "type": "error", "name": "NotInitializing" }, + { "inputs": [], "type": "error", "name": "UUPSUnauthorizedCallContext" }, + { + "inputs": [{ "internalType": "bytes32", "name": "slot", "type": "bytes32" }], + "type": "error", + "name": "UUPSUnsupportedProxiableUUID" + }, + { + "inputs": [ + { "internalType": "address", "name": "holder", "type": "address", "indexed": true }, + { + "internalType": "address", + "name": "policyAddress", + "type": "address", + "indexed": true + }, + { "internalType": "uint256", "name": "proof", "type": "uint256", "indexed": false }, + { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false } + ], + "type": "event", + "name": "AccessAgreementCreated", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "authority", "type": "address", "indexed": false } + ], + "type": "event", + "name": "AuthorityUpdated", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "uint64", "name": "version", "type": "uint64", "indexed": false } + ], + "type": "event", + "name": "Initialized", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "Upgraded", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "AGREEMENT_MANAGER", + "outputs": [ + { "internalType": "contract IAgreementManager", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "MMC", + "outputs": [{ "internalType": "contract IERC20", "name": "", "type": "address" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "RIGHTS_POLICY_MANAGER", + "outputs": [ + { "internalType": "contract IRightsPolicyManager", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "authority", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }] + }, + { + "inputs": [{ "internalType": "address", "name": "accessManager", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "initialize" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "isConsumingScheduledOp", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] + }, + { + "inputs": [ + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "holder", "type": "address" }, + { "internalType": "address", "name": "policyAddress", "type": "address" }, + { "internalType": "address[]", "name": "parties", "type": "address[]" }, + { "internalType": "bytes", "name": "payload", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "registerAccessAgreement", + "outputs": [{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }] + }, + { + "inputs": [{ "internalType": "address", "name": "newAuthority", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "setAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "newImplementation", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "stateMutability": "payable", + "type": "function", + "name": "upgradeToAndCall" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "authority()": { "details": "Returns the current authority." }, + "constructor": { "custom:oz-upgrades-unsafe-allow": "constructor" }, + "isConsumingScheduledOp()": { + "details": "Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls." + }, + "proxiableUUID()": { + "details": "Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier." + }, + "registerAccessAgreement(uint256,address,address,address[],bytes)": { + "details": "Encapsulates agreement creation and access policy registration into one cohesive workflow.", + "params": { + "amount": "The amount of MMC tokens to be used in the agreement.", + "holder": "The address of the rights holder.", + "parties": "An array of addresses representing the parties involved in the agreement.", + "payload": "Additional data required for the agreement creation.", + "policyAddress": "The address of the policy contract being used." + }, + "returns": { + "_0": "attestationIds An array of registered attestations under the agreement." + } + }, + "setAuthority(address)": { + "details": "Transfers control to a new authority. The caller must be the current authority." + }, + "upgradeToAndCall(address,bytes)": { + "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", + "details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "initialize(address)": { "notice": "Initializes the proxy state." }, + "registerAccessAgreement(uint256,address,address,address[],bytes)": { + "notice": "Creates and registers a new access agreement in a single transaction." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@account-abstraction/=node_modules/@account-abstraction/", + "@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/", + "@ethsign/=node_modules/@ethsign/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@synaps3/=node_modules/@synaps3/types/contracts/", + "@uniswap/=node_modules/@uniswap/", + "base64-sol/=node_modules/base64-sol/", + "forge-std/=lib/forge-std/src/", + "hardhat/=node_modules/hardhat/", + "solady/=lib/solady/src/" + ], + "optimizer": { "enabled": true, "runs": 20000 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "contracts/facades/AccessWorkflow.sol": "AccessWorkflow" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/facades/AccessWorkflow.sol": { + "keccak256": "0x7307825991759923678ba86a8ce58e6522e2b13c44db19ebb4574aeef8417508", + "urls": [ + "bzz-raw://df7e3bcf83697db234dcc22b9b13b7ac653b2e87ad1cb70a772f417cc59fd0a8", + "dweb:/ipfs/QmTVJo6Q4QnUtbu97uE531EjZLUZoVsRnZTKYgiwKUMe3T" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol": { + "keccak256": "0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373", + "urls": [ + "bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447", + "dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", + "urls": [ + "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", + "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol": { + "keccak256": "0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27", + "urls": [ + "bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e", + "dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", + "urls": [ + "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", + "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol": { + "keccak256": "0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4", + "urls": [ + "bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e", + "dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol": { + "keccak256": "0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6", + "urls": [ + "bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694", + "dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol": { + "keccak256": "0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2", + "urls": [ + "bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4", + "dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol": { + "keccak256": "0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030", + "urls": [ + "bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c", + "dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol": { + "keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7", + "urls": [ + "bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b", + "dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC165.sol": { + "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724", + "urls": [ + "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a", + "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol": { + "keccak256": "0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486", + "urls": [ + "bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d", + "dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC20.sol": { + "keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c", + "urls": [ + "bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba", + "dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { + "keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d", + "urls": [ + "bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196", + "dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { + "keccak256": "0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06", + "urls": [ + "bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c", + "dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { + "keccak256": "0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c", + "urls": [ + "bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa", + "dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", + "urls": [ + "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", + "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": { + "keccak256": "0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310", + "urls": [ + "bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862", + "dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", + "urls": [ + "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", + "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Errors.sol": { + "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", + "urls": [ + "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", + "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Panic.sol": { + "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", + "urls": [ + "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", + "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/StorageSlot.sol": { + "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97", + "urls": [ + "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b", + "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", + "urls": [ + "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", + "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", + "urls": [ + "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", + "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": { + "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", + "urls": [ + "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", + "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/types/Time.sol": { + "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", + "urls": [ + "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", + "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol": { + "keccak256": "0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f", + "urls": [ + "bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e", + "dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/financial/IAgreementManager.sol": { + "keccak256": "0xd6e6eecd11819f0031962e653d55ad529f616f0e4b57751623c2c7481bc4fa67", + "urls": [ + "bzz-raw://cfe472eae18ebebe8bdb62247dd951143742b963c196d863173d431a27e175ff", + "dweb:/ipfs/QmTMYXFTcLvim8KS3wwc15uwCDjjWXhDCcdmPQPWnq4qGk" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol": { + "keccak256": "0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02", + "urls": [ + "bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405", + "dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol": { + "keccak256": "0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e", + "urls": [ + "bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6", + "dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/libraries/FinancialOps.sol": { + "keccak256": "0x562c5b305577ec5b57c5fba5df98afdaba99d7871772962502e0959852e92215", + "urls": [ + "bzz-raw://d37937cd5fe0432f714aebba49d342dab1e9577c9d1edc3fe568a02e636e1a3d", + "dweb:/ipfs/QmVteEKdVkvwKKEHyweJWbns75LU3jsqrQtAhcHY7eTwhX" + ], + "license": "GPL-3.0-or-later" + }, + "node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol": { + "keccak256": "0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411", + "urls": [ + "bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2", + "dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/Constants.sol": { + "keccak256": "0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e", + "urls": [ + "bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1", + "dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/Types.sol": { + "keccak256": "0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1", + "urls": [ + "bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf", + "dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol": { + "keccak256": "0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df", + "urls": [ + "bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2", + "dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "storageLayout": { "storage": [], "types": {} }, + "ast": { + "absolutePath": "contracts/facades/AccessWorkflow.sol", + "id": 1289, + "exportedSymbols": { + "AccessControlledUpgradeable": [51361], + "AccessWorkflow": [1288], + "FinancialOps": [50725], + "IAgreementManager": [50235], + "IERC20": [44896], + "IPolicy": [50308], + "IRightsPolicyManager": [50447], + "Initializable": [43521], + "LoopOps": [50745], + "T": [51233], + "UUPSUpgradeable": [43703] + }, + "nodeType": "SourceUnit", + "src": "32:4833:6", + "nodes": [ + { + "id": 1086, + "nodeType": "PragmaDirective", + "src": "32:23:6", + "nodes": [], + "literals": ["solidity", "0.8", ".26"] + }, + { + "id": 1088, + "nodeType": "ImportDirective", + "src": "57:71:6", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/interfaces/IERC20.sol", + "file": "@openzeppelin/contracts/interfaces/IERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 44431, + "symbolAliases": [ + { + "foreign": { + "id": 1087, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44896, + "src": "66:6:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1090, + "nodeType": "ImportDirective", + "src": "129:98:6", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 43522, + "symbolAliases": [ + { + "foreign": { + "id": 1089, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43521, + "src": "138:13:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1092, + "nodeType": "ImportDirective", + "src": "228:102:6", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 43704, + "symbolAliases": [ + { + "foreign": { + "id": 1091, + "name": "UUPSUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43703, + "src": "237:15:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1094, + "nodeType": "ImportDirective", + "src": "331:115:6", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "file": "@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 51362, + "symbolAliases": [ + { + "foreign": { + "id": 1093, + "name": "AccessControlledUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51361, + "src": "340:27:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1096, + "nodeType": "ImportDirective", + "src": "448:96:6", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol", + "file": "@synaps3/core/interfaces/rights/IRightsPolicyManager.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 50448, + "symbolAliases": [ + { + "foreign": { + "id": 1095, + "name": "IRightsPolicyManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50447, + "src": "457:20:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1098, + "nodeType": "ImportDirective", + "src": "545:72:6", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/libraries/FinancialOps.sol", + "file": "@synaps3/core/libraries/FinancialOps.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 50726, + "symbolAliases": [ + { + "foreign": { + "id": 1097, + "name": "FinancialOps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50725, + "src": "554:12:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1100, + "nodeType": "ImportDirective", + "src": "618:62:6", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol", + "file": "@synaps3/core/libraries/LoopOps.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 50746, + "symbolAliases": [ + { + "foreign": { + "id": 1099, + "name": "LoopOps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50745, + "src": "627:7:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1102, + "nodeType": "ImportDirective", + "src": "681:93:6", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/interfaces/financial/IAgreementManager.sol", + "file": "@synaps3/core/interfaces/financial/IAgreementManager.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 50236, + "symbolAliases": [ + { + "foreign": { + "id": 1101, + "name": "IAgreementManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50235, + "src": "690:17:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1104, + "nodeType": "ImportDirective", + "src": "775:72:6", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol", + "file": "@synaps3/core/interfaces/policies/IPolicy.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 50309, + "symbolAliases": [ + { + "foreign": { + "id": 1103, + "name": "IPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50308, + "src": "784:7:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1106, + "nodeType": "ImportDirective", + "src": "848:55:6", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/primitives/Types.sol", + "file": "@synaps3/core/primitives/Types.sol", + "nameLocation": "-1:-1:-1", + "scope": 1289, + "sourceUnit": 51234, + "symbolAliases": [ + { + "foreign": { + "id": 1105, + "name": "T", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51233, + "src": "857:1:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1288, + "nodeType": "ContractDefinition", + "src": "1218:3646:6", + "nodes": [ + { + "id": 1116, + "nodeType": "UsingForDirective", + "src": "1311:31:6", + "nodes": [], + "global": false, + "libraryName": { + "id": 1114, + "name": "FinancialOps", + "nameLocations": ["1317:12:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50725, + "src": "1317:12:6" + }, + "typeName": { + "id": 1115, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1334:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + } + }, + { + "id": 1120, + "nodeType": "VariableDeclaration", + "src": "1414:59:6", + "nodes": [], + "constant": false, + "documentation": { + "id": 1117, + "nodeType": "StructuredDocumentation", + "src": "1348:61:6", + "text": "@custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "functionSelector": "f1bdc452", + "mutability": "immutable", + "name": "RIGHTS_POLICY_MANAGER", + "nameLocation": "1452:21:6", + "scope": 1288, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + }, + "typeName": { + "id": 1119, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1118, + "name": "IRightsPolicyManager", + "nameLocations": ["1414:20:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50447, + "src": "1414:20:6" + }, + "referencedDeclaration": 50447, + "src": "1414:20:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "visibility": "public" + }, + { + "id": 1124, + "nodeType": "VariableDeclaration", + "src": "1545:52:6", + "nodes": [], + "constant": false, + "documentation": { + "id": 1121, + "nodeType": "StructuredDocumentation", + "src": "1479:61:6", + "text": "@custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "functionSelector": "00efe0c3", + "mutability": "immutable", + "name": "AGREEMENT_MANAGER", + "nameLocation": "1580:17:6", + "scope": 1288, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgreementManager_$50235", + "typeString": "contract IAgreementManager" + }, + "typeName": { + "id": 1123, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1122, + "name": "IAgreementManager", + "nameLocations": ["1545:17:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50235, + "src": "1545:17:6" + }, + "referencedDeclaration": 50235, + "src": "1545:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgreementManager_$50235", + "typeString": "contract IAgreementManager" + } + }, + "visibility": "public" + }, + { + "id": 1128, + "nodeType": "VariableDeclaration", + "src": "1669:27:6", + "nodes": [], + "constant": false, + "documentation": { + "id": 1125, + "nodeType": "StructuredDocumentation", + "src": "1603:61:6", + "text": "@custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "functionSelector": "44dea5a7", + "mutability": "immutable", + "name": "MMC", + "nameLocation": "1693:3:6", + "scope": 1288, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44896", + "typeString": "contract IERC20" + }, + "typeName": { + "id": 1127, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1126, + "name": "IERC20", + "nameLocations": ["1669:6:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 44896, + "src": "1669:6:6" + }, + "referencedDeclaration": 44896, + "src": "1669:6:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44896", + "typeString": "contract IERC20" + } + }, + "visibility": "public" + }, + { + "id": 1139, + "nodeType": "EventDefinition", + "src": "2041:115:6", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 1129, + "nodeType": "StructuredDocumentation", + "src": "1703:333:6", + "text": "@notice Emitted when a policy agreement workflow is successfully completed.\n @param holder The address of the rights holder.\n @param policyAddress The address of the registered policy.\n @param proof The unique identifier of the agreement.\n @param amount The amount of MMC tokens used in the agreement." + }, + "eventSelector": "8cd9a647baec62fb1bd2494f394b09cfbf79545a0b3ba82a6ce7b934fc407789", + "name": "AccessAgreementCreated", + "nameLocation": "2047:22:6", + "parameters": { + "id": 1138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1131, + "indexed": true, + "mutability": "mutable", + "name": "holder", + "nameLocation": "2086:6:6", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2070:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1130, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2070:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1133, + "indexed": true, + "mutability": "mutable", + "name": "policyAddress", + "nameLocation": "2110:13:6", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2094:29:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1132, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2094:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1135, + "indexed": false, + "mutability": "mutable", + "name": "proof", + "nameLocation": "2133:5:6", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2125:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1134, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2125:7:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1137, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2148:6:6", + "nodeType": "VariableDeclaration", + "scope": 1139, + "src": "2140:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1136, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2140:7:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "2069:86:6" + } + }, + { + "id": 1171, + "nodeType": "FunctionDefinition", + "src": "2215:476:6", + "nodes": [], + "body": { + "id": 1170, + "nodeType": "Block", + "src": "2295:396:6", + "nodes": [], + "statements": [ + { + "documentation": "https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5", + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1149, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43489, + "src": "2495:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2495:22:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 1151, + "nodeType": "ExpressionStatement", + "src": "2495:22:6" + }, + { + "expression": { + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1152, + "name": "RIGHTS_POLICY_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "2527:21:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1154, + "name": "rightsPolicyManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1142, + "src": "2572:19:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 1153, + "name": "IRightsPolicyManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50447, + "src": "2551:20:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IRightsPolicyManager_$50447_$", + "typeString": "type(contract IRightsPolicyManager)" + } + }, + "id": 1155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2551:41:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "src": "2527:65:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "id": 1157, + "nodeType": "ExpressionStatement", + "src": "2527:65:6" + }, + { + "expression": { + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1158, + "name": "AGREEMENT_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "2602:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgreementManager_$50235", + "typeString": "contract IAgreementManager" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1160, + "name": "agreementManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1144, + "src": "2640:16:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 1159, + "name": "IAgreementManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50235, + "src": "2622:17:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAgreementManager_$50235_$", + "typeString": "type(contract IAgreementManager)" + } + }, + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2622:35:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgreementManager_$50235", + "typeString": "contract IAgreementManager" + } + }, + "src": "2602:55:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgreementManager_$50235", + "typeString": "contract IAgreementManager" + } + }, + "id": 1163, + "nodeType": "ExpressionStatement", + "src": "2602:55:6" + }, + { + "expression": { + "id": 1168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1164, + "name": "MMC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1128, + "src": "2667:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44896", + "typeString": "contract IERC20" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1166, + "name": "mmc", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1146, + "src": "2680:3:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 1165, + "name": "IERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44896, + "src": "2673:6:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20_$44896_$", + "typeString": "type(contract IERC20)" + } + }, + "id": 1167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2673:11:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44896", + "typeString": "contract IERC20" + } + }, + "src": "2667:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44896", + "typeString": "contract IERC20" + } + }, + "id": 1169, + "nodeType": "ExpressionStatement", + "src": "2667:17:6" + } + ] + }, + "documentation": { + "id": 1140, + "nodeType": "StructuredDocumentation", + "src": "2162:48:6", + "text": "@custom:oz-upgrades-unsafe-allow constructor" + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 1147, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1142, + "mutability": "mutable", + "name": "rightsPolicyManager", + "nameLocation": "2235:19:6", + "nodeType": "VariableDeclaration", + "scope": 1171, + "src": "2227:27:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1141, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2227:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1144, + "mutability": "mutable", + "name": "agreementManager", + "nameLocation": "2264:16:6", + "nodeType": "VariableDeclaration", + "scope": 1171, + "src": "2256:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2256:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1146, + "mutability": "mutable", + "name": "mmc", + "nameLocation": "2290:3:6", + "nodeType": "VariableDeclaration", + "scope": 1171, + "src": "2282:11:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1145, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2282:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2226:68:6" + }, + "returnParameters": { + "id": 1148, + "nodeType": "ParameterList", + "parameters": [], + "src": "2295:0:6" + }, + "scope": 1288, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 1187, + "nodeType": "FunctionDefinition", + "src": "2742:151:6", + "nodes": [], + "body": { + "id": 1186, + "nodeType": "Block", + "src": "2804:89:6", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1179, + "name": "__UUPSUpgradeable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43575, + "src": "2814:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1180, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2814:24:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 1181, + "nodeType": "ExpressionStatement", + "src": "2814:24:6" + }, + { + "expression": { + "arguments": [ + { + "id": 1183, + "name": "accessManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1174, + "src": "2872:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "id": 1182, + "name": "__AccessControlled_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51296, + "src": "2848:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2848:38:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 1185, + "nodeType": "ExpressionStatement", + "src": "2848:38:6" + } + ] + }, + "documentation": { + "id": 1172, + "nodeType": "StructuredDocumentation", + "src": "2697:40:6", + "text": "@notice Initializes the proxy state." + }, + "functionSelector": "c4d66de8", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1177, + "kind": "modifierInvocation", + "modifierName": { + "id": 1176, + "name": "initializer", + "nameLocations": ["2792:11:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43375, + "src": "2792:11:6" + }, + "nodeType": "ModifierInvocation", + "src": "2792:11:6" + } + ], + "name": "initialize", + "nameLocation": "2751:10:6", + "parameters": { + "id": 1175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1174, + "mutability": "mutable", + "name": "accessManager", + "nameLocation": "2770:13:6", + "nodeType": "VariableDeclaration", + "scope": 1187, + "src": "2762:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1173, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2762:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2761:23:6" + }, + "returnParameters": { + "id": 1178, + "nodeType": "ParameterList", + "parameters": [], + "src": "2804:0:6" + }, + "scope": 1288, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 1277, + "nodeType": "FunctionDefinition", + "src": "3558:916:6", + "nodes": [], + "body": { + "id": 1276, + "nodeType": "Block", + "src": "3778:696:6", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1206, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1190, + "src": "3796:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3805:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3796:10:6", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + { + "hexValue": "416d6f756e742063616e6e6f74206265207a65726f", + "id": 1209, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3808:23:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8beea76deddeff1012d90e1e8da369393f885b0575eb094a33da9912cc4bbb8b", + "typeString": "literal_string \"Amount cannot be zero\"" + }, + "value": "Amount cannot be zero" + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_bool", "typeString": "bool" }, + { + "typeIdentifier": "t_stringliteral_8beea76deddeff1012d90e1e8da369393f885b0575eb094a33da9912cc4bbb8b", + "typeString": "literal_string \"Amount cannot be zero\"" + } + ], + "id": 1205, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [-18, -18, -18], + "referencedDeclaration": -18, + "src": "3788:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3788:44:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 1211, + "nodeType": "ExpressionStatement", + "src": "3788:44:6" + }, + { + "expression": { + "arguments": [ + { + "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1213, + "name": "policyAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "3850:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1216, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3875:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } + ], + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3867:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3867:7:6", + "typeDescriptions": {} + } + }, + "id": 1217, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3867:10:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3850:27:6", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + { + "hexValue": "506f6c69637920616464726573732063616e6e6f74206265207a65726f", + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3879:31:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8a6661da13a8d67bc98e42ccc9fa9bc111e1eed8bd8a52fe22b2daae01e33d93", + "typeString": "literal_string \"Policy address cannot be zero\"" + }, + "value": "Policy address cannot be zero" + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_bool", "typeString": "bool" }, + { + "typeIdentifier": "t_stringliteral_8a6661da13a8d67bc98e42ccc9fa9bc111e1eed8bd8a52fe22b2daae01e33d93", + "typeString": "literal_string \"Policy address cannot be zero\"" + } + ], + "id": 1212, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [-18, -18, -18], + "referencedDeclaration": -18, + "src": "3842:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3842:69:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 1221, + "nodeType": "ExpressionStatement", + "src": "3842:69:6" + }, + { + "expression": { + "arguments": [ + { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1223, + "name": "parties", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1197, + "src": "3929:7:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 1224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3937:6:6", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3929:14:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3946:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3929:18:6", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + { + "hexValue": "506172746965732063616e6e6f7420626520656d707479", + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3949:25:6", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d35ccab2b07909e583991ce966a16acaa97b44c1d919c7f20eecf9f30f3804ae", + "typeString": "literal_string \"Parties cannot be empty\"" + }, + "value": "Parties cannot be empty" + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_bool", "typeString": "bool" }, + { + "typeIdentifier": "t_stringliteral_d35ccab2b07909e583991ce966a16acaa97b44c1d919c7f20eecf9f30f3804ae", + "typeString": "literal_string \"Parties cannot be empty\"" + } + ], + "id": 1222, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [-18, -18, -18], + "referencedDeclaration": -18, + "src": "3921:7:6", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3921:54:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 1229, + "nodeType": "ExpressionStatement", + "src": "3921:54:6" + }, + { + "assignments": [1231], + "declarations": [ + { + "constant": false, + "id": 1231, + "mutability": "mutable", + "name": "currency", + "nameLocation": "3994:8:6", + "nodeType": "VariableDeclaration", + "scope": 1276, + "src": "3986:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3986:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1236, + "initialValue": { + "arguments": [ + { + "id": 1234, + "name": "MMC", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1128, + "src": "4013:3:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20_$44896", + "typeString": "contract IERC20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IERC20_$44896", + "typeString": "contract IERC20" + } + ], + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4005:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4005:7:6", + "typeDescriptions": {} + } + }, + "id": 1235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4005:12:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3986:31:6" + }, + { + "assignments": [1238], + "declarations": [ + { + "constant": false, + "id": 1238, + "mutability": "mutable", + "name": "broker", + "nameLocation": "4035:6:6", + "nodeType": "VariableDeclaration", + "scope": 1276, + "src": "4027:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1237, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4027:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1243, + "initialValue": { + "arguments": [ + { + "id": 1241, + "name": "RIGHTS_POLICY_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "4052:21:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + ], + "id": 1240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4044:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1239, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4044:7:6", + "typeDescriptions": {} + } + }, + "id": 1242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4044:30:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4027:47:6" + }, + { + "assignments": [1245], + "declarations": [ + { + "constant": false, + "id": 1245, + "mutability": "mutable", + "name": "proof", + "nameLocation": "4170:5:6", + "nodeType": "VariableDeclaration", + "scope": 1276, + "src": "4162:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4162:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1254, + "initialValue": { + "arguments": [ + { + "id": 1248, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1190, + "src": "4212:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1249, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1231, + "src": "4220:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1250, + "name": "broker", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1238, + "src": "4230:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1251, + "name": "parties", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1197, + "src": "4238:7:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + { + "id": 1252, + "name": "payload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1199, + "src": "4247:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + }, + { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } + ], + "expression": { + "id": 1246, + "name": "AGREEMENT_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1124, + "src": "4178:17:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgreementManager_$50235", + "typeString": "contract IAgreementManager" + } + }, + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4196:15:6", + "memberName": "createAgreement", + "nodeType": "MemberAccess", + "referencedDeclaration": 50216, + "src": "4178:33:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$_t_array$_t_address_$dyn_memory_ptr_$_t_bytes_memory_ptr_$returns$_t_uint256_$", + "typeString": "function (uint256,address,address,address[] memory,bytes memory) external returns (uint256)" + } + }, + "id": 1253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4178:77:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4162:93:6" + }, + { + "assignments": [1259], + "declarations": [ + { + "constant": false, + "id": 1259, + "mutability": "mutable", + "name": "attestations", + "nameLocation": "4282:12:6", + "nodeType": "VariableDeclaration", + "scope": 1276, + "src": "4265:29:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4265:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1258, + "nodeType": "ArrayTypeName", + "src": "4265:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "id": 1266, + "initialValue": { + "arguments": [ + { + "id": 1262, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "4334:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1263, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1192, + "src": "4341:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1264, + "name": "policyAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "4349:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "expression": { + "id": 1260, + "name": "RIGHTS_POLICY_MANAGER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1120, + "src": "4297:21:6", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyManager_$50447", + "typeString": "contract IRightsPolicyManager" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4319:14:6", + "memberName": "registerPolicy", + "nodeType": "MemberAccess", + "referencedDeclaration": 50446, + "src": "4297:36:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_uint256_$_t_address_$_t_address_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (uint256,address,address) external returns (uint256[] memory)" + } + }, + "id": 1265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4297:66:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4265:98:6" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1268, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1192, + "src": "4401:6:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1269, + "name": "policyAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1194, + "src": "4409:13:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1270, + "name": "proof", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "4424:5:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1271, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1190, + "src": "4431:6:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "id": 1267, + "name": "AccessAgreementCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1139, + "src": "4378:22:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256,uint256)" + } + }, + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4378:60:6", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 1273, + "nodeType": "EmitStatement", + "src": "4373:65:6" + }, + { + "expression": { + "id": 1274, + "name": "attestations", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1259, + "src": "4455:12:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 1204, + "id": 1275, + "nodeType": "Return", + "src": "4448:19:6" + } + ] + }, + "documentation": { + "id": 1188, + "nodeType": "StructuredDocumentation", + "src": "2899:654:6", + "text": "@notice Creates and registers a new access agreement in a single transaction.\n @dev Encapsulates agreement creation and access policy registration into one cohesive workflow.\n @param amount The amount of MMC tokens to be used in the agreement.\n @param holder The address of the rights holder.\n @param policyAddress The address of the policy contract being used.\n @param parties An array of addresses representing the parties involved in the agreement.\n @param payload Additional data required for the agreement creation.\n @return attestationIds An array of registered attestations under the agreement." + }, + "functionSelector": "290ed221", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerAccessAgreement", + "nameLocation": "3567:23:6", + "parameters": { + "id": 1200, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1190, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3608:6:6", + "nodeType": "VariableDeclaration", + "scope": 1277, + "src": "3600:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3600:7:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1192, + "mutability": "mutable", + "name": "holder", + "nameLocation": "3632:6:6", + "nodeType": "VariableDeclaration", + "scope": 1277, + "src": "3624:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3624:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1194, + "mutability": "mutable", + "name": "policyAddress", + "nameLocation": "3656:13:6", + "nodeType": "VariableDeclaration", + "scope": 1277, + "src": "3648:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1193, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3648:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1197, + "mutability": "mutable", + "name": "parties", + "nameLocation": "3698:7:6", + "nodeType": "VariableDeclaration", + "scope": 1277, + "src": "3679:26:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 1195, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3679:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "id": 1196, + "nodeType": "ArrayTypeName", + "src": "3679:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1199, + "mutability": "mutable", + "name": "payload", + "nameLocation": "3730:7:6", + "nodeType": "VariableDeclaration", + "scope": 1277, + "src": "3715:22:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1198, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3715:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3590:153:6" + }, + "returnParameters": { + "id": 1204, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1203, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1277, + "src": "3760:16:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3760:7:6", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "id": 1202, + "nodeType": "ArrayTypeName", + "src": "3760:9:6", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "3759:18:6" + }, + "scope": 1288, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 1287, + "nodeType": "FunctionDefinition", + "src": "4778:84:6", + "nodes": [], + "body": { + "id": 1286, + "nodeType": "Block", + "src": "4860:2:6", + "nodes": [], + "statements": [] + }, + "baseFunctions": [43657], + "documentation": { + "id": 1278, + "nodeType": "StructuredDocumentation", + "src": "4480:293:6", + "text": "@notice Function that should revert when msg.sender is not authorized to upgrade the contract.\n @param newImplementation The address of the new implementation contract.\n @dev See https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable-_authorizeUpgrade-address-" + }, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1284, + "kind": "modifierInvocation", + "modifierName": { + "id": 1283, + "name": "onlyAdmin", + "nameLocations": ["4850:9:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51279, + "src": "4850:9:6" + }, + "nodeType": "ModifierInvocation", + "src": "4850:9:6" + } + ], + "name": "_authorizeUpgrade", + "nameLocation": "4787:17:6", + "overrides": { + "id": 1282, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4841:8:6" + }, + "parameters": { + "id": 1281, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1280, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "4813:17:6", + "nodeType": "VariableDeclaration", + "scope": 1287, + "src": "4805:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1279, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4805:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "4804:27:6" + }, + "returnParameters": { + "id": 1285, + "nodeType": "ParameterList", + "parameters": [], + "src": "4860:0:6" + }, + "scope": 1288, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1108, + "name": "Initializable", + "nameLocations": ["1245:13:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43521, + "src": "1245:13:6" + }, + "id": 1109, + "nodeType": "InheritanceSpecifier", + "src": "1245:13:6" + }, + { + "baseName": { + "id": 1110, + "name": "UUPSUpgradeable", + "nameLocations": ["1260:15:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43703, + "src": "1260:15:6" + }, + "id": 1111, + "nodeType": "InheritanceSpecifier", + "src": "1260:15:6" + }, + { + "baseName": { + "id": 1112, + "name": "AccessControlledUpgradeable", + "nameLocations": ["1277:27:6"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51361, + "src": "1277:27:6" + }, + "id": 1113, + "nodeType": "InheritanceSpecifier", + "src": "1277:27:6" + } + ], + "canonicalName": "AccessWorkflow", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1107, + "nodeType": "StructuredDocumentation", + "src": "905:313:6", + "text": "@title AccessWorkflow\n @notice Handles comprehensive workflows for access management, including agreement creation, policy registration, and related operations.\n @dev This contract provides a unified interface to interact with multiple core protocol components involved in access and policy management." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [1288, 51361, 43267, 43871, 43749, 43703, 44440, 43521], + "name": "AccessWorkflow", + "nameLocation": "1227:14:6", + "scope": 1289, + "usedErrors": [ + 43284, 43287, 43548, 43553, 43842, 43848, 43852, 44498, 44511, 45462, 45724, 51261 + ], + "usedEvents": [1139, 43292, 43838, 44413] + } + ], + "license": "MIT" + }, + "id": 6 +} diff --git a/src/config/abi/LedgerVault.json b/src/config/abi/LedgerVault.json index 9994dc0b1..58ddb4b63 100644 --- a/src/config/abi/LedgerVault.json +++ b/src/config/abi/LedgerVault.json @@ -1 +1,5326 @@ -{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"authority","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"claim","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"deposit","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getBalance","inputs":[{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getLedgerBalance","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"accessManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isConsumingScheduledOp","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"lock","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"release","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"setAuthority","inputs":[{"name":"newAuthority","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transfer","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"withdraw","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"event","name":"AuthorityUpdated","inputs":[{"name":"authority","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FundsClaimed","inputs":[{"name":"claimer","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FundsDeposited","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"origin","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FundsLocked","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FundsReleased","inputs":[{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FundsTransferred","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"origin","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"FundsWithdrawn","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"origin","type":"address","indexed":true,"internalType":"address"},{"name":"amount","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"currency","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessManagedInvalidAuthority","inputs":[{"name":"authority","type":"address","internalType":"address"}]},{"type":"error","name":"AccessManagedRequiredDelay","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"delay","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"AccessManagedUnauthorized","inputs":[{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailDuringDeposit","inputs":[{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"FailDuringTransfer","inputs":[{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidUnauthorizedOperation","inputs":[{"name":"","type":"string","internalType":"string"}]},{"type":"error","name":"NoFundsToClaim","inputs":[]},{"type":"error","name":"NoFundsToLock","inputs":[]},{"type":"error","name":"NoFundsToRelease","inputs":[]},{"type":"error","name":"NoFundsToTransfer","inputs":[]},{"type":"error","name":"NoFundsToWithdraw","inputs":[]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]},{"type":"error","name":"SafeERC20FailedOperation","inputs":[{"name":"token","type":"address","internalType":"address"}]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60a080604052346100e857306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c166100d9576002600160401b03196001600160401b03821601610073575b60405161202590816100ed8239608051818181610bb50152610cd40152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610054565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806315f41501146111f75780634bbc170a146110a65780634f1ef28614610c2d57806352d1902d14610b7057806369328dec146109d85780637a9e5e4b146108e35780638fb36037146108325780639e96a26014610747578063ad3cb1cc14610695578063bf7e214f14610625578063c4d66de814610351578063d949b84414610287578063dbba0f0114610190578063f45346dc1461010c5763f8b2cb4f146100be575f80fd5b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085760206101006100fa6112e1565b30611933565b604051908152f35b5f80fd5b3461010857602061012861011f36611304565b80939133611c82565b916101348184846117aa565b6040805184815273ffffffffffffffffffffffffffffffffffffffff92831660208201523393909216917f2d26b12df00031a51cbd91c763887ccf6992992e54b2701fbe5bd7b2c738a4e291819081015b0390a3604051908152f35b346101085761019e36611304565b91335f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2073ffffffffffffffffffffffffffffffffffffffff84165f526020528160405f20541061025f57826101ff6020948433611819565b61020a8184846117aa565b6040805184815273ffffffffffffffffffffffffffffffffffffffff92831660208201523393909216917fe93251c2a6f732155f1cd84502a2c66884e81835c0d4768a10d81fcd79510be79181908101610185565b7fd1df6ed0000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101085760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576102be6112e1565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101085761033b73ffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2090565b91165f52602052602060405f2054604051908152f35b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576103886112e1565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff82168015908161061d575b6001149081610613575b15908161060a575b506105e257818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561058d575b5061044b611c2b565b610453611c2b565b61045b611c2b565b610463611c2b565b61046b611c2b565b610473611c2b565b61047b611c2b565b61048481611888565b61048c611c2b565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556104fa57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610442565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015846103d9565b303b1591506103d1565b8491506103c7565b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010857602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085760408051906106d28183611376565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346101085761075536611304565b61075f363361141e565b73ffffffffffffffffffffffffffffffffffffffff83165f525f60205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f20541061080a576107b4818360209561174a565b6107bf8183336117aa565b73ffffffffffffffffffffffffffffffffffffffff6040519183835216907f07b798e47a298c7004dfddcb1196e6b8f9a6488dd1db7eeedbc8a4c3f4831563843392a3604051908152f35b7fdff46e2b000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156108db5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6108b1565b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085761091a6112e1565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036109ac57803b1561096a5761096890611888565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b34610108576109e636611304565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c610b485760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d335f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f205410610b2057602092610a90828433611819565b610a9b828483611a4a565b73ffffffffffffffffffffffffffffffffffffffff6040519284845216917f823b7dcdbd5806d97a2a3c64fe281a8d31155b2a7dade87fdaa7437c79c12b118573ffffffffffffffffffffffffffffffffffffffff33941692a45f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d604051908152f35b7f67e3990d000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610c055760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010857610c5f6112e1565b6024359067ffffffffffffffff8211610108573660238301121561010857816004013590610c8c826113e4565b91610c9a6040519384611376565b8083526020830193366024838301011161010857815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115611064575b50610c05576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115611059575f91611029575b5015610fa55773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610f71575b50610e0b57847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610f465750823b15610f1b57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610ee9575f8091610968945190845af4610ee36119e4565b91611ecf565b50505034610ef357005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610f9d575b81610f8d60209383611376565b8101031261010857519086610dda565b3d9150610f80565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b61104b915060403d604011611052575b6110438183611376565b810190611a20565b5084610d85565b503d611039565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610cff565b34610108576110b436611304565b6110be363361141e565b6111058373ffffffffffffffffffffffffffffffffffffffff165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2090565b73ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f2054106111cf5773ffffffffffffffffffffffffffffffffffffffff8361114f8385602097611819565b16805f525f845260405f2073ffffffffffffffffffffffffffffffffffffffff83165f52845260405f2061118484825461179d565b90557fa372d74f11f208f0466eb410f699d101da6ccbe3717f711988fb355eac737f628473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b7fa9e575de000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101085761120536611304565b61120f363361141e565b73ffffffffffffffffffffffffffffffffffffffff8316805f525f60205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f526020528260405f2054106112b95761127082848661126b838360209a61174a565b6117aa565b7f29f33620d8742cb2079bba3afb003116b7db185e4f58a4bd6bc4291b6d99fcbc8473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b7fb7cc22bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361010857565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126101085760043573ffffffffffffffffffffffffffffffffffffffff8116810361010857906024359060443573ffffffffffffffffffffffffffffffffffffffff811681036101085790565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116113b757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00549173ffffffffffffffffffffffffffffffffffffffff83169282600411610108575f805f806040519573ffffffffffffffffffffffffffffffffffffffff60208801917fb700961300000000000000000000000000000000000000000000000000000000835216968760248201523060448201527fffffffff000000000000000000000000000000000000000000000000000000008335166064820152606481526114ed608482611376565b5190895afa6114fa6119e4565b906116b2575b501561150e575b5050505050565b63ffffffff1615611686577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055823b15610108577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0925f92836064601f94604051978896879586937f94c7d7ee00000000000000000000000000000000000000000000000000000000855260048501526040602485015280604485015280868686013785858286010152011681010301925af1801561105957611676575b507fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0054167ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00555f80808080611507565b5f61168091611376565b5f611605565b507f068ca9d8000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8051929091604084106116da5750506020806116d2938301019101611a20565b905b5f611500565b91909260208110156116ee575b50506116d4565b81925090602091810103126101085760206117099101611a13565b5f806116e7565b9190820391821161171d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff90929192165f525f60205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f20918254611710565b9055565b9190820180921161171d57565b73ffffffffffffffffffffffffffffffffffffffff90929192165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f2091825461179d565b73ffffffffffffffffffffffffffffffffffffffff90929192165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f20918254611710565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b9073ffffffffffffffffffffffffffffffffffffffff169081156119de5773ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611059575f916119af575090565b90506020813d6020116119d6575b816119ca60209383611376565b81010312610108575190565b3d91506119bd565b90503190565b3d15611a0e573d906119f5826113e4565b91611a036040519384611376565b82523d5f602084013e565b606090565b5190811515820361010857565b9190826040910312610108576020611a3783611a13565b92015163ffffffff811681036101085790565b90918215611bcd5782611a5d8230611933565b10611b6f5773ffffffffffffffffffffffffffffffffffffffff168015611ae257611ae09273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252611adb606483611376565b611f68565b565b505f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b096119e4565b5015611b1157565b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152fd5b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e73756666696369656e742062616c616e63652e00000000000000000000006044820152fd5b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f496e76616c6964207a65726f20616d6f756e7420746f207472616e736665722e6044820152fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615611c5a57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9190918215611de95773ffffffffffffffffffffffffffffffffffffffff8216918215611d7e57611cb39082611e47565b8311611d2057611d1d9173ffffffffffffffffffffffffffffffffffffffff604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015283606483015260648252611adb608483611376565b90565b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f416d6f756e74206578636565647320616c6c6f77616e63652e000000000000006044820152fd5b505050348111611d8b5790565b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f416d6f756e7420657863656564732062616c616e63652e0000000000000000006044820152fd5b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c6964207a65726f20616d6f756e742e0000000000000000000000006044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff16908115611ec95773ffffffffffffffffffffffffffffffffffffffff604460209260405194859384927fdd62ed3e0000000000000000000000000000000000000000000000000000000084521660048301523060248301525afa908115611059575f916119af575090565b50503490565b90611f0c5750805115611ee457805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611f5f575b611f1d575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611f15565b905f602091828151910182855af115611059575f513d611fe6575073ffffffffffffffffffffffffffffffffffffffff81163b155b611fa45750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415611f9d56fea26469706673582212209c9a1eda87eb80f8aaecb5fc01f998c3f9bbb320844e92b87497d7da9cc15c6464736f6c634300081a0033","sourceMap":"1146:9161:54:-:0;;;;;;;1171:4:93;1163:13;;8837:64:92;1146:9161:54;;;;;;7896:76:92;;-1:-1:-1;;;;;;;;;;;1146:9161:54;;7985:34:92;7981:146;;-1:-1:-1;1146:9161:54;;;;;;;;1163:13:93;1146:9161:54;;;;;;;;;;;7981:146:92;-1:-1:-1;;;;;;1146:9161:54;-1:-1:-1;;;;;1146:9161:54;;;8837:64:92;1146:9161:54;;;8087:29:92;;1146:9161:54;;8087:29:92;7981:146;;;;7896:76;7938:23;;;-1:-1:-1;7938:23:92;;-1:-1:-1;7938:23:92;1146:9161:54;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806315f41501146111f75780634bbc170a146110a65780634f1ef28614610c2d57806352d1902d14610b7057806369328dec146109d85780637a9e5e4b146108e35780638fb36037146108325780639e96a26014610747578063ad3cb1cc14610695578063bf7e214f14610625578063c4d66de814610351578063d949b84414610287578063dbba0f0114610190578063f45346dc1461010c5763f8b2cb4f146100be575f80fd5b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085760206101006100fa6112e1565b30611933565b604051908152f35b5f80fd5b3461010857602061012861011f36611304565b80939133611c82565b916101348184846117aa565b6040805184815273ffffffffffffffffffffffffffffffffffffffff92831660208201523393909216917f2d26b12df00031a51cbd91c763887ccf6992992e54b2701fbe5bd7b2c738a4e291819081015b0390a3604051908152f35b346101085761019e36611304565b91335f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2073ffffffffffffffffffffffffffffffffffffffff84165f526020528160405f20541061025f57826101ff6020948433611819565b61020a8184846117aa565b6040805184815273ffffffffffffffffffffffffffffffffffffffff92831660208201523393909216917fe93251c2a6f732155f1cd84502a2c66884e81835c0d4768a10d81fcd79510be79181908101610185565b7fd1df6ed0000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101085760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576102be6112e1565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101085761033b73ffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2090565b91165f52602052602060405f2054604051908152f35b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576103886112e1565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff82168015908161061d575b6001149081610613575b15908161060a575b506105e257818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561058d575b5061044b611c2b565b610453611c2b565b61045b611c2b565b610463611c2b565b61046b611c2b565b610473611c2b565b61047b611c2b565b61048481611888565b61048c611c2b565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556104fa57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610442565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015846103d9565b303b1591506103d1565b8491506103c7565b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010857602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085760408051906106d28183611376565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346101085761075536611304565b61075f363361141e565b73ffffffffffffffffffffffffffffffffffffffff83165f525f60205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f20541061080a576107b4818360209561174a565b6107bf8183336117aa565b73ffffffffffffffffffffffffffffffffffffffff6040519183835216907f07b798e47a298c7004dfddcb1196e6b8f9a6488dd1db7eeedbc8a4c3f4831563843392a3604051908152f35b7fdff46e2b000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156108db5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6108b1565b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085761091a6112e1565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036109ac57803b1561096a5761096890611888565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b34610108576109e636611304565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c610b485760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d335f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f205410610b2057602092610a90828433611819565b610a9b828483611a4a565b73ffffffffffffffffffffffffffffffffffffffff6040519284845216917f823b7dcdbd5806d97a2a3c64fe281a8d31155b2a7dade87fdaa7437c79c12b118573ffffffffffffffffffffffffffffffffffffffff33941692a45f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d604051908152f35b7f67e3990d000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610c055760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010857610c5f6112e1565b6024359067ffffffffffffffff8211610108573660238301121561010857816004013590610c8c826113e4565b91610c9a6040519384611376565b8083526020830193366024838301011161010857815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115611064575b50610c05576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115611059575f91611029575b5015610fa55773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610f71575b50610e0b57847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610f465750823b15610f1b57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610ee9575f8091610968945190845af4610ee36119e4565b91611ecf565b50505034610ef357005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610f9d575b81610f8d60209383611376565b8101031261010857519086610dda565b3d9150610f80565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b61104b915060403d604011611052575b6110438183611376565b810190611a20565b5084610d85565b503d611039565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610cff565b34610108576110b436611304565b6110be363361141e565b6111058373ffffffffffffffffffffffffffffffffffffffff165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2090565b73ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f2054106111cf5773ffffffffffffffffffffffffffffffffffffffff8361114f8385602097611819565b16805f525f845260405f2073ffffffffffffffffffffffffffffffffffffffff83165f52845260405f2061118484825461179d565b90557fa372d74f11f208f0466eb410f699d101da6ccbe3717f711988fb355eac737f628473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b7fa9e575de000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101085761120536611304565b61120f363361141e565b73ffffffffffffffffffffffffffffffffffffffff8316805f525f60205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f526020528260405f2054106112b95761127082848661126b838360209a61174a565b6117aa565b7f29f33620d8742cb2079bba3afb003116b7db185e4f58a4bd6bc4291b6d99fcbc8473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b7fb7cc22bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361010857565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126101085760043573ffffffffffffffffffffffffffffffffffffffff8116810361010857906024359060443573ffffffffffffffffffffffffffffffffffffffff811681036101085790565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116113b757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00549173ffffffffffffffffffffffffffffffffffffffff83169282600411610108575f805f806040519573ffffffffffffffffffffffffffffffffffffffff60208801917fb700961300000000000000000000000000000000000000000000000000000000835216968760248201523060448201527fffffffff000000000000000000000000000000000000000000000000000000008335166064820152606481526114ed608482611376565b5190895afa6114fa6119e4565b906116b2575b501561150e575b5050505050565b63ffffffff1615611686577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055823b15610108577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0925f92836064601f94604051978896879586937f94c7d7ee00000000000000000000000000000000000000000000000000000000855260048501526040602485015280604485015280868686013785858286010152011681010301925af1801561105957611676575b507fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0054167ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00555f80808080611507565b5f61168091611376565b5f611605565b507f068ca9d8000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8051929091604084106116da5750506020806116d2938301019101611a20565b905b5f611500565b91909260208110156116ee575b50506116d4565b81925090602091810103126101085760206117099101611a13565b5f806116e7565b9190820391821161171d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff90929192165f525f60205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f20918254611710565b9055565b9190820180921161171d57565b73ffffffffffffffffffffffffffffffffffffffff90929192165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f2091825461179d565b73ffffffffffffffffffffffffffffffffffffffff90929192165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f20918254611710565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b9073ffffffffffffffffffffffffffffffffffffffff169081156119de5773ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611059575f916119af575090565b90506020813d6020116119d6575b816119ca60209383611376565b81010312610108575190565b3d91506119bd565b90503190565b3d15611a0e573d906119f5826113e4565b91611a036040519384611376565b82523d5f602084013e565b606090565b5190811515820361010857565b9190826040910312610108576020611a3783611a13565b92015163ffffffff811681036101085790565b90918215611bcd5782611a5d8230611933565b10611b6f5773ffffffffffffffffffffffffffffffffffffffff168015611ae257611ae09273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252611adb606483611376565b611f68565b565b505f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b096119e4565b5015611b1157565b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152fd5b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e73756666696369656e742062616c616e63652e00000000000000000000006044820152fd5b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f496e76616c6964207a65726f20616d6f756e7420746f207472616e736665722e6044820152fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615611c5a57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9190918215611de95773ffffffffffffffffffffffffffffffffffffffff8216918215611d7e57611cb39082611e47565b8311611d2057611d1d9173ffffffffffffffffffffffffffffffffffffffff604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015283606483015260648252611adb608483611376565b90565b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f416d6f756e74206578636565647320616c6c6f77616e63652e000000000000006044820152fd5b505050348111611d8b5790565b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f416d6f756e7420657863656564732062616c616e63652e0000000000000000006044820152fd5b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c6964207a65726f20616d6f756e742e0000000000000000000000006044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff16908115611ec95773ffffffffffffffffffffffffffffffffffffffff604460209260405194859384927fdd62ed3e0000000000000000000000000000000000000000000000000000000084521660048301523060248301525afa908115611059575f916119af575090565b50503490565b90611f0c5750805115611ee457805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611f5f575b611f1d575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611f15565b905f602091828151910182855af115611059575f513d611fe6575073ffffffffffffffffffffffffffffffffffffffff81163b155b611fa45750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415611f9d56fea26469706673582212209c9a1eda87eb80f8aaecb5fc01f998c3f9bbb320844e92b87497d7da9cc15c6464736f6c634300081a0033","sourceMap":"1146:9161:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:33:45;1146:9161:54;;:::i;:::-;1904:4:45;1896:33;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;;2371:40:45;1146:9161:54;;;:::i;:::-;2371:10:45;;;;:40;:::i;:::-;2459:8;;;;;;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;2371:10:45;;1146:9161:54;;;;4235:58;;1146:9161;;;;4235:58;;;;1146:9161;;;;;;;;;;;;;:::i;:::-;3927:10:45;;1146:9161:54;;4178:54:47;1146:9161:54;;;;;;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;3910:47:45;3906:79;;3927:10;4031:8;1146:9161:54;3927:10:45;;;4031:8;:::i;:::-;4085;;;;;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;3927:10:45;;1146:9161:54;;;;5736:60;;1146:9161;;;;5736:60;1146:9161;3906:79:45;3966:19;1146:9161:54;3966:19:45;1146:9161:54;;3966:19:45;1146:9161:54;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;1469:18:47;1146:9161:54;1469:18:47;1146:9161:54;;;;4178:54:47;1146:9161:54;;;;;;;1469:18:47;:28;1146:9161:54;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8837:64:92;1146:9161:54;;;;;;4301:16:92;1146:9161:54;;;;4726:16:92;;:34;;;;1146:9161:54;4805:1:92;4790:16;:50;;;;1146:9161:54;4855:13:92;:30;;;;1146:9161:54;4851:91:92;;;1146:9161:54;;4805:1:92;1146:9161:54;;;;;8837:64:92;1146:9161:54;4979:67:92;;1146:9161:54;6893:76:92;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:90;;;:::i;:::-;6893:76:92;;:::i;:::-;1146:9161:54;;3295:62:44;1146:9161:54;;;3295:62:44;1146:9161:54;5066:101:92;;1146:9161:54;5066:101:92;1146:9161:54;8837:64:92;1146:9161:54;;8837:64:92;1146:9161:54;5142:14:92;1146:9161:54;;;4805:1:92;1146:9161:54;;5142:14:92;1146:9161:54;4979:67:92;1146:9161:54;;;;8837:64:92;1146:9161:54;4979:67:92;;;4851:91;4908:23;1146:9161:54;4908:23:92;1146:9161:54;;4908:23:92;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:92;;4726:34;;;-1:-1:-1;4726:34:92;;1146:9161:54;;;;;;;;;;;;;1782:71:90;1146:9161:54;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3871:10:90;1146:9161:54;966:10:96;3871::90;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;7943:44;7939:73;;8056:8;;;1146:9161;8056:8;;:::i;:::-;8114;966:10:96;;;8114:8:54;:::i;:::-;1146:9161;;;;;;;;966:10:96;8138:42:54;966:10:96;;8138:42:54;;1146:9161;;;;;;7939:73;7996:16;1146:9161;7996:16;1146:9161;;7996:16;1146:9161;;;;;;;;;;;1782:71:90;1146:9161:54;;;;;4698:71:90;;;1146:9161:54;;4698:71:90;1146:9161:54;;;;;;;;4698:71:90;1146:9161:54;;4698:71:90;;1146:9161:54;;;;;;;;;;;;;:::i;:::-;;1782:71:90;1146:9161:54;;966:10:96;4258:21:90;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;1146:9161:54;4355:110:90;1146:9161:54;4411:43:90;;1146:9161:54;4411:43:90;1146:9161:54;;;;;4411:43:90;4254:92;4302:33;1146:9161:54;4302:33:90;966:10:96;1146:9161:54;;;;4302:33:90;1146:9161:54;;;;;;;:::i;:::-;757:66:99;3321:69:160;1706:93:99;;1917:4;757:66;3550:68:160;3060:10:45;1146:9161:54;;4178:54:47;1146:9161:54;;;;;;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;3043:47:45;3039:79;;1146:9161:54;3060:10:45;3164:8;3060:10;;;3164:8;:::i;:::-;3210;;;;;:::i;:::-;1146:9161:54;;;;;;;;3060:10:45;4991:58:54;3060:10:45;1146:9161:54;3060:10:45;1146:9161:54;;4991:58;;1146:9161;757:66:99;3550:68:160;1146:9161:54;;;;;;3039:79:45;3099:19;1146:9161:54;3099:19:45;1146:9161:54;;3099:19:45;1706:93:99;1758:30;1146:9161:54;1758:30:99;1146:9161:54;;1758:30:99;1146:9161:54;;;;;;;;;;;;5115:6:93;1146:9161:54;5106:4:93;5098:23;5094:145;;1146:9161:54;;;811:66:130;1146:9161:54;;;5094:145:93;5199:29;1146:9161:54;5199:29:93;1146:9161:54;;5199:29:93;1146:9161:54;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:6:93;1146:9161:54;4683:4:93;;4675:23;:120;;;;;1146:9161:54;4658:251:93;;;3058:30:44;1146:9161:54;;3295:62:44;1146:9161:54;;;;3058:30:44;;;;1146:9161:54;3058:30:44;;1146:9161:54;;3058:30:44;;1146:9161:54;1893:10:44;1146:9161:54;;;;3058:30:44;;;;;;;1146:9161:54;3058:30:44;;;1146:9161:54;1869:35:44;;1865:140;;1146:9161:54;;;;;;;6156:52:93;;1146:9161:54;6156:52:93;1146:9161:54;6156:52:93;;;;1146:9161:54;;6156:52:93;;;1146:9161:54;-1:-1:-1;6152:437:93;;6518:60;;1146:9161:54;6518:60:93;1146:9161:54;;;;6518:60:93;6152:437;6250:40;811:66:130;6250:40:93;;;6246:120;;1748:29:130;;;:34;1744:119;;1146:9161:54;;811:66:130;1146:9161:54;;;811:66:130;1146:9161:54;2407:36:130;1146:9161:54;2407:36:130;;1146:9161:54;;2458:15:130;:11;;1146:9161:54;4049:25:151;;4091:55;4049:25;;;;;;;;:::i;:::-;4091:55;;:::i;2454:148:130:-;6163:9;;;;6159:70;;1146:9161:54;6159:70:130;6199:19;1146:9161:54;6199:19:130;1146:9161:54;;6199:19:130;1744:119;1805:47;1146:9161:54;1805:47:130;1146:9161:54;;;;1805:47:130;6246:120:93;6317:34;1146:9161:54;6317:34:93;1146:9161:54;;;;6317:34:93;6156:52;;;;1146:9161:54;6156:52:93;;1146:9161:54;6156:52:93;;;;;;1146:9161:54;6156:52:93;;;:::i;:::-;;;1146:9161:54;;;;;6156:52:93;;;;;;;-1:-1:-1;6156:52:93;;1865:140:44;1927:67;1146:9161:54;;1927:67:44;;;1146:9161:54;;1927:67:44;;520:1:42;1146:9161:54;;520:1:42;;1146:9161:54;520:1:42;3058:30:44;1146:9161:54;;520:1:42;;;;;;1927:67:44;3058:30;;;;1146:9161:54;3058:30:44;1146:9161:54;3058:30:44;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1146:9161:54;;;;;;;;;4675:120:93;1146:9161:54;;;811:66:130;1146:9161:54;;4753:42:93;;4675:120;;;1146:9161:54;;;;;;;:::i;:::-;3871:10:90;1146:9161:54;966:10:96;3871::90;:::i;:::-;1469:18:47;;1146:9161:54;;;;4178:54:47;1146:9161:54;;;;;;;1469:18:47;1146:9161:54;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;6418:44;6414:72;;1146:9161;6529:8;;;;1146:9161;6529:8;;:::i;:::-;1146:9161;;;;;;;;;;;;;-1:-1:-1;1146:9161:54;;;;-1:-1:-1;1146:9161:54;9281:36;1146:9161;;;9281:36;:::i;:::-;1146:9161;;6606:38;1146:9161;;;;;;;;;6606:38;;1146:9161;;;;;;6414:72;6471:15;1146:9161;6471:15;1146:9161;;6471:15;1146:9161;;;;;;;:::i;:::-;3871:10:90;1146:9161:54;966:10:96;3871::90;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;7111:44;7107:75;;7278:8;7226;;;;;;1146:9161;7226:8;;:::i;:::-;7278;:::i;:::-;7302:40;1146:9161;;;;;;;;;7302:40;;1146:9161;;;;;;7107:75;7164:18;1146:9161;7164:18;1146:9161;;7164:18;1146:9161;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;;;;;;;;;;;;;:::o;5359:667:90:-;;1782:71;1146:9161:54;;;;;;;5679:1:90;1146:9161:54;;;;;;;;;856:62:105;1146:9161:54;856:62:105;;;;;;;1146:9161:54;856:62:105;;;;;1146:9161:54;5646:4:90;1146:9161:54;;;;;;;;;;;;;856:62:105;;;;;;:::i;:::-;822:106;;;;;;;:::i;:::-;938:248;;;5359:667:90;5706:10;;5702:318;;5359:667;;;;;;:::o;5702:318::-;1146:9161:54;;5736:9:90;1146:9161:54;;;;;;1782:71:90;1146:9161:54;5810:60:90;;;;;856:62:105;1146:9161:54;;;;;;;;;5810:60:90;;;;;;;1146:9161:54;5810:60:90;;5679:1;5810:60;;1146:9161:54;;856:62:105;1146:9161:54;;;;;;;;;;;;;;;;;;;;;;;;;5810:60:90;;;;;;;;;;;5732:278;1146:9161:54;;1782:71:90;1146:9161:54;;1782:71:90;1146:9161:54;5702:318:90;;;;;;;5810:60;1146:9161:54;5810:60:90;;;:::i;:::-;1146:9161:54;5810:60:90;;5732:278;5962:33;;1146:9161:54;5962:33:90;5679:1;1146:9161:54;856:62:105;1146:9161:54;5962:33:90;938:248:105;1146:9161:54;;;;;;969:19:105;;1146:9161:54;;1029:32:105;;856:62;1029:32;;;;;;;;;:::i;:::-;1008:53;965:211;938:248;;;965:211;1086:19;;;856:62;1086:19;;;1082:94;;965:211;;;;;1082:94;1137:24;;;;856:62;1137:24;;;1146:9161:54;;;;856:62:105;1146:9161:54;1137:24:105;;1146:9161:54;:::i;:::-;1082:94:105;;;;1146:9161:54;;;;;;;;;;:::o;:::-;;;;;;;;;;8632:138;1146:9161;8632:138;;;;1146:9161;8727:7;1146:9161;8727:7;1146:9161;;;;8727:7;1146:9161;8727:26;1146:9161;-1:-1:-1;1146:9161:54;;;8727:36;1146:9161;-1:-1:-1;1146:9161:54;;;;8727:36;:::i;:::-;1146:9161;;8632:138::o;1146:9161::-;;;;;;;;;;:::o;3116:195:47:-;1146:9161:54;3116:195:47;;;;1146:9161:54;-1:-1:-1;1146:9161:54;4178:54:47;1146:9161:54;;;;-1:-1:-1;1146:9161:54;3266:28:47;1146:9161:54;-1:-1:-1;1146:9161:54;;;3266:38:47;1146:9161:54;-1:-1:-1;1146:9161:54;;;;3266:38:47;:::i;3743:195::-;1146:9161:54;3743:195:47;;;;1146:9161:54;-1:-1:-1;1146:9161:54;4178:54:47;1146:9161:54;;;;-1:-1:-1;1146:9161:54;3893:28:47;1146:9161:54;-1:-1:-1;1146:9161:54;;;3893:38:47;1146:9161:54;-1:-1:-1;1146:9161:54;;;;3893:38:47;:::i;4964:220:90:-;1146:9161:54;;5147:30:90;4964:220;1146:9161:54;;;1782:71:90;1146:9161:54;;;1782:71:90;1146:9161:54;;;;;;5147:30:90;4964:220::o;4674:193:39:-;;1146:9161:54;;4770:19:39;;;4766:46;;1146:9161:54;4829:31:39;1146:9161:54;;;;4829:31:39;;;;;1146:9161:54;4829:31:39;;1146:9161:54;4829:31:39;;;1146:9161:54;4829:31:39;;;;;;;1146:9161:54;4829:31:39;;;4822:38;4674:193;:::o;4829:31::-;;;1146:9161:54;4829:31:39;;1146:9161:54;4829:31:39;;;;;;1146:9161:54;4829:31:39;;;:::i;:::-;;;1146:9161:54;;;;;4674:193:39;:::o;4829:31::-;;;-1:-1:-1;4829:31:39;;4766:46;4798:14;;;4791:21;:::o;1146:9161:54:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1146:9161:54;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;5233:383:39:-;;;5317:11;;5313:78;;5423:4;5405:31;5423:4;;5405:31;:::i;:::-;:40;5401:96;;1146:9161:54;;5511:19:39;;5507:59;;1380:43:144;1146:9161:54;;;;1380:43:144;1146:9161:54;1380:43:144;;;;1146:9161:54;1380:43:144;;;1146:9161:54;;;;;;1380:43:144;;;;;;:::i;:::-;;:::i;:::-;5233:383:39:o;5507:59::-;1146:9161:54;5327:1:39;1146:9161:54;;;;;;;904:37:39;;;;:::i;:::-;;955:8;951:58;;5532:34::o;951:58::-;972:37;1146:9161:54;;972:37:39;;;1146:9161:54;972:37:39;;;1146:9161:54;;;;;;;;;;;972:37:39;5401:96;5454:43;1146:9161:54;;5454:43:39;;;1146:9161:54;5454:43:39;;;1146:9161:54;;;;;;;;;;;5454:43:39;5313:78;5337:54;1146:9161:54;;5337:54:39;;;1146:9161:54;5337:54:39;;;1146:9161:54;;;;;;;;;;;5337:54:39;7084:141:92;1146:9161:54;8837:64:92;1146:9161:54;;;;7150:18:92;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:92;;-1:-1:-1;7191:17:92;3539:881:39;;;;3646:11;;3642:65;;1146:9161:54;;;3721:19:39;;;3717:230;;3970:22;;;;:::i;:::-;3961:31;;3957:90;;1797:53:144;1146:9161:54;;;;1797:53:144;1146:9161:54;1797:53:144;;;;1146:9161:54;1797:53:144;;;1146:9161:54;4376:4:39;1146:9161:54;;;;;;;;;;1797:53:144;;;;;;:::i;:::-;3539:881:39;:::o;3957:90::-;4001:46;1146:9161:54;;4001:46:39;;;1146:9161:54;4001:46:39;;;1146:9161:54;;;;;;;;;;;4001:46:39;3717:230;3769:9;;;;3760:18;;3756:75;;3923:13;:::o;3756:75::-;3787:44;1146:9161:54;;3787:44:39;;;1146:9161:54;3787:44:39;;;1146:9161:54;;;;;;;;;;;3787:44:39;3642:65;3666:41;1146:9161:54;;3666:41:39;;;1146:9161:54;3666:41:39;;;1146:9161:54;;;;;;;;;;;3666:41:39;2841:201;;1146:9161:54;;2936:19:39;;;2932:41;;1146:9161:54;2990:45:39;1146:9161:54;;;;2990:45:39;;;;;1146:9161:54;2990:45:39;;1146:9161:54;2990:45:39;;;1146:9161:54;3029:4:39;1146:9161:54;;;;2990:45:39;;;;;;;1146:9161:54;2990:45:39;;;2983:52;2841:201;:::o;2932:41::-;2964:9;;;2957:16;:::o;4421:582:151:-;;4593:8;;-1:-1:-1;1146:9161:54;;5674:21:151;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;1146:9161:54;;4841:22:151;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1146:9161:54;4917:24:151;;4862:1;4917:24;1146:9161:54;4917:24:151;1146:9161:54;;4862:1:151;4917:24;4841:49;4867:18;;;:23;4841:49;;7738:720:144;;-1:-1:-1;7875:421:144;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:144;;8310:15;;1146:9161:54;;;;8328:26:144;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1146:9161:54;8401:40:144;;-1:-1:-1;8401:40:144;1146:9161:54;8401:40:144;1146:9161:54;;-1:-1:-1;8401:40:144;8310:68;8377:1;8362:16;;8310:68;","linkReferences":{},"immutableReferences":{"50482":[{"start":2997,"length":32},{"start":3284,"length":32}]}},"methodIdentifiers":{"UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","authority()":"bf7e214f","claim(address,uint256,address)":"9e96a260","deposit(address,uint256,address)":"f45346dc","getBalance(address)":"f8b2cb4f","getLedgerBalance(address,address)":"d949b844","initialize(address)":"c4d66de8","isConsumingScheduledOp()":"8fb36037","lock(address,uint256,address)":"4bbc170a","proxiableUUID()":"52d1902d","release(address,uint256,address)":"15f41501","setAuthority(address)":"7a9e5e4b","transfer(address,uint256,address)":"dbba0f01","upgradeToAndCall(address,bytes)":"4f1ef286","withdraw(address,uint256,address)":"69328dec"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailDuringDeposit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailDuringTransfer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToLock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToRelease\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToTransfer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"getLedgerBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"lock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"release\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract includes administrative methods (`restricted`) and general user methods. Supports operations such as deposits, withdrawals, transfers, and locked funds management.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailDuringTransfer(string)\":[{\"params\":{\"reason\":\"The reason for the transfer failure.\"}}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NoFundsToClaim()\":[{\"details\":\"This error occurs if an account or claimer tries to claim funds that are not locked or insufficient.\"}],\"NoFundsToLock()\":[{\"details\":\"This error occurs if an account attempts to lock more funds than available.\"}],\"NoFundsToRelease()\":[{\"details\":\"This error occurs if an operator tries to releases funds that are not locked or insufficient.\"}],\"NoFundsToTransfer()\":[{\"details\":\"This error is triggered when a transfer is attempted but the sender has insufficient funds or no balance.\"}],\"NoFundsToWithdraw()\":[{\"details\":\"This error is triggered when a withdrawal is attempted but the contract has insufficient funds.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"FundsClaimed(address,uint256,address)\":{\"params\":{\"amount\":\"The amount of funds claimed.\",\"claimer\":\"The address of the entity claiming the funds.\",\"currency\":\"The address of the currency in which the funds were claimed.\"}},\"FundsDeposited(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount of currency deposited.\",\"currency\":\"The address of the ERC20 token deposited.\",\"origin\":\"The address sending the deposit funds.\",\"recipient\":\"The address of the account credited with the deposit.\"}},\"FundsLocked(address,uint256,address)\":{\"params\":{\"account\":\"The address of the account whose funds were locked.\",\"amount\":\"The amount of funds that were locked.\",\"currency\":\"The address of the currency in which the funds were locked.\"}},\"FundsReleased(address,uint256,address)\":{\"params\":{\"account\":\"The address of the account whose funds were released.\",\"amount\":\"The amount of funds that were locked.\",\"currency\":\"The address of the currency in which the funds were locked.\"}},\"FundsTransferred(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount of currency transferred.\",\"currency\":\"The address of the ERC20 token transferred. Use `address(0)` for native tokens.\",\"origin\":\"The address of the account initiating the transfer.\",\"recipient\":\"The address of the account receiving the funds.\"}},\"FundsWithdrawn(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount of funds being withdrawn.\",\"currency\":\"The currency used for the withdrawal.\",\"origin\":\"The address sending the withdrawn funds.\",\"recipient\":\"The address receiving the withdrawn funds.\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"claim(address,uint256,address)\":{\"details\":\"The claimer is authorized to process the funds from the account. Only operator role can handle this methods.\",\"params\":{\"account\":\"The address of the account whose funds are being claimed.\",\"amount\":\"The amount of funds to claim.\",\"currency\":\"The currency to associate claim with. Use address(0) for the native coin.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"deposit(address,uint256,address)\":{\"params\":{\"amount\":\"The amount of currency to deposit.\",\"currency\":\"The address of the ERC20 token to deposit.\",\"recipient\":\"The address of the account to credit with the deposit.\"}},\"getBalance(address)\":{\"details\":\"The function checks the balance for both native and ERC-20 tokens.\",\"params\":{\"currency\":\"The address of the currency to check the balance of.\"}},\"getLedgerBalance(address,address)\":{\"params\":{\"account\":\"The address of the account whose balance is being queried.\",\"currency\":\"The address of the currency to retrieve the balance for.\"}},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"lock(address,uint256,address)\":{\"details\":\"The funds are immobilized and cannot be withdrawn or transferred until released or claimed. Only operator role can handle this methods.\",\"params\":{\"account\":\"The address of the account for which the funds will be locked.\",\"amount\":\"The amount of funds to lock.\",\"currency\":\"The currency to associate lock with. Use address(0) for the native coin.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"release(address,uint256,address)\":{\"params\":{\"account\":\"The address of the account for which the funds will be released.\",\"amount\":\"The amount of funds to release.\",\"currency\":\"The currency to associate release with. Use address(0) for the native coin.\"}},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"transfer(address,uint256,address)\":{\"details\":\"Ensures the caller has sufficient balance before performing the transfer. Updates the ledger accordingly.\",\"params\":{\"amount\":\"The amount of currency to transfer.\",\"currency\":\"The address of the ERC20 token to transfer. Use `address(0)` for native tokens.\",\"recipient\":\"The address of the account to credit with the transfer.\"}},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"withdraw(address,uint256,address)\":{\"details\":\"This function withdraws funds from the caller's balance and transfers them to the recipient.\",\"params\":{\"amount\":\"The amount of tokens to withdraw.\",\"currency\":\"The currency to associate fees with. Use address(0) for the native coin.\",\"recipient\":\"The address that will receive the withdrawn tokens.\"}}},\"stateVariables\":{\"_locked\":{\"details\":\"Holds the registry of locked funds for accounts.\"}},\"title\":\"LedgerVault\",\"version\":1},\"userdoc\":{\"errors\":{\"FailDuringTransfer(string)\":[{\"notice\":\"Error to be thrown when a transfer fails.\"}],\"NoFundsToClaim()\":[{\"notice\":\"Thrown when there are no locked funds available to claim.\"}],\"NoFundsToLock()\":[{\"notice\":\"Thrown when there are no available funds to lock.\"}],\"NoFundsToRelease()\":[{\"notice\":\"Thrown when there are no locked funds available to release.\"}],\"NoFundsToTransfer()\":[{\"notice\":\"Error indicating that there are no funds available to transfer.\"}],\"NoFundsToWithdraw()\":[{\"notice\":\"Error indicating that there are no funds available to withdraw.\"}]},\"events\":{\"FundsClaimed(address,uint256,address)\":{\"notice\":\"Emitted when locked funds are successfully claimed.\"},\"FundsDeposited(address,address,uint256,address)\":{\"notice\":\"Emitted when funds are successfully deposited into the pool.\"},\"FundsLocked(address,uint256,address)\":{\"notice\":\"Emitted when funds are locked in the ledger.\"},\"FundsReleased(address,uint256,address)\":{\"notice\":\"Emitted when locked funds are successfully released.\"},\"FundsTransferred(address,address,uint256,address)\":{\"notice\":\"Emitted when funds are successfully transferred between accounts.\"},\"FundsWithdrawn(address,address,uint256,address)\":{\"notice\":\"Emitted when funds are withdrawn from the contract.\"}},\"kind\":\"user\",\"methods\":{\"claim(address,uint256,address)\":{\"notice\":\"Claims a specific amount of locked funds on behalf of a claimer.\"},\"deposit(address,uint256,address)\":{\"notice\":\"Deposits a specified amount of currency into the pool for a given recipient.\"},\"getBalance(address)\":{\"notice\":\"Returns the general's balance for the specified currency.\"},\"getLedgerBalance(address,address)\":{\"notice\":\"Retrieves the ledger balance of an account for a specific currency.\"},\"lock(address,uint256,address)\":{\"notice\":\"Locks a specific amount of funds for a given account.\"},\"release(address,uint256,address)\":{\"notice\":\"Release a specific amount of funds from locked pool.\"},\"transfer(address,uint256,address)\":{\"notice\":\"Transfers a specified amount of currency from the caller's balance to a given recipient.\"},\"withdraw(address,uint256,address)\":{\"notice\":\"Withdraws tokens from the contract to a specified recipient's address.\"}},\"notice\":\"A vault contract designed to store, lock, release, and manage funds securely.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/financial/LedgerVault.sol\":\"LedgerVault\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=contracts/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solady/=lib/solady/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"contracts/core/interfaces/base/IBalanceDepositor.sol\":{\"keccak256\":\"0x5c52b09eb3ef3b077d02c9a989624b2dc1e2a00f026b65a04b6bc67206c751d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0945732e1b234e80dee53dfd566862640bba93e6bdc360637c9dc2e1446757d2\",\"dweb:/ipfs/QmRGnSxbbDBFDcJiNkKyAj1K8Y88PbLub13Pf6jiWmT4Vn\"]},\"contracts/core/interfaces/base/IBalanceOperator.sol\":{\"keccak256\":\"0x15c496cd62a30864c5e2a97c6c42f32dff53dbaa6a39423ccae999712c76361e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad4f9ae16eded8d662578e6435b9edb2b39df26e776a1ae3459bda696ce20c1\",\"dweb:/ipfs/QmYxNU1zexpUevj5GecxfYPvCM7DPs6xKVrEBSfQAyZ4Rx\"]},\"contracts/core/interfaces/base/IBalanceTransferable.sol\":{\"keccak256\":\"0x1ab8599894aaabb22bbcdd9ef55246991aa1a8c7d91fdb3af11d0a9da76c8657\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8449bddd07f95f25e5651246a0d925a09d18077e7d8af1e590f14766b6e951de\",\"dweb:/ipfs/QmQHrcXFVZizwXpHK4D2TteXqDkPJiaCdHwrxegMTRn1iQ\"]},\"contracts/core/interfaces/base/IBalanceWithdrawable.sol\":{\"keccak256\":\"0x4b4f6ed37ea5ae7a453e075ad49f6e99aee09cb7c3ed6152b81bd8d42cef1b40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc42910ff3935f00aff6b5b39479021212ef6281f323c130e68b8a62cc4d96ec\",\"dweb:/ipfs/QmdVmmna2ZCwBDbpGZXvYABN8fNwCmU7JciXFzq93s2yE7\"]},\"contracts/core/interfaces/base/ILedgerVerifiable.sol\":{\"keccak256\":\"0x89d88c2c231d74479d218a74c495696e7cce624ec5f0fea83840171ac9a90e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b0548dc0eb2cd40fc1907b5b1576c050faef5e18a5bc6237666288c3084ffd\",\"dweb:/ipfs/Qman5EaGE4tgrQ4kq6w9n7mLNDAhgXXC1Cyj9dUP8e3KKG\"]},\"contracts/core/libraries/FinancialOps.sol\":{\"keccak256\":\"0x562c5b305577ec5b57c5fba5df98afdaba99d7871772962502e0959852e92215\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d37937cd5fe0432f714aebba49d342dab1e9577c9d1edc3fe568a02e636e1a3d\",\"dweb:/ipfs/QmVteEKdVkvwKKEHyweJWbns75LU3jsqrQtAhcHY7eTwhX\"]},\"contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]},\"contracts/core/primitives/upgradeable/BalanceOperatorUpgradeable.sol\":{\"keccak256\":\"0xdcb66f86cc94a88725347da0add854997b3759b4f98efce0923f313c9759a03f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa2db1b1e817131b5925e546c1cb8ab8b256e7d6d38752e60807d88631ca403\",\"dweb:/ipfs/QmShNiZ2QJWVrrshkMWKBkyMmu1i2ngfobuPpZV1LeAhh1\"]},\"contracts/core/primitives/upgradeable/LedgerUpgradeable.sol\":{\"keccak256\":\"0x2e51d076c533c1161e843e808db34e7f774b9acdb61e6c83dbeda6fe07920c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4482e61cfc721dc96e1ef47f56010ad0f37c225949609bba0f03c406a8ac0c2\",\"dweb:/ipfs/QmdSXpbPbrXFDUr4sHQ6BJeRUGWq2EpoCiiS8APxFeYysX\"]},\"contracts/financial/LedgerVault.sol\":{\"keccak256\":\"0x501aab236fcb7377a9687fe5c555b074861244bf8fe8b7d63ddc34f29f7f3b08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://705dd2f42064b55be00ce5696ee6fd18626ff0f39afe3e7904f45c04ca08afcf\",\"dweb:/ipfs/QmYFci4aRBQQaxP7yMSxnK7sUVvPRZ5g2tPjNAh44F1gk1\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol\":{\"keccak256\":\"0x04b70c397e00597da0f023706f7c44ac8c7b4276a1ddff05d3ca5449775bc6f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4b8599331bffb75c9d40ad57cf5025c29d384099ece48758fea2f0f5b969eab\",\"dweb:/ipfs/QmXXMq1kgvMdUn3DiTS4zEZNy9EDXfevM2wvYHWwfSW6Yu\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"authority","type":"address"}],"type":"error","name":"AccessManagedInvalidAuthority"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint32","name":"delay","type":"uint32"}],"type":"error","name":"AccessManagedRequiredDelay"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"AccessManagedUnauthorized"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailDuringDeposit"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"FailDuringTransfer"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"InvalidUnauthorizedOperation"},{"inputs":[],"type":"error","name":"NoFundsToClaim"},{"inputs":[],"type":"error","name":"NoFundsToLock"},{"inputs":[],"type":"error","name":"NoFundsToRelease"},{"inputs":[],"type":"error","name":"NoFundsToTransfer"},{"inputs":[],"type":"error","name":"NoFundsToWithdraw"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"type":"error","name":"SafeERC20FailedOperation"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"address","name":"authority","type":"address","indexed":false}],"type":"event","name":"AuthorityUpdated","anonymous":false},{"inputs":[{"internalType":"address","name":"claimer","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":true}],"type":"event","name":"FundsClaimed","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"origin","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false}],"type":"event","name":"FundsDeposited","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":true}],"type":"event","name":"FundsLocked","anonymous":false},{"inputs":[{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":true}],"type":"event","name":"FundsReleased","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"origin","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":false}],"type":"event","name":"FundsTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"origin","type":"address","indexed":true},{"internalType":"uint256","name":"amount","type":"uint256","indexed":false},{"internalType":"address","name":"currency","type":"address","indexed":true}],"type":"event","name":"FundsWithdrawn","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"authority","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"claim","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deposit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"view","type":"function","name":"getBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"view","type":"function","name":"getLedgerBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"accessManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isConsumingScheduledOp","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"lock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"release","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newAuthority","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAuthority"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"withdraw","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]}],"devdoc":{"kind":"dev","methods":{"authority()":{"details":"Returns the current authority."},"claim(address,uint256,address)":{"details":"The claimer is authorized to process the funds from the account. Only operator role can handle this methods.","params":{"account":"The address of the account whose funds are being claimed.","amount":"The amount of funds to claim.","currency":"The currency to associate claim with. Use address(0) for the native coin."}},"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"deposit(address,uint256,address)":{"params":{"amount":"The amount of currency to deposit.","currency":"The address of the ERC20 token to deposit.","recipient":"The address of the account to credit with the deposit."}},"getBalance(address)":{"details":"The function checks the balance for both native and ERC-20 tokens.","params":{"currency":"The address of the currency to check the balance of."}},"getLedgerBalance(address,address)":{"params":{"account":"The address of the account whose balance is being queried.","currency":"The address of the currency to retrieve the balance for."}},"isConsumingScheduledOp()":{"details":"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls."},"lock(address,uint256,address)":{"details":"The funds are immobilized and cannot be withdrawn or transferred until released or claimed. Only operator role can handle this methods.","params":{"account":"The address of the account for which the funds will be locked.","amount":"The amount of funds to lock.","currency":"The currency to associate lock with. Use address(0) for the native coin."}},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"release(address,uint256,address)":{"params":{"account":"The address of the account for which the funds will be released.","amount":"The amount of funds to release.","currency":"The currency to associate release with. Use address(0) for the native coin."}},"setAuthority(address)":{"details":"Transfers control to a new authority. The caller must be the current authority."},"transfer(address,uint256,address)":{"details":"Ensures the caller has sufficient balance before performing the transfer. Updates the ledger accordingly.","params":{"amount":"The amount of currency to transfer.","currency":"The address of the ERC20 token to transfer. Use `address(0)` for native tokens.","recipient":"The address of the account to credit with the transfer."}},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."},"withdraw(address,uint256,address)":{"details":"This function withdraws funds from the caller's balance and transfers them to the recipient.","params":{"amount":"The amount of tokens to withdraw.","currency":"The currency to associate fees with. Use address(0) for the native coin.","recipient":"The address that will receive the withdrawn tokens."}}},"version":1},"userdoc":{"kind":"user","methods":{"claim(address,uint256,address)":{"notice":"Claims a specific amount of locked funds on behalf of a claimer."},"deposit(address,uint256,address)":{"notice":"Deposits a specified amount of currency into the pool for a given recipient."},"getBalance(address)":{"notice":"Returns the general's balance for the specified currency."},"getLedgerBalance(address,address)":{"notice":"Retrieves the ledger balance of an account for a specific currency."},"lock(address,uint256,address)":{"notice":"Locks a specific amount of funds for a given account."},"release(address,uint256,address)":{"notice":"Release a specific amount of funds from locked pool."},"transfer(address,uint256,address)":{"notice":"Transfers a specified amount of currency from the caller's balance to a given recipient."},"withdraw(address,uint256,address)":{"notice":"Withdraws tokens from the contract to a specified recipient's address."}},"version":1}},"settings":{"remappings":["@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/","@ethsign/=node_modules/@ethsign/","@openzeppelin/=node_modules/@openzeppelin/","@synaps3/=contracts/","ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","solady/=lib/solady/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/financial/LedgerVault.sol":"LedgerVault"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/core/interfaces/access/IAccessManager.sol":{"keccak256":"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f","urls":["bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e","dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ"],"license":"MIT"},"contracts/core/interfaces/base/IBalanceDepositor.sol":{"keccak256":"0x5c52b09eb3ef3b077d02c9a989624b2dc1e2a00f026b65a04b6bc67206c751d8","urls":["bzz-raw://0945732e1b234e80dee53dfd566862640bba93e6bdc360637c9dc2e1446757d2","dweb:/ipfs/QmRGnSxbbDBFDcJiNkKyAj1K8Y88PbLub13Pf6jiWmT4Vn"],"license":"MIT"},"contracts/core/interfaces/base/IBalanceOperator.sol":{"keccak256":"0x15c496cd62a30864c5e2a97c6c42f32dff53dbaa6a39423ccae999712c76361e","urls":["bzz-raw://7ad4f9ae16eded8d662578e6435b9edb2b39df26e776a1ae3459bda696ce20c1","dweb:/ipfs/QmYxNU1zexpUevj5GecxfYPvCM7DPs6xKVrEBSfQAyZ4Rx"],"license":"MIT"},"contracts/core/interfaces/base/IBalanceTransferable.sol":{"keccak256":"0x1ab8599894aaabb22bbcdd9ef55246991aa1a8c7d91fdb3af11d0a9da76c8657","urls":["bzz-raw://8449bddd07f95f25e5651246a0d925a09d18077e7d8af1e590f14766b6e951de","dweb:/ipfs/QmQHrcXFVZizwXpHK4D2TteXqDkPJiaCdHwrxegMTRn1iQ"],"license":"MIT"},"contracts/core/interfaces/base/IBalanceWithdrawable.sol":{"keccak256":"0x4b4f6ed37ea5ae7a453e075ad49f6e99aee09cb7c3ed6152b81bd8d42cef1b40","urls":["bzz-raw://cc42910ff3935f00aff6b5b39479021212ef6281f323c130e68b8a62cc4d96ec","dweb:/ipfs/QmdVmmna2ZCwBDbpGZXvYABN8fNwCmU7JciXFzq93s2yE7"],"license":"MIT"},"contracts/core/interfaces/base/ILedgerVerifiable.sol":{"keccak256":"0x89d88c2c231d74479d218a74c495696e7cce624ec5f0fea83840171ac9a90e95","urls":["bzz-raw://b7b0548dc0eb2cd40fc1907b5b1576c050faef5e18a5bc6237666288c3084ffd","dweb:/ipfs/Qman5EaGE4tgrQ4kq6w9n7mLNDAhgXXC1Cyj9dUP8e3KKG"],"license":"MIT"},"contracts/core/libraries/FinancialOps.sol":{"keccak256":"0x562c5b305577ec5b57c5fba5df98afdaba99d7871772962502e0959852e92215","urls":["bzz-raw://d37937cd5fe0432f714aebba49d342dab1e9577c9d1edc3fe568a02e636e1a3d","dweb:/ipfs/QmVteEKdVkvwKKEHyweJWbns75LU3jsqrQtAhcHY7eTwhX"],"license":"GPL-3.0-or-later"},"contracts/core/primitives/Constants.sol":{"keccak256":"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e","urls":["bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1","dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3"],"license":"MIT"},"contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol":{"keccak256":"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df","urls":["bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2","dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj"],"license":"MIT"},"contracts/core/primitives/upgradeable/BalanceOperatorUpgradeable.sol":{"keccak256":"0xdcb66f86cc94a88725347da0add854997b3759b4f98efce0923f313c9759a03f","urls":["bzz-raw://afa2db1b1e817131b5925e546c1cb8ab8b256e7d6d38752e60807d88631ca403","dweb:/ipfs/QmShNiZ2QJWVrrshkMWKBkyMmu1i2ngfobuPpZV1LeAhh1"],"license":"MIT"},"contracts/core/primitives/upgradeable/LedgerUpgradeable.sol":{"keccak256":"0x2e51d076c533c1161e843e808db34e7f774b9acdb61e6c83dbeda6fe07920c2a","urls":["bzz-raw://a4482e61cfc721dc96e1ef47f56010ad0f37c225949609bba0f03c406a8ac0c2","dweb:/ipfs/QmdSXpbPbrXFDUr4sHQ6BJeRUGWq2EpoCiiS8APxFeYysX"],"license":"MIT"},"contracts/financial/LedgerVault.sol":{"keccak256":"0x501aab236fcb7377a9687fe5c555b074861244bf8fe8b7d63ddc34f29f7f3b08","urls":["bzz-raw://705dd2f42064b55be00ce5696ee6fd18626ff0f39afe3e7904f45c04ca08afcf","dweb:/ipfs/QmYFci4aRBQQaxP7yMSxnK7sUVvPRZ5g2tPjNAh44F1gk1"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol":{"keccak256":"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373","urls":["bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447","dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27","urls":["bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e","dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol":{"keccak256":"0x04b70c397e00597da0f023706f7c44ac8c7b4276a1ddff05d3ca5449775bc6f5","urls":["bzz-raw://d4b8599331bffb75c9d40ad57cf5025c29d384099ece48758fea2f0f5b969eab","dweb:/ipfs/QmXXMq1kgvMdUn3DiTS4zEZNy9EDXfevM2wvYHWwfSW6Yu"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol":{"keccak256":"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4","urls":["bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e","dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol":{"keccak256":"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6","urls":["bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694","dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol":{"keccak256":"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2","urls":["bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4","dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol":{"keccak256":"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030","urls":["bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c","dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol":{"keccak256":"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7","urls":["bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b","dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol":{"keccak256":"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724","urls":["bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a","dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol":{"keccak256":"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c","urls":["bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba","dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol":{"keccak256":"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310","urls":["bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862","dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/TransientSlot.sol":{"keccak256":"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1","urls":["bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889","dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":4706,"contract":"contracts/financial/LedgerVault.sol:LedgerVault","label":"_locked","offset":0,"slot":"0","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"contracts/financial/LedgerVault.sol","id":5070,"exportedSymbols":{"AccessControlledUpgradeable":[2660],"BalanceOperatorUpgradeable":[2824],"FinancialOps":[2031],"Initializable":[50462],"LedgerVault":[5069],"ReentrancyGuardTransientUpgradeable":[52553],"UUPSUpgradeable":[50644]},"nodeType":"SourceUnit","src":"124:10184:54","nodes":[{"id":4673,"nodeType":"PragmaDirective","src":"124:23:54","nodes":[],"literals":["solidity","0.8",".26"]},{"id":4675,"nodeType":"ImportDirective","src":"149:98:54","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":5070,"sourceUnit":50463,"symbolAliases":[{"foreign":{"id":4674,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50462,"src":"158:13:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4677,"nodeType":"ImportDirective","src":"248:102:54","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":5070,"sourceUnit":50645,"symbolAliases":[{"foreign":{"id":4676,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50644,"src":"257:15:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4679,"nodeType":"ImportDirective","src":"396:136:54","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol","nameLocation":"-1:-1:-1","scope":5070,"sourceUnit":52554,"symbolAliases":[{"foreign":{"id":4678,"name":"ReentrancyGuardTransientUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52553,"src":"405:35:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4681,"nodeType":"ImportDirective","src":"533:115:54","nodes":[],"absolutePath":"contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol","file":"@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol","nameLocation":"-1:-1:-1","scope":5070,"sourceUnit":2661,"symbolAliases":[{"foreign":{"id":4680,"name":"AccessControlledUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2660,"src":"542:27:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4683,"nodeType":"ImportDirective","src":"649:113:54","nodes":[],"absolutePath":"contracts/core/primitives/upgradeable/BalanceOperatorUpgradeable.sol","file":"@synaps3/core/primitives/upgradeable/BalanceOperatorUpgradeable.sol","nameLocation":"-1:-1:-1","scope":5070,"sourceUnit":2825,"symbolAliases":[{"foreign":{"id":4682,"name":"BalanceOperatorUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2824,"src":"658:26:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":4685,"nodeType":"ImportDirective","src":"763:72:54","nodes":[],"absolutePath":"contracts/core/libraries/FinancialOps.sol","file":"@synaps3/core/libraries/FinancialOps.sol","nameLocation":"-1:-1:-1","scope":5070,"sourceUnit":2032,"symbolAliases":[{"foreign":{"id":4684,"name":"FinancialOps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2031,"src":"772:12:54","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5069,"nodeType":"ContractDefinition","src":"1146:9161:54","nodes":[{"id":4699,"nodeType":"UsingForDirective","src":"1321:31:54","nodes":[],"global":false,"libraryName":{"id":4697,"name":"FinancialOps","nameLocations":["1327:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":2031,"src":"1327:12:54"},"typeName":{"id":4698,"name":"address","nodeType":"ElementaryTypeName","src":"1344:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}},{"id":4706,"nodeType":"VariableDeclaration","src":"1420:63:54","nodes":[],"constant":false,"documentation":{"id":4700,"nodeType":"StructuredDocumentation","src":"1358:57:54","text":"@dev Holds the registry of locked funds for accounts."},"mutability":"mutable","name":"_locked","nameLocation":"1476:7:54","scope":5069,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":4705,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4701,"name":"address","nodeType":"ElementaryTypeName","src":"1428:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1420:47:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4704,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":4702,"name":"address","nodeType":"ElementaryTypeName","src":"1447:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1439:27:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":4703,"name":"uint256","nodeType":"ElementaryTypeName","src":"1458:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"visibility":"private"},{"id":4715,"nodeType":"EventDefinition","src":"1770:85:54","nodes":[],"anonymous":false,"documentation":{"id":4707,"nodeType":"StructuredDocumentation","src":"1490:275:54","text":"@notice Emitted when funds are locked in the ledger.\n @param account The address of the account whose funds were locked.\n @param amount The amount of funds that were locked.\n @param currency The address of the currency in which the funds were locked."},"eventSelector":"a372d74f11f208f0466eb410f699d101da6ccbe3717f711988fb355eac737f62","name":"FundsLocked","nameLocation":"1776:11:54","parameters":{"id":4714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4709,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"1804:7:54","nodeType":"VariableDeclaration","scope":4715,"src":"1788:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4708,"name":"address","nodeType":"ElementaryTypeName","src":"1788:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4711,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"1821:6:54","nodeType":"VariableDeclaration","scope":4715,"src":"1813:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4710,"name":"uint256","nodeType":"ElementaryTypeName","src":"1813:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4713,"indexed":true,"mutability":"mutable","name":"currency","nameLocation":"1845:8:54","nodeType":"VariableDeclaration","scope":4715,"src":"1829:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4712,"name":"address","nodeType":"ElementaryTypeName","src":"1829:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1787:67:54"}},{"id":4724,"nodeType":"EventDefinition","src":"2151:87:54","nodes":[],"anonymous":false,"documentation":{"id":4716,"nodeType":"StructuredDocumentation","src":"1861:285:54","text":"@notice Emitted when locked funds are successfully released.\n @param account The address of the account whose funds were released.\n @param amount The amount of funds that were locked.\n @param currency The address of the currency in which the funds were locked."},"eventSelector":"29f33620d8742cb2079bba3afb003116b7db185e4f58a4bd6bc4291b6d99fcbc","name":"FundsReleased","nameLocation":"2157:13:54","parameters":{"id":4723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4718,"indexed":true,"mutability":"mutable","name":"account","nameLocation":"2187:7:54","nodeType":"VariableDeclaration","scope":4724,"src":"2171:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4717,"name":"address","nodeType":"ElementaryTypeName","src":"2171:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4720,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2204:6:54","nodeType":"VariableDeclaration","scope":4724,"src":"2196:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4719,"name":"uint256","nodeType":"ElementaryTypeName","src":"2196:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4722,"indexed":true,"mutability":"mutable","name":"currency","nameLocation":"2228:8:54","nodeType":"VariableDeclaration","scope":4724,"src":"2212:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4721,"name":"address","nodeType":"ElementaryTypeName","src":"2212:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2170:67:54"}},{"id":4733,"nodeType":"EventDefinition","src":"2517:86:54","nodes":[],"anonymous":false,"documentation":{"id":4725,"nodeType":"StructuredDocumentation","src":"2244:268:54","text":"@notice Emitted when locked funds are successfully claimed.\n @param claimer The address of the entity claiming the funds.\n @param amount The amount of funds claimed.\n @param currency The address of the currency in which the funds were claimed."},"eventSelector":"07b798e47a298c7004dfddcb1196e6b8f9a6488dd1db7eeedbc8a4c3f4831563","name":"FundsClaimed","nameLocation":"2523:12:54","parameters":{"id":4732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4727,"indexed":true,"mutability":"mutable","name":"claimer","nameLocation":"2552:7:54","nodeType":"VariableDeclaration","scope":4733,"src":"2536:23:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4726,"name":"address","nodeType":"ElementaryTypeName","src":"2536:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4729,"indexed":false,"mutability":"mutable","name":"amount","nameLocation":"2569:6:54","nodeType":"VariableDeclaration","scope":4733,"src":"2561:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4728,"name":"uint256","nodeType":"ElementaryTypeName","src":"2561:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4731,"indexed":true,"mutability":"mutable","name":"currency","nameLocation":"2593:8:54","nodeType":"VariableDeclaration","scope":4733,"src":"2577:24:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4730,"name":"address","nodeType":"ElementaryTypeName","src":"2577:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2535:67:54"}},{"id":4736,"nodeType":"ErrorDefinition","src":"2764:22:54","nodes":[],"documentation":{"id":4734,"nodeType":"StructuredDocumentation","src":"2609:150:54","text":"@notice Thrown when there are no available funds to lock.\n @dev This error occurs if an account attempts to lock more funds than available."},"errorSelector":"a9e575de","name":"NoFundsToLock","nameLocation":"2770:13:54","parameters":{"id":4735,"nodeType":"ParameterList","parameters":[],"src":"2783:2:54"}},{"id":4739,"nodeType":"ErrorDefinition","src":"2980:23:54","nodes":[],"documentation":{"id":4737,"nodeType":"StructuredDocumentation","src":"2792:183:54","text":"@notice Thrown when there are no locked funds available to claim.\n @dev This error occurs if an account or claimer tries to claim funds that are not locked or insufficient."},"errorSelector":"dff46e2b","name":"NoFundsToClaim","nameLocation":"2986:14:54","parameters":{"id":4738,"nodeType":"ParameterList","parameters":[],"src":"3000:2:54"}},{"id":4742,"nodeType":"ErrorDefinition","src":"3192:25:54","nodes":[],"documentation":{"id":4740,"nodeType":"StructuredDocumentation","src":"3009:178:54","text":"@notice Thrown when there are no locked funds available to release.\n @dev This error occurs if an operator tries to releases funds that are not locked or insufficient."},"errorSelector":"b7cc22bc","name":"NoFundsToRelease","nameLocation":"3198:16:54","parameters":{"id":4741,"nodeType":"ParameterList","parameters":[],"src":"3214:2:54"}},{"id":4750,"nodeType":"FunctionDefinition","src":"3276:243:54","nodes":[],"body":{"id":4749,"nodeType":"Block","src":"3290:229:54","nodes":[],"statements":[{"documentation":"https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5","expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4746,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50430,"src":"3490:20:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3490:22:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4748,"nodeType":"ExpressionStatement","src":"3490:22:54"}]},"documentation":{"id":4743,"nodeType":"StructuredDocumentation","src":"3223:48:54","text":"@custom:oz-upgrades-unsafe-allow constructor"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":4744,"nodeType":"ParameterList","parameters":[],"src":"3287:2:54"},"returnParameters":{"id":4745,"nodeType":"ParameterList","parameters":[],"src":"3290:0:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":4771,"nodeType":"FunctionDefinition","src":"3525:228:54","nodes":[],"body":{"id":4770,"nodeType":"Block","src":"3587:166:54","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4757,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50516,"src":"3597:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4758,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3597:24:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4759,"nodeType":"ExpressionStatement","src":"3597:24:54"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4760,"name":"__BalanceOperator_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2690,"src":"3631:22:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4761,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3631:24:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4762,"nodeType":"ExpressionStatement","src":"3631:24:54"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":4763,"name":"__ReentrancyGuardTransient_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":52502,"src":"3665:31:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":4764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3665:33:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4765,"nodeType":"ExpressionStatement","src":"3665:33:54"},{"expression":{"arguments":[{"id":4767,"name":"accessManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4752,"src":"3732:13:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":4766,"name":"__AccessControlled_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2595,"src":"3708:23:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":4768,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3708:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4769,"nodeType":"ExpressionStatement","src":"3708:38:54"}]},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":4755,"kind":"modifierInvocation","modifierName":{"id":4754,"name":"initializer","nameLocations":["3575:11:54"],"nodeType":"IdentifierPath","referencedDeclaration":50316,"src":"3575:11:54"},"nodeType":"ModifierInvocation","src":"3575:11:54"}],"name":"initialize","nameLocation":"3534:10:54","parameters":{"id":4753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4752,"mutability":"mutable","name":"accessManager","nameLocation":"3553:13:54","nodeType":"VariableDeclaration","scope":4771,"src":"3545:21:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4751,"name":"address","nodeType":"ElementaryTypeName","src":"3545:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3544:23:54"},"returnParameters":{"id":4756,"nodeType":"ParameterList","parameters":[],"src":"3587:0:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":4802,"nodeType":"FunctionDefinition","src":"4056:270:54","nodes":[],"body":{"id":4801,"nodeType":"Block","src":"4153:173:54","nodes":[],"statements":[{"assignments":[4784],"declarations":[{"constant":false,"id":4784,"mutability":"mutable","name":"confirmed","nameLocation":"4171:9:54","nodeType":"VariableDeclaration","scope":4801,"src":"4163:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4783,"name":"uint256","nodeType":"ElementaryTypeName","src":"4163:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4790,"initialValue":{"arguments":[{"id":4786,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4774,"src":"4192:9:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4787,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4776,"src":"4203:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4788,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4778,"src":"4211:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4785,"name":"_deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2744,"src":"4183:8:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (address,uint256,address) returns (uint256)"}},"id":4789,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4183:37:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4163:57:54"},{"eventCall":{"arguments":[{"id":4792,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4774,"src":"4250:9:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":4793,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4261:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4265:6:54","memberName":"sender","nodeType":"MemberAccess","src":"4261:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4795,"name":"confirmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4784,"src":"4273:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4796,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4778,"src":"4284:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4791,"name":"FundsDeposited","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":934,"src":"4235:14:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address)"}},"id":4797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4235:58:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4798,"nodeType":"EmitStatement","src":"4230:63:54"},{"expression":{"id":4799,"name":"confirmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4784,"src":"4310:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4782,"id":4800,"nodeType":"Return","src":"4303:16:54"}]},"baseFunctions":[946],"documentation":{"id":4772,"nodeType":"StructuredDocumentation","src":"3759:292:54","text":"@notice Deposits a specified amount of currency into the pool for a given recipient.\n @param recipient The address of the account to credit with the deposit.\n @param amount The amount of currency to deposit.\n @param currency The address of the ERC20 token to deposit."},"functionSelector":"f45346dc","implemented":true,"kind":"function","modifiers":[],"name":"deposit","nameLocation":"4065:7:54","parameters":{"id":4779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4774,"mutability":"mutable","name":"recipient","nameLocation":"4081:9:54","nodeType":"VariableDeclaration","scope":4802,"src":"4073:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4773,"name":"address","nodeType":"ElementaryTypeName","src":"4073:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4776,"mutability":"mutable","name":"amount","nameLocation":"4100:6:54","nodeType":"VariableDeclaration","scope":4802,"src":"4092:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4775,"name":"uint256","nodeType":"ElementaryTypeName","src":"4092:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4778,"mutability":"mutable","name":"currency","nameLocation":"4116:8:54","nodeType":"VariableDeclaration","scope":4802,"src":"4108:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4777,"name":"address","nodeType":"ElementaryTypeName","src":"4108:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4072:53:54"},"returnParameters":{"id":4782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4781,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4802,"src":"4144:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4780,"name":"uint256","nodeType":"ElementaryTypeName","src":"4144:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4143:9:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":4835,"nodeType":"FunctionDefinition","src":"4797:285:54","nodes":[],"body":{"id":4834,"nodeType":"Block","src":"4908:174:54","nodes":[],"statements":[{"assignments":[4817],"declarations":[{"constant":false,"id":4817,"mutability":"mutable","name":"confirmed","nameLocation":"4926:9:54","nodeType":"VariableDeclaration","scope":4834,"src":"4918:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4816,"name":"uint256","nodeType":"ElementaryTypeName","src":"4918:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4823,"initialValue":{"arguments":[{"id":4819,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4805,"src":"4948:9:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4820,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4807,"src":"4959:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4821,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4809,"src":"4967:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4818,"name":"_withdraw","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2784,"src":"4938:9:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (address,uint256,address) returns (uint256)"}},"id":4822,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4938:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4918:58:54"},{"eventCall":{"arguments":[{"id":4825,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4805,"src":"5006:9:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":4826,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5017:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5021:6:54","memberName":"sender","nodeType":"MemberAccess","src":"5017:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4828,"name":"confirmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"5029:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4829,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4809,"src":"5040:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4824,"name":"FundsWithdrawn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1022,"src":"4991:14:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address)"}},"id":4830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4991:58:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4831,"nodeType":"EmitStatement","src":"4986:63:54"},{"expression":{"id":4832,"name":"confirmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4817,"src":"5066:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4815,"id":4833,"nodeType":"Return","src":"5059:16:54"}]},"baseFunctions":[1034],"documentation":{"id":4803,"nodeType":"StructuredDocumentation","src":"4374:418:54","text":"@notice Withdraws tokens from the contract to a specified recipient's address.\n @dev This function withdraws funds from the caller's balance and transfers them to the recipient.\n @param recipient The address that will receive the withdrawn tokens.\n @param amount The amount of tokens to withdraw.\n @param currency The currency to associate fees with. Use address(0) for the native coin."},"functionSelector":"69328dec","implemented":true,"kind":"function","modifiers":[{"id":4812,"kind":"modifierInvocation","modifierName":{"id":4811,"name":"nonReentrant","nameLocations":["4877:12:54"],"nodeType":"IdentifierPath","referencedDeclaration":52496,"src":"4877:12:54"},"nodeType":"ModifierInvocation","src":"4877:12:54"}],"name":"withdraw","nameLocation":"4806:8:54","parameters":{"id":4810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4805,"mutability":"mutable","name":"recipient","nameLocation":"4823:9:54","nodeType":"VariableDeclaration","scope":4835,"src":"4815:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4804,"name":"address","nodeType":"ElementaryTypeName","src":"4815:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4807,"mutability":"mutable","name":"amount","nameLocation":"4842:6:54","nodeType":"VariableDeclaration","scope":4835,"src":"4834:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4806,"name":"uint256","nodeType":"ElementaryTypeName","src":"4834:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4809,"mutability":"mutable","name":"currency","nameLocation":"4858:8:54","nodeType":"VariableDeclaration","scope":4835,"src":"4850:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4808,"name":"address","nodeType":"ElementaryTypeName","src":"4850:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4814:53:54"},"returnParameters":{"id":4815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4814,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4835,"src":"4899:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4813,"name":"uint256","nodeType":"ElementaryTypeName","src":"4899:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4898:9:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":4866,"nodeType":"FunctionDefinition","src":"5555:274:54","nodes":[],"body":{"id":4865,"nodeType":"Block","src":"5653:176:54","nodes":[],"statements":[{"assignments":[4848],"declarations":[{"constant":false,"id":4848,"mutability":"mutable","name":"confirmed","nameLocation":"5671:9:54","nodeType":"VariableDeclaration","scope":4865,"src":"5663:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4847,"name":"uint256","nodeType":"ElementaryTypeName","src":"5663:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":4854,"initialValue":{"arguments":[{"id":4850,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4838,"src":"5693:9:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4851,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4840,"src":"5704:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4852,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"5712:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4849,"name":"_transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2823,"src":"5683:9:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$","typeString":"function (address,uint256,address) returns (uint256)"}},"id":4853,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5683:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5663:58:54"},{"eventCall":{"arguments":[{"id":4856,"name":"recipient","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4838,"src":"5753:9:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":4857,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"5764:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4858,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5768:6:54","memberName":"sender","nodeType":"MemberAccess","src":"5764:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4859,"name":"confirmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4848,"src":"5776:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4860,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4842,"src":"5787:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4855,"name":"FundsTransferred","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":980,"src":"5736:16:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,address,uint256,address)"}},"id":4861,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5736:60:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4862,"nodeType":"EmitStatement","src":"5731:65:54"},{"expression":{"id":4863,"name":"confirmed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4848,"src":"5813:9:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4846,"id":4864,"nodeType":"Return","src":"5806:16:54"}]},"baseFunctions":[992],"documentation":{"id":4836,"nodeType":"StructuredDocumentation","src":"5088:462:54","text":"@notice Transfers a specified amount of currency from the caller's balance to a given recipient.\n @dev Ensures the caller has sufficient balance before performing the transfer. Updates the ledger accordingly.\n @param recipient The address of the account to credit with the transfer.\n @param amount The amount of currency to transfer.\n @param currency The address of the ERC20 token to transfer. Use `address(0)` for native tokens."},"functionSelector":"dbba0f01","implemented":true,"kind":"function","modifiers":[],"name":"transfer","nameLocation":"5564:8:54","parameters":{"id":4843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4838,"mutability":"mutable","name":"recipient","nameLocation":"5581:9:54","nodeType":"VariableDeclaration","scope":4866,"src":"5573:17:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4837,"name":"address","nodeType":"ElementaryTypeName","src":"5573:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4840,"mutability":"mutable","name":"amount","nameLocation":"5600:6:54","nodeType":"VariableDeclaration","scope":4866,"src":"5592:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4839,"name":"uint256","nodeType":"ElementaryTypeName","src":"5592:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4842,"mutability":"mutable","name":"currency","nameLocation":"5616:8:54","nodeType":"VariableDeclaration","scope":4866,"src":"5608:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4841,"name":"address","nodeType":"ElementaryTypeName","src":"5608:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5572:53:54"},"returnParameters":{"id":4846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4866,"src":"5644:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4844,"name":"uint256","nodeType":"ElementaryTypeName","src":"5644:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"5643:9:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":4911,"nodeType":"FunctionDefinition","src":"6301:373:54","nodes":[],"body":{"id":4910,"nodeType":"Block","src":"6404:270:54","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4881,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"6435:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4882,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4873,"src":"6444:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4880,"name":"getLedgerBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3051,"src":"6418:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":4883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6418:35:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4884,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4871,"src":"6456:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6418:44:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4889,"nodeType":"IfStatement","src":"6414:72:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4886,"name":"NoFundsToLock","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4736,"src":"6471:13:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":4887,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6471:15:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":4888,"nodeType":"RevertStatement","src":"6464:22:54"}},{"expression":{"arguments":[{"id":4891,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"6512:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4892,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4871,"src":"6521:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4893,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4873,"src":"6529:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4890,"name":"_subLedgerEntry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3146,"src":"6496:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6496:42:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4895,"nodeType":"ExpressionStatement","src":"6496:42:54"},{"expression":{"arguments":[{"id":4897,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"6565:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4898,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4871,"src":"6574:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4899,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4873,"src":"6582:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4896,"name":"_sumLockedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5041,"src":"6548:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6548:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4901,"nodeType":"ExpressionStatement","src":"6548:43:54"},{"eventCall":{"arguments":[{"id":4903,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4869,"src":"6618:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4904,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4871,"src":"6627:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4905,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4873,"src":"6635:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4902,"name":"FundsLocked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4715,"src":"6606:11:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4906,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6606:38:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4907,"nodeType":"EmitStatement","src":"6601:43:54"},{"expression":{"id":4908,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4871,"src":"6661:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4879,"id":4909,"nodeType":"Return","src":"6654:13:54"}]},"documentation":{"id":4867,"nodeType":"StructuredDocumentation","src":"5835:461:54","text":"@notice Locks a specific amount of funds for a given account.\n @dev The funds are immobilized and cannot be withdrawn or transferred until released or claimed.\n Only operator role can handle this methods.\n @param account The address of the account for which the funds will be locked.\n @param amount The amount of funds to lock.\n @param currency The currency to associate lock with. Use address(0) for the native coin."},"functionSelector":"4bbc170a","implemented":true,"kind":"function","modifiers":[{"id":4876,"kind":"modifierInvocation","modifierName":{"id":4875,"name":"restricted","nameLocations":["6375:10:54"],"nodeType":"IdentifierPath","referencedDeclaration":47916,"src":"6375:10:54"},"nodeType":"ModifierInvocation","src":"6375:10:54"}],"name":"lock","nameLocation":"6310:4:54","parameters":{"id":4874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4869,"mutability":"mutable","name":"account","nameLocation":"6323:7:54","nodeType":"VariableDeclaration","scope":4911,"src":"6315:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4868,"name":"address","nodeType":"ElementaryTypeName","src":"6315:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4871,"mutability":"mutable","name":"amount","nameLocation":"6340:6:54","nodeType":"VariableDeclaration","scope":4911,"src":"6332:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4870,"name":"uint256","nodeType":"ElementaryTypeName","src":"6332:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4873,"mutability":"mutable","name":"currency","nameLocation":"6356:8:54","nodeType":"VariableDeclaration","scope":4911,"src":"6348:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4872,"name":"address","nodeType":"ElementaryTypeName","src":"6348:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6314:51:54"},"returnParameters":{"id":4879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4878,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4911,"src":"6395:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4877,"name":"uint256","nodeType":"ElementaryTypeName","src":"6395:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"6394:9:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":4956,"nodeType":"FunctionDefinition","src":"6991:381:54","nodes":[],"body":{"id":4955,"nodeType":"Block","src":"7097:275:54","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4930,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4926,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4914,"src":"7128:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4927,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"7137:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4925,"name":"_getLockedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5058,"src":"7111:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":4928,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7111:35:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4929,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4916,"src":"7149:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7111:44:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4934,"nodeType":"IfStatement","src":"7107:75:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4931,"name":"NoFundsToRelease","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4742,"src":"7164:16:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":4932,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7164:18:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":4933,"nodeType":"RevertStatement","src":"7157:25:54"}},{"expression":{"arguments":[{"id":4936,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4914,"src":"7209:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4937,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4916,"src":"7218:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4938,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"7226:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4935,"name":"_subLockedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"7192:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4939,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7192:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4940,"nodeType":"ExpressionStatement","src":"7192:43:54"},{"expression":{"arguments":[{"id":4942,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4914,"src":"7261:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4943,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4916,"src":"7270:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4944,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"7278:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4941,"name":"_sumLedgerEntry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3119,"src":"7245:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4945,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7245:42:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4946,"nodeType":"ExpressionStatement","src":"7245:42:54"},{"eventCall":{"arguments":[{"id":4948,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4914,"src":"7316:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4949,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4916,"src":"7325:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4950,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4918,"src":"7333:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4947,"name":"FundsReleased","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4724,"src":"7302:13:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7302:40:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4952,"nodeType":"EmitStatement","src":"7297:45:54"},{"expression":{"id":4953,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4916,"src":"7359:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4924,"id":4954,"nodeType":"Return","src":"7352:13:54"}]},"documentation":{"id":4912,"nodeType":"StructuredDocumentation","src":"6680:306:54","text":"@notice Release a specific amount of funds from locked pool.\n @param account The address of the account for which the funds will be released.\n @param amount The amount of funds to release.\n @param currency The currency to associate release with. Use address(0) for the native coin."},"functionSelector":"15f41501","implemented":true,"kind":"function","modifiers":[{"id":4921,"kind":"modifierInvocation","modifierName":{"id":4920,"name":"restricted","nameLocations":["7068:10:54"],"nodeType":"IdentifierPath","referencedDeclaration":47916,"src":"7068:10:54"},"nodeType":"ModifierInvocation","src":"7068:10:54"}],"name":"release","nameLocation":"7000:7:54","parameters":{"id":4919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4914,"mutability":"mutable","name":"account","nameLocation":"7016:7:54","nodeType":"VariableDeclaration","scope":4956,"src":"7008:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4913,"name":"address","nodeType":"ElementaryTypeName","src":"7008:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4916,"mutability":"mutable","name":"amount","nameLocation":"7033:6:54","nodeType":"VariableDeclaration","scope":4956,"src":"7025:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4915,"name":"uint256","nodeType":"ElementaryTypeName","src":"7025:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4918,"mutability":"mutable","name":"currency","nameLocation":"7049:8:54","nodeType":"VariableDeclaration","scope":4956,"src":"7041:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4917,"name":"address","nodeType":"ElementaryTypeName","src":"7041:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7007:51:54"},"returnParameters":{"id":4924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4923,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":4956,"src":"7088:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4922,"name":"uint256","nodeType":"ElementaryTypeName","src":"7088:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7087:9:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":5003,"nodeType":"FunctionDefinition","src":"7825:385:54","nodes":[],"body":{"id":5002,"nodeType":"Block","src":"7929:281:54","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":4975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":4971,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4959,"src":"7960:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4972,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"7969:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4970,"name":"_getLockedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5058,"src":"7943:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$","typeString":"function (address,address) view returns (uint256)"}},"id":4973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7943:35:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":4974,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4961,"src":"7981:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7943:44:54","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":4979,"nodeType":"IfStatement","src":"7939:73:54","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":4976,"name":"NoFundsToClaim","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4739,"src":"7996:14:54","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":4977,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7996:16:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":4978,"nodeType":"RevertStatement","src":"7989:23:54"}},{"expression":{"arguments":[{"id":4981,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4959,"src":"8039:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4982,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4961,"src":"8048:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4983,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"8056:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4980,"name":"_subLockedAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5022,"src":"8022:16:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4984,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8022:43:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4985,"nodeType":"ExpressionStatement","src":"8022:43:54"},{"expression":{"arguments":[{"expression":{"id":4987,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8094:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4988,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8098:6:54","memberName":"sender","nodeType":"MemberAccess","src":"8094:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4989,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4961,"src":"8106:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4990,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"8114:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4986,"name":"_sumLedgerEntry","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3119,"src":"8078:15:54","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4991,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8078:45:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4992,"nodeType":"ExpressionStatement","src":"8078:45:54"},{"eventCall":{"arguments":[{"expression":{"id":4994,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"8151:3:54","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":4995,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8155:6:54","memberName":"sender","nodeType":"MemberAccess","src":"8151:10:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":4996,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4961,"src":"8163:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":4997,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4963,"src":"8171:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":4993,"name":"FundsClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4733,"src":"8138:12:54","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$","typeString":"function (address,uint256,address)"}},"id":4998,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8138:42:54","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":4999,"nodeType":"EmitStatement","src":"8133:47:54"},{"expression":{"id":5000,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4961,"src":"8197:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":4969,"id":5001,"nodeType":"Return","src":"8190:13:54"}]},"documentation":{"id":4957,"nodeType":"StructuredDocumentation","src":"7378:442:54","text":"@notice Claims a specific amount of locked funds on behalf of a claimer.\n @dev The claimer is authorized to process the funds from the account.\n Only operator role can handle this methods.\n @param account The address of the account whose funds are being claimed.\n @param amount The amount of funds to claim.\n @param currency The currency to associate claim with. Use address(0) for the native coin."},"functionSelector":"9e96a260","implemented":true,"kind":"function","modifiers":[{"id":4966,"kind":"modifierInvocation","modifierName":{"id":4965,"name":"restricted","nameLocations":["7900:10:54"],"nodeType":"IdentifierPath","referencedDeclaration":47916,"src":"7900:10:54"},"nodeType":"ModifierInvocation","src":"7900:10:54"}],"name":"claim","nameLocation":"7834:5:54","parameters":{"id":4964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4959,"mutability":"mutable","name":"account","nameLocation":"7848:7:54","nodeType":"VariableDeclaration","scope":5003,"src":"7840:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4958,"name":"address","nodeType":"ElementaryTypeName","src":"7840:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":4961,"mutability":"mutable","name":"amount","nameLocation":"7865:6:54","nodeType":"VariableDeclaration","scope":5003,"src":"7857:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4960,"name":"uint256","nodeType":"ElementaryTypeName","src":"7857:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":4963,"mutability":"mutable","name":"currency","nameLocation":"7881:8:54","nodeType":"VariableDeclaration","scope":5003,"src":"7873:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":4962,"name":"address","nodeType":"ElementaryTypeName","src":"7873:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7839:51:54"},"returnParameters":{"id":4969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":4968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5003,"src":"7920:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":4967,"name":"uint256","nodeType":"ElementaryTypeName","src":"7920:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"7919:9:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":5022,"nodeType":"FunctionDefinition","src":"8632:138:54","nodes":[],"body":{"id":5021,"nodeType":"Block","src":"8717:53:54","nodes":[],"statements":[{"expression":{"id":5019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":5013,"name":"_locked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4706,"src":"8727:7:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":5016,"indexExpression":{"id":5014,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5006,"src":"8735:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8727:16:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":5017,"indexExpression":{"id":5015,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5010,"src":"8744:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8727:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"id":5018,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5008,"src":"8757:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8727:36:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5020,"nodeType":"ExpressionStatement","src":"8727:36:54"}]},"documentation":{"id":5004,"nodeType":"StructuredDocumentation","src":"8216:411:54","text":"@notice Reduces the locked funds of an account for a specific currency.\n @dev Deducts the specified `amount` from the `_locked` mapping for the given `account` and `currency`.\n @param account The address of the account whose locked funds are being reduced.\n @param amount The amount to subtract from the locked balance.\n @param currency The address of the currency being reduced."},"implemented":true,"kind":"function","modifiers":[],"name":"_subLockedAmount","nameLocation":"8641:16:54","parameters":{"id":5011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5006,"mutability":"mutable","name":"account","nameLocation":"8666:7:54","nodeType":"VariableDeclaration","scope":5022,"src":"8658:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5005,"name":"address","nodeType":"ElementaryTypeName","src":"8658:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5008,"mutability":"mutable","name":"amount","nameLocation":"8683:6:54","nodeType":"VariableDeclaration","scope":5022,"src":"8675:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5007,"name":"uint256","nodeType":"ElementaryTypeName","src":"8675:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5010,"mutability":"mutable","name":"currency","nameLocation":"8699:8:54","nodeType":"VariableDeclaration","scope":5022,"src":"8691:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5009,"name":"address","nodeType":"ElementaryTypeName","src":"8691:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8657:51:54"},"returnParameters":{"id":5012,"nodeType":"ParameterList","parameters":[],"src":"8717:0:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":5041,"nodeType":"FunctionDefinition","src":"9186:138:54","nodes":[],"body":{"id":5040,"nodeType":"Block","src":"9271:53:54","nodes":[],"statements":[{"expression":{"id":5038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"baseExpression":{"id":5032,"name":"_locked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4706,"src":"9281:7:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":5035,"indexExpression":{"id":5033,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5025,"src":"9289:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9281:16:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":5036,"indexExpression":{"id":5034,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5029,"src":"9298:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9281:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"id":5037,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5027,"src":"9311:6:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9281:36:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":5039,"nodeType":"ExpressionStatement","src":"9281:36:54"}]},"documentation":{"id":5023,"nodeType":"StructuredDocumentation","src":"8776:405:54","text":"@notice Increases the locked funds of an account for a specific currency.\n @dev Adds the specified `amount` to the `_locked` mapping for the given `account` and `currency`.\n @param account The address of the account whose locked funds are being increased.\n @param amount The amount to add to the locked balance.\n @param currency The address of the currency being increased."},"implemented":true,"kind":"function","modifiers":[],"name":"_sumLockedAmount","nameLocation":"9195:16:54","parameters":{"id":5030,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5025,"mutability":"mutable","name":"account","nameLocation":"9220:7:54","nodeType":"VariableDeclaration","scope":5041,"src":"9212:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5024,"name":"address","nodeType":"ElementaryTypeName","src":"9212:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5027,"mutability":"mutable","name":"amount","nameLocation":"9237:6:54","nodeType":"VariableDeclaration","scope":5041,"src":"9229:14:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5026,"name":"uint256","nodeType":"ElementaryTypeName","src":"9229:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":5029,"mutability":"mutable","name":"currency","nameLocation":"9253:8:54","nodeType":"VariableDeclaration","scope":5041,"src":"9245:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5028,"name":"address","nodeType":"ElementaryTypeName","src":"9245:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9211:51:54"},"returnParameters":{"id":5031,"nodeType":"ParameterList","parameters":[],"src":"9271:0:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":5058,"nodeType":"FunctionDefinition","src":"9775:142:54","nodes":[],"body":{"id":5057,"nodeType":"Block","src":"9867:50:54","nodes":[],"statements":[{"expression":{"baseExpression":{"baseExpression":{"id":5051,"name":"_locked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4706,"src":"9884:7:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":5053,"indexExpression":{"id":5052,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5044,"src":"9892:7:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9884:16:54","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":5055,"indexExpression":{"id":5054,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5046,"src":"9901:8:54","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9884:26:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":5050,"id":5056,"nodeType":"Return","src":"9877:33:54"}]},"documentation":{"id":5042,"nodeType":"StructuredDocumentation","src":"9330:440:54","text":"@notice Retrieves the locked balance of an account for a specific currency.\n @dev Returns the value stored in the `_locked` mapping for the given `account` and `currency`.\n @param account The address of the account whose locked balance is being queried.\n @param currency The address of the currency to check the locked balance for.\n @return The locked balance of the specified account for the given currency."},"implemented":true,"kind":"function","modifiers":[],"name":"_getLockedAmount","nameLocation":"9784:16:54","parameters":{"id":5047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5044,"mutability":"mutable","name":"account","nameLocation":"9809:7:54","nodeType":"VariableDeclaration","scope":5058,"src":"9801:15:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5043,"name":"address","nodeType":"ElementaryTypeName","src":"9801:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5046,"mutability":"mutable","name":"currency","nameLocation":"9826:8:54","nodeType":"VariableDeclaration","scope":5058,"src":"9818:16:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5045,"name":"address","nodeType":"ElementaryTypeName","src":"9818:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"9800:35:54"},"returnParameters":{"id":5050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5049,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":5058,"src":"9858:7:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5048,"name":"uint256","nodeType":"ElementaryTypeName","src":"9858:7:54","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"9857:9:54"},"scope":5069,"stateMutability":"view","virtual":false,"visibility":"private"},{"id":5068,"nodeType":"FunctionDefinition","src":"10221:84:54","nodes":[],"body":{"id":5067,"nodeType":"Block","src":"10303:2:54","nodes":[],"statements":[]},"baseFunctions":[50598],"documentation":{"id":5059,"nodeType":"StructuredDocumentation","src":"9923:293:54","text":"@notice Function that should revert when msg.sender is not authorized to upgrade the contract.\n @param newImplementation The address of the new implementation contract.\n @dev See https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable-_authorizeUpgrade-address-"},"implemented":true,"kind":"function","modifiers":[{"id":5065,"kind":"modifierInvocation","modifierName":{"id":5064,"name":"onlyAdmin","nameLocations":["10293:9:54"],"nodeType":"IdentifierPath","referencedDeclaration":2578,"src":"10293:9:54"},"nodeType":"ModifierInvocation","src":"10293:9:54"}],"name":"_authorizeUpgrade","nameLocation":"10230:17:54","overrides":{"id":5063,"nodeType":"OverrideSpecifier","overrides":[],"src":"10284:8:54"},"parameters":{"id":5062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5061,"mutability":"mutable","name":"newImplementation","nameLocation":"10256:17:54","nodeType":"VariableDeclaration","scope":5068,"src":"10248:25:54","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5060,"name":"address","nodeType":"ElementaryTypeName","src":"10248:7:54","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"10247:27:54"},"returnParameters":{"id":5066,"nodeType":"ParameterList","parameters":[],"src":"10303:0:54"},"scope":5069,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":4687,"name":"Initializable","nameLocations":["1174:13:54"],"nodeType":"IdentifierPath","referencedDeclaration":50462,"src":"1174:13:54"},"id":4688,"nodeType":"InheritanceSpecifier","src":"1174:13:54"},{"baseName":{"id":4689,"name":"UUPSUpgradeable","nameLocations":["1193:15:54"],"nodeType":"IdentifierPath","referencedDeclaration":50644,"src":"1193:15:54"},"id":4690,"nodeType":"InheritanceSpecifier","src":"1193:15:54"},{"baseName":{"id":4691,"name":"AccessControlledUpgradeable","nameLocations":["1214:27:54"],"nodeType":"IdentifierPath","referencedDeclaration":2660,"src":"1214:27:54"},"id":4692,"nodeType":"InheritanceSpecifier","src":"1214:27:54"},{"baseName":{"id":4693,"name":"ReentrancyGuardTransientUpgradeable","nameLocations":["1247:35:54"],"nodeType":"IdentifierPath","referencedDeclaration":52553,"src":"1247:35:54"},"id":4694,"nodeType":"InheritanceSpecifier","src":"1247:35:54"},{"baseName":{"id":4695,"name":"BalanceOperatorUpgradeable","nameLocations":["1288:26:54"],"nodeType":"IdentifierPath","referencedDeclaration":2824,"src":"1288:26:54"},"id":4696,"nodeType":"InheritanceSpecifier","src":"1288:26:54"}],"canonicalName":"LedgerVault","contractDependencies":[],"contractKind":"contract","documentation":{"id":4686,"nodeType":"StructuredDocumentation","src":"837:309:54","text":"@title LedgerVault\n @notice A vault contract designed to store, lock, release, and manage funds securely.\n @dev This contract includes administrative methods (`restricted`) and general user methods.\n Supports operations such as deposits, withdrawals, transfers, and locked funds management."},"fullyImplemented":true,"linearizedBaseContracts":[5069,2824,963,993,947,1035,3156,1049,52553,2660,48089,53586,52254,50644,59214,50462],"name":"LedgerVault","nameLocation":"1155:11:54","scope":5070,"usedErrors":[969,1011,1769,1773,2560,4736,4739,4742,50225,50228,50489,50494,52485,53557,53563,53567,59409,59422,60999,61705,61997],"usedEvents":[934,980,1022,4715,4724,4733,50233,53553,59136]}],"license":"MIT"},"id":54} \ No newline at end of file +{ + "abi": [ + { "type": "constructor", "inputs": [], "stateMutability": "nonpayable" }, + { + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "claim", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "deposit", + "inputs": [ + { "name": "recipient", "type": "address", "internalType": "address" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getBalance", + "inputs": [{ "name": "currency", "type": "address", "internalType": "address" }], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getLedgerBalance", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "currency", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [{ "name": "accessManager", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isConsumingScheduledOp", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "lock", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "proxiableUUID", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "release", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [{ "name": "newAuthority", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { "name": "recipient", "type": "address", "internalType": "address" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "upgradeToAndCall", + "inputs": [ + { "name": "newImplementation", "type": "address", "internalType": "address" }, + { "name": "data", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "function", + "name": "withdraw", + "inputs": [ + { "name": "recipient", "type": "address", "internalType": "address" }, + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { "name": "authority", "type": "address", "indexed": false, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundsClaimed", + "inputs": [ + { "name": "claimer", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, + { "name": "currency", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundsDeposited", + "inputs": [ + { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "origin", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, + { "name": "currency", "type": "address", "indexed": false, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundsLocked", + "inputs": [ + { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, + { "name": "currency", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundsReleased", + "inputs": [ + { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, + { "name": "currency", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundsTransferred", + "inputs": [ + { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "origin", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, + { "name": "currency", "type": "address", "indexed": false, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "FundsWithdrawn", + "inputs": [ + { "name": "recipient", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "origin", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "amount", "type": "uint256", "indexed": false, "internalType": "uint256" }, + { "name": "currency", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Upgraded", + "inputs": [ + { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AccessManagedInvalidAuthority", + "inputs": [{ "name": "authority", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AccessManagedRequiredDelay", + "inputs": [ + { "name": "caller", "type": "address", "internalType": "address" }, + { "name": "delay", "type": "uint32", "internalType": "uint32" } + ] + }, + { + "type": "error", + "name": "AccessManagedUnauthorized", + "inputs": [{ "name": "caller", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [{ "name": "target", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC1967InvalidImplementation", + "inputs": [{ "name": "implementation", "type": "address", "internalType": "address" }] + }, + { "type": "error", "name": "ERC1967NonPayable", "inputs": [] }, + { + "type": "error", + "name": "FailDuringDeposit", + "inputs": [{ "name": "reason", "type": "string", "internalType": "string" }] + }, + { + "type": "error", + "name": "FailDuringTransfer", + "inputs": [{ "name": "reason", "type": "string", "internalType": "string" }] + }, + { "type": "error", "name": "FailedCall", "inputs": [] }, + { "type": "error", "name": "InvalidInitialization", "inputs": [] }, + { + "type": "error", + "name": "InvalidUnauthorizedOperation", + "inputs": [{ "name": "", "type": "string", "internalType": "string" }] + }, + { "type": "error", "name": "NoFundsToClaim", "inputs": [] }, + { "type": "error", "name": "NoFundsToLock", "inputs": [] }, + { "type": "error", "name": "NoFundsToRelease", "inputs": [] }, + { "type": "error", "name": "NoFundsToTransfer", "inputs": [] }, + { "type": "error", "name": "NoFundsToWithdraw", "inputs": [] }, + { "type": "error", "name": "NotInitializing", "inputs": [] }, + { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] }, + { + "type": "error", + "name": "SafeERC20FailedOperation", + "inputs": [{ "name": "token", "type": "address", "internalType": "address" }] + }, + { "type": "error", "name": "UUPSUnauthorizedCallContext", "inputs": [] }, + { + "type": "error", + "name": "UUPSUnsupportedProxiableUUID", + "inputs": [{ "name": "slot", "type": "bytes32", "internalType": "bytes32" }] + } + ], + "bytecode": { + "object": "0x60a080604052346100e857306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c166100d9576002600160401b03196001600160401b03821601610073575b60405161202590816100ed8239608051818181610bb50152610cd40152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005581527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f80610054565b63f92ee8a960e01b5f5260045ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c806315f41501146111f75780634bbc170a146110a65780634f1ef28614610c2d57806352d1902d14610b7057806369328dec146109d85780637a9e5e4b146108e35780638fb36037146108325780639e96a26014610747578063ad3cb1cc14610695578063bf7e214f14610625578063c4d66de814610351578063d949b84414610287578063dbba0f0114610190578063f45346dc1461010c5763f8b2cb4f146100be575f80fd5b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085760206101006100fa6112e1565b30611933565b604051908152f35b5f80fd5b3461010857602061012861011f36611304565b80939133611c82565b916101348184846117aa565b6040805184815273ffffffffffffffffffffffffffffffffffffffff92831660208201523393909216917f2d26b12df00031a51cbd91c763887ccf6992992e54b2701fbe5bd7b2c738a4e291819081015b0390a3604051908152f35b346101085761019e36611304565b91335f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2073ffffffffffffffffffffffffffffffffffffffff84165f526020528160405f20541061025f57826101ff6020948433611819565b61020a8184846117aa565b6040805184815273ffffffffffffffffffffffffffffffffffffffff92831660208201523393909216917fe93251c2a6f732155f1cd84502a2c66884e81835c0d4768a10d81fcd79510be79181908101610185565b7fd1df6ed0000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101085760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576102be6112e1565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101085761033b73ffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2090565b91165f52602052602060405f2054604051908152f35b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576103886112e1565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff82168015908161061d575b6001149081610613575b15908161060a575b506105e257818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561058d575b5061044b611c2b565b610453611c2b565b61045b611c2b565b610463611c2b565b61046b611c2b565b610473611c2b565b61047b611c2b565b61048481611888565b61048c611c2b565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556104fa57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610442565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015846103d9565b303b1591506103d1565b8491506103c7565b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010857602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085760408051906106d28183611376565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346101085761075536611304565b61075f363361141e565b73ffffffffffffffffffffffffffffffffffffffff83165f525f60205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f20541061080a576107b4818360209561174a565b6107bf8183336117aa565b73ffffffffffffffffffffffffffffffffffffffff6040519183835216907f07b798e47a298c7004dfddcb1196e6b8f9a6488dd1db7eeedbc8a4c3f4831563843392a3604051908152f35b7fdff46e2b000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156108db5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6108b1565b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085761091a6112e1565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036109ac57803b1561096a5761096890611888565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b34610108576109e636611304565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c610b485760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d335f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f205410610b2057602092610a90828433611819565b610a9b828483611a4a565b73ffffffffffffffffffffffffffffffffffffffff6040519284845216917f823b7dcdbd5806d97a2a3c64fe281a8d31155b2a7dade87fdaa7437c79c12b118573ffffffffffffffffffffffffffffffffffffffff33941692a45f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d604051908152f35b7f67e3990d000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610c055760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010857610c5f6112e1565b6024359067ffffffffffffffff8211610108573660238301121561010857816004013590610c8c826113e4565b91610c9a6040519384611376565b8083526020830193366024838301011161010857815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115611064575b50610c05576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115611059575f91611029575b5015610fa55773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610f71575b50610e0b57847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610f465750823b15610f1b57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610ee9575f8091610968945190845af4610ee36119e4565b91611ecf565b50505034610ef357005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610f9d575b81610f8d60209383611376565b8101031261010857519086610dda565b3d9150610f80565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b61104b915060403d604011611052575b6110438183611376565b810190611a20565b5084610d85565b503d611039565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610cff565b34610108576110b436611304565b6110be363361141e565b6111058373ffffffffffffffffffffffffffffffffffffffff165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2090565b73ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f2054106111cf5773ffffffffffffffffffffffffffffffffffffffff8361114f8385602097611819565b16805f525f845260405f2073ffffffffffffffffffffffffffffffffffffffff83165f52845260405f2061118484825461179d565b90557fa372d74f11f208f0466eb410f699d101da6ccbe3717f711988fb355eac737f628473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b7fa9e575de000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101085761120536611304565b61120f363361141e565b73ffffffffffffffffffffffffffffffffffffffff8316805f525f60205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f526020528260405f2054106112b95761127082848661126b838360209a61174a565b6117aa565b7f29f33620d8742cb2079bba3afb003116b7db185e4f58a4bd6bc4291b6d99fcbc8473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b7fb7cc22bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361010857565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126101085760043573ffffffffffffffffffffffffffffffffffffffff8116810361010857906024359060443573ffffffffffffffffffffffffffffffffffffffff811681036101085790565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116113b757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00549173ffffffffffffffffffffffffffffffffffffffff83169282600411610108575f805f806040519573ffffffffffffffffffffffffffffffffffffffff60208801917fb700961300000000000000000000000000000000000000000000000000000000835216968760248201523060448201527fffffffff000000000000000000000000000000000000000000000000000000008335166064820152606481526114ed608482611376565b5190895afa6114fa6119e4565b906116b2575b501561150e575b5050505050565b63ffffffff1615611686577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055823b15610108577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0925f92836064601f94604051978896879586937f94c7d7ee00000000000000000000000000000000000000000000000000000000855260048501526040602485015280604485015280868686013785858286010152011681010301925af1801561105957611676575b507fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0054167ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00555f80808080611507565b5f61168091611376565b5f611605565b507f068ca9d8000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8051929091604084106116da5750506020806116d2938301019101611a20565b905b5f611500565b91909260208110156116ee575b50506116d4565b81925090602091810103126101085760206117099101611a13565b5f806116e7565b9190820391821161171d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff90929192165f525f60205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f20918254611710565b9055565b9190820180921161171d57565b73ffffffffffffffffffffffffffffffffffffffff90929192165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f2091825461179d565b73ffffffffffffffffffffffffffffffffffffffff90929192165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f20918254611710565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b9073ffffffffffffffffffffffffffffffffffffffff169081156119de5773ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611059575f916119af575090565b90506020813d6020116119d6575b816119ca60209383611376565b81010312610108575190565b3d91506119bd565b90503190565b3d15611a0e573d906119f5826113e4565b91611a036040519384611376565b82523d5f602084013e565b606090565b5190811515820361010857565b9190826040910312610108576020611a3783611a13565b92015163ffffffff811681036101085790565b90918215611bcd5782611a5d8230611933565b10611b6f5773ffffffffffffffffffffffffffffffffffffffff168015611ae257611ae09273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252611adb606483611376565b611f68565b565b505f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b096119e4565b5015611b1157565b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152fd5b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e73756666696369656e742062616c616e63652e00000000000000000000006044820152fd5b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f496e76616c6964207a65726f20616d6f756e7420746f207472616e736665722e6044820152fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615611c5a57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9190918215611de95773ffffffffffffffffffffffffffffffffffffffff8216918215611d7e57611cb39082611e47565b8311611d2057611d1d9173ffffffffffffffffffffffffffffffffffffffff604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015283606483015260648252611adb608483611376565b90565b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f416d6f756e74206578636565647320616c6c6f77616e63652e000000000000006044820152fd5b505050348111611d8b5790565b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f416d6f756e7420657863656564732062616c616e63652e0000000000000000006044820152fd5b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c6964207a65726f20616d6f756e742e0000000000000000000000006044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff16908115611ec95773ffffffffffffffffffffffffffffffffffffffff604460209260405194859384927fdd62ed3e0000000000000000000000000000000000000000000000000000000084521660048301523060248301525afa908115611059575f916119af575090565b50503490565b90611f0c5750805115611ee457805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611f5f575b611f1d575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611f15565b905f602091828151910182855af115611059575f513d611fe6575073ffffffffffffffffffffffffffffffffffffffff81163b155b611fa45750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415611f9d56fea26469706673582212209c9a1eda87eb80f8aaecb5fc01f998c3f9bbb320844e92b87497d7da9cc15c6464736f6c634300081a0033", + "sourceMap": "1146:9161:54:-:0;;;;;;;1171:4:93;1163:13;;8837:64:92;1146:9161:54;;;;;;7896:76:92;;-1:-1:-1;;;;;;;;;;;1146:9161:54;;7985:34:92;7981:146;;-1:-1:-1;1146:9161:54;;;;;;;;1163:13:93;1146:9161:54;;;;;;;;;;;7981:146:92;-1:-1:-1;;;;;;1146:9161:54;-1:-1:-1;;;;;1146:9161:54;;;8837:64:92;1146:9161:54;;;8087:29:92;;1146:9161:54;;8087:29:92;7981:146;;;;7896:76;7938:23;;;-1:-1:-1;7938:23:92;;-1:-1:-1;7938:23:92;1146:9161:54;;;", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x60806040526004361015610011575f80fd5b5f3560e01c806315f41501146111f75780634bbc170a146110a65780634f1ef28614610c2d57806352d1902d14610b7057806369328dec146109d85780637a9e5e4b146108e35780638fb36037146108325780639e96a26014610747578063ad3cb1cc14610695578063bf7e214f14610625578063c4d66de814610351578063d949b84414610287578063dbba0f0114610190578063f45346dc1461010c5763f8b2cb4f146100be575f80fd5b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085760206101006100fa6112e1565b30611933565b604051908152f35b5f80fd5b3461010857602061012861011f36611304565b80939133611c82565b916101348184846117aa565b6040805184815273ffffffffffffffffffffffffffffffffffffffff92831660208201523393909216917f2d26b12df00031a51cbd91c763887ccf6992992e54b2701fbe5bd7b2c738a4e291819081015b0390a3604051908152f35b346101085761019e36611304565b91335f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2073ffffffffffffffffffffffffffffffffffffffff84165f526020528160405f20541061025f57826101ff6020948433611819565b61020a8184846117aa565b6040805184815273ffffffffffffffffffffffffffffffffffffffff92831660208201523393909216917fe93251c2a6f732155f1cd84502a2c66884e81835c0d4768a10d81fcd79510be79181908101610185565b7fd1df6ed0000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101085760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576102be6112e1565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036101085761033b73ffffffffffffffffffffffffffffffffffffffff9173ffffffffffffffffffffffffffffffffffffffff165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2090565b91165f52602052602060405f2054604051908152f35b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108576103886112e1565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff82168015908161061d575b6001149081610613575b15908161060a575b506105e257818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561058d575b5061044b611c2b565b610453611c2b565b61045b611c2b565b610463611c2b565b61046b611c2b565b610473611c2b565b61047b611c2b565b61048481611888565b61048c611c2b565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556104fa57005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610442565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015846103d9565b303b1591506103d1565b8491506103c7565b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010857602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085760408051906106d28183611376565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b346101085761075536611304565b61075f363361141e565b73ffffffffffffffffffffffffffffffffffffffff83165f525f60205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f20541061080a576107b4818360209561174a565b6107bf8183336117aa565b73ffffffffffffffffffffffffffffffffffffffff6040519183835216907f07b798e47a298c7004dfddcb1196e6b8f9a6488dd1db7eeedbc8a4c3f4831563843392a3604051908152f35b7fdff46e2b000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610108577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156108db5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f6108b1565b346101085760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085761091a6112e1565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036109ac57803b1561096a5761096890611888565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b34610108576109e636611304565b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005c610b485760017f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d335f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2073ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f205410610b2057602092610a90828433611819565b610a9b828483611a4a565b73ffffffffffffffffffffffffffffffffffffffff6040519284845216917f823b7dcdbd5806d97a2a3c64fe281a8d31155b2a7dade87fdaa7437c79c12b118573ffffffffffffffffffffffffffffffffffffffff33941692a45f7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005d604051908152f35b7f67e3990d000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f3ee5aeb5000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610108575f7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101085773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610c055760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261010857610c5f6112e1565b6024359067ffffffffffffffff8211610108573660238301121561010857816004013590610c8c826113e4565b91610c9a6040519384611376565b8083526020830193366024838301011161010857815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115611064575b50610c05576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115611059575f91611029575b5015610fa55773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610f71575b50610e0b57847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610f465750823b15610f1b57807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610ee9575f8091610968945190845af4610ee36119e4565b91611ecf565b50505034610ef357005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610f9d575b81610f8d60209383611376565b8101031261010857519086610dda565b3d9150610f80565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b61104b915060403d604011611052575b6110438183611376565b810190611a20565b5084610d85565b503d611039565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141584610cff565b34610108576110b436611304565b6110be363361141e565b6111058373ffffffffffffffffffffffffffffffffffffffff165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205260405f2090565b73ffffffffffffffffffffffffffffffffffffffff82165f526020528160405f2054106111cf5773ffffffffffffffffffffffffffffffffffffffff8361114f8385602097611819565b16805f525f845260405f2073ffffffffffffffffffffffffffffffffffffffff83165f52845260405f2061118484825461179d565b90557fa372d74f11f208f0466eb410f699d101da6ccbe3717f711988fb355eac737f628473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b7fa9e575de000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101085761120536611304565b61120f363361141e565b73ffffffffffffffffffffffffffffffffffffffff8316805f525f60205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f526020528260405f2054106112b95761127082848661126b838360209a61174a565b6117aa565b7f29f33620d8742cb2079bba3afb003116b7db185e4f58a4bd6bc4291b6d99fcbc8473ffffffffffffffffffffffffffffffffffffffff604051948686521693a3604051908152f35b7fb7cc22bc000000000000000000000000000000000000000000000000000000005f5260045ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361010857565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60609101126101085760043573ffffffffffffffffffffffffffffffffffffffff8116810361010857906024359060443573ffffffffffffffffffffffffffffffffffffffff811681036101085790565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176113b757604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116113b757601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b907ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00549173ffffffffffffffffffffffffffffffffffffffff83169282600411610108575f805f806040519573ffffffffffffffffffffffffffffffffffffffff60208801917fb700961300000000000000000000000000000000000000000000000000000000835216968760248201523060448201527fffffffff000000000000000000000000000000000000000000000000000000008335166064820152606481526114ed608482611376565b5190895afa6114fa6119e4565b906116b2575b501561150e575b5050505050565b63ffffffff1615611686577fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055823b15610108577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0925f92836064601f94604051978896879586937f94c7d7ee00000000000000000000000000000000000000000000000000000000855260048501526040602485015280604485015280868686013785858286010152011681010301925af1801561105957611676575b507fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0054167ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00555f80808080611507565b5f61168091611376565b5f611605565b507f068ca9d8000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8051929091604084106116da5750506020806116d2938301019101611a20565b905b5f611500565b91909260208110156116ee575b50506116d4565b81925090602091810103126101085760206117099101611a13565b5f806116e7565b9190820391821161171d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff90929192165f525f60205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f20918254611710565b9055565b9190820180921161171d57565b73ffffffffffffffffffffffffffffffffffffffff90929192165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f2091825461179d565b73ffffffffffffffffffffffffffffffffffffffff90929192165f527fcb711bda070b7bbcc2b711ef3993cc17677144f4419b29e303bef375c5f40f0060205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205261179960405f20918254611710565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b9073ffffffffffffffffffffffffffffffffffffffff169081156119de5773ffffffffffffffffffffffffffffffffffffffff602460209260405194859384927f70a082310000000000000000000000000000000000000000000000000000000084521660048301525afa908115611059575f916119af575090565b90506020813d6020116119d6575b816119ca60209383611376565b81010312610108575190565b3d91506119bd565b90503190565b3d15611a0e573d906119f5826113e4565b91611a036040519384611376565b82523d5f602084013e565b606090565b5190811515820361010857565b9190826040910312610108576020611a3783611a13565b92015163ffffffff811681036101085790565b90918215611bcd5782611a5d8230611933565b10611b6f5773ffffffffffffffffffffffffffffffffffffffff168015611ae257611ae09273ffffffffffffffffffffffffffffffffffffffff604051937fa9059cbb000000000000000000000000000000000000000000000000000000006020860152166024840152604483015260448252611adb606483611376565b611f68565b565b505f80809373ffffffffffffffffffffffffffffffffffffffff8294165af1611b096119e4565b5015611b1157565b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152600f60248201527f5472616e73666572206661696c656400000000000000000000000000000000006044820152fd5b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f496e73756666696369656e742062616c616e63652e00000000000000000000006044820152fd5b60646040517f9cf1483d00000000000000000000000000000000000000000000000000000000815260206004820152602060248201527f496e76616c6964207a65726f20616d6f756e7420746f207472616e736665722e6044820152fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c1615611c5a57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b9190918215611de95773ffffffffffffffffffffffffffffffffffffffff8216918215611d7e57611cb39082611e47565b8311611d2057611d1d9173ffffffffffffffffffffffffffffffffffffffff604051927f23b872dd00000000000000000000000000000000000000000000000000000000602085015216602483015230604483015283606483015260648252611adb608483611376565b90565b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f416d6f756e74206578636565647320616c6c6f77616e63652e000000000000006044820152fd5b505050348111611d8b5790565b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601760248201527f416d6f756e7420657863656564732062616c616e63652e0000000000000000006044820152fd5b60646040517f23c7565800000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f496e76616c6964207a65726f20616d6f756e742e0000000000000000000000006044820152fd5b9073ffffffffffffffffffffffffffffffffffffffff16908115611ec95773ffffffffffffffffffffffffffffffffffffffff604460209260405194859384927fdd62ed3e0000000000000000000000000000000000000000000000000000000084521660048301523060248301525afa908115611059575f916119af575090565b50503490565b90611f0c5750805115611ee457805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b81511580611f5f575b611f1d575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b15611f15565b905f602091828151910182855af115611059575f513d611fe6575073ffffffffffffffffffffffffffffffffffffffff81163b155b611fa45750565b73ffffffffffffffffffffffffffffffffffffffff907f5274afe7000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b60011415611f9d56fea26469706673582212209c9a1eda87eb80f8aaecb5fc01f998c3f9bbb320844e92b87497d7da9cc15c6464736f6c634300081a0033", + "sourceMap": "1146:9161:54:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1896:33:45;1146:9161:54;;:::i;:::-;1904:4:45;1896:33;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;;2371:40:45;1146:9161:54;;;:::i;:::-;2371:10:45;;;;:40;:::i;:::-;2459:8;;;;;;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;2371:10:45;;1146:9161:54;;;;4235:58;;1146:9161;;;;4235:58;;;;1146:9161;;;;;;;;;;;;;:::i;:::-;3927:10:45;;1146:9161:54;;4178:54:47;1146:9161:54;;;;;;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;3910:47:45;3906:79;;3927:10;4031:8;1146:9161:54;3927:10:45;;;4031:8;:::i;:::-;4085;;;;;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;3927:10:45;;1146:9161:54;;;;5736:60;;1146:9161;;;;5736:60;1146:9161;3906:79:45;3966:19;1146:9161:54;3966:19:45;1146:9161:54;;3966:19:45;1146:9161:54;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;1469:18:47;1146:9161:54;1469:18:47;1146:9161:54;;;;4178:54:47;1146:9161:54;;;;;;;1469:18:47;:28;1146:9161:54;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8837:64:92;1146:9161:54;;;;;;4301:16:92;1146:9161:54;;;;4726:16:92;;:34;;;;1146:9161:54;4805:1:92;4790:16;:50;;;;1146:9161:54;4855:13:92;:30;;;;1146:9161:54;4851:91:92;;;1146:9161:54;;4805:1:92;1146:9161:54;;;;;8837:64:92;1146:9161:54;4979:67:92;;1146:9161:54;6893:76:92;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:90;;;:::i;:::-;6893:76:92;;:::i;:::-;1146:9161:54;;3295:62:44;1146:9161:54;;;3295:62:44;1146:9161:54;5066:101:92;;1146:9161:54;5066:101:92;1146:9161:54;8837:64:92;1146:9161:54;;8837:64:92;1146:9161:54;5142:14:92;1146:9161:54;;;4805:1:92;1146:9161:54;;5142:14:92;1146:9161:54;4979:67:92;1146:9161:54;;;;8837:64:92;1146:9161:54;4979:67:92;;;4851:91;4908:23;1146:9161:54;4908:23:92;1146:9161:54;;4908:23:92;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:92;;4726:34;;;-1:-1:-1;4726:34:92;;1146:9161:54;;;;;;;;;;;;;1782:71:90;1146:9161:54;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3871:10:90;1146:9161:54;966:10:96;3871::90;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;7943:44;7939:73;;8056:8;;;1146:9161;8056:8;;:::i;:::-;8114;966:10:96;;;8114:8:54;:::i;:::-;1146:9161;;;;;;;;966:10:96;8138:42:54;966:10:96;;8138:42:54;;1146:9161;;;;;;7939:73;7996:16;1146:9161;7996:16;1146:9161;;7996:16;1146:9161;;;;;;;;;;;1782:71:90;1146:9161:54;;;;;4698:71:90;;;1146:9161:54;;4698:71:90;1146:9161:54;;;;;;;;4698:71:90;1146:9161:54;;4698:71:90;;1146:9161:54;;;;;;;;;;;;;:::i;:::-;;1782:71:90;1146:9161:54;;966:10:96;4258:21:90;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;1146:9161:54;4355:110:90;1146:9161:54;4411:43:90;;1146:9161:54;4411:43:90;1146:9161:54;;;;;4411:43:90;4254:92;4302:33;1146:9161:54;4302:33:90;966:10:96;1146:9161:54;;;;4302:33:90;1146:9161:54;;;;;;;:::i;:::-;757:66:99;3321:69:160;1706:93:99;;1917:4;757:66;3550:68:160;3060:10:45;1146:9161:54;;4178:54:47;1146:9161:54;;;;;;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;3043:47:45;3039:79;;1146:9161:54;3060:10:45;3164:8;3060:10;;;3164:8;:::i;:::-;3210;;;;;:::i;:::-;1146:9161:54;;;;;;;;3060:10:45;4991:58:54;3060:10:45;1146:9161:54;3060:10:45;1146:9161:54;;4991:58;;1146:9161;757:66:99;3550:68:160;1146:9161:54;;;;;;3039:79:45;3099:19;1146:9161:54;3099:19:45;1146:9161:54;;3099:19:45;1706:93:99;1758:30;1146:9161:54;1758:30:99;1146:9161:54;;1758:30:99;1146:9161:54;;;;;;;;;;;;5115:6:93;1146:9161:54;5106:4:93;5098:23;5094:145;;1146:9161:54;;;811:66:130;1146:9161:54;;;5094:145:93;5199:29;1146:9161:54;5199:29:93;1146:9161:54;;5199:29:93;1146:9161:54;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:6:93;1146:9161:54;4683:4:93;;4675:23;:120;;;;;1146:9161:54;4658:251:93;;;3058:30:44;1146:9161:54;;3295:62:44;1146:9161:54;;;;3058:30:44;;;;1146:9161:54;3058:30:44;;1146:9161:54;;3058:30:44;;1146:9161:54;1893:10:44;1146:9161:54;;;;3058:30:44;;;;;;;1146:9161:54;3058:30:44;;;1146:9161:54;1869:35:44;;1865:140;;1146:9161:54;;;;;;;6156:52:93;;1146:9161:54;6156:52:93;1146:9161:54;6156:52:93;;;;1146:9161:54;;6156:52:93;;;1146:9161:54;-1:-1:-1;6152:437:93;;6518:60;;1146:9161:54;6518:60:93;1146:9161:54;;;;6518:60:93;6152:437;6250:40;811:66:130;6250:40:93;;;6246:120;;1748:29:130;;;:34;1744:119;;1146:9161:54;;811:66:130;1146:9161:54;;;811:66:130;1146:9161:54;2407:36:130;1146:9161:54;2407:36:130;;1146:9161:54;;2458:15:130;:11;;1146:9161:54;4049:25:151;;4091:55;4049:25;;;;;;;;:::i;:::-;4091:55;;:::i;2454:148:130:-;6163:9;;;;6159:70;;1146:9161:54;6159:70:130;6199:19;1146:9161:54;6199:19:130;1146:9161:54;;6199:19:130;1744:119;1805:47;1146:9161:54;1805:47:130;1146:9161:54;;;;1805:47:130;6246:120:93;6317:34;1146:9161:54;6317:34:93;1146:9161:54;;;;6317:34:93;6156:52;;;;1146:9161:54;6156:52:93;;1146:9161:54;6156:52:93;;;;;;1146:9161:54;6156:52:93;;;:::i;:::-;;;1146:9161:54;;;;;6156:52:93;;;;;;;-1:-1:-1;6156:52:93;;1865:140:44;1927:67;1146:9161:54;;1927:67:44;;;1146:9161:54;;1927:67:44;;520:1:42;1146:9161:54;;520:1:42;;1146:9161:54;520:1:42;3058:30:44;1146:9161:54;;520:1:42;;;;;;1927:67:44;3058:30;;;;1146:9161:54;3058:30:44;1146:9161:54;3058:30:44;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;1146:9161:54;;;;;;;;;4675:120:93;1146:9161:54;;;811:66:130;1146:9161:54;;4753:42:93;;4675:120;;;1146:9161:54;;;;;;;:::i;:::-;3871:10:90;1146:9161:54;966:10:96;3871::90;:::i;:::-;1469:18:47;;1146:9161:54;;;;4178:54:47;1146:9161:54;;;;;;;1469:18:47;1146:9161:54;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;6418:44;6414:72;;1146:9161;6529:8;;;;1146:9161;6529:8;;:::i;:::-;1146:9161;;;;;;;;;;;;;-1:-1:-1;1146:9161:54;;;;-1:-1:-1;1146:9161:54;9281:36;1146:9161;;;9281:36;:::i;:::-;1146:9161;;6606:38;1146:9161;;;;;;;;;6606:38;;1146:9161;;;;;;6414:72;6471:15;1146:9161;6471:15;1146:9161;;6471:15;1146:9161;;;;;;;:::i;:::-;3871:10:90;1146:9161:54;966:10:96;3871::90;:::i;:::-;1146:9161:54;;;;;;;;;;;;;;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;7111:44;7107:75;;7278:8;7226;;;;;;1146:9161;7226:8;;:::i;:::-;7278;:::i;:::-;7302:40;1146:9161;;;;;;;;;7302:40;;1146:9161;;;;;;7107:75;7164:18;1146:9161;7164:18;1146:9161;;7164:18;1146:9161;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;1146:9161:54;;;;;-1:-1:-1;1146:9161:54;;;;;;;;;;;;;;:::o;5359:667:90:-;;1782:71;1146:9161:54;;;;;;;5679:1:90;1146:9161:54;;;;;;;;;856:62:105;1146:9161:54;856:62:105;;;;;;;1146:9161:54;856:62:105;;;;;1146:9161:54;5646:4:90;1146:9161:54;;;;;;;;;;;;;856:62:105;;;;;;:::i;:::-;822:106;;;;;;;:::i;:::-;938:248;;;5359:667:90;5706:10;;5702:318;;5359:667;;;;;;:::o;5702:318::-;1146:9161:54;;5736:9:90;1146:9161:54;;;;;;1782:71:90;1146:9161:54;5810:60:90;;;;;856:62:105;1146:9161:54;;;;;;;;;5810:60:90;;;;;;;1146:9161:54;5810:60:90;;5679:1;5810:60;;1146:9161:54;;856:62:105;1146:9161:54;;;;;;;;;;;;;;;;;;;;;;;;;5810:60:90;;;;;;;;;;;5732:278;1146:9161:54;;1782:71:90;1146:9161:54;;1782:71:90;1146:9161:54;5702:318:90;;;;;;;5810:60;1146:9161:54;5810:60:90;;;:::i;:::-;1146:9161:54;5810:60:90;;5732:278;5962:33;;1146:9161:54;5962:33:90;5679:1;1146:9161:54;856:62:105;1146:9161:54;5962:33:90;938:248:105;1146:9161:54;;;;;;969:19:105;;1146:9161:54;;1029:32:105;;856:62;1029:32;;;;;;;;;:::i;:::-;1008:53;965:211;938:248;;;965:211;1086:19;;;856:62;1086:19;;;1082:94;;965:211;;;;;1082:94;1137:24;;;;856:62;1137:24;;;1146:9161:54;;;;856:62:105;1146:9161:54;1137:24:105;;1146:9161:54;:::i;:::-;1082:94:105;;;;1146:9161:54;;;;;;;;;;:::o;:::-;;;;;;;;;;8632:138;1146:9161;8632:138;;;;1146:9161;8727:7;1146:9161;8727:7;1146:9161;;;;8727:7;1146:9161;8727:26;1146:9161;-1:-1:-1;1146:9161:54;;;8727:36;1146:9161;-1:-1:-1;1146:9161:54;;;;8727:36;:::i;:::-;1146:9161;;8632:138::o;1146:9161::-;;;;;;;;;;:::o;3116:195:47:-;1146:9161:54;3116:195:47;;;;1146:9161:54;-1:-1:-1;1146:9161:54;4178:54:47;1146:9161:54;;;;-1:-1:-1;1146:9161:54;3266:28:47;1146:9161:54;-1:-1:-1;1146:9161:54;;;3266:38:47;1146:9161:54;-1:-1:-1;1146:9161:54;;;;3266:38:47;:::i;3743:195::-;1146:9161:54;3743:195:47;;;;1146:9161:54;-1:-1:-1;1146:9161:54;4178:54:47;1146:9161:54;;;;-1:-1:-1;1146:9161:54;3893:28:47;1146:9161:54;-1:-1:-1;1146:9161:54;;;3893:38:47;1146:9161:54;-1:-1:-1;1146:9161:54;;;;3893:38:47;:::i;4964:220:90:-;1146:9161:54;;5147:30:90;4964:220;1146:9161:54;;;1782:71:90;1146:9161:54;;;1782:71:90;1146:9161:54;;;;;;5147:30:90;4964:220::o;4674:193:39:-;;1146:9161:54;;4770:19:39;;;4766:46;;1146:9161:54;4829:31:39;1146:9161:54;;;;4829:31:39;;;;;1146:9161:54;4829:31:39;;1146:9161:54;4829:31:39;;;1146:9161:54;4829:31:39;;;;;;;1146:9161:54;4829:31:39;;;4822:38;4674:193;:::o;4829:31::-;;;1146:9161:54;4829:31:39;;1146:9161:54;4829:31:39;;;;;;1146:9161:54;4829:31:39;;;:::i;:::-;;;1146:9161:54;;;;;4674:193:39;:::o;4829:31::-;;;-1:-1:-1;4829:31:39;;4766:46;4798:14;;;4791:21;:::o;1146:9161:54:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;1146:9161:54;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;5233:383:39:-;;;5317:11;;5313:78;;5423:4;5405:31;5423:4;;5405:31;:::i;:::-;:40;5401:96;;1146:9161:54;;5511:19:39;;5507:59;;1380:43:144;1146:9161:54;;;;1380:43:144;1146:9161:54;1380:43:144;;;;1146:9161:54;1380:43:144;;;1146:9161:54;;;;;;1380:43:144;;;;;;:::i;:::-;;:::i;:::-;5233:383:39:o;5507:59::-;1146:9161:54;5327:1:39;1146:9161:54;;;;;;;904:37:39;;;;:::i;:::-;;955:8;951:58;;5532:34::o;951:58::-;972:37;1146:9161:54;;972:37:39;;;1146:9161:54;972:37:39;;;1146:9161:54;;;;;;;;;;;972:37:39;5401:96;5454:43;1146:9161:54;;5454:43:39;;;1146:9161:54;5454:43:39;;;1146:9161:54;;;;;;;;;;;5454:43:39;5313:78;5337:54;1146:9161:54;;5337:54:39;;;1146:9161:54;5337:54:39;;;1146:9161:54;;;;;;;;;;;5337:54:39;7084:141:92;1146:9161:54;8837:64:92;1146:9161:54;;;;7150:18:92;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:92;;-1:-1:-1;7191:17:92;3539:881:39;;;;3646:11;;3642:65;;1146:9161:54;;;3721:19:39;;;3717:230;;3970:22;;;;:::i;:::-;3961:31;;3957:90;;1797:53:144;1146:9161:54;;;;1797:53:144;1146:9161:54;1797:53:144;;;;1146:9161:54;1797:53:144;;;1146:9161:54;4376:4:39;1146:9161:54;;;;;;;;;;1797:53:144;;;;;;:::i;:::-;3539:881:39;:::o;3957:90::-;4001:46;1146:9161:54;;4001:46:39;;;1146:9161:54;4001:46:39;;;1146:9161:54;;;;;;;;;;;4001:46:39;3717:230;3769:9;;;;3760:18;;3756:75;;3923:13;:::o;3756:75::-;3787:44;1146:9161:54;;3787:44:39;;;1146:9161:54;3787:44:39;;;1146:9161:54;;;;;;;;;;;3787:44:39;3642:65;3666:41;1146:9161:54;;3666:41:39;;;1146:9161:54;3666:41:39;;;1146:9161:54;;;;;;;;;;;3666:41:39;2841:201;;1146:9161:54;;2936:19:39;;;2932:41;;1146:9161:54;2990:45:39;1146:9161:54;;;;2990:45:39;;;;;1146:9161:54;2990:45:39;;1146:9161:54;2990:45:39;;;1146:9161:54;3029:4:39;1146:9161:54;;;;2990:45:39;;;;;;;1146:9161:54;2990:45:39;;;2983:52;2841:201;:::o;2932:41::-;2964:9;;;2957:16;:::o;4421:582:151:-;;4593:8;;-1:-1:-1;1146:9161:54;;5674:21:151;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;1146:9161:54;;4841:22:151;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;1146:9161:54;4917:24:151;;4862:1;4917:24;1146:9161:54;4917:24:151;1146:9161:54;;4862:1:151;4917:24;4841:49;4867:18;;;:23;4841:49;;7738:720:144;;-1:-1:-1;7875:421:144;7738:720;7875:421;;;;;;;;;;;;-1:-1:-1;7875:421:144;;8310:15;;1146:9161:54;;;;8328:26:144;:31;8310:68;8306:146;;7738:720;:::o;8306:146::-;1146:9161:54;8401:40:144;;-1:-1:-1;8401:40:144;1146:9161:54;8401:40:144;1146:9161:54;;-1:-1:-1;8401:40:144;8310:68;8377:1;8362:16;;8310:68;", + "linkReferences": {}, + "immutableReferences": { + "50482": [ + { "start": 2997, "length": 32 }, + { "start": 3284, "length": 32 } + ] + } + }, + "methodIdentifiers": { + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "authority()": "bf7e214f", + "claim(address,uint256,address)": "9e96a260", + "deposit(address,uint256,address)": "f45346dc", + "getBalance(address)": "f8b2cb4f", + "getLedgerBalance(address,address)": "d949b844", + "initialize(address)": "c4d66de8", + "isConsumingScheduledOp()": "8fb36037", + "lock(address,uint256,address)": "4bbc170a", + "proxiableUUID()": "52d1902d", + "release(address,uint256,address)": "15f41501", + "setAuthority(address)": "7a9e5e4b", + "transfer(address,uint256,address)": "dbba0f01", + "upgradeToAndCall(address,bytes)": "4f1ef286", + "withdraw(address,uint256,address)": "69328dec" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailDuringDeposit\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"FailDuringTransfer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToClaim\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToLock\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToRelease\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToTransfer\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NoFundsToWithdraw\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SafeERC20FailedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"claimer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsClaimed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsDeposited\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsLocked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsReleased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"origin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"FundsWithdrawn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"claim\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"deposit\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"getBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"getLedgerBalance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"lock\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"release\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"}],\"name\":\"withdraw\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This contract includes administrative methods (`restricted`) and general user methods. Supports operations such as deposits, withdrawals, transfers, and locked funds management.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailDuringTransfer(string)\":[{\"params\":{\"reason\":\"The reason for the transfer failure.\"}}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NoFundsToClaim()\":[{\"details\":\"This error occurs if an account or claimer tries to claim funds that are not locked or insufficient.\"}],\"NoFundsToLock()\":[{\"details\":\"This error occurs if an account attempts to lock more funds than available.\"}],\"NoFundsToRelease()\":[{\"details\":\"This error occurs if an operator tries to releases funds that are not locked or insufficient.\"}],\"NoFundsToTransfer()\":[{\"details\":\"This error is triggered when a transfer is attempted but the sender has insufficient funds or no balance.\"}],\"NoFundsToWithdraw()\":[{\"details\":\"This error is triggered when a withdrawal is attempted but the contract has insufficient funds.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}],\"SafeERC20FailedOperation(address)\":[{\"details\":\"An operation with an ERC-20 token failed.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"FundsClaimed(address,uint256,address)\":{\"params\":{\"amount\":\"The amount of funds claimed.\",\"claimer\":\"The address of the entity claiming the funds.\",\"currency\":\"The address of the currency in which the funds were claimed.\"}},\"FundsDeposited(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount of currency deposited.\",\"currency\":\"The address of the ERC20 token deposited.\",\"origin\":\"The address sending the deposit funds.\",\"recipient\":\"The address of the account credited with the deposit.\"}},\"FundsLocked(address,uint256,address)\":{\"params\":{\"account\":\"The address of the account whose funds were locked.\",\"amount\":\"The amount of funds that were locked.\",\"currency\":\"The address of the currency in which the funds were locked.\"}},\"FundsReleased(address,uint256,address)\":{\"params\":{\"account\":\"The address of the account whose funds were released.\",\"amount\":\"The amount of funds that were locked.\",\"currency\":\"The address of the currency in which the funds were locked.\"}},\"FundsTransferred(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount of currency transferred.\",\"currency\":\"The address of the ERC20 token transferred. Use `address(0)` for native tokens.\",\"origin\":\"The address of the account initiating the transfer.\",\"recipient\":\"The address of the account receiving the funds.\"}},\"FundsWithdrawn(address,address,uint256,address)\":{\"params\":{\"amount\":\"The amount of funds being withdrawn.\",\"currency\":\"The currency used for the withdrawal.\",\"origin\":\"The address sending the withdrawn funds.\",\"recipient\":\"The address receiving the withdrawn funds.\"}},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"claim(address,uint256,address)\":{\"details\":\"The claimer is authorized to process the funds from the account. Only operator role can handle this methods.\",\"params\":{\"account\":\"The address of the account whose funds are being claimed.\",\"amount\":\"The amount of funds to claim.\",\"currency\":\"The currency to associate claim with. Use address(0) for the native coin.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"deposit(address,uint256,address)\":{\"params\":{\"amount\":\"The amount of currency to deposit.\",\"currency\":\"The address of the ERC20 token to deposit.\",\"recipient\":\"The address of the account to credit with the deposit.\"}},\"getBalance(address)\":{\"details\":\"The function checks the balance for both native and ERC-20 tokens.\",\"params\":{\"currency\":\"The address of the currency to check the balance of.\"}},\"getLedgerBalance(address,address)\":{\"params\":{\"account\":\"The address of the account whose balance is being queried.\",\"currency\":\"The address of the currency to retrieve the balance for.\"}},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"lock(address,uint256,address)\":{\"details\":\"The funds are immobilized and cannot be withdrawn or transferred until released or claimed. Only operator role can handle this methods.\",\"params\":{\"account\":\"The address of the account for which the funds will be locked.\",\"amount\":\"The amount of funds to lock.\",\"currency\":\"The currency to associate lock with. Use address(0) for the native coin.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"release(address,uint256,address)\":{\"params\":{\"account\":\"The address of the account for which the funds will be released.\",\"amount\":\"The amount of funds to release.\",\"currency\":\"The currency to associate release with. Use address(0) for the native coin.\"}},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"transfer(address,uint256,address)\":{\"details\":\"Ensures the caller has sufficient balance before performing the transfer. Updates the ledger accordingly.\",\"params\":{\"amount\":\"The amount of currency to transfer.\",\"currency\":\"The address of the ERC20 token to transfer. Use `address(0)` for native tokens.\",\"recipient\":\"The address of the account to credit with the transfer.\"}},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"},\"withdraw(address,uint256,address)\":{\"details\":\"This function withdraws funds from the caller's balance and transfers them to the recipient.\",\"params\":{\"amount\":\"The amount of tokens to withdraw.\",\"currency\":\"The currency to associate fees with. Use address(0) for the native coin.\",\"recipient\":\"The address that will receive the withdrawn tokens.\"}}},\"stateVariables\":{\"_locked\":{\"details\":\"Holds the registry of locked funds for accounts.\"}},\"title\":\"LedgerVault\",\"version\":1},\"userdoc\":{\"errors\":{\"FailDuringTransfer(string)\":[{\"notice\":\"Error to be thrown when a transfer fails.\"}],\"NoFundsToClaim()\":[{\"notice\":\"Thrown when there are no locked funds available to claim.\"}],\"NoFundsToLock()\":[{\"notice\":\"Thrown when there are no available funds to lock.\"}],\"NoFundsToRelease()\":[{\"notice\":\"Thrown when there are no locked funds available to release.\"}],\"NoFundsToTransfer()\":[{\"notice\":\"Error indicating that there are no funds available to transfer.\"}],\"NoFundsToWithdraw()\":[{\"notice\":\"Error indicating that there are no funds available to withdraw.\"}]},\"events\":{\"FundsClaimed(address,uint256,address)\":{\"notice\":\"Emitted when locked funds are successfully claimed.\"},\"FundsDeposited(address,address,uint256,address)\":{\"notice\":\"Emitted when funds are successfully deposited into the pool.\"},\"FundsLocked(address,uint256,address)\":{\"notice\":\"Emitted when funds are locked in the ledger.\"},\"FundsReleased(address,uint256,address)\":{\"notice\":\"Emitted when locked funds are successfully released.\"},\"FundsTransferred(address,address,uint256,address)\":{\"notice\":\"Emitted when funds are successfully transferred between accounts.\"},\"FundsWithdrawn(address,address,uint256,address)\":{\"notice\":\"Emitted when funds are withdrawn from the contract.\"}},\"kind\":\"user\",\"methods\":{\"claim(address,uint256,address)\":{\"notice\":\"Claims a specific amount of locked funds on behalf of a claimer.\"},\"deposit(address,uint256,address)\":{\"notice\":\"Deposits a specified amount of currency into the pool for a given recipient.\"},\"getBalance(address)\":{\"notice\":\"Returns the general's balance for the specified currency.\"},\"getLedgerBalance(address,address)\":{\"notice\":\"Retrieves the ledger balance of an account for a specific currency.\"},\"lock(address,uint256,address)\":{\"notice\":\"Locks a specific amount of funds for a given account.\"},\"release(address,uint256,address)\":{\"notice\":\"Release a specific amount of funds from locked pool.\"},\"transfer(address,uint256,address)\":{\"notice\":\"Transfers a specified amount of currency from the caller's balance to a given recipient.\"},\"withdraw(address,uint256,address)\":{\"notice\":\"Withdraws tokens from the contract to a specified recipient's address.\"}},\"notice\":\"A vault contract designed to store, lock, release, and manage funds securely.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/financial/LedgerVault.sol\":\"LedgerVault\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=contracts/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solady/=lib/solady/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"contracts/core/interfaces/base/IBalanceDepositor.sol\":{\"keccak256\":\"0x5c52b09eb3ef3b077d02c9a989624b2dc1e2a00f026b65a04b6bc67206c751d8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0945732e1b234e80dee53dfd566862640bba93e6bdc360637c9dc2e1446757d2\",\"dweb:/ipfs/QmRGnSxbbDBFDcJiNkKyAj1K8Y88PbLub13Pf6jiWmT4Vn\"]},\"contracts/core/interfaces/base/IBalanceOperator.sol\":{\"keccak256\":\"0x15c496cd62a30864c5e2a97c6c42f32dff53dbaa6a39423ccae999712c76361e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7ad4f9ae16eded8d662578e6435b9edb2b39df26e776a1ae3459bda696ce20c1\",\"dweb:/ipfs/QmYxNU1zexpUevj5GecxfYPvCM7DPs6xKVrEBSfQAyZ4Rx\"]},\"contracts/core/interfaces/base/IBalanceTransferable.sol\":{\"keccak256\":\"0x1ab8599894aaabb22bbcdd9ef55246991aa1a8c7d91fdb3af11d0a9da76c8657\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8449bddd07f95f25e5651246a0d925a09d18077e7d8af1e590f14766b6e951de\",\"dweb:/ipfs/QmQHrcXFVZizwXpHK4D2TteXqDkPJiaCdHwrxegMTRn1iQ\"]},\"contracts/core/interfaces/base/IBalanceWithdrawable.sol\":{\"keccak256\":\"0x4b4f6ed37ea5ae7a453e075ad49f6e99aee09cb7c3ed6152b81bd8d42cef1b40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc42910ff3935f00aff6b5b39479021212ef6281f323c130e68b8a62cc4d96ec\",\"dweb:/ipfs/QmdVmmna2ZCwBDbpGZXvYABN8fNwCmU7JciXFzq93s2yE7\"]},\"contracts/core/interfaces/base/ILedgerVerifiable.sol\":{\"keccak256\":\"0x89d88c2c231d74479d218a74c495696e7cce624ec5f0fea83840171ac9a90e95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b7b0548dc0eb2cd40fc1907b5b1576c050faef5e18a5bc6237666288c3084ffd\",\"dweb:/ipfs/Qman5EaGE4tgrQ4kq6w9n7mLNDAhgXXC1Cyj9dUP8e3KKG\"]},\"contracts/core/libraries/FinancialOps.sol\":{\"keccak256\":\"0x562c5b305577ec5b57c5fba5df98afdaba99d7871772962502e0959852e92215\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://d37937cd5fe0432f714aebba49d342dab1e9577c9d1edc3fe568a02e636e1a3d\",\"dweb:/ipfs/QmVteEKdVkvwKKEHyweJWbns75LU3jsqrQtAhcHY7eTwhX\"]},\"contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]},\"contracts/core/primitives/upgradeable/BalanceOperatorUpgradeable.sol\":{\"keccak256\":\"0xdcb66f86cc94a88725347da0add854997b3759b4f98efce0923f313c9759a03f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afa2db1b1e817131b5925e546c1cb8ab8b256e7d6d38752e60807d88631ca403\",\"dweb:/ipfs/QmShNiZ2QJWVrrshkMWKBkyMmu1i2ngfobuPpZV1LeAhh1\"]},\"contracts/core/primitives/upgradeable/LedgerUpgradeable.sol\":{\"keccak256\":\"0x2e51d076c533c1161e843e808db34e7f774b9acdb61e6c83dbeda6fe07920c2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4482e61cfc721dc96e1ef47f56010ad0f37c225949609bba0f03c406a8ac0c2\",\"dweb:/ipfs/QmdSXpbPbrXFDUr4sHQ6BJeRUGWq2EpoCiiS8APxFeYysX\"]},\"contracts/financial/LedgerVault.sol\":{\"keccak256\":\"0x501aab236fcb7377a9687fe5c555b074861244bf8fe8b7d63ddc34f29f7f3b08\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://705dd2f42064b55be00ce5696ee6fd18626ff0f39afe3e7904f45c04ca08afcf\",\"dweb:/ipfs/QmYFci4aRBQQaxP7yMSxnK7sUVvPRZ5g2tPjNAh44F1gk1\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol\":{\"keccak256\":\"0x04b70c397e00597da0f023706f7c44ac8c7b4276a1ddff05d3ca5449775bc6f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4b8599331bffb75c9d40ad57cf5025c29d384099ece48758fea2f0f5b969eab\",\"dweb:/ipfs/QmXXMq1kgvMdUn3DiTS4zEZNy9EDXfevM2wvYHWwfSW6Yu\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol\":{\"keccak256\":\"0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b\",\"dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC165.sol\":{\"keccak256\":\"0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a\",\"dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC20.sol\":{\"keccak256\":\"0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba\",\"dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol\":{\"keccak256\":\"0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862\",\"dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/TransientSlot.sol\":{\"keccak256\":\"0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889\",\"dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, + { + "inputs": [{ "internalType": "address", "name": "authority", "type": "address" }], + "type": "error", + "name": "AccessManagedInvalidAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "caller", "type": "address" }, + { "internalType": "uint32", "name": "delay", "type": "uint32" } + ], + "type": "error", + "name": "AccessManagedRequiredDelay" + }, + { + "inputs": [{ "internalType": "address", "name": "caller", "type": "address" }], + "type": "error", + "name": "AccessManagedUnauthorized" + }, + { + "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], + "type": "error", + "name": "AddressEmptyCode" + }, + { + "inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }], + "type": "error", + "name": "ERC1967InvalidImplementation" + }, + { "inputs": [], "type": "error", "name": "ERC1967NonPayable" }, + { + "inputs": [{ "internalType": "string", "name": "reason", "type": "string" }], + "type": "error", + "name": "FailDuringDeposit" + }, + { + "inputs": [{ "internalType": "string", "name": "reason", "type": "string" }], + "type": "error", + "name": "FailDuringTransfer" + }, + { "inputs": [], "type": "error", "name": "FailedCall" }, + { "inputs": [], "type": "error", "name": "InvalidInitialization" }, + { + "inputs": [{ "internalType": "string", "name": "", "type": "string" }], + "type": "error", + "name": "InvalidUnauthorizedOperation" + }, + { "inputs": [], "type": "error", "name": "NoFundsToClaim" }, + { "inputs": [], "type": "error", "name": "NoFundsToLock" }, + { "inputs": [], "type": "error", "name": "NoFundsToRelease" }, + { "inputs": [], "type": "error", "name": "NoFundsToTransfer" }, + { "inputs": [], "type": "error", "name": "NoFundsToWithdraw" }, + { "inputs": [], "type": "error", "name": "NotInitializing" }, + { "inputs": [], "type": "error", "name": "ReentrancyGuardReentrantCall" }, + { + "inputs": [{ "internalType": "address", "name": "token", "type": "address" }], + "type": "error", + "name": "SafeERC20FailedOperation" + }, + { "inputs": [], "type": "error", "name": "UUPSUnauthorizedCallContext" }, + { + "inputs": [{ "internalType": "bytes32", "name": "slot", "type": "bytes32" }], + "type": "error", + "name": "UUPSUnsupportedProxiableUUID" + }, + { + "inputs": [ + { "internalType": "address", "name": "authority", "type": "address", "indexed": false } + ], + "type": "event", + "name": "AuthorityUpdated", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "claimer", "type": "address", "indexed": true }, + { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }, + { "internalType": "address", "name": "currency", "type": "address", "indexed": true } + ], + "type": "event", + "name": "FundsClaimed", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, + { "internalType": "address", "name": "origin", "type": "address", "indexed": true }, + { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }, + { "internalType": "address", "name": "currency", "type": "address", "indexed": false } + ], + "type": "event", + "name": "FundsDeposited", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address", "indexed": true }, + { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }, + { "internalType": "address", "name": "currency", "type": "address", "indexed": true } + ], + "type": "event", + "name": "FundsLocked", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address", "indexed": true }, + { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }, + { "internalType": "address", "name": "currency", "type": "address", "indexed": true } + ], + "type": "event", + "name": "FundsReleased", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, + { "internalType": "address", "name": "origin", "type": "address", "indexed": true }, + { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }, + { "internalType": "address", "name": "currency", "type": "address", "indexed": false } + ], + "type": "event", + "name": "FundsTransferred", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address", "indexed": true }, + { "internalType": "address", "name": "origin", "type": "address", "indexed": true }, + { "internalType": "uint256", "name": "amount", "type": "uint256", "indexed": false }, + { "internalType": "address", "name": "currency", "type": "address", "indexed": true } + ], + "type": "event", + "name": "FundsWithdrawn", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "uint64", "name": "version", "type": "uint64", "indexed": false } + ], + "type": "event", + "name": "Initialized", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "Upgraded", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "authority", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "claim", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "deposit", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [{ "internalType": "address", "name": "currency", "type": "address" }], + "stateMutability": "view", + "type": "function", + "name": "getBalance", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "address", "name": "currency", "type": "address" } + ], + "stateMutability": "view", + "type": "function", + "name": "getLedgerBalance", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [{ "internalType": "address", "name": "accessManager", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "initialize" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "isConsumingScheduledOp", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "lock", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "release", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [{ "internalType": "address", "name": "newAuthority", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "setAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transfer", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "newImplementation", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "stateMutability": "payable", + "type": "function", + "name": "upgradeToAndCall" + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "withdraw", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "authority()": { "details": "Returns the current authority." }, + "claim(address,uint256,address)": { + "details": "The claimer is authorized to process the funds from the account. Only operator role can handle this methods.", + "params": { + "account": "The address of the account whose funds are being claimed.", + "amount": "The amount of funds to claim.", + "currency": "The currency to associate claim with. Use address(0) for the native coin." + } + }, + "constructor": { "custom:oz-upgrades-unsafe-allow": "constructor" }, + "deposit(address,uint256,address)": { + "params": { + "amount": "The amount of currency to deposit.", + "currency": "The address of the ERC20 token to deposit.", + "recipient": "The address of the account to credit with the deposit." + } + }, + "getBalance(address)": { + "details": "The function checks the balance for both native and ERC-20 tokens.", + "params": { "currency": "The address of the currency to check the balance of." } + }, + "getLedgerBalance(address,address)": { + "params": { + "account": "The address of the account whose balance is being queried.", + "currency": "The address of the currency to retrieve the balance for." + } + }, + "isConsumingScheduledOp()": { + "details": "Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls." + }, + "lock(address,uint256,address)": { + "details": "The funds are immobilized and cannot be withdrawn or transferred until released or claimed. Only operator role can handle this methods.", + "params": { + "account": "The address of the account for which the funds will be locked.", + "amount": "The amount of funds to lock.", + "currency": "The currency to associate lock with. Use address(0) for the native coin." + } + }, + "proxiableUUID()": { + "details": "Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier." + }, + "release(address,uint256,address)": { + "params": { + "account": "The address of the account for which the funds will be released.", + "amount": "The amount of funds to release.", + "currency": "The currency to associate release with. Use address(0) for the native coin." + } + }, + "setAuthority(address)": { + "details": "Transfers control to a new authority. The caller must be the current authority." + }, + "transfer(address,uint256,address)": { + "details": "Ensures the caller has sufficient balance before performing the transfer. Updates the ledger accordingly.", + "params": { + "amount": "The amount of currency to transfer.", + "currency": "The address of the ERC20 token to transfer. Use `address(0)` for native tokens.", + "recipient": "The address of the account to credit with the transfer." + } + }, + "upgradeToAndCall(address,bytes)": { + "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", + "details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event." + }, + "withdraw(address,uint256,address)": { + "details": "This function withdraws funds from the caller's balance and transfers them to the recipient.", + "params": { + "amount": "The amount of tokens to withdraw.", + "currency": "The currency to associate fees with. Use address(0) for the native coin.", + "recipient": "The address that will receive the withdrawn tokens." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "claim(address,uint256,address)": { + "notice": "Claims a specific amount of locked funds on behalf of a claimer." + }, + "deposit(address,uint256,address)": { + "notice": "Deposits a specified amount of currency into the pool for a given recipient." + }, + "getBalance(address)": { + "notice": "Returns the general's balance for the specified currency." + }, + "getLedgerBalance(address,address)": { + "notice": "Retrieves the ledger balance of an account for a specific currency." + }, + "lock(address,uint256,address)": { + "notice": "Locks a specific amount of funds for a given account." + }, + "release(address,uint256,address)": { + "notice": "Release a specific amount of funds from locked pool." + }, + "transfer(address,uint256,address)": { + "notice": "Transfers a specified amount of currency from the caller's balance to a given recipient." + }, + "withdraw(address,uint256,address)": { + "notice": "Withdraws tokens from the contract to a specified recipient's address." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/", + "@ethsign/=node_modules/@ethsign/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@synaps3/=contracts/", + "ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/", + "forge-std/=lib/forge-std/src/", + "hardhat/=node_modules/hardhat/", + "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", + "solady/=lib/solady/src/", + "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/" + ], + "optimizer": { "enabled": true, "runs": 20000 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "contracts/financial/LedgerVault.sol": "LedgerVault" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/core/interfaces/access/IAccessManager.sol": { + "keccak256": "0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f", + "urls": [ + "bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e", + "dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ" + ], + "license": "MIT" + }, + "contracts/core/interfaces/base/IBalanceDepositor.sol": { + "keccak256": "0x5c52b09eb3ef3b077d02c9a989624b2dc1e2a00f026b65a04b6bc67206c751d8", + "urls": [ + "bzz-raw://0945732e1b234e80dee53dfd566862640bba93e6bdc360637c9dc2e1446757d2", + "dweb:/ipfs/QmRGnSxbbDBFDcJiNkKyAj1K8Y88PbLub13Pf6jiWmT4Vn" + ], + "license": "MIT" + }, + "contracts/core/interfaces/base/IBalanceOperator.sol": { + "keccak256": "0x15c496cd62a30864c5e2a97c6c42f32dff53dbaa6a39423ccae999712c76361e", + "urls": [ + "bzz-raw://7ad4f9ae16eded8d662578e6435b9edb2b39df26e776a1ae3459bda696ce20c1", + "dweb:/ipfs/QmYxNU1zexpUevj5GecxfYPvCM7DPs6xKVrEBSfQAyZ4Rx" + ], + "license": "MIT" + }, + "contracts/core/interfaces/base/IBalanceTransferable.sol": { + "keccak256": "0x1ab8599894aaabb22bbcdd9ef55246991aa1a8c7d91fdb3af11d0a9da76c8657", + "urls": [ + "bzz-raw://8449bddd07f95f25e5651246a0d925a09d18077e7d8af1e590f14766b6e951de", + "dweb:/ipfs/QmQHrcXFVZizwXpHK4D2TteXqDkPJiaCdHwrxegMTRn1iQ" + ], + "license": "MIT" + }, + "contracts/core/interfaces/base/IBalanceWithdrawable.sol": { + "keccak256": "0x4b4f6ed37ea5ae7a453e075ad49f6e99aee09cb7c3ed6152b81bd8d42cef1b40", + "urls": [ + "bzz-raw://cc42910ff3935f00aff6b5b39479021212ef6281f323c130e68b8a62cc4d96ec", + "dweb:/ipfs/QmdVmmna2ZCwBDbpGZXvYABN8fNwCmU7JciXFzq93s2yE7" + ], + "license": "MIT" + }, + "contracts/core/interfaces/base/ILedgerVerifiable.sol": { + "keccak256": "0x89d88c2c231d74479d218a74c495696e7cce624ec5f0fea83840171ac9a90e95", + "urls": [ + "bzz-raw://b7b0548dc0eb2cd40fc1907b5b1576c050faef5e18a5bc6237666288c3084ffd", + "dweb:/ipfs/Qman5EaGE4tgrQ4kq6w9n7mLNDAhgXXC1Cyj9dUP8e3KKG" + ], + "license": "MIT" + }, + "contracts/core/libraries/FinancialOps.sol": { + "keccak256": "0x562c5b305577ec5b57c5fba5df98afdaba99d7871772962502e0959852e92215", + "urls": [ + "bzz-raw://d37937cd5fe0432f714aebba49d342dab1e9577c9d1edc3fe568a02e636e1a3d", + "dweb:/ipfs/QmVteEKdVkvwKKEHyweJWbns75LU3jsqrQtAhcHY7eTwhX" + ], + "license": "GPL-3.0-or-later" + }, + "contracts/core/primitives/Constants.sol": { + "keccak256": "0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e", + "urls": [ + "bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1", + "dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3" + ], + "license": "MIT" + }, + "contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol": { + "keccak256": "0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df", + "urls": [ + "bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2", + "dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj" + ], + "license": "MIT" + }, + "contracts/core/primitives/upgradeable/BalanceOperatorUpgradeable.sol": { + "keccak256": "0xdcb66f86cc94a88725347da0add854997b3759b4f98efce0923f313c9759a03f", + "urls": [ + "bzz-raw://afa2db1b1e817131b5925e546c1cb8ab8b256e7d6d38752e60807d88631ca403", + "dweb:/ipfs/QmShNiZ2QJWVrrshkMWKBkyMmu1i2ngfobuPpZV1LeAhh1" + ], + "license": "MIT" + }, + "contracts/core/primitives/upgradeable/LedgerUpgradeable.sol": { + "keccak256": "0x2e51d076c533c1161e843e808db34e7f774b9acdb61e6c83dbeda6fe07920c2a", + "urls": [ + "bzz-raw://a4482e61cfc721dc96e1ef47f56010ad0f37c225949609bba0f03c406a8ac0c2", + "dweb:/ipfs/QmdSXpbPbrXFDUr4sHQ6BJeRUGWq2EpoCiiS8APxFeYysX" + ], + "license": "MIT" + }, + "contracts/financial/LedgerVault.sol": { + "keccak256": "0x501aab236fcb7377a9687fe5c555b074861244bf8fe8b7d63ddc34f29f7f3b08", + "urls": [ + "bzz-raw://705dd2f42064b55be00ce5696ee6fd18626ff0f39afe3e7904f45c04ca08afcf", + "dweb:/ipfs/QmYFci4aRBQQaxP7yMSxnK7sUVvPRZ5g2tPjNAh44F1gk1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol": { + "keccak256": "0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373", + "urls": [ + "bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447", + "dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", + "urls": [ + "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", + "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol": { + "keccak256": "0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27", + "urls": [ + "bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e", + "dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", + "urls": [ + "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", + "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol": { + "keccak256": "0x04b70c397e00597da0f023706f7c44ac8c7b4276a1ddff05d3ca5449775bc6f5", + "urls": [ + "bzz-raw://d4b8599331bffb75c9d40ad57cf5025c29d384099ece48758fea2f0f5b969eab", + "dweb:/ipfs/QmXXMq1kgvMdUn3DiTS4zEZNy9EDXfevM2wvYHWwfSW6Yu" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol": { + "keccak256": "0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4", + "urls": [ + "bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e", + "dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol": { + "keccak256": "0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6", + "urls": [ + "bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694", + "dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol": { + "keccak256": "0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2", + "urls": [ + "bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4", + "dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol": { + "keccak256": "0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030", + "urls": [ + "bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c", + "dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol": { + "keccak256": "0x9b6b3e7803bc5f2f8cd7ad57db8ac1def61a9930a5a3107df4882e028a9605d7", + "urls": [ + "bzz-raw://da62d6be1f5c6edf577f0cb45666a8aa9c2086a4bac87d95d65f02e2f4c36a4b", + "dweb:/ipfs/QmNkpvBpoCMvX8JwAFNSc5XxJ2q5BXJpL5L1txb4QkqVFF" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC165.sol": { + "keccak256": "0xde7e9fd9aee8d4f40772f96bb3b58836cbc6dfc0227014a061947f8821ea9724", + "urls": [ + "bzz-raw://11fea9f8bc98949ac6709f0c1699db7430d2948137aa94d5a9e95a91f61a710a", + "dweb:/ipfs/QmQdfRXxQjwP6yn3DVo1GHPpriKNcFghSPi94Z1oKEFUNS" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol": { + "keccak256": "0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486", + "urls": [ + "bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d", + "dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC20.sol": { + "keccak256": "0xce41876e78d1badc0512229b4d14e4daf83bc1003d7f83978d18e0e56f965b9c", + "urls": [ + "bzz-raw://a2608291cb038b388d80b79a06b6118a42f7894ff67b7da10ec0dbbf5b2973ba", + "dweb:/ipfs/QmWohqcBLbcxmA4eGPhZDXe5RYMMEEpFq22nfkaUMvTfw1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { + "keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d", + "urls": [ + "bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196", + "dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { + "keccak256": "0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06", + "urls": [ + "bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c", + "dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { + "keccak256": "0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c", + "urls": [ + "bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa", + "dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", + "urls": [ + "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", + "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol": { + "keccak256": "0xca2ae13e0610f6a99238dd00b97bd786bc92732dae6d6b9d61f573ec51018310", + "urls": [ + "bzz-raw://75f8c71ce0c91c40dd5f249ace0b7d8270f8f1767231bcf71490f7157d6ba862", + "dweb:/ipfs/QmYXgxeDyFHvz3JsXxLEYN6GNUR44ThHeFj5XkpkgMoG4w" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", + "urls": [ + "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", + "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Errors.sol": { + "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", + "urls": [ + "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", + "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Panic.sol": { + "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", + "urls": [ + "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", + "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/StorageSlot.sol": { + "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97", + "urls": [ + "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b", + "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/TransientSlot.sol": { + "keccak256": "0x9303ef5a2beb555e52ce56598de205ce07ca8988fc67d073687c06cb8fc973d1", + "urls": [ + "bzz-raw://8b2e48fb42844c25e6cb38e7cfa1d91dcdc054613fd10f608833dbc677acf889", + "dweb:/ipfs/QmT4HQxbgpWA3fZnK4dY3eXHNCoyBvpvzNq5k7eSt5mR5t" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", + "urls": [ + "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", + "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", + "urls": [ + "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", + "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": { + "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", + "urls": [ + "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", + "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/types/Time.sol": { + "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", + "urls": [ + "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", + "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 4706, + "contract": "contracts/financial/LedgerVault.sol:LedgerVault", + "label": "_locked", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" + } + ], + "types": { + "t_address": { "encoding": "inplace", "label": "address", "numberOfBytes": "20" }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32", + "value": "t_mapping(t_address,t_uint256)" + }, + "t_mapping(t_address,t_uint256)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => uint256)", + "numberOfBytes": "32", + "value": "t_uint256" + }, + "t_uint256": { "encoding": "inplace", "label": "uint256", "numberOfBytes": "32" } + } + }, + "ast": { + "absolutePath": "contracts/financial/LedgerVault.sol", + "id": 5070, + "exportedSymbols": { + "AccessControlledUpgradeable": [2660], + "BalanceOperatorUpgradeable": [2824], + "FinancialOps": [2031], + "Initializable": [50462], + "LedgerVault": [5069], + "ReentrancyGuardTransientUpgradeable": [52553], + "UUPSUpgradeable": [50644] + }, + "nodeType": "SourceUnit", + "src": "124:10184:54", + "nodes": [ + { + "id": 4673, + "nodeType": "PragmaDirective", + "src": "124:23:54", + "nodes": [], + "literals": ["solidity", "0.8", ".26"] + }, + { + "id": 4675, + "nodeType": "ImportDirective", + "src": "149:98:54", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "nameLocation": "-1:-1:-1", + "scope": 5070, + "sourceUnit": 50463, + "symbolAliases": [ + { + "foreign": { + "id": 4674, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50462, + "src": "158:13:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 4677, + "nodeType": "ImportDirective", + "src": "248:102:54", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 5070, + "sourceUnit": 50645, + "symbolAliases": [ + { + "foreign": { + "id": 4676, + "name": "UUPSUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50644, + "src": "257:15:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 4679, + "nodeType": "ImportDirective", + "src": "396:136:54", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/utils/ReentrancyGuardTransientUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 5070, + "sourceUnit": 52554, + "symbolAliases": [ + { + "foreign": { + "id": 4678, + "name": "ReentrancyGuardTransientUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 52553, + "src": "405:35:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 4681, + "nodeType": "ImportDirective", + "src": "533:115:54", + "nodes": [], + "absolutePath": "contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "file": "@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 5070, + "sourceUnit": 2661, + "symbolAliases": [ + { + "foreign": { + "id": 4680, + "name": "AccessControlledUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2660, + "src": "542:27:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 4683, + "nodeType": "ImportDirective", + "src": "649:113:54", + "nodes": [], + "absolutePath": "contracts/core/primitives/upgradeable/BalanceOperatorUpgradeable.sol", + "file": "@synaps3/core/primitives/upgradeable/BalanceOperatorUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 5070, + "sourceUnit": 2825, + "symbolAliases": [ + { + "foreign": { + "id": 4682, + "name": "BalanceOperatorUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2824, + "src": "658:26:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 4685, + "nodeType": "ImportDirective", + "src": "763:72:54", + "nodes": [], + "absolutePath": "contracts/core/libraries/FinancialOps.sol", + "file": "@synaps3/core/libraries/FinancialOps.sol", + "nameLocation": "-1:-1:-1", + "scope": 5070, + "sourceUnit": 2032, + "symbolAliases": [ + { + "foreign": { + "id": 4684, + "name": "FinancialOps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2031, + "src": "772:12:54", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5069, + "nodeType": "ContractDefinition", + "src": "1146:9161:54", + "nodes": [ + { + "id": 4699, + "nodeType": "UsingForDirective", + "src": "1321:31:54", + "nodes": [], + "global": false, + "libraryName": { + "id": 4697, + "name": "FinancialOps", + "nameLocations": ["1327:12:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2031, + "src": "1327:12:54" + }, + "typeName": { + "id": 4698, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1344:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + } + }, + { + "id": 4706, + "nodeType": "VariableDeclaration", + "src": "1420:63:54", + "nodes": [], + "constant": false, + "documentation": { + "id": 4700, + "nodeType": "StructuredDocumentation", + "src": "1358:57:54", + "text": "@dev Holds the registry of locked funds for accounts." + }, + "mutability": "mutable", + "name": "_locked", + "nameLocation": "1476:7:54", + "scope": 5069, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 4705, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4701, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1428:7:54", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "nodeType": "Mapping", + "src": "1420:47:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4704, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 4702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1447:7:54", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "nodeType": "Mapping", + "src": "1439:27:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 4703, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1458:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + } + } + }, + "visibility": "private" + }, + { + "id": 4715, + "nodeType": "EventDefinition", + "src": "1770:85:54", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 4707, + "nodeType": "StructuredDocumentation", + "src": "1490:275:54", + "text": "@notice Emitted when funds are locked in the ledger.\n @param account The address of the account whose funds were locked.\n @param amount The amount of funds that were locked.\n @param currency The address of the currency in which the funds were locked." + }, + "eventSelector": "a372d74f11f208f0466eb410f699d101da6ccbe3717f711988fb355eac737f62", + "name": "FundsLocked", + "nameLocation": "1776:11:54", + "parameters": { + "id": 4714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4709, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "1804:7:54", + "nodeType": "VariableDeclaration", + "scope": 4715, + "src": "1788:23:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1788:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4711, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1821:6:54", + "nodeType": "VariableDeclaration", + "scope": 4715, + "src": "1813:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4710, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1813:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4713, + "indexed": true, + "mutability": "mutable", + "name": "currency", + "nameLocation": "1845:8:54", + "nodeType": "VariableDeclaration", + "scope": 4715, + "src": "1829:24:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4712, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1829:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "1787:67:54" + } + }, + { + "id": 4724, + "nodeType": "EventDefinition", + "src": "2151:87:54", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 4716, + "nodeType": "StructuredDocumentation", + "src": "1861:285:54", + "text": "@notice Emitted when locked funds are successfully released.\n @param account The address of the account whose funds were released.\n @param amount The amount of funds that were locked.\n @param currency The address of the currency in which the funds were locked." + }, + "eventSelector": "29f33620d8742cb2079bba3afb003116b7db185e4f58a4bd6bc4291b6d99fcbc", + "name": "FundsReleased", + "nameLocation": "2157:13:54", + "parameters": { + "id": 4723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4718, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "2187:7:54", + "nodeType": "VariableDeclaration", + "scope": 4724, + "src": "2171:23:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2171:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4720, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2204:6:54", + "nodeType": "VariableDeclaration", + "scope": 4724, + "src": "2196:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4719, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2196:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4722, + "indexed": true, + "mutability": "mutable", + "name": "currency", + "nameLocation": "2228:8:54", + "nodeType": "VariableDeclaration", + "scope": 4724, + "src": "2212:24:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4721, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2212:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2170:67:54" + } + }, + { + "id": 4733, + "nodeType": "EventDefinition", + "src": "2517:86:54", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 4725, + "nodeType": "StructuredDocumentation", + "src": "2244:268:54", + "text": "@notice Emitted when locked funds are successfully claimed.\n @param claimer The address of the entity claiming the funds.\n @param amount The amount of funds claimed.\n @param currency The address of the currency in which the funds were claimed." + }, + "eventSelector": "07b798e47a298c7004dfddcb1196e6b8f9a6488dd1db7eeedbc8a4c3f4831563", + "name": "FundsClaimed", + "nameLocation": "2523:12:54", + "parameters": { + "id": 4732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4727, + "indexed": true, + "mutability": "mutable", + "name": "claimer", + "nameLocation": "2552:7:54", + "nodeType": "VariableDeclaration", + "scope": 4733, + "src": "2536:23:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4726, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2536:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4729, + "indexed": false, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2569:6:54", + "nodeType": "VariableDeclaration", + "scope": 4733, + "src": "2561:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2561:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4731, + "indexed": true, + "mutability": "mutable", + "name": "currency", + "nameLocation": "2593:8:54", + "nodeType": "VariableDeclaration", + "scope": 4733, + "src": "2577:24:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4730, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2577:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2535:67:54" + } + }, + { + "id": 4736, + "nodeType": "ErrorDefinition", + "src": "2764:22:54", + "nodes": [], + "documentation": { + "id": 4734, + "nodeType": "StructuredDocumentation", + "src": "2609:150:54", + "text": "@notice Thrown when there are no available funds to lock.\n @dev This error occurs if an account attempts to lock more funds than available." + }, + "errorSelector": "a9e575de", + "name": "NoFundsToLock", + "nameLocation": "2770:13:54", + "parameters": { + "id": 4735, + "nodeType": "ParameterList", + "parameters": [], + "src": "2783:2:54" + } + }, + { + "id": 4739, + "nodeType": "ErrorDefinition", + "src": "2980:23:54", + "nodes": [], + "documentation": { + "id": 4737, + "nodeType": "StructuredDocumentation", + "src": "2792:183:54", + "text": "@notice Thrown when there are no locked funds available to claim.\n @dev This error occurs if an account or claimer tries to claim funds that are not locked or insufficient." + }, + "errorSelector": "dff46e2b", + "name": "NoFundsToClaim", + "nameLocation": "2986:14:54", + "parameters": { + "id": 4738, + "nodeType": "ParameterList", + "parameters": [], + "src": "3000:2:54" + } + }, + { + "id": 4742, + "nodeType": "ErrorDefinition", + "src": "3192:25:54", + "nodes": [], + "documentation": { + "id": 4740, + "nodeType": "StructuredDocumentation", + "src": "3009:178:54", + "text": "@notice Thrown when there are no locked funds available to release.\n @dev This error occurs if an operator tries to releases funds that are not locked or insufficient." + }, + "errorSelector": "b7cc22bc", + "name": "NoFundsToRelease", + "nameLocation": "3198:16:54", + "parameters": { + "id": 4741, + "nodeType": "ParameterList", + "parameters": [], + "src": "3214:2:54" + } + }, + { + "id": 4750, + "nodeType": "FunctionDefinition", + "src": "3276:243:54", + "nodes": [], + "body": { + "id": 4749, + "nodeType": "Block", + "src": "3290:229:54", + "nodes": [], + "statements": [ + { + "documentation": "https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5", + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4746, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50430, + "src": "3490:20:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3490:22:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4748, + "nodeType": "ExpressionStatement", + "src": "3490:22:54" + } + ] + }, + "documentation": { + "id": 4743, + "nodeType": "StructuredDocumentation", + "src": "3223:48:54", + "text": "@custom:oz-upgrades-unsafe-allow constructor" + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 4744, + "nodeType": "ParameterList", + "parameters": [], + "src": "3287:2:54" + }, + "returnParameters": { + "id": 4745, + "nodeType": "ParameterList", + "parameters": [], + "src": "3290:0:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 4771, + "nodeType": "FunctionDefinition", + "src": "3525:228:54", + "nodes": [], + "body": { + "id": 4770, + "nodeType": "Block", + "src": "3587:166:54", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4757, + "name": "__UUPSUpgradeable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50516, + "src": "3597:22:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3597:24:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4759, + "nodeType": "ExpressionStatement", + "src": "3597:24:54" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4760, + "name": "__BalanceOperator_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2690, + "src": "3631:22:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3631:24:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4762, + "nodeType": "ExpressionStatement", + "src": "3631:24:54" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4763, + "name": "__ReentrancyGuardTransient_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 52502, + "src": "3665:31:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 4764, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3665:33:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4765, + "nodeType": "ExpressionStatement", + "src": "3665:33:54" + }, + { + "expression": { + "arguments": [ + { + "id": 4767, + "name": "accessManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4752, + "src": "3732:13:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "id": 4766, + "name": "__AccessControlled_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2595, + "src": "3708:23:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 4768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3708:38:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4769, + "nodeType": "ExpressionStatement", + "src": "3708:38:54" + } + ] + }, + "functionSelector": "c4d66de8", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4755, + "kind": "modifierInvocation", + "modifierName": { + "id": 4754, + "name": "initializer", + "nameLocations": ["3575:11:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50316, + "src": "3575:11:54" + }, + "nodeType": "ModifierInvocation", + "src": "3575:11:54" + } + ], + "name": "initialize", + "nameLocation": "3534:10:54", + "parameters": { + "id": 4753, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4752, + "mutability": "mutable", + "name": "accessManager", + "nameLocation": "3553:13:54", + "nodeType": "VariableDeclaration", + "scope": 4771, + "src": "3545:21:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4751, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3545:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "3544:23:54" + }, + "returnParameters": { + "id": 4756, + "nodeType": "ParameterList", + "parameters": [], + "src": "3587:0:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 4802, + "nodeType": "FunctionDefinition", + "src": "4056:270:54", + "nodes": [], + "body": { + "id": 4801, + "nodeType": "Block", + "src": "4153:173:54", + "nodes": [], + "statements": [ + { + "assignments": [4784], + "declarations": [ + { + "constant": false, + "id": 4784, + "mutability": "mutable", + "name": "confirmed", + "nameLocation": "4171:9:54", + "nodeType": "VariableDeclaration", + "scope": 4801, + "src": "4163:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4783, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4163:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4790, + "initialValue": { + "arguments": [ + { + "id": 4786, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4774, + "src": "4192:9:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4787, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4776, + "src": "4203:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4788, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4778, + "src": "4211:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4785, + "name": "_deposit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2744, + "src": "4183:8:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,uint256,address) returns (uint256)" + } + }, + "id": 4789, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4183:37:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4163:57:54" + }, + { + "eventCall": { + "arguments": [ + { + "id": 4792, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4774, + "src": "4250:9:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 4793, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4261:3:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4265:6:54", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4261:10:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4795, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "4273:9:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4796, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4778, + "src": "4284:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4791, + "name": "FundsDeposited", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 934, + "src": "4235:14:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,address,uint256,address)" + } + }, + "id": 4797, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4235:58:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4798, + "nodeType": "EmitStatement", + "src": "4230:63:54" + }, + { + "expression": { + "id": 4799, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4784, + "src": "4310:9:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 4782, + "id": 4800, + "nodeType": "Return", + "src": "4303:16:54" + } + ] + }, + "baseFunctions": [946], + "documentation": { + "id": 4772, + "nodeType": "StructuredDocumentation", + "src": "3759:292:54", + "text": "@notice Deposits a specified amount of currency into the pool for a given recipient.\n @param recipient The address of the account to credit with the deposit.\n @param amount The amount of currency to deposit.\n @param currency The address of the ERC20 token to deposit." + }, + "functionSelector": "f45346dc", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "deposit", + "nameLocation": "4065:7:54", + "parameters": { + "id": 4779, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4774, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "4081:9:54", + "nodeType": "VariableDeclaration", + "scope": 4802, + "src": "4073:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4773, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4073:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4776, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4100:6:54", + "nodeType": "VariableDeclaration", + "scope": 4802, + "src": "4092:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4775, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4092:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4778, + "mutability": "mutable", + "name": "currency", + "nameLocation": "4116:8:54", + "nodeType": "VariableDeclaration", + "scope": 4802, + "src": "4108:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4777, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4108:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "4072:53:54" + }, + "returnParameters": { + "id": 4782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4781, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4802, + "src": "4144:7:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4780, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4144:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "4143:9:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 4835, + "nodeType": "FunctionDefinition", + "src": "4797:285:54", + "nodes": [], + "body": { + "id": 4834, + "nodeType": "Block", + "src": "4908:174:54", + "nodes": [], + "statements": [ + { + "assignments": [4817], + "declarations": [ + { + "constant": false, + "id": 4817, + "mutability": "mutable", + "name": "confirmed", + "nameLocation": "4926:9:54", + "nodeType": "VariableDeclaration", + "scope": 4834, + "src": "4918:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4816, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4918:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4823, + "initialValue": { + "arguments": [ + { + "id": 4819, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4805, + "src": "4948:9:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4820, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4807, + "src": "4959:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4821, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4809, + "src": "4967:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4818, + "name": "_withdraw", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2784, + "src": "4938:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,uint256,address) returns (uint256)" + } + }, + "id": 4822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4938:38:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4918:58:54" + }, + { + "eventCall": { + "arguments": [ + { + "id": 4825, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4805, + "src": "5006:9:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 4826, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5017:3:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5021:6:54", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5017:10:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4828, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4817, + "src": "5029:9:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4829, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4809, + "src": "5040:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4824, + "name": "FundsWithdrawn", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1022, + "src": "4991:14:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,address,uint256,address)" + } + }, + "id": 4830, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4991:58:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4831, + "nodeType": "EmitStatement", + "src": "4986:63:54" + }, + { + "expression": { + "id": 4832, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4817, + "src": "5066:9:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 4815, + "id": 4833, + "nodeType": "Return", + "src": "5059:16:54" + } + ] + }, + "baseFunctions": [1034], + "documentation": { + "id": 4803, + "nodeType": "StructuredDocumentation", + "src": "4374:418:54", + "text": "@notice Withdraws tokens from the contract to a specified recipient's address.\n @dev This function withdraws funds from the caller's balance and transfers them to the recipient.\n @param recipient The address that will receive the withdrawn tokens.\n @param amount The amount of tokens to withdraw.\n @param currency The currency to associate fees with. Use address(0) for the native coin." + }, + "functionSelector": "69328dec", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4812, + "kind": "modifierInvocation", + "modifierName": { + "id": 4811, + "name": "nonReentrant", + "nameLocations": ["4877:12:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 52496, + "src": "4877:12:54" + }, + "nodeType": "ModifierInvocation", + "src": "4877:12:54" + } + ], + "name": "withdraw", + "nameLocation": "4806:8:54", + "parameters": { + "id": 4810, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4805, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "4823:9:54", + "nodeType": "VariableDeclaration", + "scope": 4835, + "src": "4815:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4815:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4807, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4842:6:54", + "nodeType": "VariableDeclaration", + "scope": 4835, + "src": "4834:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4806, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4834:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4809, + "mutability": "mutable", + "name": "currency", + "nameLocation": "4858:8:54", + "nodeType": "VariableDeclaration", + "scope": 4835, + "src": "4850:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4808, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4850:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "4814:53:54" + }, + "returnParameters": { + "id": 4815, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4814, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4835, + "src": "4899:7:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4813, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4899:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "4898:9:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 4866, + "nodeType": "FunctionDefinition", + "src": "5555:274:54", + "nodes": [], + "body": { + "id": 4865, + "nodeType": "Block", + "src": "5653:176:54", + "nodes": [], + "statements": [ + { + "assignments": [4848], + "declarations": [ + { + "constant": false, + "id": 4848, + "mutability": "mutable", + "name": "confirmed", + "nameLocation": "5671:9:54", + "nodeType": "VariableDeclaration", + "scope": 4865, + "src": "5663:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4847, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5663:7:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 4854, + "initialValue": { + "arguments": [ + { + "id": 4850, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4838, + "src": "5693:9:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4851, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4840, + "src": "5704:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4852, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4842, + "src": "5712:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4849, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2823, + "src": "5683:9:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,uint256,address) returns (uint256)" + } + }, + "id": 4853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5683:38:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5663:58:54" + }, + { + "eventCall": { + "arguments": [ + { + "id": 4856, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4838, + "src": "5753:9:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 4857, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5764:3:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5768:6:54", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5764:10:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4859, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "5776:9:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4860, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4842, + "src": "5787:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4855, + "name": "FundsTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 980, + "src": "5736:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,address,uint256,address)" + } + }, + "id": 4861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5736:60:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4862, + "nodeType": "EmitStatement", + "src": "5731:65:54" + }, + { + "expression": { + "id": 4863, + "name": "confirmed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4848, + "src": "5813:9:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 4846, + "id": 4864, + "nodeType": "Return", + "src": "5806:16:54" + } + ] + }, + "baseFunctions": [992], + "documentation": { + "id": 4836, + "nodeType": "StructuredDocumentation", + "src": "5088:462:54", + "text": "@notice Transfers a specified amount of currency from the caller's balance to a given recipient.\n @dev Ensures the caller has sufficient balance before performing the transfer. Updates the ledger accordingly.\n @param recipient The address of the account to credit with the transfer.\n @param amount The amount of currency to transfer.\n @param currency The address of the ERC20 token to transfer. Use `address(0)` for native tokens." + }, + "functionSelector": "dbba0f01", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "5564:8:54", + "parameters": { + "id": 4843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4838, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "5581:9:54", + "nodeType": "VariableDeclaration", + "scope": 4866, + "src": "5573:17:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5573:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4840, + "mutability": "mutable", + "name": "amount", + "nameLocation": "5600:6:54", + "nodeType": "VariableDeclaration", + "scope": 4866, + "src": "5592:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4839, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5592:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4842, + "mutability": "mutable", + "name": "currency", + "nameLocation": "5616:8:54", + "nodeType": "VariableDeclaration", + "scope": 4866, + "src": "5608:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4841, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5608:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "5572:53:54" + }, + "returnParameters": { + "id": 4846, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4845, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4866, + "src": "5644:7:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4844, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5644:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "5643:9:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 4911, + "nodeType": "FunctionDefinition", + "src": "6301:373:54", + "nodes": [], + "body": { + "id": 4910, + "nodeType": "Block", + "src": "6404:270:54", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 4885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4881, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4869, + "src": "6435:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4882, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4873, + "src": "6444:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4880, + "name": "getLedgerBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3051, + "src": "6418:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 4883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6418:35:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 4884, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4871, + "src": "6456:6:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "6418:44:54", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 4889, + "nodeType": "IfStatement", + "src": "6414:72:54", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4886, + "name": "NoFundsToLock", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4736, + "src": "6471:13:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 4887, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6471:15:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 4888, + "nodeType": "RevertStatement", + "src": "6464:22:54" + } + }, + { + "expression": { + "arguments": [ + { + "id": 4891, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4869, + "src": "6512:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4892, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4871, + "src": "6521:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4893, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4873, + "src": "6529:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4890, + "name": "_subLedgerEntry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3146, + "src": "6496:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6496:42:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4895, + "nodeType": "ExpressionStatement", + "src": "6496:42:54" + }, + { + "expression": { + "arguments": [ + { + "id": 4897, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4869, + "src": "6565:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4898, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4871, + "src": "6574:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4899, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4873, + "src": "6582:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4896, + "name": "_sumLockedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5041, + "src": "6548:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6548:43:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4901, + "nodeType": "ExpressionStatement", + "src": "6548:43:54" + }, + { + "eventCall": { + "arguments": [ + { + "id": 4903, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4869, + "src": "6618:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4904, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4871, + "src": "6627:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4905, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4873, + "src": "6635:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4902, + "name": "FundsLocked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4715, + "src": "6606:11:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6606:38:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4907, + "nodeType": "EmitStatement", + "src": "6601:43:54" + }, + { + "expression": { + "id": 4908, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4871, + "src": "6661:6:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 4879, + "id": 4909, + "nodeType": "Return", + "src": "6654:13:54" + } + ] + }, + "documentation": { + "id": 4867, + "nodeType": "StructuredDocumentation", + "src": "5835:461:54", + "text": "@notice Locks a specific amount of funds for a given account.\n @dev The funds are immobilized and cannot be withdrawn or transferred until released or claimed.\n Only operator role can handle this methods.\n @param account The address of the account for which the funds will be locked.\n @param amount The amount of funds to lock.\n @param currency The currency to associate lock with. Use address(0) for the native coin." + }, + "functionSelector": "4bbc170a", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4876, + "kind": "modifierInvocation", + "modifierName": { + "id": 4875, + "name": "restricted", + "nameLocations": ["6375:10:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47916, + "src": "6375:10:54" + }, + "nodeType": "ModifierInvocation", + "src": "6375:10:54" + } + ], + "name": "lock", + "nameLocation": "6310:4:54", + "parameters": { + "id": 4874, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4869, + "mutability": "mutable", + "name": "account", + "nameLocation": "6323:7:54", + "nodeType": "VariableDeclaration", + "scope": 4911, + "src": "6315:15:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6315:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4871, + "mutability": "mutable", + "name": "amount", + "nameLocation": "6340:6:54", + "nodeType": "VariableDeclaration", + "scope": 4911, + "src": "6332:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4870, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6332:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4873, + "mutability": "mutable", + "name": "currency", + "nameLocation": "6356:8:54", + "nodeType": "VariableDeclaration", + "scope": 4911, + "src": "6348:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6348:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "6314:51:54" + }, + "returnParameters": { + "id": 4879, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4878, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4911, + "src": "6395:7:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4877, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6395:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "6394:9:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 4956, + "nodeType": "FunctionDefinition", + "src": "6991:381:54", + "nodes": [], + "body": { + "id": 4955, + "nodeType": "Block", + "src": "7097:275:54", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 4930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4926, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4914, + "src": "7128:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4927, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4918, + "src": "7137:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4925, + "name": "_getLockedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5058, + "src": "7111:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 4928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7111:35:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 4929, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4916, + "src": "7149:6:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "7111:44:54", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 4934, + "nodeType": "IfStatement", + "src": "7107:75:54", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4931, + "name": "NoFundsToRelease", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4742, + "src": "7164:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 4932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7164:18:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 4933, + "nodeType": "RevertStatement", + "src": "7157:25:54" + } + }, + { + "expression": { + "arguments": [ + { + "id": 4936, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4914, + "src": "7209:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4937, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4916, + "src": "7218:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4938, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4918, + "src": "7226:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4935, + "name": "_subLockedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5022, + "src": "7192:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7192:43:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4940, + "nodeType": "ExpressionStatement", + "src": "7192:43:54" + }, + { + "expression": { + "arguments": [ + { + "id": 4942, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4914, + "src": "7261:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4943, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4916, + "src": "7270:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4944, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4918, + "src": "7278:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4941, + "name": "_sumLedgerEntry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3119, + "src": "7245:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7245:42:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4946, + "nodeType": "ExpressionStatement", + "src": "7245:42:54" + }, + { + "eventCall": { + "arguments": [ + { + "id": 4948, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4914, + "src": "7316:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4949, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4916, + "src": "7325:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4950, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4918, + "src": "7333:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4947, + "name": "FundsReleased", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4724, + "src": "7302:13:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7302:40:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4952, + "nodeType": "EmitStatement", + "src": "7297:45:54" + }, + { + "expression": { + "id": 4953, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4916, + "src": "7359:6:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 4924, + "id": 4954, + "nodeType": "Return", + "src": "7352:13:54" + } + ] + }, + "documentation": { + "id": 4912, + "nodeType": "StructuredDocumentation", + "src": "6680:306:54", + "text": "@notice Release a specific amount of funds from locked pool.\n @param account The address of the account for which the funds will be released.\n @param amount The amount of funds to release.\n @param currency The currency to associate release with. Use address(0) for the native coin." + }, + "functionSelector": "15f41501", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4921, + "kind": "modifierInvocation", + "modifierName": { + "id": 4920, + "name": "restricted", + "nameLocations": ["7068:10:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47916, + "src": "7068:10:54" + }, + "nodeType": "ModifierInvocation", + "src": "7068:10:54" + } + ], + "name": "release", + "nameLocation": "7000:7:54", + "parameters": { + "id": 4919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4914, + "mutability": "mutable", + "name": "account", + "nameLocation": "7016:7:54", + "nodeType": "VariableDeclaration", + "scope": 4956, + "src": "7008:15:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4913, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7008:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4916, + "mutability": "mutable", + "name": "amount", + "nameLocation": "7033:6:54", + "nodeType": "VariableDeclaration", + "scope": 4956, + "src": "7025:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4915, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7025:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4918, + "mutability": "mutable", + "name": "currency", + "nameLocation": "7049:8:54", + "nodeType": "VariableDeclaration", + "scope": 4956, + "src": "7041:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4917, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7041:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "7007:51:54" + }, + "returnParameters": { + "id": 4924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4923, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 4956, + "src": "7088:7:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7088:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "7087:9:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 5003, + "nodeType": "FunctionDefinition", + "src": "7825:385:54", + "nodes": [], + "body": { + "id": 5002, + "nodeType": "Block", + "src": "7929:281:54", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 4975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 4971, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4959, + "src": "7960:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4972, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4963, + "src": "7969:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4970, + "name": "_getLockedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5058, + "src": "7943:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 4973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7943:35:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 4974, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4961, + "src": "7981:6:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "7943:44:54", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 4979, + "nodeType": "IfStatement", + "src": "7939:73:54", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 4976, + "name": "NoFundsToClaim", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4739, + "src": "7996:14:54", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 4977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7996:16:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 4978, + "nodeType": "RevertStatement", + "src": "7989:23:54" + } + }, + { + "expression": { + "arguments": [ + { + "id": 4981, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4959, + "src": "8039:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4982, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4961, + "src": "8048:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4983, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4963, + "src": "8056:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4980, + "name": "_subLockedAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5022, + "src": "8022:16:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8022:43:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4985, + "nodeType": "ExpressionStatement", + "src": "8022:43:54" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 4987, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8094:3:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8098:6:54", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8094:10:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4989, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4961, + "src": "8106:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4990, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4963, + "src": "8114:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4986, + "name": "_sumLedgerEntry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3119, + "src": "8078:15:54", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8078:45:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4992, + "nodeType": "ExpressionStatement", + "src": "8078:45:54" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 4994, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8151:3:54", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 4995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8155:6:54", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8151:10:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4996, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4961, + "src": "8163:6:54", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4997, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4963, + "src": "8171:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 4993, + "name": "FundsClaimed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4733, + "src": "8138:12:54", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,address)" + } + }, + "id": 4998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8138:42:54", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 4999, + "nodeType": "EmitStatement", + "src": "8133:47:54" + }, + { + "expression": { + "id": 5000, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4961, + "src": "8197:6:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 4969, + "id": 5001, + "nodeType": "Return", + "src": "8190:13:54" + } + ] + }, + "documentation": { + "id": 4957, + "nodeType": "StructuredDocumentation", + "src": "7378:442:54", + "text": "@notice Claims a specific amount of locked funds on behalf of a claimer.\n @dev The claimer is authorized to process the funds from the account.\n Only operator role can handle this methods.\n @param account The address of the account whose funds are being claimed.\n @param amount The amount of funds to claim.\n @param currency The currency to associate claim with. Use address(0) for the native coin." + }, + "functionSelector": "9e96a260", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 4966, + "kind": "modifierInvocation", + "modifierName": { + "id": 4965, + "name": "restricted", + "nameLocations": ["7900:10:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 47916, + "src": "7900:10:54" + }, + "nodeType": "ModifierInvocation", + "src": "7900:10:54" + } + ], + "name": "claim", + "nameLocation": "7834:5:54", + "parameters": { + "id": 4964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4959, + "mutability": "mutable", + "name": "account", + "nameLocation": "7848:7:54", + "nodeType": "VariableDeclaration", + "scope": 5003, + "src": "7840:15:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4958, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7840:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4961, + "mutability": "mutable", + "name": "amount", + "nameLocation": "7865:6:54", + "nodeType": "VariableDeclaration", + "scope": 5003, + "src": "7857:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7857:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4963, + "mutability": "mutable", + "name": "currency", + "nameLocation": "7881:8:54", + "nodeType": "VariableDeclaration", + "scope": 5003, + "src": "7873:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 4962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7873:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "7839:51:54" + }, + "returnParameters": { + "id": 4969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4968, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5003, + "src": "7920:7:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 4967, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7920:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "7919:9:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 5022, + "nodeType": "FunctionDefinition", + "src": "8632:138:54", + "nodes": [], + "body": { + "id": 5021, + "nodeType": "Block", + "src": "8717:53:54", + "nodes": [], + "statements": [ + { + "expression": { + "id": 5019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 5013, + "name": "_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4706, + "src": "8727:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 5016, + "indexExpression": { + "id": 5014, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5006, + "src": "8735:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8727:16:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5017, + "indexExpression": { + "id": 5015, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5010, + "src": "8744:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8727:26:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 5018, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5008, + "src": "8757:6:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "8727:36:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "id": 5020, + "nodeType": "ExpressionStatement", + "src": "8727:36:54" + } + ] + }, + "documentation": { + "id": 5004, + "nodeType": "StructuredDocumentation", + "src": "8216:411:54", + "text": "@notice Reduces the locked funds of an account for a specific currency.\n @dev Deducts the specified `amount` from the `_locked` mapping for the given `account` and `currency`.\n @param account The address of the account whose locked funds are being reduced.\n @param amount The amount to subtract from the locked balance.\n @param currency The address of the currency being reduced." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_subLockedAmount", + "nameLocation": "8641:16:54", + "parameters": { + "id": 5011, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5006, + "mutability": "mutable", + "name": "account", + "nameLocation": "8666:7:54", + "nodeType": "VariableDeclaration", + "scope": 5022, + "src": "8658:15:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5005, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8658:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5008, + "mutability": "mutable", + "name": "amount", + "nameLocation": "8683:6:54", + "nodeType": "VariableDeclaration", + "scope": 5022, + "src": "8675:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 5007, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8675:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5010, + "mutability": "mutable", + "name": "currency", + "nameLocation": "8699:8:54", + "nodeType": "VariableDeclaration", + "scope": 5022, + "src": "8691:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5009, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8691:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "8657:51:54" + }, + "returnParameters": { + "id": 5012, + "nodeType": "ParameterList", + "parameters": [], + "src": "8717:0:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "id": 5041, + "nodeType": "FunctionDefinition", + "src": "9186:138:54", + "nodes": [], + "body": { + "id": 5040, + "nodeType": "Block", + "src": "9271:53:54", + "nodes": [], + "statements": [ + { + "expression": { + "id": 5038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 5032, + "name": "_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4706, + "src": "9281:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 5035, + "indexExpression": { + "id": 5033, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5025, + "src": "9289:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9281:16:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5036, + "indexExpression": { + "id": 5034, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5029, + "src": "9298:8:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9281:26:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 5037, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5027, + "src": "9311:6:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "9281:36:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "id": 5039, + "nodeType": "ExpressionStatement", + "src": "9281:36:54" + } + ] + }, + "documentation": { + "id": 5023, + "nodeType": "StructuredDocumentation", + "src": "8776:405:54", + "text": "@notice Increases the locked funds of an account for a specific currency.\n @dev Adds the specified `amount` to the `_locked` mapping for the given `account` and `currency`.\n @param account The address of the account whose locked funds are being increased.\n @param amount The amount to add to the locked balance.\n @param currency The address of the currency being increased." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_sumLockedAmount", + "nameLocation": "9195:16:54", + "parameters": { + "id": 5030, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5025, + "mutability": "mutable", + "name": "account", + "nameLocation": "9220:7:54", + "nodeType": "VariableDeclaration", + "scope": 5041, + "src": "9212:15:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5024, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9212:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5027, + "mutability": "mutable", + "name": "amount", + "nameLocation": "9237:6:54", + "nodeType": "VariableDeclaration", + "scope": 5041, + "src": "9229:14:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 5026, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9229:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5029, + "mutability": "mutable", + "name": "currency", + "nameLocation": "9253:8:54", + "nodeType": "VariableDeclaration", + "scope": 5041, + "src": "9245:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9245:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "9211:51:54" + }, + "returnParameters": { + "id": 5031, + "nodeType": "ParameterList", + "parameters": [], + "src": "9271:0:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "id": 5058, + "nodeType": "FunctionDefinition", + "src": "9775:142:54", + "nodes": [], + "body": { + "id": 5057, + "nodeType": "Block", + "src": "9867:50:54", + "nodes": [], + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 5051, + "name": "_locked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4706, + "src": "9884:7:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 5053, + "indexExpression": { + "id": 5052, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5044, + "src": "9892:7:54", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9884:16:54", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 5055, + "indexExpression": { + "id": 5054, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5046, + "src": "9901:8:54", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9884:26:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 5050, + "id": 5056, + "nodeType": "Return", + "src": "9877:33:54" + } + ] + }, + "documentation": { + "id": 5042, + "nodeType": "StructuredDocumentation", + "src": "9330:440:54", + "text": "@notice Retrieves the locked balance of an account for a specific currency.\n @dev Returns the value stored in the `_locked` mapping for the given `account` and `currency`.\n @param account The address of the account whose locked balance is being queried.\n @param currency The address of the currency to check the locked balance for.\n @return The locked balance of the specified account for the given currency." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getLockedAmount", + "nameLocation": "9784:16:54", + "parameters": { + "id": 5047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5044, + "mutability": "mutable", + "name": "account", + "nameLocation": "9809:7:54", + "nodeType": "VariableDeclaration", + "scope": 5058, + "src": "9801:15:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9801:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5046, + "mutability": "mutable", + "name": "currency", + "nameLocation": "9826:8:54", + "nodeType": "VariableDeclaration", + "scope": 5058, + "src": "9818:16:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5045, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9818:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "9800:35:54" + }, + "returnParameters": { + "id": 5050, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5049, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 5058, + "src": "9858:7:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 5048, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9858:7:54", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "9857:9:54" + }, + "scope": 5069, + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "id": 5068, + "nodeType": "FunctionDefinition", + "src": "10221:84:54", + "nodes": [], + "body": { + "id": 5067, + "nodeType": "Block", + "src": "10303:2:54", + "nodes": [], + "statements": [] + }, + "baseFunctions": [50598], + "documentation": { + "id": 5059, + "nodeType": "StructuredDocumentation", + "src": "9923:293:54", + "text": "@notice Function that should revert when msg.sender is not authorized to upgrade the contract.\n @param newImplementation The address of the new implementation contract.\n @dev See https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable-_authorizeUpgrade-address-" + }, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5065, + "kind": "modifierInvocation", + "modifierName": { + "id": 5064, + "name": "onlyAdmin", + "nameLocations": ["10293:9:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2578, + "src": "10293:9:54" + }, + "nodeType": "ModifierInvocation", + "src": "10293:9:54" + } + ], + "name": "_authorizeUpgrade", + "nameLocation": "10230:17:54", + "overrides": { + "id": 5063, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "10284:8:54" + }, + "parameters": { + "id": 5062, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5061, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "10256:17:54", + "nodeType": "VariableDeclaration", + "scope": 5068, + "src": "10248:25:54", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5060, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10248:7:54", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "10247:27:54" + }, + "returnParameters": { + "id": 5066, + "nodeType": "ParameterList", + "parameters": [], + "src": "10303:0:54" + }, + "scope": 5069, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 4687, + "name": "Initializable", + "nameLocations": ["1174:13:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50462, + "src": "1174:13:54" + }, + "id": 4688, + "nodeType": "InheritanceSpecifier", + "src": "1174:13:54" + }, + { + "baseName": { + "id": 4689, + "name": "UUPSUpgradeable", + "nameLocations": ["1193:15:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50644, + "src": "1193:15:54" + }, + "id": 4690, + "nodeType": "InheritanceSpecifier", + "src": "1193:15:54" + }, + { + "baseName": { + "id": 4691, + "name": "AccessControlledUpgradeable", + "nameLocations": ["1214:27:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2660, + "src": "1214:27:54" + }, + "id": 4692, + "nodeType": "InheritanceSpecifier", + "src": "1214:27:54" + }, + { + "baseName": { + "id": 4693, + "name": "ReentrancyGuardTransientUpgradeable", + "nameLocations": ["1247:35:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 52553, + "src": "1247:35:54" + }, + "id": 4694, + "nodeType": "InheritanceSpecifier", + "src": "1247:35:54" + }, + { + "baseName": { + "id": 4695, + "name": "BalanceOperatorUpgradeable", + "nameLocations": ["1288:26:54"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2824, + "src": "1288:26:54" + }, + "id": 4696, + "nodeType": "InheritanceSpecifier", + "src": "1288:26:54" + } + ], + "canonicalName": "LedgerVault", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 4686, + "nodeType": "StructuredDocumentation", + "src": "837:309:54", + "text": "@title LedgerVault\n @notice A vault contract designed to store, lock, release, and manage funds securely.\n @dev This contract includes administrative methods (`restricted`) and general user methods.\n Supports operations such as deposits, withdrawals, transfers, and locked funds management." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 5069, 2824, 963, 993, 947, 1035, 3156, 1049, 52553, 2660, 48089, 53586, 52254, 50644, + 59214, 50462 + ], + "name": "LedgerVault", + "nameLocation": "1155:11:54", + "scope": 5070, + "usedErrors": [ + 969, 1011, 1769, 1773, 2560, 4736, 4739, 4742, 50225, 50228, 50489, 50494, 52485, 53557, + 53563, 53567, 59409, 59422, 60999, 61705, 61997 + ], + "usedEvents": [934, 980, 1022, 4715, 4724, 4733, 50233, 53553, 59136] + } + ], + "license": "MIT" + }, + "id": 54 +} diff --git a/src/config/abi/MMC.json b/src/config/abi/MMC.json index c26a1aebf..ed0fcc740 100644 --- a/src/config/abi/MMC.json +++ b/src/config/abi/MMC.json @@ -1 +1,2278 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"initialHolder","type":"address","internalType":"address"},{"name":"totalSupply","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"CLOCK_MODE","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"burn","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"burnFrom","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"checkpoints","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"pos","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Checkpoints.Checkpoint208","components":[{"name":"_key","type":"uint48","internalType":"uint48"},{"name":"_value","type":"uint208","internalType":"uint208"}]}],"stateMutability":"view"},{"type":"function","name":"clock","inputs":[],"outputs":[{"name":"","type":"uint48","internalType":"uint48"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"delegate","inputs":[{"name":"delegatee","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegateBySig","inputs":[{"name":"delegatee","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"},{"name":"expiry","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"delegates","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getPastTotalSupply","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getPastVotes","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"timepoint","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getVotes","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"nonces","inputs":[{"name":"owner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"numCheckpoints","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"permit","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"deadline","type":"uint256","internalType":"uint256"},{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"DelegateChanged","inputs":[{"name":"delegator","type":"address","indexed":true,"internalType":"address"},{"name":"fromDelegate","type":"address","indexed":true,"internalType":"address"},{"name":"toDelegate","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"DelegateVotesChanged","inputs":[{"name":"delegate","type":"address","indexed":true,"internalType":"address"},{"name":"previousVotes","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newVotes","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"CheckpointUnorderedInsertion","inputs":[]},{"type":"error","name":"ECDSAInvalidSignature","inputs":[]},{"type":"error","name":"ECDSAInvalidSignatureLength","inputs":[{"name":"length","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ECDSAInvalidSignatureS","inputs":[{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20ExceededSafeSupply","inputs":[{"name":"increasedSupply","type":"uint256","internalType":"uint256"},{"name":"cap","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC2612ExpiredSignature","inputs":[{"name":"deadline","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC2612InvalidSigner","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"ERC5805FutureLookup","inputs":[{"name":"timepoint","type":"uint256","internalType":"uint256"},{"name":"clock","type":"uint48","internalType":"uint48"}]},{"type":"error","name":"ERC6372InconsistentClock","inputs":[]},{"type":"error","name":"InvalidAccountNonce","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"currentNonce","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"SafeCastOverflowedUintDowncast","inputs":[{"name":"bits","type":"uint8","internalType":"uint8"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"VotesExpiredSignature","inputs":[{"name":"expiry","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x61016060405234610098576040613238803803809161001d826100b0565b610160391261009857610160516001600160a01b03811681036100985761018051610047916101a4565b6040516124ee9081610d0a8239608051816114bb015260a05181611578015260c0518161148c015260e0518161150a0152610100518161153001526101205181610769015261014051816107920152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b610160601f91909101601f19168101906001600160401b038211908210176100d757604052565b61009c565b601f909101601f19168101906001600160401b038211908210176100d757604052565b6040519061010e6040836100dc565b565b6040519061011f6040836100dc565b60038252565b604051906101346040836100dc565b60018252565b604051906101496040836100dc565b600f82526e26bab63a34b6b2b234b09021b7b4b760891b6020830152565b634e487b7160e01b5f52601160045260245ffd5b90670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561019f57565b610167565b9190916101af61013a565b926101b861013a565b936101c1610110565b90624d4d4360e81b60208301526101d6610125565b906020820192603160f81b8452875160018060401b0381116100d75761020681610201600354610331565b610369565b6020601f82116001146102a057916102448261024c9361028f999897969561010e9c9d5f92610295575b50508160011b915f199060031b1c19161790565b600355610408565b61025581610588565b610120526102628261067d565b610140526020815191012060e052519020610100524660a05261028361076f565b6080523060c05261017b565b906104e1565b015190505f80610230565b60035f52601f198216997fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9a5f5b81811061031957509261010e9a9b61028f9998979695936001938361024c9710610301575b505050811b01600355610408565b01515f1960f88460031b161c191690555f80806102f3565b838301518d556001909c019b602093840193016102ce565b90600182811c9216801561035f575b602083101461034b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610340565b601f8111610375575050565b60035f5260205f20906020601f840160051c830193106103af575b601f0160051c01905b8181106103a4575050565b5f8155600101610399565b9091508190610390565b601f82116103c657505050565b5f5260205f20906020601f840160051c830193106103fe575b601f0160051c01905b8181106103f3575050565b5f81556001016103e8565b90915081906103df565b80519091906001600160401b0381116100d7576104318161042a600454610331565b60046103b9565b602092601f821160011461046557610460929382915f926102955750508160011b915f199060031b1c19161790565b600455565b60045f52601f198216937f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f5b8681106104c957508360019596106104b1575b505050811b01600455565b01515f1960f88460031b161c191690555f80806104a6565b91926020600181928685015181550194019201610493565b91906001600160a01b03831680156105755760025482810180911161019f576002555f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a3600254926001600160d01b0380851161055e575061010e929350610838565b630e58ae9360e11b5f52600485905260245260445ffd5b63ec442f0560e01b5f525f60045260245ffd5b908151602081105f146105a35750906105a0906107cd565b90565b6001600160401b0381116100d7576105c7816105c0600554610331565b60056103b9565b602092601f82116001146105fe576105f6929382915f926102955750508160011b915f199060031b1c19161790565b60055560ff90565b60055f52601f198216937f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0915f5b868110610665575083600195961061064d575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f808061063f565b9192602060018192868501518155019401920161062c565b908151602081105f146106955750906105a0906107cd565b6001600160401b0381116100d7576106b9816106b2600654610331565b60066103b9565b602092601f82116001146106f0576106e8929382915f926102955750508160011b915f199060031b1c19161790565b60065560ff90565b60065f52601f198216937ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f915f5b868110610757575083600195961061073f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610731565b9192602060018192868501518155019401920161071e565b60e051610100516040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526107c760c0826100dc565b51902090565b601f8151116107f85760208151910151602082106107e9571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b9061084281610937565b9165ffffffffffff431161091f57600a54806108e9575061087c61086c61010e945f5b6001610cad565b65ffffffffffff4316600a610bd7565b50506001600160a01b031680156108d1575b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7545f9182526040909120546001600160a01b039081169116610a66565b6108e26108dd83610937565b610968565b505061088e565b92835f1981011161019f57600a5f525f805160206131f88339815191529093015461010e9361087c9161086c919060301c610865565b6306dfcc6560e41b5f5260306004524360245260445ffd5b6001600160d01b038111610951576001600160d01b031690565b6306dfcc6560e41b5f5260d060045260245260445ffd5b65ffffffffffff431161091f57600a5480610992575061086c61098e915f5b6002610cad565b9091565b805f1981011161019f57600a5f525f805160206131f8833981519152015461098e9161086c9160301c610987565b65ffffffffffff431161091f578054806109f457506109e461098e925f6002610cad565b9065ffffffffffff431690610bd7565b805f1981011161019f575f82815260209020015f19015461098e926109e49160301c610987565b65ffffffffffff431161091f57805480610a3f57506109e461098e925f6001610cad565b805f1981011161019f575f82815260209020015f19015461098e926109e49160301c610865565b6001600160a01b03808316939291908116908185141580610b59575b610a8e575b5050505050565b81610aff575b505082610aa3575b8080610a87565b6001600160a01b03165f9081526009602052604090205f8051602061321883398151915291610adc91610ad69091610937565b90610a1b565b604080516001600160d01b039384168152919092166020820152a25f8080610a9c565b6001600160a01b03165f9081526009602052604090205f8051602061321883398151915290610b3790610b3186610937565b906109c0565b604080516001600160d01b039384168152919092166020820152a25f80610a94565b50831515610a82565b5f1981019190821161019f57565b908154680100000000000000008110156100d75760018101808455811015610bc3575f9283526020928390208251929093015160301b65ffffffffffff191665ffffffffffff9290921691909117910155565b634e487b7160e01b5f52603260045260245ffd5b80549293928015610c8357610bee610bf991610b62565b825f5260205f200190565b8054603081901c9365ffffffffffff91821692918116808411610c7457879303610c405750610c3c92509065ffffffffffff82549181199060301b169116179055565b9190565b915050610c3c91610c60610c526100ff565b65ffffffffffff9093168352565b6001600160d01b0386166020830152610b70565b632520601d60e01b5f5260045ffd5b5090610ca891610c94610c526100ff565b6001600160d01b0385166020830152610b70565b5f9190565b91909180600114610cef57600214610cd357634e487b7160e01b5f52605160045260245ffd5b6001600160d01b039081169181169190910390811161019f5790565b506001600160d01b039182169082160190811161019f579056fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146101a4578063095ea7b31461019f57806318160ddd1461019a57806323b872dd14610195578063313ce567146101905780633644e5151461018b5780633a46b1a81461018657806342966c68146101815780634bf5d7e91461017c578063587cde1e146101775780635c19a95c146101725780636fcfff451461016d57806370a082311461016857806379cc6790146101635780637ecebe001461015e57806384b0196e146101595780638e539e8c1461015457806391ddadf41461014f57806395d89b411461014a5780639ab24eb014610145578063a9059cbb14610140578063c3cda5201461013b578063d505accf14610136578063dd62ed3e146101315763f1127ed81461012c575f80fd5b610ea6565b610e33565b610c98565b610b2a565b610ae4565b610a7c565b6109d7565b6109ac565b610888565b610751565b61070c565b6106dc565b61069a565b610612565b6105f0565b610595565b6104ec565b6104cd565b610405565b6103e3565b6103c8565b610390565b610373565b610342565b610200565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b9060206101fd9281815201906101a9565b90565b346102f8575f6003193601126102f8576040515f60035461022081610fa9565b80845290600181169081156102b65750600114610258575b61025483610248818503826110e8565b604051918291826101ec565b0390f35b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b80821061029c57509091508101602001610248610238565b919260018160209254838588010152019101909291610284565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506102489050610238565b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036102f857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036102f857565b346102f85760406003193601126102f85761036861035e6102fc565b602435903361199f565b602060405160018152f35b346102f8575f6003193601126102f8576020600254604051908152f35b346102f85760606003193601126102f8576103686103ac6102fc565b6103b461031f565b604435916103c3833383611152565b6112d6565b346102f8575f6003193601126102f857602060405160128152f35b346102f8575f6003193601126102f85760206103fd611475565b604051908152f35b346102f85760406003193601126102f85761041e6102fc565b60243565ffffffffffff6104314361159e565b168082101561049e5761025479ffffffffffffffffffffffffffffffffffffffffffffffffffff61048d8473ffffffffffffffffffffffffffffffffffffffff87165f52600960205261048760405f209161159e565b90611621565b604051911681529081906020820190565b907fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102f85760206003193601126102f8576104ea600435336116b2565b005b346102f8575f6003193601126102f8576105054361159e565b65ffffffffffff806105164361159e565b1691160361056d5761025460405161052f6040826110e8565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526040519182916020835260208301906101a9565b7f6ff07140000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff6105c36102fc565b165f526008602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b346102f85760206003193601126102f8576104ea61060c6102fc565b33611838565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff6106406102fc565b165f52600960205260405f205463ffffffff811161066a5760405163ffffffff9091168152602090f35b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52602060045260245260445ffd5b346102f85760206003193601126102f85760206103fd6106b86102fc565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b346102f85760406003193601126102f8576104ea6106f86102fc565b60243590610707823383611152565b6116b2565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff61073a6102fc565b165f526007602052602060405f2054604051908152f35b346102f8575f6003193601126102f85761082f61078d7f0000000000000000000000000000000000000000000000000000000000000000611dd3565b6107b67f0000000000000000000000000000000000000000000000000000000000000000611e4c565b60206040516107c582826110e8565b5f81528161083d818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e08901906101a9565b9087820360408901526101a9565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061087157505050500390f35b835185528695509381019392810192600101610862565b346102f85760206003193601126102f85760043565ffffffffffff6108ac4361159e565b16908181101561097e576108bf9061159e565b600a54905f829160058411610925575b6108db9350600a611be8565b80610909575060205f5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff60405191168152f35b6109146020916115e6565b600a5f52815f20015460301c6108e5565b919261093081611a73565b8103908111610979576108db93600a5f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146109675750916108cf565b92915061097390611613565b906108cf565b610f7c565b7fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102f8575f6003193601126102f85760206109c74361159e565b65ffffffffffff60405191168152f35b346102f8575f6003193601126102f8576040515f6004546109f781610fa9565b80845290600181169081156102b65750600114610a1e5761025483610248818503826110e8565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b808210610a6257509091508101602001610248610238565b919260018160209254838588010152019101909291610a4a565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff610aaa6102fc565b165f526009602052602079ffffffffffffffffffffffffffffffffffffffffffffffffffff610adb60405f206118e8565b16604051908152f35b346102f85760406003193601126102f857610368610b006102fc565b60243590336112d6565b6064359060ff821682036102f857565b6084359060ff821682036102f857565b346102f85760c06003193601126102f857610b436102fc565b60243590604435610b52610b0a565b6084359060a43592804211610c6d5791610be59391610bd7610bdc9460405160208101917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835273ffffffffffffffffffffffffffffffffffffffff8a1660408301528a6060830152608082015260808152610bcf60a0826110e8565b51902061194f565b611e83565b90929192611f54565b610c168173ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b809303610c27576104ea9250611838565b73ffffffffffffffffffffffffffffffffffffffff91507f752d88c0000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b7f4683af0e000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102f85760e06003193601126102f857610cb16102fc565b610cb961031f565b6044359060643592610cc9610b1a565b60a43560c43590864211610e0757610d9992610d94610d0f8673ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b9860405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835273ffffffffffffffffffffffffffffffffffffffff89169b8c604084015273ffffffffffffffffffffffffffffffffffffffff8b1660608401528b608084015260a083015260c082015260c08152610bcf60e0826110e8565b611990565b9373ffffffffffffffffffffffffffffffffffffffff851603610dc0576104ea935061199f565b7f4b800e46000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff8085166004521660245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102f85760406003193601126102f8576020610e9d610e516102fc565b73ffffffffffffffffffffffffffffffffffffffff610e6e61031f565b91165f526001835260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b346102f85760406003193601126102f857610ebf6102fc565b6024359063ffffffff821682036102f8576102549173ffffffffffffffffffffffffffffffffffffffff610f1992610ef561113a565b50610efe61113a565b50165f52600960205260405f20610f1361113a565b5061201b565b5060405190610f27826110c7565b5465ffffffffffff8116825260301c602082015260405191829182919091602079ffffffffffffffffffffffffffffffffffffffffffffffffffff81604084019565ffffffffffff8151168552015116910152565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90600182811c92168015610ff0575b6020831014610fc357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610fb8565b5f929181549161100983610fa9565b808352926001811690811561105e575060011461102557505050565b5f9081526020812093945091925b838310611044575060209250010190565b600181602092949394548385870101520191019190611033565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff8211176110e357604052565b61109a565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176110e357604052565b604051906111386040836110e8565b565b60405190611147826110c7565b5f6020838281520152565b73ffffffffffffffffffffffffffffffffffffffff909291921690815f5260016020526111a08360405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81036111cf575b50505050565b81811061128e5782156112625773ffffffffffffffffffffffffffffffffffffffff8416156112365761122c925f526001602052039160405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b555f8080806111c9565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff847ffb8f41b2000000000000000000000000000000000000000000000000000000005f521660045260245260445260645ffd5b92919073ffffffffffffffffffffffffffffffffffffffff84169384156114495773ffffffffffffffffffffffffffffffffffffffff8216801561141d5761133b8273ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b54958487106113d157846111389697036113728473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5561139a8473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b8054860190556040518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3612253565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff83166004526024879052604485905260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611575575b156114dd577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261156f60c0826110e8565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146114b4565b65ffffffffffff81116115b65765ffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52603060045260245260445ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161097957565b906001820180921161097957565b908154905f82916005841161165f575b61163c935084611be8565b806116475750505f90565b611650906115e6565b905f5260205f20015460301c90565b919261166a81611a73565b81039081116109795761163c93855f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146116a0575091611631565b9291506116ac90611613565b90611631565b73ffffffffffffffffffffffffffffffffffffffff8116908115611449576116f78173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548381106117ed579061172f84611138959493039173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5581600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405180602081018782520390a380156117d5575b61178161177c8361205d565b6121f2565b50505f908152600860205260408120549080527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75473ffffffffffffffffffffffffffffffffffffffff9081169116611c4c565b6117e66117e18361205d565b612191565b5050611770565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff909116600452602452604482905260645ffd5b73ffffffffffffffffffffffffffffffffffffffff8181165f81815260086020526040812080548685167fffffffffffffffffffffffff000000000000000000000000000000000000000082168117909255611138969416946118e29390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b91611c4c565b8054806118f55750505f90565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810111610979577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff915f5260205f2001015460301c90565b60429061195a611475565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916101fd9391610bdc93611e83565b73ffffffffffffffffffffffffffffffffffffffff169081156112625773ffffffffffffffffffffffffffffffffffffffff81169283156112365780611a2f7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600160205260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b55604051908152602090a3565b8115611a46570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b60018111156101fd57806001700100000000000000000000000000000000831015611ba6575b611b4c611b42611b38611b2e611b24611b1a611b09611b539760048a68010000000000000000611b589c1015611b99575b640100000000811015611b8c575b62010000811015611b7f575b610100811015611b72575b6010811015611b65575b1015611b5d575b60030260011c90565b611b13818b611a3c565b0160011c90565b611b13818a611a3c565b611b138189611a3c565b611b138188611a3c565b611b138187611a3c565b611b138186611a3c565b8093611a3c565b821190565b900390565b60011b611b00565b60041c9160021b91611af9565b60081c9160041b91611aef565b60101c9160081b91611ae4565b60201c9160101b91611ad8565b60401c9160201b91611aca565b5050611b58611b53611b4c611b42611b38611b2e611b24611b1a611b09611bcd8a60801c90565b9850680100000000000000009750611a999650505050505050565b91905b838210611bf85750505090565b9091928083169080841860011c820180921161097957845f5265ffffffffffff8260205f2001541665ffffffffffff8416105f14611c3a5750925b9190611beb565b939250611c4690611613565b91611c33565b919073ffffffffffffffffffffffffffffffffffffffff81169273ffffffffffffffffffffffffffffffffffffffff8116908482141580611dca575b611c94575b5050505050565b81611d47575b505082611ca9575b8080611c8d565b611d3c611d237fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611d1d611d1779ffffffffffffffffffffffffffffffffffffffffffffffffffff9573ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b9161205d565b90612131565b6040805192851683529316602082015291829190820190565b0390a25f8080611ca2565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff611dc0611d23611db17fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249473ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b611dba8861205d565b906120cd565b0390a25f80611c9a565b50831515611c88565b60ff8114611e325760ff811690601f8211611e0a5760405191611df76040846110e8565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040516101fd81611e45816005610ffa565b03826110e8565b60ff8114611e705760ff811690601f8211611e0a5760405191611df76040846110e8565b506040516101fd81611e45816006610ffa565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611f12579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611f07575f5173ffffffffffffffffffffffffffffffffffffffff811615611efd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115611f2757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b611f5d81611f1d565b80611f66575050565b611f6f81611f1d565b60018103611f9f577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b611fa881611f1d565b60028103611fdc57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80611fe8600392611f1d565b14611ff05750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8054821015612030575f5260205f2001905f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff811161209d5779ffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f5260d060045260245260445ffd5b906120d74361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff806120fd856118e8565b92169116039079ffffffffffffffffffffffffffffffffffffffffffffffffffff82116109795761212d92612385565b9091565b9061213b4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612161856118e8565b92169116019079ffffffffffffffffffffffffffffffffffffffffffffffffffff82116109795761212d92612385565b61219a4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff806121c1600a6118e8565b921691160179ffffffffffffffffffffffffffffffffffffffffffffffffffff81116109795761212d91600a612385565b6121fb4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612222600a6118e8565b921691160379ffffffffffffffffffffffffffffffffffffffffffffffffffff81116109795761212d91600a612385565b9073ffffffffffffffffffffffffffffffffffffffff806111389493169182156122df575b169081156122cc575b5f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f205416905f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f20541690611c4c565b6122d861177c8461205d565b5050612281565b6122eb6117e18561205d565b5050612278565b8054680100000000000000008110156110e3576123149160018201815561201b565b6123595781516020929092015160301b7fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b7f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b8054929392801561247b5761239c6123a7916115e6565b825f5260205f200190565b8054603081901c9365ffffffffffff918216929181168084116124535787930361240c575061240892509065ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000083549260301b169116179055565b9190565b9150506124089161242c61241e611129565b65ffffffffffff9093168352565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff861660208301526122f2565b7f2520601d000000000000000000000000000000000000000000000000000000005f5260045ffd5b50906124b39161248c61241e611129565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff851660208301526122f2565b5f919056fea2646970667358221220d89db57217dac2a10b607d074c2ccfb454d1c652aa226dff2d9c46888743393464736f6c634300081a0033c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724","sourceMap":"730:628:9:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;730:628:9;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;-1:-1:-1;;;;;730:628:9;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;730:628:9;;;;-1:-1:-1;;;;;730:628:9;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;730:628:9;;;;:::o;:::-;;;;;;;;;;;;;;985:8;730:628;;;;;;985:8;730:628;;;;;;;:::o;:::-;;:::i;798:204::-;;;;730:628;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;-1:-1:-1;;;730:628:9;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;730:628:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;970:24;730:628;;;;;970:24;730:628;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3401:45:167;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;730:628:9;;;;;3542:22:167;3528:36;;730:628:9;3591:25:167;;3574:42;;3644:13;3627:30;;3692:23;;:::i;:::-;3667:48;;3747:4;3725:27;;970:24:9;:::i;:::-;;;:::i;730:628::-;;;;-1:-1:-1;730:628:9;;;;;;;;-1:-1:-1;;730:628:9;;;;;-1:-1:-1;730:628:9;;;;;;;;970:24;730:628;;970:24;730:628;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;730:628:9;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;730:628:9;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;-1:-1:-1;;;;;730:628:9;;;;;;;1690:17:141;730:628:9;;:::i;:::-;1690:17:141;730:628:9;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:17:141;730:628:9;:::o;:::-;1690:17:141;730:628:9;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:17:141;730:628:9;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7458:208:141;;;-1:-1:-1;;;;;730:628:9;;7528:21:141;;7524:91;;6233:21;730:628:9;;;;;;;;;6233:21:141;730:628:9;7547:1:141;730:628:9;;;;;;;;;;;;;;;;;;2079:95:167;;;7083:25:141;;730:628:9;7083:25:141;6233:21;730:628:9;;-1:-1:-1;;;;;2616:12:145;;;2612:94;;2756:5;;;;;;:::i;2612:94::-;-1:-1:-1;;;7547:1:141;2655:36:145;;2079:95:167;;;730:628:9;2079:95:167;730:628:9;7547:1:141;2655:36:145;7524:91:141;7572:32;;;7547:1;7572:32;7547:1;7572:32;730:628:9;;7547:1:141;7572:32;2887:340:162;;730:628:9;;3032:2:162;3010:24;;3006:215;3032:2;;;3057:20;;;;;:::i;:::-;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;730:628:9;;;;;;;3432:13:167;730:628:9;;:::i;:::-;3432:13:167;730:628:9;:::i;:::-;3032:2:162;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:167;730:628:9;1390:66:162;3168:42;:::o;730:628:9:-;3432:13:167;730:628:9;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:167;730:628:9;1390:66:162;3168:42;:::o;730:628:9:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:162;730:628:9;;;;;;;;;;;;;;;;2887:340:162;;730:628:9;;3032:2:162;3010:24;;3006:215;3032:2;;;3057:20;;;;;:::i;3006:215::-;-1:-1:-1;;;;;730:628:9;;;;;;;3501:16:167;730:628:9;;:::i;:::-;3501:16:167;730:628:9;:::i;:::-;3032:2:162;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:167;730:628:9;1390:66:162;3168:42;:::o;730:628:9:-;3501:16:167;730:628:9;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:167;730:628:9;1390:66:162;3168:42;:::o;730:628:9:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:162;730:628:9;;;;;;;;;;;;;;;;4113:179:167;4226:11;2079:95;4239:14;2079:95;730:628:9;;4204:80:167;;;;2079:95;;;;730:628:9;2079:95:167;;;;;;;4255:13;2079:95;;;;4278:4;2079:95;;;730:628:9;2079:95:167;4204:80;;;;;;:::i;:::-;730:628:9;4194:91:167;;4113:179;:::o;1708:286:162:-;1854:2;730:628:9;;1840:16:162;1836:72;;730:628:9;;;;;2079:95:167;730:628:9;;;;;1949:36:162;1708:286;:::o;730:628:9:-;;;;;;;;;;1949:36:162;1708:286;:::o;1836:72::-;730:628:9;;;;;1879:18:162;;;;;;;;;;;;730:628:9;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;1854:2:162;730:628:9;-1:-1:-1;;730:628:9;;;1879:18:162;;;;7232:399:122;;7400:26;;;:::i;:::-;7369:58;730:628:9;1020:12:179;14374:24:174;14370:103;;7375:17:122;730:628:9;10446:8:176;;;:63;8310:38;9265:25:122;7617:6;10446:63:176;730:628:9;10446:63:176;7335:18:122;9265:25;:::i;:::-;730:628:9;1020:12:179;730:628:9;7375:17:122;8310:38:176;:::i;:::-;-1:-1:-1;;;;;;;730:628:9;7451:16:122;;7447:110;;10446:63:176;5630:10:122;730:628:9;;;;;;;;;;;;;-1:-1:-1;;;;;730:628:9;;;;;7617:6:122;:::i;7447:110::-;7483:63;7519:26;;;:::i;:::-;7483:63;:::i;:::-;7447:110;;;;10446:63:176;730:628:9;;;;;;;;;7375:17:122;730:628:9;14439:109:176;-1:-1:-1;;;;;;;;;;;14439:109:176;;;730:628:9;7617:6:122;;8310:38:176;;9265:25:122;;14439:109:176;730:628:9;;10446:63:176;;14370:103:174;14421:41;;;730:628:9;14421:41:174;14452:2;14421:41;730:628:9;1020:12:179;730:628:9;2079:95:167;730:628:9;;14421:41:174;4174:218;-1:-1:-1;;;;;4254:25:174;;4250:105;;-1:-1:-1;;;;;730:628:9;;4174:218:174:o;4250:105::-;14421:41;;;4302:42;;4333:3;4302:42;730:628:9;;2079:95:167;730:628:9;4302:42:174;;9025:273:122;730:628:9;1020:12:179;14374:24:174;14370:103;;7489:17:122;730:628:9;10446:8:176;;;:63;9265:25:122;8310:38:176;10446:63;-1:-1:-1;10446:63:176;7508:9:122;9265:25;:::i;8310:38:176:-;9238:53:122;;9025:273::o;10446:63:176:-;730:628:9;;;;;;;;7489:17:122;-1:-1:-1;14439:109:176;-1:-1:-1;;;;;;;;;;;14439:109:176;730:628:9;8310:38:176;;9265:25:122;;730:628:9;;10446:63:176;;9025:273:122;730:628:9;1020:12:179;14374:24:174;14370:103;;730:628:9;;10446:8:176;;;:63;9265:25:122;8310:38:176;10446:63;-1:-1:-1;8014:9:122;9265:25;:::i;:::-;1020:12:179;730:628:9;1020:12:179;730:628:9;8310:38:176;;:::i;10446:63::-;730:628:9;;;;;;;;-1:-1:-1;14439:109:176;;;;;;;-1:-1:-1;;14439:109:176;730:628:9;8310:38:176;;9265:25:122;;730:628:9;;10446:63:176;;9025:273:122;730:628:9;1020:12:179;14374:24:174;14370:103;;730:628:9;;10446:8:176;;;:63;9265:25:122;8310:38:176;10446:63;-1:-1:-1;8338:4:122;9265:25;:::i;10446:63:176:-;730:628:9;;;;;;;;-1:-1:-1;14439:109:176;;;;;;;-1:-1:-1;;14439:109:176;730:628:9;8310:38:176;;9265:25:122;;730:628:9;;10446:63:176;;7717:789:122;-1:-1:-1;;;;;730:628:9;;;;7717:789:122;;730:628:9;;;;7818:10:122;;;;;:24;;7717:789;7814:686;;7717:789;;;;;;:::o;7814:686::-;7862:18;7858:315;;7814:686;8190:16;;;8186:304;;7814:686;;;;;8186:304;-1:-1:-1;;;;;730:628:9;;;;;7966:20:122;730:628:9;;;;;-1:-1:-1;;;;;;;;;;;8431:44:122;8265:143;;8364:26;;;;:::i;:::-;8265:143;;:::i;:::-;730:628:9;;;-1:-1:-1;;;;;730:628:9;;;2079:95:167;;730:628:9;;;;;;;2079:95:167;8431:44:122;8186:304;;;;;7858:315;-1:-1:-1;;;;;730:628:9;;;;;7966:20:122;730:628:9;;;;;-1:-1:-1;;;;;;;;;;;8112:46:122;7939:150;;8045:26;;;:::i;:::-;7939:150;;:::i;:::-;730:628:9;;;-1:-1:-1;;;;;730:628:9;;;2079:95:167;;730:628:9;;;;;;;2079:95:167;8112:46:122;7858:315;;;;7818:24;7832:10;;;;7818:24;;730:628:9;-1:-1:-1;;730:628:9;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;730:628:9;;;;;-1:-1:-1;730:628:9;11657:922:176;730:628:9;;11657:922:176;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;730:628:9;;;;;;;;;;;;;;;12103:13:176;;;12099:89;;12251:14;;;;;12285:19;;;;730:628:9;;;;;;;;;;;;;;;;;12285:19:176;12423:25;;:::o;12247:163::-;730:628:9;;;12343:52:176;730:628:9;12353:41:176;730:628:9;;:::i;:::-;;;;;;;;12353:41:176;-1:-1:-1;;;;;730:628:9;;12353:41:176;;;730:628:9;12343:52:176;:::i;12099:89::-;12143:30;;;11870:1;12143:30;;11870:1;12143:30;11860:713;730:628:9;;12479:52:176;730:628:9;12489:41:176;730:628:9;;:::i;12489:41:176:-;-1:-1:-1;;;;;730:628:9;;12489:41:176;;;730:628:9;12343:52:176;:::i;12479:::-;11870:1;12545:17;;:::o;730:628:9:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;730:628:9;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;730:628:9;;;;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146101a4578063095ea7b31461019f57806318160ddd1461019a57806323b872dd14610195578063313ce567146101905780633644e5151461018b5780633a46b1a81461018657806342966c68146101815780634bf5d7e91461017c578063587cde1e146101775780635c19a95c146101725780636fcfff451461016d57806370a082311461016857806379cc6790146101635780637ecebe001461015e57806384b0196e146101595780638e539e8c1461015457806391ddadf41461014f57806395d89b411461014a5780639ab24eb014610145578063a9059cbb14610140578063c3cda5201461013b578063d505accf14610136578063dd62ed3e146101315763f1127ed81461012c575f80fd5b610ea6565b610e33565b610c98565b610b2a565b610ae4565b610a7c565b6109d7565b6109ac565b610888565b610751565b61070c565b6106dc565b61069a565b610612565b6105f0565b610595565b6104ec565b6104cd565b610405565b6103e3565b6103c8565b610390565b610373565b610342565b610200565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b9060206101fd9281815201906101a9565b90565b346102f8575f6003193601126102f8576040515f60035461022081610fa9565b80845290600181169081156102b65750600114610258575b61025483610248818503826110e8565b604051918291826101ec565b0390f35b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b80821061029c57509091508101602001610248610238565b919260018160209254838588010152019101909291610284565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506102489050610238565b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036102f857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036102f857565b346102f85760406003193601126102f85761036861035e6102fc565b602435903361199f565b602060405160018152f35b346102f8575f6003193601126102f8576020600254604051908152f35b346102f85760606003193601126102f8576103686103ac6102fc565b6103b461031f565b604435916103c3833383611152565b6112d6565b346102f8575f6003193601126102f857602060405160128152f35b346102f8575f6003193601126102f85760206103fd611475565b604051908152f35b346102f85760406003193601126102f85761041e6102fc565b60243565ffffffffffff6104314361159e565b168082101561049e5761025479ffffffffffffffffffffffffffffffffffffffffffffffffffff61048d8473ffffffffffffffffffffffffffffffffffffffff87165f52600960205261048760405f209161159e565b90611621565b604051911681529081906020820190565b907fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102f85760206003193601126102f8576104ea600435336116b2565b005b346102f8575f6003193601126102f8576105054361159e565b65ffffffffffff806105164361159e565b1691160361056d5761025460405161052f6040826110e8565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526040519182916020835260208301906101a9565b7f6ff07140000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff6105c36102fc565b165f526008602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b346102f85760206003193601126102f8576104ea61060c6102fc565b33611838565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff6106406102fc565b165f52600960205260405f205463ffffffff811161066a5760405163ffffffff9091168152602090f35b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52602060045260245260445ffd5b346102f85760206003193601126102f85760206103fd6106b86102fc565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b346102f85760406003193601126102f8576104ea6106f86102fc565b60243590610707823383611152565b6116b2565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff61073a6102fc565b165f526007602052602060405f2054604051908152f35b346102f8575f6003193601126102f85761082f61078d7f0000000000000000000000000000000000000000000000000000000000000000611dd3565b6107b67f0000000000000000000000000000000000000000000000000000000000000000611e4c565b60206040516107c582826110e8565b5f81528161083d818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e08901906101a9565b9087820360408901526101a9565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061087157505050500390f35b835185528695509381019392810192600101610862565b346102f85760206003193601126102f85760043565ffffffffffff6108ac4361159e565b16908181101561097e576108bf9061159e565b600a54905f829160058411610925575b6108db9350600a611be8565b80610909575060205f5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff60405191168152f35b6109146020916115e6565b600a5f52815f20015460301c6108e5565b919261093081611a73565b8103908111610979576108db93600a5f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146109675750916108cf565b92915061097390611613565b906108cf565b610f7c565b7fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102f8575f6003193601126102f85760206109c74361159e565b65ffffffffffff60405191168152f35b346102f8575f6003193601126102f8576040515f6004546109f781610fa9565b80845290600181169081156102b65750600114610a1e5761025483610248818503826110e8565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b808210610a6257509091508101602001610248610238565b919260018160209254838588010152019101909291610a4a565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff610aaa6102fc565b165f526009602052602079ffffffffffffffffffffffffffffffffffffffffffffffffffff610adb60405f206118e8565b16604051908152f35b346102f85760406003193601126102f857610368610b006102fc565b60243590336112d6565b6064359060ff821682036102f857565b6084359060ff821682036102f857565b346102f85760c06003193601126102f857610b436102fc565b60243590604435610b52610b0a565b6084359060a43592804211610c6d5791610be59391610bd7610bdc9460405160208101917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835273ffffffffffffffffffffffffffffffffffffffff8a1660408301528a6060830152608082015260808152610bcf60a0826110e8565b51902061194f565b611e83565b90929192611f54565b610c168173ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b809303610c27576104ea9250611838565b73ffffffffffffffffffffffffffffffffffffffff91507f752d88c0000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b7f4683af0e000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102f85760e06003193601126102f857610cb16102fc565b610cb961031f565b6044359060643592610cc9610b1a565b60a43560c43590864211610e0757610d9992610d94610d0f8673ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b9860405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835273ffffffffffffffffffffffffffffffffffffffff89169b8c604084015273ffffffffffffffffffffffffffffffffffffffff8b1660608401528b608084015260a083015260c082015260c08152610bcf60e0826110e8565b611990565b9373ffffffffffffffffffffffffffffffffffffffff851603610dc0576104ea935061199f565b7f4b800e46000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff8085166004521660245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102f85760406003193601126102f8576020610e9d610e516102fc565b73ffffffffffffffffffffffffffffffffffffffff610e6e61031f565b91165f526001835260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b346102f85760406003193601126102f857610ebf6102fc565b6024359063ffffffff821682036102f8576102549173ffffffffffffffffffffffffffffffffffffffff610f1992610ef561113a565b50610efe61113a565b50165f52600960205260405f20610f1361113a565b5061201b565b5060405190610f27826110c7565b5465ffffffffffff8116825260301c602082015260405191829182919091602079ffffffffffffffffffffffffffffffffffffffffffffffffffff81604084019565ffffffffffff8151168552015116910152565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90600182811c92168015610ff0575b6020831014610fc357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610fb8565b5f929181549161100983610fa9565b808352926001811690811561105e575060011461102557505050565b5f9081526020812093945091925b838310611044575060209250010190565b600181602092949394548385870101520191019190611033565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff8211176110e357604052565b61109a565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176110e357604052565b604051906111386040836110e8565b565b60405190611147826110c7565b5f6020838281520152565b73ffffffffffffffffffffffffffffffffffffffff909291921690815f5260016020526111a08360405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81036111cf575b50505050565b81811061128e5782156112625773ffffffffffffffffffffffffffffffffffffffff8416156112365761122c925f526001602052039160405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b555f8080806111c9565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff847ffb8f41b2000000000000000000000000000000000000000000000000000000005f521660045260245260445260645ffd5b92919073ffffffffffffffffffffffffffffffffffffffff84169384156114495773ffffffffffffffffffffffffffffffffffffffff8216801561141d5761133b8273ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b54958487106113d157846111389697036113728473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5561139a8473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b8054860190556040518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3612253565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff83166004526024879052604485905260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611575575b156114dd577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261156f60c0826110e8565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146114b4565b65ffffffffffff81116115b65765ffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52603060045260245260445ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161097957565b906001820180921161097957565b908154905f82916005841161165f575b61163c935084611be8565b806116475750505f90565b611650906115e6565b905f5260205f20015460301c90565b919261166a81611a73565b81039081116109795761163c93855f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146116a0575091611631565b9291506116ac90611613565b90611631565b73ffffffffffffffffffffffffffffffffffffffff8116908115611449576116f78173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548381106117ed579061172f84611138959493039173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5581600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405180602081018782520390a380156117d5575b61178161177c8361205d565b6121f2565b50505f908152600860205260408120549080527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75473ffffffffffffffffffffffffffffffffffffffff9081169116611c4c565b6117e66117e18361205d565b612191565b5050611770565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff909116600452602452604482905260645ffd5b73ffffffffffffffffffffffffffffffffffffffff8181165f81815260086020526040812080548685167fffffffffffffffffffffffff000000000000000000000000000000000000000082168117909255611138969416946118e29390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b91611c4c565b8054806118f55750505f90565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810111610979577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff915f5260205f2001015460301c90565b60429061195a611475565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916101fd9391610bdc93611e83565b73ffffffffffffffffffffffffffffffffffffffff169081156112625773ffffffffffffffffffffffffffffffffffffffff81169283156112365780611a2f7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600160205260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b55604051908152602090a3565b8115611a46570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b60018111156101fd57806001700100000000000000000000000000000000831015611ba6575b611b4c611b42611b38611b2e611b24611b1a611b09611b539760048a68010000000000000000611b589c1015611b99575b640100000000811015611b8c575b62010000811015611b7f575b610100811015611b72575b6010811015611b65575b1015611b5d575b60030260011c90565b611b13818b611a3c565b0160011c90565b611b13818a611a3c565b611b138189611a3c565b611b138188611a3c565b611b138187611a3c565b611b138186611a3c565b8093611a3c565b821190565b900390565b60011b611b00565b60041c9160021b91611af9565b60081c9160041b91611aef565b60101c9160081b91611ae4565b60201c9160101b91611ad8565b60401c9160201b91611aca565b5050611b58611b53611b4c611b42611b38611b2e611b24611b1a611b09611bcd8a60801c90565b9850680100000000000000009750611a999650505050505050565b91905b838210611bf85750505090565b9091928083169080841860011c820180921161097957845f5265ffffffffffff8260205f2001541665ffffffffffff8416105f14611c3a5750925b9190611beb565b939250611c4690611613565b91611c33565b919073ffffffffffffffffffffffffffffffffffffffff81169273ffffffffffffffffffffffffffffffffffffffff8116908482141580611dca575b611c94575b5050505050565b81611d47575b505082611ca9575b8080611c8d565b611d3c611d237fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611d1d611d1779ffffffffffffffffffffffffffffffffffffffffffffffffffff9573ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b9161205d565b90612131565b6040805192851683529316602082015291829190820190565b0390a25f8080611ca2565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff611dc0611d23611db17fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249473ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b611dba8861205d565b906120cd565b0390a25f80611c9a565b50831515611c88565b60ff8114611e325760ff811690601f8211611e0a5760405191611df76040846110e8565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040516101fd81611e45816005610ffa565b03826110e8565b60ff8114611e705760ff811690601f8211611e0a5760405191611df76040846110e8565b506040516101fd81611e45816006610ffa565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611f12579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611f07575f5173ffffffffffffffffffffffffffffffffffffffff811615611efd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115611f2757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b611f5d81611f1d565b80611f66575050565b611f6f81611f1d565b60018103611f9f577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b611fa881611f1d565b60028103611fdc57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80611fe8600392611f1d565b14611ff05750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8054821015612030575f5260205f2001905f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff811161209d5779ffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f5260d060045260245260445ffd5b906120d74361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff806120fd856118e8565b92169116039079ffffffffffffffffffffffffffffffffffffffffffffffffffff82116109795761212d92612385565b9091565b9061213b4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612161856118e8565b92169116019079ffffffffffffffffffffffffffffffffffffffffffffffffffff82116109795761212d92612385565b61219a4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff806121c1600a6118e8565b921691160179ffffffffffffffffffffffffffffffffffffffffffffffffffff81116109795761212d91600a612385565b6121fb4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612222600a6118e8565b921691160379ffffffffffffffffffffffffffffffffffffffffffffffffffff81116109795761212d91600a612385565b9073ffffffffffffffffffffffffffffffffffffffff806111389493169182156122df575b169081156122cc575b5f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f205416905f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f20541690611c4c565b6122d861177c8461205d565b5050612281565b6122eb6117e18561205d565b5050612278565b8054680100000000000000008110156110e3576123149160018201815561201b565b6123595781516020929092015160301b7fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b7f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b8054929392801561247b5761239c6123a7916115e6565b825f5260205f200190565b8054603081901c9365ffffffffffff918216929181168084116124535787930361240c575061240892509065ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000083549260301b169116179055565b9190565b9150506124089161242c61241e611129565b65ffffffffffff9093168352565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff861660208301526122f2565b7f2520601d000000000000000000000000000000000000000000000000000000005f5260045ffd5b50906124b39161248c61241e611129565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff851660208301526122f2565b5f919056fea2646970667358221220d89db57217dac2a10b607d074c2ccfb454d1c652aa226dff2d9c46888743393464736f6c634300081a0033","sourceMap":"730:628:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;-1:-1:-1;;730:628:9;;;;;;;;1856:5:141;730:628:9;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;1856:5:141;730:628:9;;;;;;;-1:-1:-1;730:628:9;;;;;;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;730:628:9;;;;;8842:4:141;730:628:9;;:::i;:::-;;;735:10:156;;8842:4:141;:::i;:::-;730:628:9;;;8842:4:141;730:628:9;;;;;;;;-1:-1:-1;;730:628:9;;;;;;2927:12:141;730:628:9;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;4986:5:141;730:628:9;;:::i;:::-;;;:::i;:::-;;;735:10:156;4950:5:141;735:10:156;;4950:5:141;;:::i;:::-;4986;:::i;730:628:9:-;;;;;-1:-1:-1;;730:628:9;;;;;;;;2780:2:141;730:628:9;;;;;;;;-1:-1:-1;;730:628:9;;;;;;2744:20:144;;:::i;:::-;730:628:9;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;:::i;:::-;;;;1002:31:179;1020:12;1002:31;:::i;:::-;730:628:9;4075:29:122;;;;4071:115;;730:628:9;;4202:77:122;730:628:9;;;;-1:-1:-1;730:628:9;4202:20:122;730:628:9;;4250:28:122;730:628:9;-1:-1:-1;730:628:9;4250:28:122;;:::i;:::-;4202:77;;:::i;:::-;730:628:9;;;;;;;;;;;;;;4071:115:122;4127:48;;-1:-1:-1;4127:48:122;730:628:9;;;;;-1:-1:-1;4127:48:122;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;692:5:143;730:628:9;;735:10:156;692:5:143;:::i;:::-;730:628:9;;;;;;-1:-1:-1;;730:628:9;;;;;1002:31:179;1020:12;1002:31;:::i;:::-;730:628:9;1020:12:179;1002:31;1020:12;1002:31;:::i;:::-;730:628:9;;;3169:29:122;3165:93;;730:628:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;3165:93:122:-;3221:26;730:628:9;3221:26:122;730:628:9;;3221:26:122;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;;;:::i;:::-;;-1:-1:-1;730:628:9;5630:10:122;730:628:9;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;5859:9:122;730:628:9;;:::i;:::-;735:10:156;5859:9:122;:::i;730:628:9:-;;;;;-1:-1:-1;;730:628:9;;;;;;;;:::i;:::-;;-1:-1:-1;730:628:9;8697:20:122;730:628:9;;;-1:-1:-1;730:628:9;;;15374:24:174;;15370:103;;730:628:9;;;;;;;;;;;15370:103:174;15421:41;-1:-1:-1;15421:41:174;730:628:9;;;;;;-1:-1:-1;15421:41:174;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;;;;:::i;:::-;;;3095:9:141;730:628:9;3095:9:141;730:628:9;;;3095:9:141;730:628:9;;3004:116:141;;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;1166:5:143;730:628:9;;:::i;:::-;;;735:10:156;1135:5:143;735:10:156;;1135:5:143;;:::i;:::-;1166;:::i;730:628:9:-;;;;;-1:-1:-1;;730:628:9;;;;;;;;:::i;:::-;;-1:-1:-1;730:628:9;624:7:158;730:628:9;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;6099:41:167;:5;:41;:::i;:::-;6554:47;:8;:47;:::i;:::-;730:628:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:167;;730:628:9;;;;5625:4:167;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;;1002:31:179;1020:12;1002:31;:::i;:::-;730:628:9;5064:29:122;;;;;5060:115;;5227:28;;;:::i;:::-;5191:17;730:628:9;9737:15:176;-1:-1:-1;9762:18:176;9795:7;9801:1;9795:7;;9791:234;;730:628:9;10049:53:176;;;5191:17:122;10049:53:176;:::i;:::-;10120:8;;;:63;730:628:9;-1:-1:-1;10120:63:176;730:628:9;;;;;;;;10120:63:176;10168:7;730:628:9;10168:7:176;;:::i;:::-;5191:17:122;-1:-1:-1;14439:109:176;;-1:-1:-1;14439:109:176;;730:628:9;;;10120:63:176;;9791:234;9838:14;;;;;:::i;:::-;730:628:9;;;;;;;10049:53:176;14439:109;5191:17:122;-1:-1:-1;14439:109:176;730:628:9;14439:109:176;;-1:-1:-1;14439:109:176;;730:628:9;;;;;9870:48:176;9866:149;730:628:9;;;9938:10:176;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;730:628:9;;:::i;5060:115:122:-;5116:48;-1:-1:-1;5116:48:122;730:628:9;;;;;-1:-1:-1;5116:48:122;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;1002:31:179;1020:12;1002:31;:::i;:::-;730:628:9;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;;:::i;:::-;;-1:-1:-1;730:628:9;3492:20:122;730:628:9;;;;3492:38:122;730:628:9;-1:-1:-1;730:628:9;3492:38:122;:::i;:::-;730:628:9;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;3459:5:141;730:628:9;;:::i;:::-;;;735:10:156;;3459:5:141;:::i;730:628:9:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;730:628:9;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;6141:15:122;;;:24;6137:91;;730:628:9;7105:8:166;730:628:9;;6281:86:122;7051:25:166;730:628:9;;;;6308:57:122;;730:628:9;2063:71:122;730:628:9;;;;;;2063:71:122;;730:628:9;2063:71:122;730:628:9;2063:71:122;;730:628:9;;2063:71:122;;730:628:9;;6308:57:122;;;730:628:9;6308:57:122;;:::i;:::-;730:628:9;6298:68:122;;6281:86;:::i;:::-;7051:25:166;:::i;:::-;7105:8;;;;;:::i;:::-;1366:16:158;;730:628:9;;-1:-1:-1;730:628:9;1121:7:158;730:628:9;;;-1:-1:-1;730:628:9;;;;;;;;;759:395:158;;1366:16;1396;;;1392:89;;6491:9:122;;;;:::i;1392:89:158:-;730:628:9;1435:35:158;;;-1:-1:-1;1435:35:158;730:628:9;;;;;;-1:-1:-1;1435:35:158;6137:91:122;6188:29;-1:-1:-1;6188:29:122;730:628:9;;;-1:-1:-1;6188:29:122;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;1886:15:144;;;:26;1882:97;;2181:28;2071:16;2125:28;2071:16;;730:628:9;;-1:-1:-1;730:628:9;1121:7:158;730:628:9;;;-1:-1:-1;730:628:9;;;;;;;;;759:395:158;;2071:16:144;730:628:9;;;;2020:78:144;;730:628:9;1024:95:144;730:628:9;;;;;1024:95:144;;730:628:9;1024:95:144;;730:628:9;;;;;1024:95:144;;730:628:9;1024:95:144;730:628:9;1024:95:144;;730:628:9;;1024:95:144;;730:628:9;;1024:95:144;;730:628:9;;2020:78:144;;;730:628:9;2020:78:144;;:::i;2125:28::-;2181;:::i;:::-;730:628:9;;;;2223:15:144;2219:88;;8842:4:141;;;;:::i;2219:88:144:-;2261:35;-1:-1:-1;2261:35:144;730:628:9;;;;;;;1024:95:144;730:628:9;1024:95:144;-1:-1:-1;2261:35:144;1882:97;1935:33;;-1:-1:-1;1935:33:144;730:628:9;;;-1:-1:-1;1935:33:144;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;3657:27:141;730:628:9;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;730:628:9;3657:11:141;730:628:9;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;3657:27:141;730:628:9;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;11452:22:176;730:628:9;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;730:628:9;8975:20:122;730:628:9;;;-1:-1:-1;730:628:9;;;:::i;:::-;;11452:22:176;:::i;:::-;730:628:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;730:628:9;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;730:628:9;;;;;;;:::o;10415:477:141:-;730:628:9;10415:477:141;;;;730:628:9;;;-1:-1:-1;730:628:9;3657:11:141;730:628:9;;3657:27:141;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;3657:27:141;730:628:9;10600:17:141;10580:37;;10576:310;;10415:477;;;;;:::o;10576:310::-;10637:24;;;10633:130;;9813:19;;9809:89;;730:628:9;;;9911:21:141;9907:90;;10006:27;730:628:9;-1:-1:-1;730:628:9;3657:11:141;730:628:9;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;10006:27:141;730:628:9;10576:310:141;;;;;;9907:90;9955:31;-1:-1:-1;9955:31:141;-1:-1:-1;9955:31:141;730:628:9;;-1:-1:-1;9955:31:141;9809:89;9855:32;-1:-1:-1;9855:32:141;-1:-1:-1;9855:32:141;730:628:9;;-1:-1:-1;9855:32:141;10633:130;730:628:9;10688:60:141;;-1:-1:-1;10688:60:141;730:628:9;10688:60:141;730:628:9;;;;;;-1:-1:-1;10688:60:141;5393:300;;;;730:628:9;;;5476:18:141;;;5472:86;;730:628:9;;;5571:16:141;;5567:86;;6307:15;;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;6307:15:141;730:628:9;6340:19:141;;;;6336:115;;730:628:9;2756:5:145;730:628:9;;;6571:15:141;;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;6571:15:141;730:628:9;7021:13:141;;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;7021:13:141;730:628:9;;;;;;;;;;;7083:25:141;;730:628:9;;7083:25:141;2756:5:145;:::i;6336:115:141:-;6386:50;5492:1;6386:50;730:628:9;;;6386:50:141;730:628:9;;;;;;;;;;-1:-1:-1;2261:35:144;5567:86:141;5610:32;5492:1;5610:32;5492:1;5610:32;730:628:9;;5492:1:141;5610:32;5472:86;5517:30;5492:1;5517:30;5492:1;5517:30;730:628:9;;5492:1:141;5517:30;3845:262:167;730:628:9;3938:11:167;730:628:9;3929:4:167;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;730:628:9;;4204:80:167;;;730:628:9;2079:95:167;730:628:9;;4226:11:167;730:628:9;2079:95:167;;730:628:9;4239:14:167;2079:95;;;730:628:9;4255:13:167;2079:95;;;730:628:9;3929:4:167;2079:95;;;730:628:9;2079:95:167;4204:80;;;;;;:::i;:::-;730:628:9;4194:91:167;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;14296:213:174;730:628:9;14374:24:174;;14370:103;;730:628:9;;14296:213:174;:::o;14370:103::-;14421:41;;;14452:2;14421:41;730:628:9;;;;14421:41:174;;730:628:9;;;;;;;;;;:::o;:::-;;9999:1:176;730:628:9;;;;;;;:::o;9584:606:176:-;;730:628:9;;9737:15:176;9702:17;9762:18;9795:7;9801:1;9795:7;;9791:234;;9584:606;10049:53;;;;;:::i;:::-;10120:8;;;:63;;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;10135:41;9702:17;14439:109;;9702:17;14439:109;;730:628:9;;;9584:606:176;:::o;9791:234::-;9838:14;;;;;:::i;:::-;730:628:9;;;;;;;10049:53:176;14439:109;;9702:17;14439:109;730:628:9;14439:109:176;;9702:17;14439:109;;730:628:9;;;;;9870:48:176;9866:149;730:628:9;;;9938:10:176;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;7984:206:141;730:628:9;;;8054:21:141;;;8050:89;;6307:15;;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;6307:15:141;730:628:9;6340:19:141;;;6336:115;;730:628:9;6571:15:141;730:628:9;7617:6:122;730:628:9;;;;6571:15:141;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;6571:15:141;730:628:9;;6810:21:141;730:628:9;;6233:21:141;730:628:9;8073:1:141;730:628:9;7083:25:141;730:628:9;;;;;;;;;7083:25:141;;;7335:18:122;;7331:107;;7984:206:141;7483:63:122;7519:26;;;:::i;:::-;7483:63;:::i;:::-;-1:-1:-1;;8073:1:141;730:628:9;;;5630:10:122;730:628:9;;;;;;;;;;;;;;;;;7617:6:122;:::i;7331:107::-;7369:58;7400:26;;;:::i;:::-;7369:58;:::i;:::-;7331:107;;;;6336:115:141;6386:50;8073:1;6386:50;730:628:9;;;;6386:50:141;730:628:9;;;;;;;;-1:-1:-1;2261:35:144;6686:312:122;730:628:9;;;;-1:-1:-1;730:628:9;;;5630:10:122;730:628:9;;;;;;;;;;;;;;;;;;6966:24:122;;730:628:9;;;3137:18:145;;730:628:9;;;;;6865:48:122;;-1:-1:-1;6865:48:122;730:628:9;;3095:9:141;730:628:9;3095:9:141;730:628:9;;;3095:9:141;730:628:9;;3004:116:141;;3137:18:145;6966:24:122;;:::i;10310:206:176:-;730:628:9;;10446:8:176;;;:63;;10405:17;10310:206;:::o;10446:63::-;730:628:9;;;;;;;;14439:109:176;10405:17;14439:109;;10405:17;14439:109;;;730:628:9;;;10310:206:176;:::o;4917:176:167:-;3445:249:168;4917:176:167;5053:20;;:::i;:::-;3445:249:168;;;;;;;;;;;;;;;;4917:176:167;:::o;6887:260:166:-;;7105:8;6887:260;;7051:25;6887:260;7051:25;:::i;9701:432:141:-;730:628:9;;9813:19:141;;;9809:89;;730:628:9;;;9911:21:141;;;9907:90;;730:628:9;10006:27:141;10085:31;730:628:9;;9830:1:141;730:628:9;8842:4:141;730:628:9;;;9830:1:141;730:628:9;;;;;;;;;;;;;10006:27:141;730:628:9;;;;;;;;10085:31:141;9701:432::o;730:628:9:-;;;;;;;:::o;:::-;;;;;;;;;;18080:5181:173;18246:1;18241:6;;;18237:53;;19217:14;18246:1;19285:8;19278:16;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;20373:13;23237:6;19383:15;19898:6;19383:15;19390:7;23216:28;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;730:628:9;;;;;20373:13:173;22284:6;;;;:::i;:::-;730:628:9;;;;;22278:18:173;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;34795:145:174;23216:28:173;730:628:9;;18080:5181:173;:::o;19887:61::-;730:628:9;;19887:61:173;;19787:87;730:628:9;;;;;19787:87:173;;;19687;730:628:9;;;;;19687:87:173;;;19585:89;730:628:9;;;;;19585:89:173;;;19482:90;730:628:9;;;;;19482:90:173;;;19379;730:628:9;;;;;19379:90:173;;;19274:92;19314:10;;23216:28;23237:6;22827:18;22717;22607;22498;22387;22278;20373:13;19314:10;;730:628:9;;;;19314:10:173;19274:92;-1:-1:-1;730:628:9;;-1:-1:-1;19274:92:173;;-1:-1:-1;;;;;;;19274:92:173;12929:433:176;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:173;;;;;;3731;;;;730:628:9;;;;;;;;;14439:109:176;730:628:9;14439:109:176;730:628:9;14439:109:176;;730:628:9;14439:109:176;;730:628:9;;;;;-1:-1:-1;13189:136:176;730:628:9;;;13248:10:176;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7717:789:122;;;730:628:9;;;;;;;7818:10:122;;;;;:24;;;7717:789;7814:686;;7717:789;;;;;;:::o;7814:686::-;7862:18;7858:315;;7814:686;8190:16;;;8186:304;;7814:686;;;;;8186:304;8431:44;8265:143;8431:44;8292:24;8364:26;8292:24;730:628:9;8292:24:122;730:628:9;;;;7966:20:122;730:628:9;;;;;;;8292:24:122;8364:26;;:::i;:::-;8265:143;;:::i;:::-;730:628:9;;;;;;;;;;;;;;;;;;;;;;8431:44:122;;;;8186:304;;;;;7858:315;730:628:9;8112:46:122;7939:150;7966:26;8112:46;7966:26;730:628:9;;;;7966:20:122;730:628:9;;;;;;;7966:26:122;8045;;;:::i;:::-;7939:150;;:::i;8112:46::-;;;;7858:315;;;;7818:24;7832:10;;;;7818:24;;3358:267:162;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;730:628:9;;;;;;;:::i;:::-;2311:2:162;730:628:9;;;;;;;;;;;2324:106:162;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:162;;-1:-1:-1;2713:20:162;3477:142;730:628:9;;;1390:66:162;;;;6126:13:167;1390:66:162;:::i;:::-;;;;:::i;3358:267::-;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;730:628:9;;;;;;;:::i;3477:142:162:-;730:628:9;;;1390:66:162;;;;6584:16:167;1390:66:162;:::i;5203:1551:166:-;;;6283:66;6270:79;;6266:164;;730:628:9;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;6541:24:166;;;;;;;;;-1:-1:-1;6541:24:166;730:628:9;;;6579:20:166;6575:113;;6698:49;-1:-1:-1;6698:49:166;-1:-1:-1;5203:1551:166;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:166;6541:24;6615:62;-1:-1:-1;6615:62:166;:::o;6541:24::-;730:628:9;;;;;;;;;6266:164:166;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;730:628:9:-;;-1:-1:-1;730:628:9;;;:::o;:::-;;;;;;;;;;7280:532:166;730:628:9;;;:::i;:::-;7366:29:166;;;7411:7;;:::o;7362:444::-;730:628:9;;;:::i;:::-;7471:29:166;7462:38;;7471:29;;7523:23;7375:20;7523:23;;7375:20;7523:23;7458:348;730:628:9;;;:::i;:::-;7576:35:166;7567:44;;7576:35;;7634:46;;7375:20;7634:46;;730:628:9;;7375:20:166;7634:46;7563:243;730:628:9;;7710:30:166;730:628:9;;:::i;:::-;7701:39:166;7697:109;;7563:243;7280:532::o;7697:109::-;7763:32;7375:20;7763:32;7634:46;730:628:9;;7375:20:166;7763:32;730:628:9;;;;;;;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;-1:-1:-1;730:628:9;:::o;:::-;;;;;;;;;;4174:218:174;730:628:9;4254:25:174;;4250:105;;730:628:9;;4174:218:174;:::o;4250:105::-;4302:42;;;4333:3;4302:42;730:628:9;;;;4302:42:174;;9025:273:122;;1002:31:179;1020:12;1002:31;:::i;:::-;9268:14:122;730:628:9;9268:14:122;;;;:::i;:::-;9265:25;730:628:9;;;;;;;;;;8310:38:176;730:628:9;8310:38:176;:::i;:::-;9238:53:122;;9025:273::o;:::-;;1002:31:179;1020:12;1002:31;:::i;:::-;9268:14:122;730:628:9;9268:14:122;;;;:::i;:::-;9265:25;730:628:9;;;;;;;;;;8310:38:176;730:628:9;8310:38:176;:::i;9025:273:122:-;1002:31:179;1020:12;1002:31;:::i;:::-;9268:14:122;730:628:9;9268:14:122;;7375:17;9268:14;:::i;:::-;9265:25;730:628:9;;;;;;;;;8310:38:176;730:628:9;7375:17:122;8310:38:176;:::i;9025:273:122:-;1002:31:179;1020:12;1002:31;:::i;:::-;9268:14:122;730:628:9;9268:14:122;;7489:17;9268:14;:::i;:::-;9265:25;730:628:9;;;;;;;;;8310:38:176;730:628:9;7489:17:122;8310:38:176;:::i;7232:399:122:-;;730:628:9;7232:399:122;7617:6;7232:399;;730:628:9;7335:18:122;;;7331:107;;7232:399;730:628:9;7451:16:122;;;7447:110;;7232:399;7351:1;730:628:9;5630:10:122;730:628:9;;;;7351:1:122;730:628:9;;;;7351:1:122;730:628:9;5630:10:122;730:628:9;;;;7351:1:122;730:628:9;;;7617:6:122;;:::i;7447:110::-;7483:63;7519:26;;;:::i;7483:63::-;7447:110;;;;7331:107;7369:58;7400:26;;;:::i;7369:58::-;7331:107;;;;730:628:9;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;11657:922:176;730:628:9;;11657:922:176;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;730:628:9;;;;;;;;;;;;;;;12103:13:176;;;12099:89;;12251:14;;;;;12285:19;;;;730:628:9;;;;;;;;;;;;;;;12285:19:176;12423:25;;:::o;12247:163::-;730:628:9;;;12343:52:176;730:628:9;12353:41:176;730:628:9;;:::i;:::-;;;;;;;;12353:41:176;730:628:9;;;12353:41:176;;;730:628:9;12343:52:176;:::i;12099:89::-;12143:30;11870:1;12143:30;;11870:1;12143:30;11860:713;730:628:9;;12479:52:176;730:628:9;12489:41:176;730:628:9;;:::i;12489:41:176:-;730:628:9;;;12489:41:176;;;730:628:9;12343:52:176;:::i;12479:::-;11870:1;12545:17;;:::o","linkReferences":{},"immutableReferences":{"60675":[{"start":5307,"length":32}],"60677":[{"start":5496,"length":32}],"60679":[{"start":5260,"length":32}],"60681":[{"start":5386,"length":32}],"60683":[{"start":5424,"length":32}],"60686":[{"start":1897,"length":32}],"60689":[{"start":1938,"length":32}]}},"methodIdentifiers":{"CLOCK_MODE()":"4bf5d7e9","DOMAIN_SEPARATOR()":"3644e515","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","burn(uint256)":"42966c68","burnFrom(address,uint256)":"79cc6790","checkpoints(address,uint32)":"f1127ed8","clock()":"91ddadf4","decimals()":"313ce567","delegate(address)":"5c19a95c","delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":"c3cda520","delegates(address)":"587cde1e","eip712Domain()":"84b0196e","getPastTotalSupply(uint256)":"8e539e8c","getPastVotes(address,uint256)":"3a46b1a8","getVotes(address)":"9ab24eb0","name()":"06fdde03","nonces(address)":"7ecebe00","numCheckpoints(address)":"6fcfff45","permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":"d505accf","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialHolder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"increasedSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"}],\"name\":\"ERC20ExceededSafeSupply\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint48\",\"name\":\"_key\",\"type\":\"uint48\"},{\"internalType\":\"uint208\",\"name\":\"_value\",\"type\":\"uint208\"}],\"internalType\":\"struct Checkpoints.Checkpoint208\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20ExceededSafeSupply(uint256,uint256)\":[{\"details\":\"Total supply cap has been exceeded, introducing a risk of votes overflowing.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"ERC5805FutureLookup(uint256,uint48)\":[{\"details\":\"Lookup to future votes is not available.\"}],\"ERC6372InconsistentClock()\":[{\"details\":\"The clock was incorrectly modified.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in ERC-6372.\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`.\"},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/economics/MMC.sol\":\"MMC\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solady/=lib/solady/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"contracts/economics/MMC.sol\":{\"keccak256\":\"0x06b1d8c82d098616aba5bebac0baa6c628266474073a8ca75d1db9b24444a85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2de009782f879adc52610836fec7c25377cbc9fff97979834aae679ff1f57cd\",\"dweb:/ipfs/Qmb6T3isKq4u15z14uv2HurDC5FirSgddW4VTsusNHatc4\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x9128a324d265044430e5fa4a6a2853e92d6a62a2a5a69c2fc623f5b7b8cf3f34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1122c2c8c19d717e45a9c00ccedd9fcd3b61eab6a291469a3d6200671d3e6f25\",\"dweb:/ipfs/QmYEjVC6ttBK1YSECdJmH69LtD2mahbVW27JLv6TUdWKiU\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xbf61ab2ae1d575a17ea58fbb99ca232baddcc4e0eeea180e84cbc74b0c348b31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e0968705bad99747a8e5288aa008678c2be2f471f919dce3925a3cc4f1dee09\",\"dweb:/ipfs/QmbAFnCQfo4tw6ssfQSjhA5LzwHWNNryXN8bX7ty8jiqqn\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26\",\"dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xaa7f0646f49ebe2606eeca169f85c56451bbaeeeb06265fa076a03369a25d1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee931d4e832385765967efe6366dcc6d00d6a2d794f9c66ee38283c03882de9c\",\"dweb:/ipfs/QmR6SkuJGYxpQeLz38rBdghqaWqEPfzUsL9kBoXgEXKtbD\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x62dc9346044aabf22d78541bd495aa6ca05a7f5100aed26196ba35d40b59fcb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5221df4501c74cd4493fee1a0f0788e02c4dc78c3c601e9f557f557c5a53ea92\",\"dweb:/ipfs/QmZpzyYY9dKLrgvYhXSHT93jwqb1UGvtGNMQk5dpECY5pa\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x27dbc90e5136ffe46c04f7596fc2dbcc3acebd8d504da3d93fdb8496e6de04f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea8b92e4245d75a5579c10f22f118f7b4ba07c57341f181f0b2a85ff8663de3\",\"dweb:/ipfs/Qme3Ss5ByjmkxxkMdLpyu7fQ1PCtjNFH1wEFszt2BZePiG\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"node_modules/@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"initialHolder","type":"address"},{"internalType":"uint256","name":"totalSupply","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"CheckpointUnorderedInsertion"},{"inputs":[],"type":"error","name":"ECDSAInvalidSignature"},{"inputs":[{"internalType":"uint256","name":"length","type":"uint256"}],"type":"error","name":"ECDSAInvalidSignatureLength"},{"inputs":[{"internalType":"bytes32","name":"s","type":"bytes32"}],"type":"error","name":"ECDSAInvalidSignatureS"},{"inputs":[{"internalType":"uint256","name":"increasedSupply","type":"uint256"},{"internalType":"uint256","name":"cap","type":"uint256"}],"type":"error","name":"ERC20ExceededSafeSupply"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"uint256","name":"deadline","type":"uint256"}],"type":"error","name":"ERC2612ExpiredSignature"},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"ERC2612InvalidSigner"},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"},{"internalType":"uint48","name":"clock","type":"uint48"}],"type":"error","name":"ERC5805FutureLookup"},{"inputs":[],"type":"error","name":"ERC6372InconsistentClock"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"currentNonce","type":"uint256"}],"type":"error","name":"InvalidAccountNonce"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[{"internalType":"uint8","name":"bits","type":"uint8"},{"internalType":"uint256","name":"value","type":"uint256"}],"type":"error","name":"SafeCastOverflowedUintDowncast"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[{"internalType":"uint256","name":"expiry","type":"uint256"}],"type":"error","name":"VotesExpiredSignature"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"address","name":"delegator","type":"address","indexed":true},{"internalType":"address","name":"fromDelegate","type":"address","indexed":true},{"internalType":"address","name":"toDelegate","type":"address","indexed":true}],"type":"event","name":"DelegateChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"delegate","type":"address","indexed":true},{"internalType":"uint256","name":"previousVotes","type":"uint256","indexed":false},{"internalType":"uint256","name":"newVotes","type":"uint256","indexed":false}],"type":"event","name":"DelegateVotesChanged","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"CLOCK_MODE","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burn"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"burnFrom"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint32","name":"pos","type":"uint32"}],"stateMutability":"view","type":"function","name":"checkpoints","outputs":[{"internalType":"struct Checkpoints.Checkpoint208","name":"","type":"tuple","components":[{"internalType":"uint48","name":"_key","type":"uint48"},{"internalType":"uint208","name":"_value","type":"uint208"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"clock","outputs":[{"internalType":"uint48","name":"","type":"uint48"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"delegate"},{"inputs":[{"internalType":"address","name":"delegatee","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"},{"internalType":"uint256","name":"expiry","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"delegateBySig"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"delegates","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"uint256","name":"timepoint","type":"uint256"}],"stateMutability":"view","type":"function","name":"getPastVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getVotes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"view","type":"function","name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"numCheckpoints","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"permit"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"CLOCK_MODE()":{"details":"Machine-readable description of the clock as specified in ERC-6372."},"DOMAIN_SEPARATOR()":{"details":"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}."},"allowance(address,address)":{"details":"See {IERC20-allowance}."},"approve(address,uint256)":{"details":"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address."},"balanceOf(address)":{"details":"See {IERC20-balanceOf}."},"burn(uint256)":{"details":"Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}."},"burnFrom(address,uint256)":{"details":"Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`."},"checkpoints(address,uint32)":{"details":"Get the `pos`-th checkpoint for `account`."},"clock()":{"details":"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match."},"decimals()":{"details":"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}."},"delegate(address)":{"details":"Delegates votes from the sender to `delegatee`."},"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Delegates votes from signer to `delegatee`."},"delegates(address)":{"details":"Returns the delegate that `account` has chosen."},"eip712Domain()":{"details":"See {IERC-5267}."},"getPastTotalSupply(uint256)":{"details":"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getPastVotes(address,uint256)":{"details":"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined."},"getVotes(address)":{"details":"Returns the current amount of votes that `account` has."},"name()":{"details":"Returns the name of the token."},"nonces(address)":{"details":"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times."},"numCheckpoints(address)":{"details":"Get number of checkpoints for `account`."},"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)":{"details":"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above."},"symbol()":{"details":"Returns the symbol of the token, usually a shorter version of the name."},"totalSupply()":{"details":"See {IERC20-totalSupply}."},"transfer(address,uint256)":{"details":"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`."},"transferFrom(address,address,uint256)":{"details":"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/","@ethsign/=node_modules/@ethsign/","@openzeppelin/=node_modules/@openzeppelin/","ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","solady/=lib/solady/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/economics/MMC.sol":"MMC"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/economics/MMC.sol":{"keccak256":"0x06b1d8c82d098616aba5bebac0baa6c628266474073a8ca75d1db9b24444a85f","urls":["bzz-raw://e2de009782f879adc52610836fec7c25377cbc9fff97979834aae679ff1f57cd","dweb:/ipfs/Qmb6T3isKq4u15z14uv2HurDC5FirSgddW4VTsusNHatc4"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol":{"keccak256":"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947","urls":["bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856","dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol":{"keccak256":"0x9128a324d265044430e5fa4a6a2853e92d6a62a2a5a69c2fc623f5b7b8cf3f34","urls":["bzz-raw://1122c2c8c19d717e45a9c00ccedd9fcd3b61eab6a291469a3d6200671d3e6f25","dweb:/ipfs/QmYEjVC6ttBK1YSECdJmH69LtD2mahbVW27JLv6TUdWKiU"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol":{"keccak256":"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818","urls":["bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a","dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol":{"keccak256":"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33","urls":["bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb","dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0xbf61ab2ae1d575a17ea58fbb99ca232baddcc4e0eeea180e84cbc74b0c348b31","urls":["bzz-raw://4e0968705bad99747a8e5288aa008678c2be2f471f919dce3925a3cc4f1dee09","dweb:/ipfs/QmbAFnCQfo4tw6ssfQSjhA5LzwHWNNryXN8bX7ty8jiqqn"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol":{"keccak256":"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073","urls":["bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26","dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol":{"keccak256":"0xaa7f0646f49ebe2606eeca169f85c56451bbaeeeb06265fa076a03369a25d1d3","urls":["bzz-raw://ee931d4e832385765967efe6366dcc6d00d6a2d794f9c66ee38283c03882de9c","dweb:/ipfs/QmR6SkuJGYxpQeLz38rBdghqaWqEPfzUsL9kBoXgEXKtbD"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol":{"keccak256":"0x62dc9346044aabf22d78541bd495aa6ca05a7f5100aed26196ba35d40b59fcb5","urls":["bzz-raw://5221df4501c74cd4493fee1a0f0788e02c4dc78c3c601e9f557f557c5a53ea92","dweb:/ipfs/QmZpzyYY9dKLrgvYhXSHT93jwqb1UGvtGNMQk5dpECY5pa"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol":{"keccak256":"0x27dbc90e5136ffe46c04f7596fc2dbcc3acebd8d504da3d93fdb8496e6de04f6","urls":["bzz-raw://0ea8b92e4245d75a5579c10f22f118f7b4ba07c57341f181f0b2a85ff8663de3","dweb:/ipfs/Qme3Ss5ByjmkxxkMdLpyu7fQ1PCtjNFH1wEFszt2BZePiG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Nonces.sol":{"keccak256":"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f","urls":["bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e","dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549","urls":["bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a","dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed","urls":["bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0","dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d","urls":["bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c","dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575","urls":["bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e","dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/Checkpoints.sol":{"keccak256":"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f","urls":["bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44","dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":57155,"contract":"contracts/economics/MMC.sol:MMC","label":"_balances","offset":0,"slot":"0","type":"t_mapping(t_address,t_uint256)"},{"astId":57161,"contract":"contracts/economics/MMC.sol:MMC","label":"_allowances","offset":0,"slot":"1","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":57163,"contract":"contracts/economics/MMC.sol:MMC","label":"_totalSupply","offset":0,"slot":"2","type":"t_uint256"},{"astId":57165,"contract":"contracts/economics/MMC.sol:MMC","label":"_name","offset":0,"slot":"3","type":"t_string_storage"},{"astId":57167,"contract":"contracts/economics/MMC.sol:MMC","label":"_symbol","offset":0,"slot":"4","type":"t_string_storage"},{"astId":60691,"contract":"contracts/economics/MMC.sol:MMC","label":"_nameFallback","offset":0,"slot":"5","type":"t_string_storage"},{"astId":60693,"contract":"contracts/economics/MMC.sol:MMC","label":"_versionFallback","offset":0,"slot":"6","type":"t_string_storage"},{"astId":59154,"contract":"contracts/economics/MMC.sol:MMC","label":"_nonces","offset":0,"slot":"7","type":"t_mapping(t_address,t_uint256)"},{"astId":55655,"contract":"contracts/economics/MMC.sol:MMC","label":"_delegatee","offset":0,"slot":"8","type":"t_mapping(t_address,t_address)"},{"astId":55660,"contract":"contracts/economics/MMC.sol:MMC","label":"_delegateCheckpoints","offset":0,"slot":"9","type":"t_mapping(t_address,t_struct(Trace208)65346_storage)"},{"astId":55663,"contract":"contracts/economics/MMC.sol:MMC","label":"_totalCheckpoints","offset":0,"slot":"10","type":"t_struct(Trace208)65346_storage"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_struct(Checkpoint208)65351_storage)dyn_storage":{"encoding":"dynamic_array","label":"struct Checkpoints.Checkpoint208[]","numberOfBytes":"32","base":"t_struct(Checkpoint208)65351_storage"},"t_mapping(t_address,t_address)":{"encoding":"mapping","key":"t_address","label":"mapping(address => address)","numberOfBytes":"32","value":"t_address"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Trace208)65346_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct Checkpoints.Trace208)","numberOfBytes":"32","value":"t_struct(Trace208)65346_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_string_storage":{"encoding":"bytes","label":"string","numberOfBytes":"32"},"t_struct(Checkpoint208)65351_storage":{"encoding":"inplace","label":"struct Checkpoints.Checkpoint208","numberOfBytes":"32","members":[{"astId":65348,"contract":"contracts/economics/MMC.sol:MMC","label":"_key","offset":0,"slot":"0","type":"t_uint48"},{"astId":65350,"contract":"contracts/economics/MMC.sol:MMC","label":"_value","offset":6,"slot":"0","type":"t_uint208"}]},"t_struct(Trace208)65346_storage":{"encoding":"inplace","label":"struct Checkpoints.Trace208","numberOfBytes":"32","members":[{"astId":65345,"contract":"contracts/economics/MMC.sol:MMC","label":"_checkpoints","offset":0,"slot":"0","type":"t_array(t_struct(Checkpoint208)65351_storage)dyn_storage"}]},"t_uint208":{"encoding":"inplace","label":"uint208","numberOfBytes":"26"},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"},"t_uint48":{"encoding":"inplace","label":"uint48","numberOfBytes":"6"}}},"ast":{"absolutePath":"contracts/economics/MMC.sol","id":1645,"exportedSymbols":{"ERC20":[57647],"ERC20Burnable":[57771],"ERC20Permit":[57925],"ERC20Votes":[58057],"IERC20Permit":[58119],"MMC":[1644],"Nonces":[59208]},"nodeType":"SourceUnit","src":"81:1278:9","nodes":[{"id":1560,"nodeType":"PragmaDirective","src":"81:23:9","nodes":[],"literals":["solidity","0.8",".26"]},{"id":1562,"nodeType":"ImportDirective","src":"106:66:9","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/Nonces.sol","file":"@openzeppelin/contracts/utils/Nonces.sol","nameLocation":"-1:-1:-1","scope":1645,"sourceUnit":59209,"symbolAliases":[{"foreign":{"id":1561,"name":"Nonces","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":59208,"src":"115:6:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1564,"nodeType":"ImportDirective","src":"173:70:9","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol","file":"@openzeppelin/contracts/token/ERC20/ERC20.sol","nameLocation":"-1:-1:-1","scope":1645,"sourceUnit":57648,"symbolAliases":[{"foreign":{"id":1563,"name":"ERC20","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57647,"src":"182:5:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1566,"nodeType":"ImportDirective","src":"244:95:9","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol","file":"@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol","nameLocation":"-1:-1:-1","scope":1645,"sourceUnit":58120,"symbolAliases":[{"foreign":{"id":1565,"name":"IERC20Permit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58119,"src":"253:12:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1568,"nodeType":"ImportDirective","src":"340:93:9","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol","file":"@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol","nameLocation":"-1:-1:-1","scope":1645,"sourceUnit":57926,"symbolAliases":[{"foreign":{"id":1567,"name":"ERC20Permit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57925,"src":"349:11:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1570,"nodeType":"ImportDirective","src":"434:91:9","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol","file":"@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol","nameLocation":"-1:-1:-1","scope":1645,"sourceUnit":58058,"symbolAliases":[{"foreign":{"id":1569,"name":"ERC20Votes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":58057,"src":"443:10:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1572,"nodeType":"ImportDirective","src":"526:97:9","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol","file":"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol","nameLocation":"-1:-1:-1","scope":1645,"sourceUnit":57772,"symbolAliases":[{"foreign":{"id":1571,"name":"ERC20Burnable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57771,"src":"535:13:9","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1644,"nodeType":"ContractDefinition","src":"730:628:9","nodes":[{"id":1605,"nodeType":"FunctionDefinition","src":"798:204:9","nodes":[],"body":{"id":1604,"nodeType":"Block","src":"939:63:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":1595,"name":"initialHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1582,"src":"955:13:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1601,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1596,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1584,"src":"970:11:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"},"id":1599,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"hexValue":"3130","id":1597,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"985:2:9","typeDescriptions":{"typeIdentifier":"t_rational_10_by_1","typeString":"int_const 10"},"value":"10"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"hexValue":"3138","id":1598,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"991:2:9","typeDescriptions":{"typeIdentifier":"t_rational_18_by_1","typeString":"int_const 18"},"value":"18"},"src":"985:8:9","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}}],"id":1600,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"984:10:9","typeDescriptions":{"typeIdentifier":"t_rational_1000000000000000000_by_1","typeString":"int_const 1000000000000000000"}},"src":"970:24:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1594,"name":"_mint","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57487,"src":"949:5:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,uint256)"}},"id":1602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"949:46:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1603,"nodeType":"ExpressionStatement","src":"949:46:9"}]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"hexValue":"4d756c74696d6564696120436f696e","id":1587,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"882:17:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_e625c090e9ab494649aae59f29842b65b0a9339d4f98e95e3eaed271812ba9b9","typeString":"literal_string \"Multimedia Coin\""},"value":"Multimedia Coin"},{"hexValue":"4d4d43","id":1588,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"901:5:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_4fc1f7d1181cb702f4d7fd78bafe860596cb1496c547504a9394035f93a3c0be","typeString":"literal_string \"MMC\""},"value":"MMC"}],"id":1589,"kind":"baseConstructorSpecifier","modifierName":{"id":1586,"name":"ERC20","nameLocations":["876:5:9"],"nodeType":"IdentifierPath","referencedDeclaration":57647,"src":"876:5:9"},"nodeType":"ModifierInvocation","src":"876:31:9"},{"arguments":[{"hexValue":"4d756c74696d6564696120436f696e","id":1591,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"920:17:9","typeDescriptions":{"typeIdentifier":"t_stringliteral_e625c090e9ab494649aae59f29842b65b0a9339d4f98e95e3eaed271812ba9b9","typeString":"literal_string \"Multimedia Coin\""},"value":"Multimedia Coin"}],"id":1592,"kind":"baseConstructorSpecifier","modifierName":{"id":1590,"name":"ERC20Permit","nameLocations":["908:11:9"],"nodeType":"IdentifierPath","referencedDeclaration":57925,"src":"908:11:9"},"nodeType":"ModifierInvocation","src":"908:30:9"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":1585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1582,"mutability":"mutable","name":"initialHolder","nameLocation":"827:13:9","nodeType":"VariableDeclaration","scope":1605,"src":"819:21:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1581,"name":"address","nodeType":"ElementaryTypeName","src":"819:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1584,"mutability":"mutable","name":"totalSupply","nameLocation":"858:11:9","nodeType":"VariableDeclaration","scope":1605,"src":"850:19:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1583,"name":"uint256","nodeType":"ElementaryTypeName","src":"850:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"809:66:9"},"returnParameters":{"id":1593,"nodeType":"ParameterList","parameters":[],"src":"939:0:9"},"scope":1644,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1622,"nodeType":"FunctionDefinition","src":"1041:134:9","nodes":[],"body":{"id":1621,"nodeType":"Block","src":"1132:43:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":1618,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1608,"src":"1162:5:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":1616,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1149:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_MMC_$1644_$","typeString":"type(contract super MMC)"}},"id":1617,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1155:6:9","memberName":"nonces","nodeType":"MemberAccess","referencedDeclaration":57914,"src":"1149:12:9","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":1619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1149:19:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1615,"id":1620,"nodeType":"Return","src":"1142:26:9"}]},"baseFunctions":[57914,59167],"documentation":{"id":1606,"nodeType":"StructuredDocumentation","src":"1008:28:9","text":"@inheritdoc IERC20Permit"},"functionSelector":"7ecebe00","implemented":true,"kind":"function","modifiers":[],"name":"nonces","nameLocation":"1050:6:9","overrides":{"id":1612,"nodeType":"OverrideSpecifier","overrides":[{"id":1610,"name":"ERC20Permit","nameLocations":["1093:11:9"],"nodeType":"IdentifierPath","referencedDeclaration":57925,"src":"1093:11:9"},{"id":1611,"name":"Nonces","nameLocations":["1106:6:9"],"nodeType":"IdentifierPath","referencedDeclaration":59208,"src":"1106:6:9"}],"src":"1084:29:9"},"parameters":{"id":1609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1608,"mutability":"mutable","name":"owner","nameLocation":"1065:5:9","nodeType":"VariableDeclaration","scope":1622,"src":"1057:13:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1607,"name":"address","nodeType":"ElementaryTypeName","src":"1057:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1056:15:9"},"returnParameters":{"id":1615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1622,"src":"1123:7:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1613,"name":"uint256","nodeType":"ElementaryTypeName","src":"1123:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1122:9:9"},"scope":1644,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":1643,"nodeType":"FunctionDefinition","src":"1207:149:9","nodes":[],"body":{"id":1642,"nodeType":"Block","src":"1302:54:9","nodes":[],"statements":[{"expression":{"arguments":[{"id":1637,"name":"from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1625,"src":"1333:4:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1638,"name":"to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1627,"src":"1339:2:9","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1639,"name":"value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1629,"src":"1343:5:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":1635,"name":"super","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-25,"src":"1319:5:9","typeDescriptions":{"typeIdentifier":"t_type$_t_super$_MMC_$1644_$","typeString":"type(contract super MMC)"}},"id":1636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1325:7:9","memberName":"_update","nodeType":"MemberAccess","referencedDeclaration":58012,"src":"1319:13:9","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":1640,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1319:30:9","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"functionReturnParameters":1634,"id":1641,"nodeType":"Return","src":"1312:37:9"}]},"baseFunctions":[57454,58012],"documentation":{"id":1623,"nodeType":"StructuredDocumentation","src":"1181:21:9","text":"@inheritdoc ERC20"},"implemented":true,"kind":"function","modifiers":[],"name":"_update","nameLocation":"1216:7:9","overrides":{"id":1633,"nodeType":"OverrideSpecifier","overrides":[{"id":1631,"name":"ERC20","nameLocations":["1283:5:9"],"nodeType":"IdentifierPath","referencedDeclaration":57647,"src":"1283:5:9"},{"id":1632,"name":"ERC20Votes","nameLocations":["1290:10:9"],"nodeType":"IdentifierPath","referencedDeclaration":58057,"src":"1290:10:9"}],"src":"1274:27:9"},"parameters":{"id":1630,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1625,"mutability":"mutable","name":"from","nameLocation":"1232:4:9","nodeType":"VariableDeclaration","scope":1643,"src":"1224:12:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1624,"name":"address","nodeType":"ElementaryTypeName","src":"1224:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1627,"mutability":"mutable","name":"to","nameLocation":"1246:2:9","nodeType":"VariableDeclaration","scope":1643,"src":"1238:10:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1626,"name":"address","nodeType":"ElementaryTypeName","src":"1238:7:9","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1629,"mutability":"mutable","name":"value","nameLocation":"1258:5:9","nodeType":"VariableDeclaration","scope":1643,"src":"1250:13:9","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1628,"name":"uint256","nodeType":"ElementaryTypeName","src":"1250:7:9","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1223:41:9"},"returnParameters":{"id":1634,"nodeType":"ParameterList","parameters":[],"src":"1302:0:9"},"scope":1644,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":1573,"name":"ERC20","nameLocations":["746:5:9"],"nodeType":"IdentifierPath","referencedDeclaration":57647,"src":"746:5:9"},"id":1574,"nodeType":"InheritanceSpecifier","src":"746:5:9"},{"baseName":{"id":1575,"name":"ERC20Permit","nameLocations":["753:11:9"],"nodeType":"IdentifierPath","referencedDeclaration":57925,"src":"753:11:9"},"id":1576,"nodeType":"InheritanceSpecifier","src":"753:11:9"},{"baseName":{"id":1577,"name":"ERC20Burnable","nameLocations":["766:13:9"],"nodeType":"IdentifierPath","referencedDeclaration":57771,"src":"766:13:9"},"id":1578,"nodeType":"InheritanceSpecifier","src":"766:13:9"},{"baseName":{"id":1579,"name":"ERC20Votes","nameLocations":["781:10:9"],"nodeType":"IdentifierPath","referencedDeclaration":58057,"src":"781:10:9"},"id":1580,"nodeType":"InheritanceSpecifier","src":"781:10:9"}],"canonicalName":"MMC","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"internalFunctionIDs":{"56139":1,"56153":2},"linearizedBaseContracts":[1644,58057,56162,56323,55615,56338,57771,57925,59208,60881,56312,58119,57647,56390,58083,57725,59118],"name":"MMC","nameLocation":"739:3:9","scope":1645,"usedErrors":[55540,55666,55673,56360,56365,56370,56379,56384,56389,57802,57809,57945,59150,59460,59462,60317,60322,60327,62910,64817],"usedEvents":[55549,55558,56292,57659,57668]}],"license":"MIT"},"id":9} \ No newline at end of file +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { "name": "initialHolder", "type": "address", "internalType": "address" }, + { "name": "totalSupply", "type": "uint256", "internalType": "uint256" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "CLOCK_MODE", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "DOMAIN_SEPARATOR", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "allowance", + "inputs": [ + { "name": "owner", "type": "address", "internalType": "address" }, + { "name": "spender", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "approve", + "inputs": [ + { "name": "spender", "type": "address", "internalType": "address" }, + { "name": "value", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "balanceOf", + "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "burn", + "inputs": [{ "name": "value", "type": "uint256", "internalType": "uint256" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "burnFrom", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "value", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "checkpoints", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "pos", "type": "uint32", "internalType": "uint32" } + ], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct Checkpoints.Checkpoint208", + "components": [ + { "name": "_key", "type": "uint48", "internalType": "uint48" }, + { "name": "_value", "type": "uint208", "internalType": "uint208" } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "clock", + "inputs": [], + "outputs": [{ "name": "", "type": "uint48", "internalType": "uint48" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "decimals", + "inputs": [], + "outputs": [{ "name": "", "type": "uint8", "internalType": "uint8" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "delegate", + "inputs": [{ "name": "delegatee", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "delegateBySig", + "inputs": [ + { "name": "delegatee", "type": "address", "internalType": "address" }, + { "name": "nonce", "type": "uint256", "internalType": "uint256" }, + { "name": "expiry", "type": "uint256", "internalType": "uint256" }, + { "name": "v", "type": "uint8", "internalType": "uint8" }, + { "name": "r", "type": "bytes32", "internalType": "bytes32" }, + { "name": "s", "type": "bytes32", "internalType": "bytes32" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "delegates", + "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "eip712Domain", + "inputs": [], + "outputs": [ + { "name": "fields", "type": "bytes1", "internalType": "bytes1" }, + { "name": "name", "type": "string", "internalType": "string" }, + { "name": "version", "type": "string", "internalType": "string" }, + { "name": "chainId", "type": "uint256", "internalType": "uint256" }, + { "name": "verifyingContract", "type": "address", "internalType": "address" }, + { "name": "salt", "type": "bytes32", "internalType": "bytes32" }, + { "name": "extensions", "type": "uint256[]", "internalType": "uint256[]" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPastTotalSupply", + "inputs": [{ "name": "timepoint", "type": "uint256", "internalType": "uint256" }], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getPastVotes", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "timepoint", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getVotes", + "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "nonces", + "inputs": [{ "name": "owner", "type": "address", "internalType": "address" }], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "numCheckpoints", + "inputs": [{ "name": "account", "type": "address", "internalType": "address" }], + "outputs": [{ "name": "", "type": "uint32", "internalType": "uint32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "permit", + "inputs": [ + { "name": "owner", "type": "address", "internalType": "address" }, + { "name": "spender", "type": "address", "internalType": "address" }, + { "name": "value", "type": "uint256", "internalType": "uint256" }, + { "name": "deadline", "type": "uint256", "internalType": "uint256" }, + { "name": "v", "type": "uint8", "internalType": "uint8" }, + { "name": "r", "type": "bytes32", "internalType": "bytes32" }, + { "name": "s", "type": "bytes32", "internalType": "bytes32" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "symbol", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "totalSupply", + "inputs": [], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "transfer", + "inputs": [ + { "name": "to", "type": "address", "internalType": "address" }, + { "name": "value", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "transferFrom", + "inputs": [ + { "name": "from", "type": "address", "internalType": "address" }, + { "name": "to", "type": "address", "internalType": "address" }, + { "name": "value", "type": "uint256", "internalType": "uint256" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "nonpayable" + }, + { + "type": "event", + "name": "Approval", + "inputs": [ + { "name": "owner", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "spender", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DelegateChanged", + "inputs": [ + { "name": "delegator", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "fromDelegate", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "toDelegate", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "DelegateVotesChanged", + "inputs": [ + { "name": "delegate", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "previousVotes", "type": "uint256", "indexed": false, "internalType": "uint256" }, + { "name": "newVotes", "type": "uint256", "indexed": false, "internalType": "uint256" } + ], + "anonymous": false + }, + { "type": "event", "name": "EIP712DomainChanged", "inputs": [], "anonymous": false }, + { + "type": "event", + "name": "Transfer", + "inputs": [ + { "name": "from", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "to", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "value", "type": "uint256", "indexed": false, "internalType": "uint256" } + ], + "anonymous": false + }, + { "type": "error", "name": "CheckpointUnorderedInsertion", "inputs": [] }, + { "type": "error", "name": "ECDSAInvalidSignature", "inputs": [] }, + { + "type": "error", + "name": "ECDSAInvalidSignatureLength", + "inputs": [{ "name": "length", "type": "uint256", "internalType": "uint256" }] + }, + { + "type": "error", + "name": "ECDSAInvalidSignatureS", + "inputs": [{ "name": "s", "type": "bytes32", "internalType": "bytes32" }] + }, + { + "type": "error", + "name": "ERC20ExceededSafeSupply", + "inputs": [ + { "name": "increasedSupply", "type": "uint256", "internalType": "uint256" }, + { "name": "cap", "type": "uint256", "internalType": "uint256" } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientAllowance", + "inputs": [ + { "name": "spender", "type": "address", "internalType": "address" }, + { "name": "allowance", "type": "uint256", "internalType": "uint256" }, + { "name": "needed", "type": "uint256", "internalType": "uint256" } + ] + }, + { + "type": "error", + "name": "ERC20InsufficientBalance", + "inputs": [ + { "name": "sender", "type": "address", "internalType": "address" }, + { "name": "balance", "type": "uint256", "internalType": "uint256" }, + { "name": "needed", "type": "uint256", "internalType": "uint256" } + ] + }, + { + "type": "error", + "name": "ERC20InvalidApprover", + "inputs": [{ "name": "approver", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC20InvalidReceiver", + "inputs": [{ "name": "receiver", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC20InvalidSender", + "inputs": [{ "name": "sender", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC20InvalidSpender", + "inputs": [{ "name": "spender", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC2612ExpiredSignature", + "inputs": [{ "name": "deadline", "type": "uint256", "internalType": "uint256" }] + }, + { + "type": "error", + "name": "ERC2612InvalidSigner", + "inputs": [ + { "name": "signer", "type": "address", "internalType": "address" }, + { "name": "owner", "type": "address", "internalType": "address" } + ] + }, + { + "type": "error", + "name": "ERC5805FutureLookup", + "inputs": [ + { "name": "timepoint", "type": "uint256", "internalType": "uint256" }, + { "name": "clock", "type": "uint48", "internalType": "uint48" } + ] + }, + { "type": "error", "name": "ERC6372InconsistentClock", "inputs": [] }, + { + "type": "error", + "name": "InvalidAccountNonce", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "currentNonce", "type": "uint256", "internalType": "uint256" } + ] + }, + { "type": "error", "name": "InvalidShortString", "inputs": [] }, + { + "type": "error", + "name": "SafeCastOverflowedUintDowncast", + "inputs": [ + { "name": "bits", "type": "uint8", "internalType": "uint8" }, + { "name": "value", "type": "uint256", "internalType": "uint256" } + ] + }, + { + "type": "error", + "name": "StringTooLong", + "inputs": [{ "name": "str", "type": "string", "internalType": "string" }] + }, + { + "type": "error", + "name": "VotesExpiredSignature", + "inputs": [{ "name": "expiry", "type": "uint256", "internalType": "uint256" }] + } + ], + "bytecode": { + "object": "0x61016060405234610098576040613238803803809161001d826100b0565b610160391261009857610160516001600160a01b03811681036100985761018051610047916101a4565b6040516124ee9081610d0a8239608051816114bb015260a05181611578015260c0518161148c015260e0518161150a0152610100518161153001526101205181610769015261014051816107920152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b610160601f91909101601f19168101906001600160401b038211908210176100d757604052565b61009c565b601f909101601f19168101906001600160401b038211908210176100d757604052565b6040519061010e6040836100dc565b565b6040519061011f6040836100dc565b60038252565b604051906101346040836100dc565b60018252565b604051906101496040836100dc565b600f82526e26bab63a34b6b2b234b09021b7b4b760891b6020830152565b634e487b7160e01b5f52601160045260245ffd5b90670de0b6b3a7640000820291808304670de0b6b3a7640000149015171561019f57565b610167565b9190916101af61013a565b926101b861013a565b936101c1610110565b90624d4d4360e81b60208301526101d6610125565b906020820192603160f81b8452875160018060401b0381116100d75761020681610201600354610331565b610369565b6020601f82116001146102a057916102448261024c9361028f999897969561010e9c9d5f92610295575b50508160011b915f199060031b1c19161790565b600355610408565b61025581610588565b610120526102628261067d565b610140526020815191012060e052519020610100524660a05261028361076f565b6080523060c05261017b565b906104e1565b015190505f80610230565b60035f52601f198216997fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9a5f5b81811061031957509261010e9a9b61028f9998979695936001938361024c9710610301575b505050811b01600355610408565b01515f1960f88460031b161c191690555f80806102f3565b838301518d556001909c019b602093840193016102ce565b90600182811c9216801561035f575b602083101461034b57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610340565b601f8111610375575050565b60035f5260205f20906020601f840160051c830193106103af575b601f0160051c01905b8181106103a4575050565b5f8155600101610399565b9091508190610390565b601f82116103c657505050565b5f5260205f20906020601f840160051c830193106103fe575b601f0160051c01905b8181106103f3575050565b5f81556001016103e8565b90915081906103df565b80519091906001600160401b0381116100d7576104318161042a600454610331565b60046103b9565b602092601f821160011461046557610460929382915f926102955750508160011b915f199060031b1c19161790565b600455565b60045f52601f198216937f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f5b8681106104c957508360019596106104b1575b505050811b01600455565b01515f1960f88460031b161c191690555f80806104a6565b91926020600181928685015181550194019201610493565b91906001600160a01b03831680156105755760025482810180911161019f576002555f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a3600254926001600160d01b0380851161055e575061010e929350610838565b630e58ae9360e11b5f52600485905260245260445ffd5b63ec442f0560e01b5f525f60045260245ffd5b908151602081105f146105a35750906105a0906107cd565b90565b6001600160401b0381116100d7576105c7816105c0600554610331565b60056103b9565b602092601f82116001146105fe576105f6929382915f926102955750508160011b915f199060031b1c19161790565b60055560ff90565b60055f52601f198216937f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0915f5b868110610665575083600195961061064d575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f808061063f565b9192602060018192868501518155019401920161062c565b908151602081105f146106955750906105a0906107cd565b6001600160401b0381116100d7576106b9816106b2600654610331565b60066103b9565b602092601f82116001146106f0576106e8929382915f926102955750508160011b915f199060031b1c19161790565b60065560ff90565b60065f52601f198216937ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f915f5b868110610757575083600195961061073f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610731565b9192602060018192868501518155019401920161071e565b60e051610100516040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a081526107c760c0826100dc565b51902090565b601f8151116107f85760208151910151602082106107e9571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b9061084281610937565b9165ffffffffffff431161091f57600a54806108e9575061087c61086c61010e945f5b6001610cad565b65ffffffffffff4316600a610bd7565b50506001600160a01b031680156108d1575b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7545f9182526040909120546001600160a01b039081169116610a66565b6108e26108dd83610937565b610968565b505061088e565b92835f1981011161019f57600a5f525f805160206131f88339815191529093015461010e9361087c9161086c919060301c610865565b6306dfcc6560e41b5f5260306004524360245260445ffd5b6001600160d01b038111610951576001600160d01b031690565b6306dfcc6560e41b5f5260d060045260245260445ffd5b65ffffffffffff431161091f57600a5480610992575061086c61098e915f5b6002610cad565b9091565b805f1981011161019f57600a5f525f805160206131f8833981519152015461098e9161086c9160301c610987565b65ffffffffffff431161091f578054806109f457506109e461098e925f6002610cad565b9065ffffffffffff431690610bd7565b805f1981011161019f575f82815260209020015f19015461098e926109e49160301c610987565b65ffffffffffff431161091f57805480610a3f57506109e461098e925f6001610cad565b805f1981011161019f575f82815260209020015f19015461098e926109e49160301c610865565b6001600160a01b03808316939291908116908185141580610b59575b610a8e575b5050505050565b81610aff575b505082610aa3575b8080610a87565b6001600160a01b03165f9081526009602052604090205f8051602061321883398151915291610adc91610ad69091610937565b90610a1b565b604080516001600160d01b039384168152919092166020820152a25f8080610a9c565b6001600160a01b03165f9081526009602052604090205f8051602061321883398151915290610b3790610b3186610937565b906109c0565b604080516001600160d01b039384168152919092166020820152a25f80610a94565b50831515610a82565b5f1981019190821161019f57565b908154680100000000000000008110156100d75760018101808455811015610bc3575f9283526020928390208251929093015160301b65ffffffffffff191665ffffffffffff9290921691909117910155565b634e487b7160e01b5f52603260045260245ffd5b80549293928015610c8357610bee610bf991610b62565b825f5260205f200190565b8054603081901c9365ffffffffffff91821692918116808411610c7457879303610c405750610c3c92509065ffffffffffff82549181199060301b169116179055565b9190565b915050610c3c91610c60610c526100ff565b65ffffffffffff9093168352565b6001600160d01b0386166020830152610b70565b632520601d60e01b5f5260045ffd5b5090610ca891610c94610c526100ff565b6001600160d01b0385166020830152610b70565b5f9190565b91909180600114610cef57600214610cd357634e487b7160e01b5f52605160045260245ffd5b6001600160d01b039081169181169190910390811161019f5790565b506001600160d01b039182169082160190811161019f579056fe60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146101a4578063095ea7b31461019f57806318160ddd1461019a57806323b872dd14610195578063313ce567146101905780633644e5151461018b5780633a46b1a81461018657806342966c68146101815780634bf5d7e91461017c578063587cde1e146101775780635c19a95c146101725780636fcfff451461016d57806370a082311461016857806379cc6790146101635780637ecebe001461015e57806384b0196e146101595780638e539e8c1461015457806391ddadf41461014f57806395d89b411461014a5780639ab24eb014610145578063a9059cbb14610140578063c3cda5201461013b578063d505accf14610136578063dd62ed3e146101315763f1127ed81461012c575f80fd5b610ea6565b610e33565b610c98565b610b2a565b610ae4565b610a7c565b6109d7565b6109ac565b610888565b610751565b61070c565b6106dc565b61069a565b610612565b6105f0565b610595565b6104ec565b6104cd565b610405565b6103e3565b6103c8565b610390565b610373565b610342565b610200565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b9060206101fd9281815201906101a9565b90565b346102f8575f6003193601126102f8576040515f60035461022081610fa9565b80845290600181169081156102b65750600114610258575b61025483610248818503826110e8565b604051918291826101ec565b0390f35b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b80821061029c57509091508101602001610248610238565b919260018160209254838588010152019101909291610284565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506102489050610238565b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036102f857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036102f857565b346102f85760406003193601126102f85761036861035e6102fc565b602435903361199f565b602060405160018152f35b346102f8575f6003193601126102f8576020600254604051908152f35b346102f85760606003193601126102f8576103686103ac6102fc565b6103b461031f565b604435916103c3833383611152565b6112d6565b346102f8575f6003193601126102f857602060405160128152f35b346102f8575f6003193601126102f85760206103fd611475565b604051908152f35b346102f85760406003193601126102f85761041e6102fc565b60243565ffffffffffff6104314361159e565b168082101561049e5761025479ffffffffffffffffffffffffffffffffffffffffffffffffffff61048d8473ffffffffffffffffffffffffffffffffffffffff87165f52600960205261048760405f209161159e565b90611621565b604051911681529081906020820190565b907fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102f85760206003193601126102f8576104ea600435336116b2565b005b346102f8575f6003193601126102f8576105054361159e565b65ffffffffffff806105164361159e565b1691160361056d5761025460405161052f6040826110e8565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526040519182916020835260208301906101a9565b7f6ff07140000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff6105c36102fc565b165f526008602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b346102f85760206003193601126102f8576104ea61060c6102fc565b33611838565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff6106406102fc565b165f52600960205260405f205463ffffffff811161066a5760405163ffffffff9091168152602090f35b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52602060045260245260445ffd5b346102f85760206003193601126102f85760206103fd6106b86102fc565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b346102f85760406003193601126102f8576104ea6106f86102fc565b60243590610707823383611152565b6116b2565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff61073a6102fc565b165f526007602052602060405f2054604051908152f35b346102f8575f6003193601126102f85761082f61078d7f0000000000000000000000000000000000000000000000000000000000000000611dd3565b6107b67f0000000000000000000000000000000000000000000000000000000000000000611e4c565b60206040516107c582826110e8565b5f81528161083d818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e08901906101a9565b9087820360408901526101a9565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061087157505050500390f35b835185528695509381019392810192600101610862565b346102f85760206003193601126102f85760043565ffffffffffff6108ac4361159e565b16908181101561097e576108bf9061159e565b600a54905f829160058411610925575b6108db9350600a611be8565b80610909575060205f5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff60405191168152f35b6109146020916115e6565b600a5f52815f20015460301c6108e5565b919261093081611a73565b8103908111610979576108db93600a5f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146109675750916108cf565b92915061097390611613565b906108cf565b610f7c565b7fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102f8575f6003193601126102f85760206109c74361159e565b65ffffffffffff60405191168152f35b346102f8575f6003193601126102f8576040515f6004546109f781610fa9565b80845290600181169081156102b65750600114610a1e5761025483610248818503826110e8565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b808210610a6257509091508101602001610248610238565b919260018160209254838588010152019101909291610a4a565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff610aaa6102fc565b165f526009602052602079ffffffffffffffffffffffffffffffffffffffffffffffffffff610adb60405f206118e8565b16604051908152f35b346102f85760406003193601126102f857610368610b006102fc565b60243590336112d6565b6064359060ff821682036102f857565b6084359060ff821682036102f857565b346102f85760c06003193601126102f857610b436102fc565b60243590604435610b52610b0a565b6084359060a43592804211610c6d5791610be59391610bd7610bdc9460405160208101917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835273ffffffffffffffffffffffffffffffffffffffff8a1660408301528a6060830152608082015260808152610bcf60a0826110e8565b51902061194f565b611e83565b90929192611f54565b610c168173ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b809303610c27576104ea9250611838565b73ffffffffffffffffffffffffffffffffffffffff91507f752d88c0000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b7f4683af0e000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102f85760e06003193601126102f857610cb16102fc565b610cb961031f565b6044359060643592610cc9610b1a565b60a43560c43590864211610e0757610d9992610d94610d0f8673ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b9860405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835273ffffffffffffffffffffffffffffffffffffffff89169b8c604084015273ffffffffffffffffffffffffffffffffffffffff8b1660608401528b608084015260a083015260c082015260c08152610bcf60e0826110e8565b611990565b9373ffffffffffffffffffffffffffffffffffffffff851603610dc0576104ea935061199f565b7f4b800e46000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff8085166004521660245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102f85760406003193601126102f8576020610e9d610e516102fc565b73ffffffffffffffffffffffffffffffffffffffff610e6e61031f565b91165f526001835260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b346102f85760406003193601126102f857610ebf6102fc565b6024359063ffffffff821682036102f8576102549173ffffffffffffffffffffffffffffffffffffffff610f1992610ef561113a565b50610efe61113a565b50165f52600960205260405f20610f1361113a565b5061201b565b5060405190610f27826110c7565b5465ffffffffffff8116825260301c602082015260405191829182919091602079ffffffffffffffffffffffffffffffffffffffffffffffffffff81604084019565ffffffffffff8151168552015116910152565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90600182811c92168015610ff0575b6020831014610fc357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610fb8565b5f929181549161100983610fa9565b808352926001811690811561105e575060011461102557505050565b5f9081526020812093945091925b838310611044575060209250010190565b600181602092949394548385870101520191019190611033565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff8211176110e357604052565b61109a565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176110e357604052565b604051906111386040836110e8565b565b60405190611147826110c7565b5f6020838281520152565b73ffffffffffffffffffffffffffffffffffffffff909291921690815f5260016020526111a08360405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81036111cf575b50505050565b81811061128e5782156112625773ffffffffffffffffffffffffffffffffffffffff8416156112365761122c925f526001602052039160405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b555f8080806111c9565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff847ffb8f41b2000000000000000000000000000000000000000000000000000000005f521660045260245260445260645ffd5b92919073ffffffffffffffffffffffffffffffffffffffff84169384156114495773ffffffffffffffffffffffffffffffffffffffff8216801561141d5761133b8273ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b54958487106113d157846111389697036113728473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5561139a8473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b8054860190556040518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3612253565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff83166004526024879052604485905260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611575575b156114dd577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261156f60c0826110e8565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146114b4565b65ffffffffffff81116115b65765ffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52603060045260245260445ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161097957565b906001820180921161097957565b908154905f82916005841161165f575b61163c935084611be8565b806116475750505f90565b611650906115e6565b905f5260205f20015460301c90565b919261166a81611a73565b81039081116109795761163c93855f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146116a0575091611631565b9291506116ac90611613565b90611631565b73ffffffffffffffffffffffffffffffffffffffff8116908115611449576116f78173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548381106117ed579061172f84611138959493039173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5581600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405180602081018782520390a380156117d5575b61178161177c8361205d565b6121f2565b50505f908152600860205260408120549080527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75473ffffffffffffffffffffffffffffffffffffffff9081169116611c4c565b6117e66117e18361205d565b612191565b5050611770565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff909116600452602452604482905260645ffd5b73ffffffffffffffffffffffffffffffffffffffff8181165f81815260086020526040812080548685167fffffffffffffffffffffffff000000000000000000000000000000000000000082168117909255611138969416946118e29390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b91611c4c565b8054806118f55750505f90565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810111610979577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff915f5260205f2001015460301c90565b60429061195a611475565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916101fd9391610bdc93611e83565b73ffffffffffffffffffffffffffffffffffffffff169081156112625773ffffffffffffffffffffffffffffffffffffffff81169283156112365780611a2f7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600160205260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b55604051908152602090a3565b8115611a46570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b60018111156101fd57806001700100000000000000000000000000000000831015611ba6575b611b4c611b42611b38611b2e611b24611b1a611b09611b539760048a68010000000000000000611b589c1015611b99575b640100000000811015611b8c575b62010000811015611b7f575b610100811015611b72575b6010811015611b65575b1015611b5d575b60030260011c90565b611b13818b611a3c565b0160011c90565b611b13818a611a3c565b611b138189611a3c565b611b138188611a3c565b611b138187611a3c565b611b138186611a3c565b8093611a3c565b821190565b900390565b60011b611b00565b60041c9160021b91611af9565b60081c9160041b91611aef565b60101c9160081b91611ae4565b60201c9160101b91611ad8565b60401c9160201b91611aca565b5050611b58611b53611b4c611b42611b38611b2e611b24611b1a611b09611bcd8a60801c90565b9850680100000000000000009750611a999650505050505050565b91905b838210611bf85750505090565b9091928083169080841860011c820180921161097957845f5265ffffffffffff8260205f2001541665ffffffffffff8416105f14611c3a5750925b9190611beb565b939250611c4690611613565b91611c33565b919073ffffffffffffffffffffffffffffffffffffffff81169273ffffffffffffffffffffffffffffffffffffffff8116908482141580611dca575b611c94575b5050505050565b81611d47575b505082611ca9575b8080611c8d565b611d3c611d237fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611d1d611d1779ffffffffffffffffffffffffffffffffffffffffffffffffffff9573ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b9161205d565b90612131565b6040805192851683529316602082015291829190820190565b0390a25f8080611ca2565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff611dc0611d23611db17fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249473ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b611dba8861205d565b906120cd565b0390a25f80611c9a565b50831515611c88565b60ff8114611e325760ff811690601f8211611e0a5760405191611df76040846110e8565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040516101fd81611e45816005610ffa565b03826110e8565b60ff8114611e705760ff811690601f8211611e0a5760405191611df76040846110e8565b506040516101fd81611e45816006610ffa565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611f12579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611f07575f5173ffffffffffffffffffffffffffffffffffffffff811615611efd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115611f2757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b611f5d81611f1d565b80611f66575050565b611f6f81611f1d565b60018103611f9f577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b611fa881611f1d565b60028103611fdc57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80611fe8600392611f1d565b14611ff05750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8054821015612030575f5260205f2001905f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff811161209d5779ffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f5260d060045260245260445ffd5b906120d74361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff806120fd856118e8565b92169116039079ffffffffffffffffffffffffffffffffffffffffffffffffffff82116109795761212d92612385565b9091565b9061213b4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612161856118e8565b92169116019079ffffffffffffffffffffffffffffffffffffffffffffffffffff82116109795761212d92612385565b61219a4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff806121c1600a6118e8565b921691160179ffffffffffffffffffffffffffffffffffffffffffffffffffff81116109795761212d91600a612385565b6121fb4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612222600a6118e8565b921691160379ffffffffffffffffffffffffffffffffffffffffffffffffffff81116109795761212d91600a612385565b9073ffffffffffffffffffffffffffffffffffffffff806111389493169182156122df575b169081156122cc575b5f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f205416905f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f20541690611c4c565b6122d861177c8461205d565b5050612281565b6122eb6117e18561205d565b5050612278565b8054680100000000000000008110156110e3576123149160018201815561201b565b6123595781516020929092015160301b7fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b7f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b8054929392801561247b5761239c6123a7916115e6565b825f5260205f200190565b8054603081901c9365ffffffffffff918216929181168084116124535787930361240c575061240892509065ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000083549260301b169116179055565b9190565b9150506124089161242c61241e611129565b65ffffffffffff9093168352565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff861660208301526122f2565b7f2520601d000000000000000000000000000000000000000000000000000000005f5260045ffd5b50906124b39161248c61241e611129565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff851660208301526122f2565b5f919056fea2646970667358221220d89db57217dac2a10b607d074c2ccfb454d1c652aa226dff2d9c46888743393464736f6c634300081a0033c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724", + "sourceMap": "730:628:9:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;;;730:628:9;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;-1:-1:-1;;;;;730:628:9;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;-1:-1:-1;;730:628:9;;;;-1:-1:-1;;;;;730:628:9;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;;;730:628:9;;;;:::o;:::-;;;;;;;;;;;;;;985:8;730:628;;;;;;985:8;730:628;;;;;;;:::o;:::-;;:::i;798:204::-;;;;730:628;;:::i;:::-;;;;:::i;:::-;;;;:::i;:::-;;-1:-1:-1;;;730:628:9;;;;;;:::i;:::-;;;;;;-1:-1:-1;;;730:628:9;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;970:24;730:628;;;;;970:24;730:628;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3401:45:167;;;:::i;:::-;3393:53;;3467:51;;;:::i;:::-;3456:62;;730:628:9;;;;;3542:22:167;3528:36;;730:628:9;3591:25:167;;3574:42;;3644:13;3627:30;;3692:23;;:::i;:::-;3667:48;;3747:4;3725:27;;970:24:9;:::i;:::-;;;:::i;730:628::-;;;;-1:-1:-1;730:628:9;;;;;;;;-1:-1:-1;;730:628:9;;;;;-1:-1:-1;730:628:9;;;;;;;;970:24;730:628;;970:24;730:628;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;730:628:9;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;730:628:9;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;-1:-1:-1;;;;;730:628:9;;;;;;;1690:17:141;730:628:9;;:::i;:::-;1690:17:141;730:628:9;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:17:141;730:628:9;:::o;:::-;1690:17:141;730:628:9;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;1690:17:141;730:628:9;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7458:208:141;;;-1:-1:-1;;;;;730:628:9;;7528:21:141;;7524:91;;6233:21;730:628:9;;;;;;;;;6233:21:141;730:628:9;7547:1:141;730:628:9;;;;;;;;;;;;;;;;;;2079:95:167;;;7083:25:141;;730:628:9;7083:25:141;6233:21;730:628:9;;-1:-1:-1;;;;;2616:12:145;;;2612:94;;2756:5;;;;;;:::i;2612:94::-;-1:-1:-1;;;7547:1:141;2655:36:145;;2079:95:167;;;730:628:9;2079:95:167;730:628:9;7547:1:141;2655:36:145;7524:91:141;7572:32;;;7547:1;7572:32;7547:1;7572:32;730:628:9;;7547:1:141;7572:32;2887:340:162;;730:628:9;;3032:2:162;3010:24;;3006:215;3032:2;;;3057:20;;;;;:::i;:::-;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;730:628:9;;;;;;;3432:13:167;730:628:9;;:::i;:::-;3432:13:167;730:628:9;:::i;:::-;3032:2:162;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:167;730:628:9;1390:66:162;3168:42;:::o;730:628:9:-;3432:13:167;730:628:9;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;3432:13:167;730:628:9;1390:66:162;3168:42;:::o;730:628:9:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:162;730:628:9;;;;;;;;;;;;;;;;2887:340:162;;730:628:9;;3032:2:162;3010:24;;3006:215;3032:2;;;3057:20;;;;;:::i;3006:215::-;-1:-1:-1;;;;;730:628:9;;;;;;;3501:16:167;730:628:9;;:::i;:::-;3501:16:167;730:628:9;:::i;:::-;3032:2:162;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:167;730:628:9;1390:66:162;3168:42;:::o;730:628:9:-;3501:16:167;730:628:9;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;3501:16:167;730:628:9;1390:66:162;3168:42;:::o;730:628:9:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:162;730:628:9;;;;;;;;;;;;;;;;4113:179:167;4226:11;2079:95;4239:14;2079:95;730:628:9;;4204:80:167;;;;2079:95;;;;730:628:9;2079:95:167;;;;;;;4255:13;2079:95;;;;4278:4;2079:95;;;730:628:9;2079:95:167;4204:80;;;;;;:::i;:::-;730:628:9;4194:91:167;;4113:179;:::o;1708:286:162:-;1854:2;730:628:9;;1840:16:162;1836:72;;730:628:9;;;;;2079:95:167;730:628:9;;;;;1949:36:162;1708:286;:::o;730:628:9:-;;;;;;;;;;1949:36:162;1708:286;:::o;1836:72::-;730:628:9;;;;;1879:18:162;;;;;;;;;;;;730:628:9;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;1854:2:162;730:628:9;-1:-1:-1;;730:628:9;;;1879:18:162;;;;7232:399:122;;7400:26;;;:::i;:::-;7369:58;730:628:9;1020:12:179;14374:24:174;14370:103;;7375:17:122;730:628:9;10446:8:176;;;:63;8310:38;9265:25:122;7617:6;10446:63:176;730:628:9;10446:63:176;7335:18:122;9265:25;:::i;:::-;730:628:9;1020:12:179;730:628:9;7375:17:122;8310:38:176;:::i;:::-;-1:-1:-1;;;;;;;730:628:9;7451:16:122;;7447:110;;10446:63:176;5630:10:122;730:628:9;;;;;;;;;;;;;-1:-1:-1;;;;;730:628:9;;;;;7617:6:122;:::i;7447:110::-;7483:63;7519:26;;;:::i;:::-;7483:63;:::i;:::-;7447:110;;;;10446:63:176;730:628:9;;;;;;;;;7375:17:122;730:628:9;14439:109:176;-1:-1:-1;;;;;;;;;;;14439:109:176;;;730:628:9;7617:6:122;;8310:38:176;;9265:25:122;;14439:109:176;730:628:9;;10446:63:176;;14370:103:174;14421:41;;;730:628:9;14421:41:174;14452:2;14421:41;730:628:9;1020:12:179;730:628:9;2079:95:167;730:628:9;;14421:41:174;4174:218;-1:-1:-1;;;;;4254:25:174;;4250:105;;-1:-1:-1;;;;;730:628:9;;4174:218:174:o;4250:105::-;14421:41;;;4302:42;;4333:3;4302:42;730:628:9;;2079:95:167;730:628:9;4302:42:174;;9025:273:122;730:628:9;1020:12:179;14374:24:174;14370:103;;7489:17:122;730:628:9;10446:8:176;;;:63;9265:25:122;8310:38:176;10446:63;-1:-1:-1;10446:63:176;7508:9:122;9265:25;:::i;8310:38:176:-;9238:53:122;;9025:273::o;10446:63:176:-;730:628:9;;;;;;;;7489:17:122;-1:-1:-1;14439:109:176;-1:-1:-1;;;;;;;;;;;14439:109:176;730:628:9;8310:38:176;;9265:25:122;;730:628:9;;10446:63:176;;9025:273:122;730:628:9;1020:12:179;14374:24:174;14370:103;;730:628:9;;10446:8:176;;;:63;9265:25:122;8310:38:176;10446:63;-1:-1:-1;8014:9:122;9265:25;:::i;:::-;1020:12:179;730:628:9;1020:12:179;730:628:9;8310:38:176;;:::i;10446:63::-;730:628:9;;;;;;;;-1:-1:-1;14439:109:176;;;;;;;-1:-1:-1;;14439:109:176;730:628:9;8310:38:176;;9265:25:122;;730:628:9;;10446:63:176;;9025:273:122;730:628:9;1020:12:179;14374:24:174;14370:103;;730:628:9;;10446:8:176;;;:63;9265:25:122;8310:38:176;10446:63;-1:-1:-1;8338:4:122;9265:25;:::i;10446:63:176:-;730:628:9;;;;;;;;-1:-1:-1;14439:109:176;;;;;;;-1:-1:-1;;14439:109:176;730:628:9;8310:38:176;;9265:25:122;;730:628:9;;10446:63:176;;7717:789:122;-1:-1:-1;;;;;730:628:9;;;;7717:789:122;;730:628:9;;;;7818:10:122;;;;;:24;;7717:789;7814:686;;7717:789;;;;;;:::o;7814:686::-;7862:18;7858:315;;7814:686;8190:16;;;8186:304;;7814:686;;;;;8186:304;-1:-1:-1;;;;;730:628:9;;;;;7966:20:122;730:628:9;;;;;-1:-1:-1;;;;;;;;;;;8431:44:122;8265:143;;8364:26;;;;:::i;:::-;8265:143;;:::i;:::-;730:628:9;;;-1:-1:-1;;;;;730:628:9;;;2079:95:167;;730:628:9;;;;;;;2079:95:167;8431:44:122;8186:304;;;;;7858:315;-1:-1:-1;;;;;730:628:9;;;;;7966:20:122;730:628:9;;;;;-1:-1:-1;;;;;;;;;;;8112:46:122;7939:150;;8045:26;;;:::i;:::-;7939:150;;:::i;:::-;730:628:9;;;-1:-1:-1;;;;;730:628:9;;;2079:95:167;;730:628:9;;;;;;;2079:95:167;8112:46:122;7858:315;;;;7818:24;7832:10;;;;7818:24;;730:628:9;-1:-1:-1;;730:628:9;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;:::o;:::-;;;;-1:-1:-1;730:628:9;;;;;-1:-1:-1;730:628:9;11657:922:176;730:628:9;;11657:922:176;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;730:628:9;;;;;;;;;;;;;;;12103:13:176;;;12099:89;;12251:14;;;;;12285:19;;;;730:628:9;;;;;;;;;;;;;;;;;12285:19:176;12423:25;;:::o;12247:163::-;730:628:9;;;12343:52:176;730:628:9;12353:41:176;730:628:9;;:::i;:::-;;;;;;;;12353:41:176;-1:-1:-1;;;;;730:628:9;;12353:41:176;;;730:628:9;12343:52:176;:::i;12099:89::-;12143:30;;;11870:1;12143:30;;11870:1;12143:30;11860:713;730:628:9;;12479:52:176;730:628:9;12489:41:176;730:628:9;;:::i;12489:41:176:-;-1:-1:-1;;;;;730:628:9;;12489:41:176;;;730:628:9;12343:52:176;:::i;12479:::-;11870:1;12545:17;;:::o;730:628:9:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;730:628:9;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;;;;;;730:628:9;;;;;;;;;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x60806040526004361015610011575f80fd5b5f3560e01c806306fdde03146101a4578063095ea7b31461019f57806318160ddd1461019a57806323b872dd14610195578063313ce567146101905780633644e5151461018b5780633a46b1a81461018657806342966c68146101815780634bf5d7e91461017c578063587cde1e146101775780635c19a95c146101725780636fcfff451461016d57806370a082311461016857806379cc6790146101635780637ecebe001461015e57806384b0196e146101595780638e539e8c1461015457806391ddadf41461014f57806395d89b411461014a5780639ab24eb014610145578063a9059cbb14610140578063c3cda5201461013b578063d505accf14610136578063dd62ed3e146101315763f1127ed81461012c575f80fd5b610ea6565b610e33565b610c98565b610b2a565b610ae4565b610a7c565b6109d7565b6109ac565b610888565b610751565b61070c565b6106dc565b61069a565b610612565b6105f0565b610595565b6104ec565b6104cd565b610405565b6103e3565b6103c8565b610390565b610373565b610342565b610200565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b9060206101fd9281815201906101a9565b90565b346102f8575f6003193601126102f8576040515f60035461022081610fa9565b80845290600181169081156102b65750600114610258575b61025483610248818503826110e8565b604051918291826101ec565b0390f35b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b80821061029c57509091508101602001610248610238565b919260018160209254838588010152019101909291610284565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506102489050610238565b5f80fd5b6004359073ffffffffffffffffffffffffffffffffffffffff821682036102f857565b6024359073ffffffffffffffffffffffffffffffffffffffff821682036102f857565b346102f85760406003193601126102f85761036861035e6102fc565b602435903361199f565b602060405160018152f35b346102f8575f6003193601126102f8576020600254604051908152f35b346102f85760606003193601126102f8576103686103ac6102fc565b6103b461031f565b604435916103c3833383611152565b6112d6565b346102f8575f6003193601126102f857602060405160128152f35b346102f8575f6003193601126102f85760206103fd611475565b604051908152f35b346102f85760406003193601126102f85761041e6102fc565b60243565ffffffffffff6104314361159e565b168082101561049e5761025479ffffffffffffffffffffffffffffffffffffffffffffffffffff61048d8473ffffffffffffffffffffffffffffffffffffffff87165f52600960205261048760405f209161159e565b90611621565b604051911681529081906020820190565b907fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102f85760206003193601126102f8576104ea600435336116b2565b005b346102f8575f6003193601126102f8576105054361159e565b65ffffffffffff806105164361159e565b1691160361056d5761025460405161052f6040826110e8565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c7400000060208201526040519182916020835260208301906101a9565b7f6ff07140000000000000000000000000000000000000000000000000000000005f5260045ffd5b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff6105c36102fc565b165f526008602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b346102f85760206003193601126102f8576104ea61060c6102fc565b33611838565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff6106406102fc565b165f52600960205260405f205463ffffffff811161066a5760405163ffffffff9091168152602090f35b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52602060045260245260445ffd5b346102f85760206003193601126102f85760206103fd6106b86102fc565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b346102f85760406003193601126102f8576104ea6106f86102fc565b60243590610707823383611152565b6116b2565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff61073a6102fc565b165f526007602052602060405f2054604051908152f35b346102f8575f6003193601126102f85761082f61078d7f0000000000000000000000000000000000000000000000000000000000000000611dd3565b6107b67f0000000000000000000000000000000000000000000000000000000000000000611e4c565b60206040516107c582826110e8565b5f81528161083d818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e08901906101a9565b9087820360408901526101a9565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b82811061087157505050500390f35b835185528695509381019392810192600101610862565b346102f85760206003193601126102f85760043565ffffffffffff6108ac4361159e565b16908181101561097e576108bf9061159e565b600a54905f829160058411610925575b6108db9350600a611be8565b80610909575060205f5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff60405191168152f35b6109146020916115e6565b600a5f52815f20015460301c6108e5565b919261093081611a73565b8103908111610979576108db93600a5f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146109675750916108cf565b92915061097390611613565b906108cf565b610f7c565b7fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b346102f8575f6003193601126102f85760206109c74361159e565b65ffffffffffff60405191168152f35b346102f8575f6003193601126102f8576040515f6004546109f781610fa9565b80845290600181169081156102b65750600114610a1e5761025483610248818503826110e8565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b808210610a6257509091508101602001610248610238565b919260018160209254838588010152019101909291610a4a565b346102f85760206003193601126102f85773ffffffffffffffffffffffffffffffffffffffff610aaa6102fc565b165f526009602052602079ffffffffffffffffffffffffffffffffffffffffffffffffffff610adb60405f206118e8565b16604051908152f35b346102f85760406003193601126102f857610368610b006102fc565b60243590336112d6565b6064359060ff821682036102f857565b6084359060ff821682036102f857565b346102f85760c06003193601126102f857610b436102fc565b60243590604435610b52610b0a565b6084359060a43592804211610c6d5791610be59391610bd7610bdc9460405160208101917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835273ffffffffffffffffffffffffffffffffffffffff8a1660408301528a6060830152608082015260808152610bcf60a0826110e8565b51902061194f565b611e83565b90929192611f54565b610c168173ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b809303610c27576104ea9250611838565b73ffffffffffffffffffffffffffffffffffffffff91507f752d88c0000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b7f4683af0e000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102f85760e06003193601126102f857610cb16102fc565b610cb961031f565b6044359060643592610cc9610b1a565b60a43560c43590864211610e0757610d9992610d94610d0f8673ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b9860405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835273ffffffffffffffffffffffffffffffffffffffff89169b8c604084015273ffffffffffffffffffffffffffffffffffffffff8b1660608401528b608084015260a083015260c082015260c08152610bcf60e0826110e8565b611990565b9373ffffffffffffffffffffffffffffffffffffffff851603610dc0576104ea935061199f565b7f4b800e46000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff8085166004521660245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346102f85760406003193601126102f8576020610e9d610e516102fc565b73ffffffffffffffffffffffffffffffffffffffff610e6e61031f565b91165f526001835260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b346102f85760406003193601126102f857610ebf6102fc565b6024359063ffffffff821682036102f8576102549173ffffffffffffffffffffffffffffffffffffffff610f1992610ef561113a565b50610efe61113a565b50165f52600960205260405f20610f1361113a565b5061201b565b5060405190610f27826110c7565b5465ffffffffffff8116825260301c602082015260405191829182919091602079ffffffffffffffffffffffffffffffffffffffffffffffffffff81604084019565ffffffffffff8151168552015116910152565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90600182811c92168015610ff0575b6020831014610fc357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691610fb8565b5f929181549161100983610fa9565b808352926001811690811561105e575060011461102557505050565b5f9081526020812093945091925b838310611044575060209250010190565b600181602092949394548385870101520191019190611033565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff8211176110e357604052565b61109a565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176110e357604052565b604051906111386040836110e8565b565b60405190611147826110c7565b5f6020838281520152565b73ffffffffffffffffffffffffffffffffffffffff909291921690815f5260016020526111a08360405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81036111cf575b50505050565b81811061128e5782156112625773ffffffffffffffffffffffffffffffffffffffff8416156112365761122c925f526001602052039160405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b555f8080806111c9565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff847ffb8f41b2000000000000000000000000000000000000000000000000000000005f521660045260245260445260645ffd5b92919073ffffffffffffffffffffffffffffffffffffffff84169384156114495773ffffffffffffffffffffffffffffffffffffffff8216801561141d5761133b8273ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b54958487106113d157846111389697036113728473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5561139a8473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b8054860190556040518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3612253565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff83166004526024879052604485905260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016301480611575575b156114dd577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261156f60c0826110e8565b51902090565b507f000000000000000000000000000000000000000000000000000000000000000046146114b4565b65ffffffffffff81116115b65765ffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52603060045260245260445ffd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820191821161097957565b906001820180921161097957565b908154905f82916005841161165f575b61163c935084611be8565b806116475750505f90565b611650906115e6565b905f5260205f20015460301c90565b919261166a81611a73565b81039081116109795761163c93855f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146116a0575091611631565b9291506116ac90611613565b90611631565b73ffffffffffffffffffffffffffffffffffffffff8116908115611449576116f78173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548381106117ed579061172f84611138959493039173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5581600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405180602081018782520390a380156117d5575b61178161177c8361205d565b6121f2565b50505f908152600860205260408120549080527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75473ffffffffffffffffffffffffffffffffffffffff9081169116611c4c565b6117e66117e18361205d565b612191565b5050611770565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff909116600452602452604482905260645ffd5b73ffffffffffffffffffffffffffffffffffffffff8181165f81815260086020526040812080548685167fffffffffffffffffffffffff000000000000000000000000000000000000000082168117909255611138969416946118e29390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b91611c4c565b8054806118f55750505f90565b807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810111610979577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff915f5260205f2001015460301c90565b60429061195a611475565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916101fd9391610bdc93611e83565b73ffffffffffffffffffffffffffffffffffffffff169081156112625773ffffffffffffffffffffffffffffffffffffffff81169283156112365780611a2f7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600160205260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b55604051908152602090a3565b8115611a46570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b60018111156101fd57806001700100000000000000000000000000000000831015611ba6575b611b4c611b42611b38611b2e611b24611b1a611b09611b539760048a68010000000000000000611b589c1015611b99575b640100000000811015611b8c575b62010000811015611b7f575b610100811015611b72575b6010811015611b65575b1015611b5d575b60030260011c90565b611b13818b611a3c565b0160011c90565b611b13818a611a3c565b611b138189611a3c565b611b138188611a3c565b611b138187611a3c565b611b138186611a3c565b8093611a3c565b821190565b900390565b60011b611b00565b60041c9160021b91611af9565b60081c9160041b91611aef565b60101c9160081b91611ae4565b60201c9160101b91611ad8565b60401c9160201b91611aca565b5050611b58611b53611b4c611b42611b38611b2e611b24611b1a611b09611bcd8a60801c90565b9850680100000000000000009750611a999650505050505050565b91905b838210611bf85750505090565b9091928083169080841860011c820180921161097957845f5265ffffffffffff8260205f2001541665ffffffffffff8416105f14611c3a5750925b9190611beb565b939250611c4690611613565b91611c33565b919073ffffffffffffffffffffffffffffffffffffffff81169273ffffffffffffffffffffffffffffffffffffffff8116908482141580611dca575b611c94575b5050505050565b81611d47575b505082611ca9575b8080611c8d565b611d3c611d237fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a72493611d1d611d1779ffffffffffffffffffffffffffffffffffffffffffffffffffff9573ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b9161205d565b90612131565b6040805192851683529316602082015291829190820190565b0390a25f8080611ca2565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff611dc0611d23611db17fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249473ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b611dba8861205d565b906120cd565b0390a25f80611c9a565b50831515611c88565b60ff8114611e325760ff811690601f8211611e0a5760405191611df76040846110e8565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040516101fd81611e45816005610ffa565b03826110e8565b60ff8114611e705760ff811690601f8211611e0a5760405191611df76040846110e8565b506040516101fd81611e45816006610ffa565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411611f12579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15611f07575f5173ffffffffffffffffffffffffffffffffffffffff811615611efd57905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115611f2757565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b611f5d81611f1d565b80611f66575050565b611f6f81611f1d565b60018103611f9f577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b611fa881611f1d565b60028103611fdc57507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80611fe8600392611f1d565b14611ff05750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8054821015612030575f5260205f2001905f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff811161209d5779ffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f5260d060045260245260445ffd5b906120d74361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff806120fd856118e8565b92169116039079ffffffffffffffffffffffffffffffffffffffffffffffffffff82116109795761212d92612385565b9091565b9061213b4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612161856118e8565b92169116019079ffffffffffffffffffffffffffffffffffffffffffffffffffff82116109795761212d92612385565b61219a4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff806121c1600a6118e8565b921691160179ffffffffffffffffffffffffffffffffffffffffffffffffffff81116109795761212d91600a612385565b6121fb4361159e565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612222600a6118e8565b921691160379ffffffffffffffffffffffffffffffffffffffffffffffffffff81116109795761212d91600a612385565b9073ffffffffffffffffffffffffffffffffffffffff806111389493169182156122df575b169081156122cc575b5f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f205416905f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f20541690611c4c565b6122d861177c8461205d565b5050612281565b6122eb6117e18561205d565b5050612278565b8054680100000000000000008110156110e3576123149160018201815561201b565b6123595781516020929092015160301b7fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b7f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b8054929392801561247b5761239c6123a7916115e6565b825f5260205f200190565b8054603081901c9365ffffffffffff918216929181168084116124535787930361240c575061240892509065ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000083549260301b169116179055565b9190565b9150506124089161242c61241e611129565b65ffffffffffff9093168352565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff861660208301526122f2565b7f2520601d000000000000000000000000000000000000000000000000000000005f5260045ffd5b50906124b39161248c61241e611129565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff851660208301526122f2565b5f919056fea2646970667358221220d89db57217dac2a10b607d074c2ccfb454d1c652aa226dff2d9c46888743393464736f6c634300081a0033", + "sourceMap": "730:628:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;-1:-1:-1;;730:628:9;;;;;;;;1856:5:141;730:628:9;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;1856:5:141;730:628:9;;;;;;;-1:-1:-1;730:628:9;;;;;;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;730:628:9;;;;;8842:4:141;730:628:9;;:::i;:::-;;;735:10:156;;8842:4:141;:::i;:::-;730:628:9;;;8842:4:141;730:628:9;;;;;;;;-1:-1:-1;;730:628:9;;;;;;2927:12:141;730:628:9;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;4986:5:141;730:628:9;;:::i;:::-;;;:::i;:::-;;;735:10:156;4950:5:141;735:10:156;;4950:5:141;;:::i;:::-;4986;:::i;730:628:9:-;;;;;-1:-1:-1;;730:628:9;;;;;;;;2780:2:141;730:628:9;;;;;;;;-1:-1:-1;;730:628:9;;;;;;2744:20:144;;:::i;:::-;730:628:9;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;:::i;:::-;;;;1002:31:179;1020:12;1002:31;:::i;:::-;730:628:9;4075:29:122;;;;4071:115;;730:628:9;;4202:77:122;730:628:9;;;;-1:-1:-1;730:628:9;4202:20:122;730:628:9;;4250:28:122;730:628:9;-1:-1:-1;730:628:9;4250:28:122;;:::i;:::-;4202:77;;:::i;:::-;730:628:9;;;;;;;;;;;;;;4071:115:122;4127:48;;-1:-1:-1;4127:48:122;730:628:9;;;;;-1:-1:-1;4127:48:122;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;692:5:143;730:628:9;;735:10:156;692:5:143;:::i;:::-;730:628:9;;;;;;-1:-1:-1;;730:628:9;;;;;1002:31:179;1020:12;1002:31;:::i;:::-;730:628:9;1020:12:179;1002:31;1020:12;1002:31;:::i;:::-;730:628:9;;;3169:29:122;3165:93;;730:628:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;3165:93:122:-;3221:26;730:628:9;3221:26:122;730:628:9;;3221:26:122;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;;;:::i;:::-;;-1:-1:-1;730:628:9;5630:10:122;730:628:9;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;5859:9:122;730:628:9;;:::i;:::-;735:10:156;5859:9:122;:::i;730:628:9:-;;;;;-1:-1:-1;;730:628:9;;;;;;;;:::i;:::-;;-1:-1:-1;730:628:9;8697:20:122;730:628:9;;;-1:-1:-1;730:628:9;;;15374:24:174;;15370:103;;730:628:9;;;;;;;;;;;15370:103:174;15421:41;-1:-1:-1;15421:41:174;730:628:9;;;;;;-1:-1:-1;15421:41:174;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;;;;:::i;:::-;;;3095:9:141;730:628:9;3095:9:141;730:628:9;;;3095:9:141;730:628:9;;3004:116:141;;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;1166:5:143;730:628:9;;:::i;:::-;;;735:10:156;1135:5:143;735:10:156;;1135:5:143;;:::i;:::-;1166;:::i;730:628:9:-;;;;;-1:-1:-1;;730:628:9;;;;;;;;:::i;:::-;;-1:-1:-1;730:628:9;624:7:158;730:628:9;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;6099:41:167;:5;:41;:::i;:::-;6554:47;:8;:47;:::i;:::-;730:628:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5590:13:167;;730:628:9;;;;5625:4:167;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;;1002:31:179;1020:12;1002:31;:::i;:::-;730:628:9;5064:29:122;;;;;5060:115;;5227:28;;;:::i;:::-;5191:17;730:628:9;9737:15:176;-1:-1:-1;9762:18:176;9795:7;9801:1;9795:7;;9791:234;;730:628:9;10049:53:176;;;5191:17:122;10049:53:176;:::i;:::-;10120:8;;;:63;730:628:9;-1:-1:-1;10120:63:176;730:628:9;;;;;;;;10120:63:176;10168:7;730:628:9;10168:7:176;;:::i;:::-;5191:17:122;-1:-1:-1;14439:109:176;;-1:-1:-1;14439:109:176;;730:628:9;;;10120:63:176;;9791:234;9838:14;;;;;:::i;:::-;730:628:9;;;;;;;10049:53:176;14439:109;5191:17:122;-1:-1:-1;14439:109:176;730:628:9;14439:109:176;;-1:-1:-1;14439:109:176;;730:628:9;;;;;9870:48:176;9866:149;730:628:9;;;9938:10:176;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;730:628:9;;:::i;5060:115:122:-;5116:48;-1:-1:-1;5116:48:122;730:628:9;;;;;-1:-1:-1;5116:48:122;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;1002:31:179;1020:12;1002:31;:::i;:::-;730:628:9;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;730:628:9;;;;;;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;;:::i;:::-;;-1:-1:-1;730:628:9;3492:20:122;730:628:9;;;;3492:38:122;730:628:9;-1:-1:-1;730:628:9;3492:38:122;:::i;:::-;730:628:9;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;3459:5:141;730:628:9;;:::i;:::-;;;735:10:156;;3459:5:141;:::i;730:628:9:-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;-1:-1:-1;;730:628:9;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;6141:15:122;;;:24;6137:91;;730:628:9;7105:8:166;730:628:9;;6281:86:122;7051:25:166;730:628:9;;;;6308:57:122;;730:628:9;2063:71:122;730:628:9;;;;;;2063:71:122;;730:628:9;2063:71:122;730:628:9;2063:71:122;;730:628:9;;2063:71:122;;730:628:9;;6308:57:122;;;730:628:9;6308:57:122;;:::i;:::-;730:628:9;6298:68:122;;6281:86;:::i;:::-;7051:25:166;:::i;:::-;7105:8;;;;;:::i;:::-;1366:16:158;;730:628:9;;-1:-1:-1;730:628:9;1121:7:158;730:628:9;;;-1:-1:-1;730:628:9;;;;;;;;;759:395:158;;1366:16;1396;;;1392:89;;6491:9:122;;;;:::i;1392:89:158:-;730:628:9;1435:35:158;;;-1:-1:-1;1435:35:158;730:628:9;;;;;;-1:-1:-1;1435:35:158;6137:91:122;6188:29;-1:-1:-1;6188:29:122;730:628:9;;;-1:-1:-1;6188:29:122;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;1886:15:144;;;:26;1882:97;;2181:28;2071:16;2125:28;2071:16;;730:628:9;;-1:-1:-1;730:628:9;1121:7:158;730:628:9;;;-1:-1:-1;730:628:9;;;;;;;;;759:395:158;;2071:16:144;730:628:9;;;;2020:78:144;;730:628:9;1024:95:144;730:628:9;;;;;1024:95:144;;730:628:9;1024:95:144;;730:628:9;;;;;1024:95:144;;730:628:9;1024:95:144;730:628:9;1024:95:144;;730:628:9;;1024:95:144;;730:628:9;;1024:95:144;;730:628:9;;2020:78:144;;;730:628:9;2020:78:144;;:::i;2125:28::-;2181;:::i;:::-;730:628:9;;;;2223:15:144;2219:88;;8842:4:141;;;;:::i;2219:88:144:-;2261:35;-1:-1:-1;2261:35:144;730:628:9;;;;;;;1024:95:144;730:628:9;1024:95:144;-1:-1:-1;2261:35:144;1882:97;1935:33;;-1:-1:-1;1935:33:144;730:628:9;;;-1:-1:-1;1935:33:144;730:628:9;;;;;-1:-1:-1;;730:628:9;;;;;;3657:27:141;730:628:9;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;730:628:9;3657:11:141;730:628:9;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;3657:27:141;730:628:9;;;;;;;;;;;;-1:-1:-1;;730:628:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;11452:22:176;730:628:9;;;:::i;:::-;;;;:::i;:::-;;;-1:-1:-1;730:628:9;8975:20:122;730:628:9;;;-1:-1:-1;730:628:9;;;:::i;:::-;;11452:22:176;:::i;:::-;730:628:9;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;730:628:9;;;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;:::o;:::-;;;;;;;:::i;:::-;-1:-1:-1;730:628:9;;;;;;;:::o;10415:477:141:-;730:628:9;10415:477:141;;;;730:628:9;;;-1:-1:-1;730:628:9;3657:11:141;730:628:9;;3657:27:141;730:628:9;;-1:-1:-1;730:628:9;;;;;;;;;;;;;3657:27:141;730:628:9;10600:17:141;10580:37;;10576:310;;10415:477;;;;;:::o;10576:310::-;10637:24;;;10633:130;;9813:19;;9809:89;;730:628:9;;;9911:21:141;9907:90;;10006:27;730:628:9;-1:-1:-1;730:628:9;3657:11:141;730:628:9;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;10006:27:141;730:628:9;10576:310:141;;;;;;9907:90;9955:31;-1:-1:-1;9955:31:141;-1:-1:-1;9955:31:141;730:628:9;;-1:-1:-1;9955:31:141;9809:89;9855:32;-1:-1:-1;9855:32:141;-1:-1:-1;9855:32:141;730:628:9;;-1:-1:-1;9855:32:141;10633:130;730:628:9;10688:60:141;;-1:-1:-1;10688:60:141;730:628:9;10688:60:141;730:628:9;;;;;;-1:-1:-1;10688:60:141;5393:300;;;;730:628:9;;;5476:18:141;;;5472:86;;730:628:9;;;5571:16:141;;5567:86;;6307:15;;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;6307:15:141;730:628:9;6340:19:141;;;;6336:115;;730:628:9;2756:5:145;730:628:9;;;6571:15:141;;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;6571:15:141;730:628:9;7021:13:141;;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;7021:13:141;730:628:9;;;;;;;;;;;7083:25:141;;730:628:9;;7083:25:141;2756:5:145;:::i;6336:115:141:-;6386:50;5492:1;6386:50;730:628:9;;;6386:50:141;730:628:9;;;;;;;;;;-1:-1:-1;2261:35:144;5567:86:141;5610:32;5492:1;5610:32;5492:1;5610:32;730:628:9;;5492:1:141;5610:32;5472:86;5517:30;5492:1;5517:30;5492:1;5517:30;730:628:9;;5492:1:141;5517:30;3845:262:167;730:628:9;3938:11:167;730:628:9;3929:4:167;3921:28;:63;;;3845:262;3917:184;;;4007:22;4000:29;:::o;3917:184::-;730:628:9;;4204:80:167;;;730:628:9;2079:95:167;730:628:9;;4226:11:167;730:628:9;2079:95:167;;730:628:9;4239:14:167;2079:95;;;730:628:9;4255:13:167;2079:95;;;730:628:9;3929:4:167;2079:95;;;730:628:9;2079:95:167;4204:80;;;;;;:::i;:::-;730:628:9;4194:91:167;;4060:30;:::o;3921:63::-;3970:14;;3953:13;:31;3921:63;;14296:213:174;730:628:9;14374:24:174;;14370:103;;730:628:9;;14296:213:174;:::o;14370:103::-;14421:41;;;14452:2;14421:41;730:628:9;;;;14421:41:174;;730:628:9;;;;;;;;;;:::o;:::-;;9999:1:176;730:628:9;;;;;;;:::o;9584:606:176:-;;730:628:9;;9737:15:176;9702:17;9762:18;9795:7;9801:1;9795:7;;9791:234;;9584:606;10049:53;;;;;:::i;:::-;10120:8;;;:63;;9702:17;9584:606;:::o;10120:63::-;10168:7;;;:::i;:::-;10135:41;9702:17;14439:109;;9702:17;14439:109;;730:628:9;;;9584:606:176;:::o;9791:234::-;9838:14;;;;;:::i;:::-;730:628:9;;;;;;;10049:53:176;14439:109;;9702:17;14439:109;730:628:9;14439:109:176;;9702:17;14439:109;;730:628:9;;;;;9870:48:176;9866:149;730:628:9;;;9938:10:176;9866:149;9791:234;;9866:149;9993:7;;;;;;:::i;:::-;9866:149;9791:234;;7984:206:141;730:628:9;;;8054:21:141;;;8050:89;;6307:15;;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;6307:15:141;730:628:9;6340:19:141;;;6336:115;;730:628:9;6571:15:141;730:628:9;7617:6:122;730:628:9;;;;6571:15:141;730:628:9;;5492:1:141;730:628:9;5492:1:141;730:628:9;;;5492:1:141;730:628:9;;;6571:15:141;730:628:9;;6810:21:141;730:628:9;;6233:21:141;730:628:9;8073:1:141;730:628:9;7083:25:141;730:628:9;;;;;;;;;7083:25:141;;;7335:18:122;;7331:107;;7984:206:141;7483:63:122;7519:26;;;:::i;:::-;7483:63;:::i;:::-;-1:-1:-1;;8073:1:141;730:628:9;;;5630:10:122;730:628:9;;;;;;;;;;;;;;;;;7617:6:122;:::i;7331:107::-;7369:58;7400:26;;;:::i;:::-;7369:58;:::i;:::-;7331:107;;;;6336:115:141;6386:50;8073:1;6386:50;730:628:9;;;;6386:50:141;730:628:9;;;;;;;;-1:-1:-1;2261:35:144;6686:312:122;730:628:9;;;;-1:-1:-1;730:628:9;;;5630:10:122;730:628:9;;;;;;;;;;;;;;;;;;6966:24:122;;730:628:9;;;3137:18:145;;730:628:9;;;;;6865:48:122;;-1:-1:-1;6865:48:122;730:628:9;;3095:9:141;730:628:9;3095:9:141;730:628:9;;;3095:9:141;730:628:9;;3004:116:141;;3137:18:145;6966:24:122;;:::i;10310:206:176:-;730:628:9;;10446:8:176;;;:63;;10405:17;10310:206;:::o;10446:63::-;730:628:9;;;;;;;;14439:109:176;10405:17;14439:109;;10405:17;14439:109;;;730:628:9;;;10310:206:176;:::o;4917:176:167:-;3445:249:168;4917:176:167;5053:20;;:::i;:::-;3445:249:168;;;;;;;;;;;;;;;;4917:176:167;:::o;6887:260:166:-;;7105:8;6887:260;;7051:25;6887:260;7051:25;:::i;9701:432:141:-;730:628:9;;9813:19:141;;;9809:89;;730:628:9;;;9911:21:141;;;9907:90;;730:628:9;10006:27:141;10085:31;730:628:9;;9830:1:141;730:628:9;8842:4:141;730:628:9;;;9830:1:141;730:628:9;;;;;;;;;;;;;10006:27:141;730:628:9;;;;;;;;10085:31:141;9701:432::o;730:628:9:-;;;;;;;:::o;:::-;;;;;;;;;;18080:5181:173;18246:1;18241:6;;;18237:53;;19217:14;18246:1;19285:8;19278:16;;;19274:92;;18080:5181;22827:18;22717;22607;22498;22387;22278;20373:13;23237:6;19383:15;19898:6;19383:15;19390:7;23216:28;19383:15;;;19379:90;;18080:5181;19493:7;19486:15;;;19482:90;;18080:5181;19596:7;19589:15;;;19585:89;;18080:5181;19698:6;19691:14;;;19687:87;;18080:5181;19798:6;19791:14;;;19787:87;;18080:5181;19891:14;;19887:61;;18080:5181;20374:1;730:628:9;;;;;20373:13:173;22284:6;;;;:::i;:::-;730:628:9;;;;;22278:18:173;22393:6;;;;:::i;22387:18::-;22504:6;;;;:::i;22498:18::-;22613:6;;;;:::i;22607:18::-;22723:6;;;;:::i;22717:18::-;22833:6;;;;:::i;22827:18::-;23237:6;;;:::i;:::-;23232:11;;;34795:145:174;23216:28:173;730:628:9;;18080:5181:173;:::o;19887:61::-;730:628:9;;19887:61:173;;19787:87;730:628:9;;;;;19787:87:173;;;19687;730:628:9;;;;;19687:87:173;;;19585:89;730:628:9;;;;;19585:89:173;;;19482:90;730:628:9;;;;;19482:90:173;;;19379;730:628:9;;;;;19379:90:173;;;19274:92;19314:10;;23216:28;23237:6;22827:18;22717;22607;22498;22387;22278;20373:13;19314:10;;730:628:9;;;;19314:10:173;19274:92;-1:-1:-1;730:628:9;;-1:-1:-1;19274:92:173;;-1:-1:-1;;;;;;;19274:92:173;12929:433:176;;;13112:10;;;;;;13344:11;;;12929:433;:::o;13105:230::-;3721:5:173;;;;;;3731;;;;730:628:9;;;;;;;;;14439:109:176;730:628:9;14439:109:176;730:628:9;14439:109:176;;730:628:9;14439:109:176;;730:628:9;;;;;-1:-1:-1;13189:136:176;730:628:9;;;13248:10:176;13189:136;;13105:230;;;;13189:136;13303:7;;;;;;:::i;:::-;13189:136;;;7717:789:122;;;730:628:9;;;;;;;7818:10:122;;;;;:24;;;7717:789;7814:686;;7717:789;;;;;;:::o;7814:686::-;7862:18;7858:315;;7814:686;8190:16;;;8186:304;;7814:686;;;;;8186:304;8431:44;8265:143;8431:44;8292:24;8364:26;8292:24;730:628:9;8292:24:122;730:628:9;;;;7966:20:122;730:628:9;;;;;;;8292:24:122;8364:26;;:::i;:::-;8265:143;;:::i;:::-;730:628:9;;;;;;;;;;;;;;;;;;;;;;8431:44:122;;;;8186:304;;;;;7858:315;730:628:9;8112:46:122;7939:150;7966:26;8112:46;7966:26;730:628:9;;;;7966:20:122;730:628:9;;;;;;;7966:26:122;8045;;;:::i;:::-;7939:150;;:::i;8112:46::-;;;;7858:315;;;;7818:24;7832:10;;;;7818:24;;3358:267:162;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;730:628:9;;;;;;;:::i;:::-;2311:2:162;730:628:9;;;;;;;;;;;2324:106:162;;;3543:22;:::o;2675:69::-;2713:20;-1:-1:-1;2713:20:162;;-1:-1:-1;2713:20:162;3477:142;730:628:9;;;1390:66:162;;;;6126:13:167;1390:66:162;:::i;:::-;;;;:::i;3358:267::-;1390:66;3481:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;730:628:9;;;;;;;:::i;3477:142:162:-;730:628:9;;;1390:66:162;;;;6584:16:167;1390:66:162;:::i;5203:1551:166:-;;;6283:66;6270:79;;6266:164;;730:628:9;;;;;;-1:-1:-1;730:628:9;;;;;;;;;;;;;;;;;;;6541:24:166;;;;;;;;;-1:-1:-1;6541:24:166;730:628:9;;;6579:20:166;6575:113;;6698:49;-1:-1:-1;6698:49:166;-1:-1:-1;5203:1551:166;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:166;6541:24;6615:62;-1:-1:-1;6615:62:166;:::o;6541:24::-;730:628:9;;;;;;;;;6266:164:166;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o;730:628:9:-;;-1:-1:-1;730:628:9;;;:::o;:::-;;;;;;;;;;7280:532:166;730:628:9;;;:::i;:::-;7366:29:166;;;7411:7;;:::o;7362:444::-;730:628:9;;;:::i;:::-;7471:29:166;7462:38;;7471:29;;7523:23;7375:20;7523:23;;7375:20;7523:23;7458:348;730:628:9;;;:::i;:::-;7576:35:166;7567:44;;7576:35;;7634:46;;7375:20;7634:46;;730:628:9;;7375:20:166;7634:46;7563:243;730:628:9;;7710:30:166;730:628:9;;:::i;:::-;7701:39:166;7697:109;;7563:243;7280:532::o;7697:109::-;7763:32;7375:20;7763:32;7634:46;730:628:9;;7375:20:166;7763:32;730:628:9;;;;;;;;-1:-1:-1;730:628:9;;-1:-1:-1;730:628:9;;;-1:-1:-1;730:628:9;:::o;:::-;;;;;;;;;;4174:218:174;730:628:9;4254:25:174;;4250:105;;730:628:9;;4174:218:174;:::o;4250:105::-;4302:42;;;4333:3;4302:42;730:628:9;;;;4302:42:174;;9025:273:122;;1002:31:179;1020:12;1002:31;:::i;:::-;9268:14:122;730:628:9;9268:14:122;;;;:::i;:::-;9265:25;730:628:9;;;;;;;;;;8310:38:176;730:628:9;8310:38:176;:::i;:::-;9238:53:122;;9025:273::o;:::-;;1002:31:179;1020:12;1002:31;:::i;:::-;9268:14:122;730:628:9;9268:14:122;;;;:::i;:::-;9265:25;730:628:9;;;;;;;;;;8310:38:176;730:628:9;8310:38:176;:::i;9025:273:122:-;1002:31:179;1020:12;1002:31;:::i;:::-;9268:14:122;730:628:9;9268:14:122;;7375:17;9268:14;:::i;:::-;9265:25;730:628:9;;;;;;;;;8310:38:176;730:628:9;7375:17:122;8310:38:176;:::i;9025:273:122:-;1002:31:179;1020:12;1002:31;:::i;:::-;9268:14:122;730:628:9;9268:14:122;;7489:17;9268:14;:::i;:::-;9265:25;730:628:9;;;;;;;;;8310:38:176;730:628:9;7489:17:122;8310:38:176;:::i;7232:399:122:-;;730:628:9;7232:399:122;7617:6;7232:399;;730:628:9;7335:18:122;;;7331:107;;7232:399;730:628:9;7451:16:122;;;7447:110;;7232:399;7351:1;730:628:9;5630:10:122;730:628:9;;;;7351:1:122;730:628:9;;;;7351:1:122;730:628:9;5630:10:122;730:628:9;;;;7351:1:122;730:628:9;;;7617:6:122;;:::i;7447:110::-;7483:63;7519:26;;;:::i;7483:63::-;7447:110;;;;7331:107;7369:58;7400:26;;;:::i;7369:58::-;7331:107;;;;730:628:9;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;11657:922:176;730:628:9;;11657:922:176;;;11864:7;;;;11936;11916:28;11936:7;;:::i;:::-;11916:28;14439:109;;;;;;14289:265;;11916:28;730:628:9;;;;;;;;;;;;;;;12103:13:176;;;12099:89;;12251:14;;;;;12285:19;;;;730:628:9;;;;;;;;;;;;;;;12285:19:176;12423:25;;:::o;12247:163::-;730:628:9;;;12343:52:176;730:628:9;12353:41:176;730:628:9;;:::i;:::-;;;;;;;;12353:41:176;730:628:9;;;12353:41:176;;;730:628:9;12343:52:176;:::i;12099:89::-;12143:30;11870:1;12143:30;;11870:1;12143:30;11860:713;730:628:9;;12479:52:176;730:628:9;12489:41:176;730:628:9;;:::i;12489:41:176:-;730:628:9;;;12489:41:176;;;730:628:9;12343:52:176;:::i;12479:::-;11870:1;12545:17;;:::o", + "linkReferences": {}, + "immutableReferences": { + "60675": [{ "start": 5307, "length": 32 }], + "60677": [{ "start": 5496, "length": 32 }], + "60679": [{ "start": 5260, "length": 32 }], + "60681": [{ "start": 5386, "length": 32 }], + "60683": [{ "start": 5424, "length": 32 }], + "60686": [{ "start": 1897, "length": 32 }], + "60689": [{ "start": 1938, "length": 32 }] + } + }, + "methodIdentifiers": { + "CLOCK_MODE()": "4bf5d7e9", + "DOMAIN_SEPARATOR()": "3644e515", + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "burn(uint256)": "42966c68", + "burnFrom(address,uint256)": "79cc6790", + "checkpoints(address,uint32)": "f1127ed8", + "clock()": "91ddadf4", + "decimals()": "313ce567", + "delegate(address)": "5c19a95c", + "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": "c3cda520", + "delegates(address)": "587cde1e", + "eip712Domain()": "84b0196e", + "getPastTotalSupply(uint256)": "8e539e8c", + "getPastVotes(address,uint256)": "3a46b1a8", + "getVotes(address)": "9ab24eb0", + "name()": "06fdde03", + "nonces(address)": "7ecebe00", + "numCheckpoints(address)": "6fcfff45", + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": "d505accf", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialHolder\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"totalSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"CheckpointUnorderedInsertion\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ECDSAInvalidSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"ECDSAInvalidSignatureLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"ECDSAInvalidSignatureS\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"increasedSupply\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"cap\",\"type\":\"uint256\"}],\"name\":\"ERC20ExceededSafeSupply\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"}],\"name\":\"ERC2612ExpiredSignature\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC2612InvalidSigner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"},{\"internalType\":\"uint48\",\"name\":\"clock\",\"type\":\"uint48\"}],\"name\":\"ERC5805FutureLookup\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC6372InconsistentClock\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"currentNonce\",\"type\":\"uint256\"}],\"name\":\"InvalidAccountNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"bits\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeCastOverflowedUintDowncast\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"}],\"name\":\"VotesExpiredSignature\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegator\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"fromDelegate\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"toDelegate\",\"type\":\"address\"}],\"name\":\"DelegateChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"previousVotes\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newVotes\",\"type\":\"uint256\"}],\"name\":\"DelegateVotesChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"CLOCK_MODE\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"pos\",\"type\":\"uint32\"}],\"name\":\"checkpoints\",\"outputs\":[{\"components\":[{\"internalType\":\"uint48\",\"name\":\"_key\",\"type\":\"uint48\"},{\"internalType\":\"uint208\",\"name\":\"_value\",\"type\":\"uint208\"}],\"internalType\":\"struct Checkpoints.Checkpoint208\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"clock\",\"outputs\":[{\"internalType\":\"uint48\",\"name\":\"\",\"type\":\"uint48\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"delegatee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"expiry\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"delegateBySig\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"delegates\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastTotalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"timepoint\",\"type\":\"uint256\"}],\"name\":\"getPastVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getVotes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"nonces\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"numCheckpoints\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"deadline\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"name\":\"permit\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"CheckpointUnorderedInsertion()\":[{\"details\":\"A value was attempted to be inserted on a past checkpoint.\"}],\"ECDSAInvalidSignature()\":[{\"details\":\"The signature derives the `address(0)`.\"}],\"ECDSAInvalidSignatureLength(uint256)\":[{\"details\":\"The signature has an invalid length.\"}],\"ECDSAInvalidSignatureS(bytes32)\":[{\"details\":\"The signature has an S value that is in the upper half order.\"}],\"ERC20ExceededSafeSupply(uint256,uint256)\":[{\"details\":\"Total supply cap has been exceeded, introducing a risk of votes overflowing.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC2612ExpiredSignature(uint256)\":[{\"details\":\"Permit deadline has expired.\"}],\"ERC2612InvalidSigner(address,address)\":[{\"details\":\"Mismatched signature.\"}],\"ERC5805FutureLookup(uint256,uint48)\":[{\"details\":\"Lookup to future votes is not available.\"}],\"ERC6372InconsistentClock()\":[{\"details\":\"The clock was incorrectly modified.\"}],\"InvalidAccountNonce(address,uint256)\":[{\"details\":\"The nonce used for an `account` is not the expected current nonce.\"}],\"SafeCastOverflowedUintDowncast(uint8,uint256)\":[{\"details\":\"Value doesn't fit in an uint of `bits` size.\"}],\"VotesExpiredSignature(uint256)\":[{\"details\":\"The signature used has expired.\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"DelegateChanged(address,address,address)\":{\"details\":\"Emitted when an account changes their delegate.\"},\"DelegateVotesChanged(address,uint256,uint256)\":{\"details\":\"Emitted when a token transfer or delegate change results in changes to a delegate's number of voting units.\"},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"CLOCK_MODE()\":{\"details\":\"Machine-readable description of the clock as specified in ERC-6372.\"},\"DOMAIN_SEPARATOR()\":{\"details\":\"Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}.\"},\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`.\"},\"checkpoints(address,uint32)\":{\"details\":\"Get the `pos`-th checkpoint for `account`.\"},\"clock()\":{\"details\":\"Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"delegate(address)\":{\"details\":\"Delegates votes from the sender to `delegatee`.\"},\"delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Delegates votes from signer to `delegatee`.\"},\"delegates(address)\":{\"details\":\"Returns the delegate that `account` has chosen.\"},\"eip712Domain()\":{\"details\":\"See {IERC-5267}.\"},\"getPastTotalSupply(uint256)\":{\"details\":\"Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getPastVotes(address,uint256)\":{\"details\":\"Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined.\"},\"getVotes(address)\":{\"details\":\"Returns the current amount of votes that `account` has.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"nonces(address)\":{\"details\":\"Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times.\"},\"numCheckpoints(address)\":{\"details\":\"Get number of checkpoints for `account`.\"},\"permit(address,address,uint256,uint256,uint8,bytes32,bytes32)\":{\"details\":\"Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/economics/MMC.sol\":\"MMC\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solady/=lib/solady/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"contracts/economics/MMC.sol\":{\"keccak256\":\"0x06b1d8c82d098616aba5bebac0baa6c628266474073a8ca75d1db9b24444a85f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e2de009782f879adc52610836fec7c25377cbc9fff97979834aae679ff1f57cd\",\"dweb:/ipfs/Qmb6T3isKq4u15z14uv2HurDC5FirSgddW4VTsusNHatc4\"]},\"node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol\":{\"keccak256\":\"0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856\",\"dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2\"]},\"node_modules/@openzeppelin/contracts/governance/utils/Votes.sol\":{\"keccak256\":\"0x9128a324d265044430e5fa4a6a2853e92d6a62a2a5a69c2fc623f5b7b8cf3f34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1122c2c8c19d717e45a9c00ccedd9fcd3b61eab6a291469a3d6200671d3e6f25\",\"dweb:/ipfs/QmYEjVC6ttBK1YSECdJmH69LtD2mahbVW27JLv6TUdWKiU\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol\":{\"keccak256\":\"0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a\",\"dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol\":{\"keccak256\":\"0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb\",\"dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xbf61ab2ae1d575a17ea58fbb99ca232baddcc4e0eeea180e84cbc74b0c348b31\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4e0968705bad99747a8e5288aa008678c2be2f471f919dce3925a3cc4f1dee09\",\"dweb:/ipfs/QmbAFnCQfo4tw6ssfQSjhA5LzwHWNNryXN8bX7ty8jiqqn\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26\",\"dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol\":{\"keccak256\":\"0xaa7f0646f49ebe2606eeca169f85c56451bbaeeeb06265fa076a03369a25d1d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ee931d4e832385765967efe6366dcc6d00d6a2d794f9c66ee38283c03882de9c\",\"dweb:/ipfs/QmR6SkuJGYxpQeLz38rBdghqaWqEPfzUsL9kBoXgEXKtbD\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol\":{\"keccak256\":\"0x62dc9346044aabf22d78541bd495aa6ca05a7f5100aed26196ba35d40b59fcb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5221df4501c74cd4493fee1a0f0788e02c4dc78c3c601e9f557f557c5a53ea92\",\"dweb:/ipfs/QmZpzyYY9dKLrgvYhXSHT93jwqb1UGvtGNMQk5dpECY5pa\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol\":{\"keccak256\":\"0x27dbc90e5136ffe46c04f7596fc2dbcc3acebd8d504da3d93fdb8496e6de04f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0ea8b92e4245d75a5579c10f22f118f7b4ba07c57341f181f0b2a85ff8663de3\",\"dweb:/ipfs/Qme3Ss5ByjmkxxkMdLpyu7fQ1PCtjNFH1wEFszt2BZePiG\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Nonces.sol\":{\"keccak256\":\"0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e\",\"dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a\",\"dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0\",\"dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c\",\"dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e\",\"dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]},\"node_modules/@openzeppelin/contracts/utils/structs/Checkpoints.sol\":{\"keccak256\":\"0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44\",\"dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { "internalType": "address", "name": "initialHolder", "type": "address" }, + { "internalType": "uint256", "name": "totalSupply", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "type": "error", "name": "CheckpointUnorderedInsertion" }, + { "inputs": [], "type": "error", "name": "ECDSAInvalidSignature" }, + { + "inputs": [{ "internalType": "uint256", "name": "length", "type": "uint256" }], + "type": "error", + "name": "ECDSAInvalidSignatureLength" + }, + { + "inputs": [{ "internalType": "bytes32", "name": "s", "type": "bytes32" }], + "type": "error", + "name": "ECDSAInvalidSignatureS" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "increasedSupply", "type": "uint256" }, + { "internalType": "uint256", "name": "cap", "type": "uint256" } + ], + "type": "error", + "name": "ERC20ExceededSafeSupply" + }, + { + "inputs": [ + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "allowance", "type": "uint256" }, + { "internalType": "uint256", "name": "needed", "type": "uint256" } + ], + "type": "error", + "name": "ERC20InsufficientAllowance" + }, + { + "inputs": [ + { "internalType": "address", "name": "sender", "type": "address" }, + { "internalType": "uint256", "name": "balance", "type": "uint256" }, + { "internalType": "uint256", "name": "needed", "type": "uint256" } + ], + "type": "error", + "name": "ERC20InsufficientBalance" + }, + { + "inputs": [{ "internalType": "address", "name": "approver", "type": "address" }], + "type": "error", + "name": "ERC20InvalidApprover" + }, + { + "inputs": [{ "internalType": "address", "name": "receiver", "type": "address" }], + "type": "error", + "name": "ERC20InvalidReceiver" + }, + { + "inputs": [{ "internalType": "address", "name": "sender", "type": "address" }], + "type": "error", + "name": "ERC20InvalidSender" + }, + { + "inputs": [{ "internalType": "address", "name": "spender", "type": "address" }], + "type": "error", + "name": "ERC20InvalidSpender" + }, + { + "inputs": [{ "internalType": "uint256", "name": "deadline", "type": "uint256" }], + "type": "error", + "name": "ERC2612ExpiredSignature" + }, + { + "inputs": [ + { "internalType": "address", "name": "signer", "type": "address" }, + { "internalType": "address", "name": "owner", "type": "address" } + ], + "type": "error", + "name": "ERC2612InvalidSigner" + }, + { + "inputs": [ + { "internalType": "uint256", "name": "timepoint", "type": "uint256" }, + { "internalType": "uint48", "name": "clock", "type": "uint48" } + ], + "type": "error", + "name": "ERC5805FutureLookup" + }, + { "inputs": [], "type": "error", "name": "ERC6372InconsistentClock" }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "uint256", "name": "currentNonce", "type": "uint256" } + ], + "type": "error", + "name": "InvalidAccountNonce" + }, + { "inputs": [], "type": "error", "name": "InvalidShortString" }, + { + "inputs": [ + { "internalType": "uint8", "name": "bits", "type": "uint8" }, + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "type": "error", + "name": "SafeCastOverflowedUintDowncast" + }, + { + "inputs": [{ "internalType": "string", "name": "str", "type": "string" }], + "type": "error", + "name": "StringTooLong" + }, + { + "inputs": [{ "internalType": "uint256", "name": "expiry", "type": "uint256" }], + "type": "error", + "name": "VotesExpiredSignature" + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address", "indexed": true }, + { "internalType": "address", "name": "spender", "type": "address", "indexed": true }, + { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } + ], + "type": "event", + "name": "Approval", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "delegator", "type": "address", "indexed": true }, + { + "internalType": "address", + "name": "fromDelegate", + "type": "address", + "indexed": true + }, + { "internalType": "address", "name": "toDelegate", "type": "address", "indexed": true } + ], + "type": "event", + "name": "DelegateChanged", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "delegate", "type": "address", "indexed": true }, + { + "internalType": "uint256", + "name": "previousVotes", + "type": "uint256", + "indexed": false + }, + { "internalType": "uint256", "name": "newVotes", "type": "uint256", "indexed": false } + ], + "type": "event", + "name": "DelegateVotesChanged", + "anonymous": false + }, + { "inputs": [], "type": "event", "name": "EIP712DomainChanged", "anonymous": false }, + { + "inputs": [ + { "internalType": "address", "name": "from", "type": "address", "indexed": true }, + { "internalType": "address", "name": "to", "type": "address", "indexed": true }, + { "internalType": "uint256", "name": "value", "type": "uint256", "indexed": false } + ], + "type": "event", + "name": "Transfer", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "CLOCK_MODE", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "DOMAIN_SEPARATOR", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "spender", "type": "address" } + ], + "stateMutability": "view", + "type": "function", + "name": "allowance", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "approve", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], + "stateMutability": "view", + "type": "function", + "name": "balanceOf", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [{ "internalType": "uint256", "name": "value", "type": "uint256" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "burn" + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "burnFrom" + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "uint32", "name": "pos", "type": "uint32" } + ], + "stateMutability": "view", + "type": "function", + "name": "checkpoints", + "outputs": [ + { + "internalType": "struct Checkpoints.Checkpoint208", + "name": "", + "type": "tuple", + "components": [ + { "internalType": "uint48", "name": "_key", "type": "uint48" }, + { "internalType": "uint208", "name": "_value", "type": "uint208" } + ] + } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "clock", + "outputs": [{ "internalType": "uint48", "name": "", "type": "uint48" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "decimals", + "outputs": [{ "internalType": "uint8", "name": "", "type": "uint8" }] + }, + { + "inputs": [{ "internalType": "address", "name": "delegatee", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "delegate" + }, + { + "inputs": [ + { "internalType": "address", "name": "delegatee", "type": "address" }, + { "internalType": "uint256", "name": "nonce", "type": "uint256" }, + { "internalType": "uint256", "name": "expiry", "type": "uint256" }, + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "delegateBySig" + }, + { + "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], + "stateMutability": "view", + "type": "function", + "name": "delegates", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "eip712Domain", + "outputs": [ + { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, + { "internalType": "string", "name": "name", "type": "string" }, + { "internalType": "string", "name": "version", "type": "string" }, + { "internalType": "uint256", "name": "chainId", "type": "uint256" }, + { "internalType": "address", "name": "verifyingContract", "type": "address" }, + { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, + { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } + ] + }, + { + "inputs": [{ "internalType": "uint256", "name": "timepoint", "type": "uint256" }], + "stateMutability": "view", + "type": "function", + "name": "getPastTotalSupply", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "uint256", "name": "timepoint", "type": "uint256" } + ], + "stateMutability": "view", + "type": "function", + "name": "getPastVotes", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], + "stateMutability": "view", + "type": "function", + "name": "getVotes", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "name", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [{ "internalType": "address", "name": "owner", "type": "address" }], + "stateMutability": "view", + "type": "function", + "name": "nonces", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [{ "internalType": "address", "name": "account", "type": "address" }], + "stateMutability": "view", + "type": "function", + "name": "numCheckpoints", + "outputs": [{ "internalType": "uint32", "name": "", "type": "uint32" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "owner", "type": "address" }, + { "internalType": "address", "name": "spender", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" }, + { "internalType": "uint256", "name": "deadline", "type": "uint256" }, + { "internalType": "uint8", "name": "v", "type": "uint8" }, + { "internalType": "bytes32", "name": "r", "type": "bytes32" }, + { "internalType": "bytes32", "name": "s", "type": "bytes32" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "permit" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "symbol", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "totalSupply", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transfer", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "from", "type": "address" }, + { "internalType": "address", "name": "to", "type": "address" }, + { "internalType": "uint256", "name": "value", "type": "uint256" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "transferFrom", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "CLOCK_MODE()": { + "details": "Machine-readable description of the clock as specified in ERC-6372." + }, + "DOMAIN_SEPARATOR()": { + "details": "Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}." + }, + "allowance(address,address)": { "details": "See {IERC20-allowance}." }, + "approve(address,uint256)": { + "details": "See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address." + }, + "balanceOf(address)": { "details": "See {IERC20-balanceOf}." }, + "burn(uint256)": { + "details": "Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}." + }, + "burnFrom(address,uint256)": { + "details": "Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`." + }, + "checkpoints(address,uint32)": { + "details": "Get the `pos`-th checkpoint for `account`." + }, + "clock()": { + "details": "Clock used for flagging checkpoints. Can be overridden to implement timestamp based checkpoints (and voting), in which case {CLOCK_MODE} should be overridden as well to match." + }, + "decimals()": { + "details": "Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}." + }, + "delegate(address)": { "details": "Delegates votes from the sender to `delegatee`." }, + "delegateBySig(address,uint256,uint256,uint8,bytes32,bytes32)": { + "details": "Delegates votes from signer to `delegatee`." + }, + "delegates(address)": { "details": "Returns the delegate that `account` has chosen." }, + "eip712Domain()": { "details": "See {IERC-5267}." }, + "getPastTotalSupply(uint256)": { + "details": "Returns the total supply of votes available at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. NOTE: This value is the sum of all available votes, which is not necessarily the sum of all delegated votes. Votes that have not been delegated are still part of total supply, even though they would not participate in a vote. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined." + }, + "getPastVotes(address,uint256)": { + "details": "Returns the amount of votes that `account` had at a specific moment in the past. If the `clock()` is configured to use block numbers, this will return the value at the end of the corresponding block. Requirements: - `timepoint` must be in the past. If operating using block numbers, the block must be already mined." + }, + "getVotes(address)": { + "details": "Returns the current amount of votes that `account` has." + }, + "name()": { "details": "Returns the name of the token." }, + "nonces(address)": { + "details": "Returns the current nonce for `owner`. This value must be included whenever a signature is generated for {permit}. Every successful call to {permit} increases ``owner``'s nonce by one. This prevents a signature from being used multiple times." + }, + "numCheckpoints(address)": { "details": "Get number of checkpoints for `account`." }, + "permit(address,address,uint256,uint256,uint8,bytes32,bytes32)": { + "details": "Sets `value` as the allowance of `spender` over ``owner``'s tokens, given ``owner``'s signed approval. IMPORTANT: The same issues {IERC20-approve} has related to transaction ordering also apply here. Emits an {Approval} event. Requirements: - `spender` cannot be the zero address. - `deadline` must be a timestamp in the future. - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` over the EIP712-formatted function arguments. - the signature must use ``owner``'s current nonce (see {nonces}). For more information on the signature format, see the https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP section]. CAUTION: See Security Considerations above." + }, + "symbol()": { + "details": "Returns the symbol of the token, usually a shorter version of the name." + }, + "totalSupply()": { "details": "See {IERC20-totalSupply}." }, + "transfer(address,uint256)": { + "details": "See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`." + }, + "transferFrom(address,address,uint256)": { + "details": "See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`." + } + }, + "version": 1 + }, + "userdoc": { "kind": "user", "methods": {}, "version": 1 } + }, + "settings": { + "remappings": [ + "@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/", + "@ethsign/=node_modules/@ethsign/", + "@openzeppelin/=node_modules/@openzeppelin/", + "ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/", + "forge-std/=lib/forge-std/src/", + "hardhat/=node_modules/hardhat/", + "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", + "solady/=lib/solady/src/", + "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/" + ], + "optimizer": { "enabled": true, "runs": 20000 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "contracts/economics/MMC.sol": "MMC" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/economics/MMC.sol": { + "keccak256": "0x06b1d8c82d098616aba5bebac0baa6c628266474073a8ca75d1db9b24444a85f", + "urls": [ + "bzz-raw://e2de009782f879adc52610836fec7c25377cbc9fff97979834aae679ff1f57cd", + "dweb:/ipfs/Qmb6T3isKq4u15z14uv2HurDC5FirSgddW4VTsusNHatc4" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/governance/utils/IVotes.sol": { + "keccak256": "0x5e2b397ae88fd5c68e4f6762eb9f65f65c36702eb57796495f471d024ce70947", + "urls": [ + "bzz-raw://348fc8e291d54314bb22437b532f443d5dbfb80c8cc9591567c1af6554ccf856", + "dweb:/ipfs/QmP8ZTyitZinxcpwAHeYHhwj7u21zPpKXSiww38V74sXC2" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/governance/utils/Votes.sol": { + "keccak256": "0x9128a324d265044430e5fa4a6a2853e92d6a62a2a5a69c2fc623f5b7b8cf3f34", + "urls": [ + "bzz-raw://1122c2c8c19d717e45a9c00ccedd9fcd3b61eab6a291469a3d6200671d3e6f25", + "dweb:/ipfs/QmYEjVC6ttBK1YSECdJmH69LtD2mahbVW27JLv6TUdWKiU" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol": { + "keccak256": "0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92", + "urls": [ + "bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a", + "dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC5805.sol": { + "keccak256": "0x4b9b89f91adbb7d3574f85394754cfb08c5b4eafca8a7061e2094a019ab8f818", + "urls": [ + "bzz-raw://7373d5dbb8eb2381aa0883a456fac89283fcaf52f42fa805d4188f270716742a", + "dweb:/ipfs/QmVnZDmT4ABvNhRJMaQnbCzsCA8HpyHPVaxi4fCi92LFv2" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC6372.sol": { + "keccak256": "0xeb2857b7dafb7e0d8526dbfe794e6c047df2851c9e6ee91dc4a55f3c34af5d33", + "urls": [ + "bzz-raw://49bf13f6c2a38a9bcc7b852d4e2b9cebb4068b832642cce61069cdb5f06bb2fb", + "dweb:/ipfs/QmdKAJVE7rR2kENCZnEM1yKswrGii7WuE9gZpsQvnXJhwn" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { + "keccak256": "0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b", + "urls": [ + "bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b", + "dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "keccak256": "0xbf61ab2ae1d575a17ea58fbb99ca232baddcc4e0eeea180e84cbc74b0c348b31", + "urls": [ + "bzz-raw://4e0968705bad99747a8e5288aa008678c2be2f471f919dce3925a3cc4f1dee09", + "dweb:/ipfs/QmbAFnCQfo4tw6ssfQSjhA5LzwHWNNryXN8bX7ty8jiqqn" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "keccak256": "0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7", + "urls": [ + "bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db", + "dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { + "keccak256": "0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073", + "urls": [ + "bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26", + "dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol": { + "keccak256": "0xaa7f0646f49ebe2606eeca169f85c56451bbaeeeb06265fa076a03369a25d1d3", + "urls": [ + "bzz-raw://ee931d4e832385765967efe6366dcc6d00d6a2d794f9c66ee38283c03882de9c", + "dweb:/ipfs/QmR6SkuJGYxpQeLz38rBdghqaWqEPfzUsL9kBoXgEXKtbD" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol": { + "keccak256": "0x62dc9346044aabf22d78541bd495aa6ca05a7f5100aed26196ba35d40b59fcb5", + "urls": [ + "bzz-raw://5221df4501c74cd4493fee1a0f0788e02c4dc78c3c601e9f557f557c5a53ea92", + "dweb:/ipfs/QmZpzyYY9dKLrgvYhXSHT93jwqb1UGvtGNMQk5dpECY5pa" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "keccak256": "0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330", + "urls": [ + "bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf", + "dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol": { + "keccak256": "0x27dbc90e5136ffe46c04f7596fc2dbcc3acebd8d504da3d93fdb8496e6de04f6", + "urls": [ + "bzz-raw://0ea8b92e4245d75a5579c10f22f118f7b4ba07c57341f181f0b2a85ff8663de3", + "dweb:/ipfs/Qme3Ss5ByjmkxxkMdLpyu7fQ1PCtjNFH1wEFszt2BZePiG" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Context.sol": { + "keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2", + "urls": [ + "bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12", + "dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Nonces.sol": { + "keccak256": "0x0082767004fca261c332e9ad100868327a863a88ef724e844857128845ab350f", + "urls": [ + "bzz-raw://132dce9686a54e025eb5ba5d2e48208f847a1ec3e60a3e527766d7bf53fb7f9e", + "dweb:/ipfs/QmXn1a2nUZMpu2z6S88UoTfMVtY2YNh86iGrzJDYmMkKeZ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Panic.sol": { + "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", + "urls": [ + "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", + "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/ShortStrings.sol": { + "keccak256": "0x7d94fa0af099a2172eb01f9c8a8a443cbe7e0e43654841563e4e09968efdb549", + "urls": [ + "bzz-raw://65e38fb76b6add407d4557753ae83dd1268e8261195dbe5c19a580d5ba6e4e9a", + "dweb:/ipfs/QmTkGSJtaQrqjcyWM4AgemeEmKgtDydKPPVRajsUJRQSrK" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/StorageSlot.sol": { + "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97", + "urls": [ + "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b", + "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Strings.sol": { + "keccak256": "0x725209b582291bb83058e3078624b53d15a133f7401c30295e7f3704181d2aed", + "urls": [ + "bzz-raw://0564ddb19c6d870e27b789d8f985283d815267ad7224883c2d5243c8bacc7dc0", + "dweb:/ipfs/QmeC953H4sj88ZRFdJNFdmpf7J9SksP1wK4jyMHLo66z49" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol": { + "keccak256": "0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84", + "urls": [ + "bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9", + "dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol": { + "keccak256": "0x10eb97d047f8d84fe263a02bb4a656ac6674f6679d74532cc37546289e073a9d", + "urls": [ + "bzz-raw://3e41287d40b0c46982f1083d40d32de2761f009c5c51627fe79a7feb0ab1cf5c", + "dweb:/ipfs/Qme7dbh6HX3ZvUJdbQAcVqXkmyXyfcLiUZRhhon3cU6K8p" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol": { + "keccak256": "0x4515543bc4c78561f6bea83ecfdfc3dead55bd59858287d682045b11de1ae575", + "urls": [ + "bzz-raw://60601f91440125727244fffd2ba84da7caafecaae0fd887c7ccfec678e02b61e", + "dweb:/ipfs/QmZnKPBtVDiQS9Dp8gZ4sa3ZeTrWVfqF7yuUd6Y8hwm1Rs" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", + "urls": [ + "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", + "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": { + "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", + "urls": [ + "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", + "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": { + "keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3", + "urls": [ + "bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03", + "dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/structs/Checkpoints.sol": { + "keccak256": "0x66364cd3247ea71cdb58f080f5d5ed6732433a8001413139661841535494692f", + "urls": [ + "bzz-raw://0f87914c6645b58eaf75f00a156037a7da91129f3a56aec44aebfc715b19ea44", + "dweb:/ipfs/QmNX7NLSMXyWuogvf8wfCwjUGwLhLBZrGktWPSdoHtERGp" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/types/Time.sol": { + "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", + "urls": [ + "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", + "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 57155, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_balances", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_uint256)" + }, + { + "astId": 57161, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_allowances", + "offset": 0, + "slot": "1", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" + }, + { + "astId": 57163, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_totalSupply", + "offset": 0, + "slot": "2", + "type": "t_uint256" + }, + { + "astId": 57165, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_name", + "offset": 0, + "slot": "3", + "type": "t_string_storage" + }, + { + "astId": 57167, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_symbol", + "offset": 0, + "slot": "4", + "type": "t_string_storage" + }, + { + "astId": 60691, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_nameFallback", + "offset": 0, + "slot": "5", + "type": "t_string_storage" + }, + { + "astId": 60693, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_versionFallback", + "offset": 0, + "slot": "6", + "type": "t_string_storage" + }, + { + "astId": 59154, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_nonces", + "offset": 0, + "slot": "7", + "type": "t_mapping(t_address,t_uint256)" + }, + { + "astId": 55655, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_delegatee", + "offset": 0, + "slot": "8", + "type": "t_mapping(t_address,t_address)" + }, + { + "astId": 55660, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_delegateCheckpoints", + "offset": 0, + "slot": "9", + "type": "t_mapping(t_address,t_struct(Trace208)65346_storage)" + }, + { + "astId": 55663, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_totalCheckpoints", + "offset": 0, + "slot": "10", + "type": "t_struct(Trace208)65346_storage" + } + ], + "types": { + "t_address": { "encoding": "inplace", "label": "address", "numberOfBytes": "20" }, + "t_array(t_struct(Checkpoint208)65351_storage)dyn_storage": { + "encoding": "dynamic_array", + "label": "struct Checkpoints.Checkpoint208[]", + "numberOfBytes": "32", + "base": "t_struct(Checkpoint208)65351_storage" + }, + "t_mapping(t_address,t_address)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => address)", + "numberOfBytes": "32", + "value": "t_address" + }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32", + "value": "t_mapping(t_address,t_uint256)" + }, + "t_mapping(t_address,t_struct(Trace208)65346_storage)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => struct Checkpoints.Trace208)", + "numberOfBytes": "32", + "value": "t_struct(Trace208)65346_storage" + }, + "t_mapping(t_address,t_uint256)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => uint256)", + "numberOfBytes": "32", + "value": "t_uint256" + }, + "t_string_storage": { "encoding": "bytes", "label": "string", "numberOfBytes": "32" }, + "t_struct(Checkpoint208)65351_storage": { + "encoding": "inplace", + "label": "struct Checkpoints.Checkpoint208", + "numberOfBytes": "32", + "members": [ + { + "astId": 65348, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_key", + "offset": 0, + "slot": "0", + "type": "t_uint48" + }, + { + "astId": 65350, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_value", + "offset": 6, + "slot": "0", + "type": "t_uint208" + } + ] + }, + "t_struct(Trace208)65346_storage": { + "encoding": "inplace", + "label": "struct Checkpoints.Trace208", + "numberOfBytes": "32", + "members": [ + { + "astId": 65345, + "contract": "contracts/economics/MMC.sol:MMC", + "label": "_checkpoints", + "offset": 0, + "slot": "0", + "type": "t_array(t_struct(Checkpoint208)65351_storage)dyn_storage" + } + ] + }, + "t_uint208": { "encoding": "inplace", "label": "uint208", "numberOfBytes": "26" }, + "t_uint256": { "encoding": "inplace", "label": "uint256", "numberOfBytes": "32" }, + "t_uint48": { "encoding": "inplace", "label": "uint48", "numberOfBytes": "6" } + } + }, + "ast": { + "absolutePath": "contracts/economics/MMC.sol", + "id": 1645, + "exportedSymbols": { + "ERC20": [57647], + "ERC20Burnable": [57771], + "ERC20Permit": [57925], + "ERC20Votes": [58057], + "IERC20Permit": [58119], + "MMC": [1644], + "Nonces": [59208] + }, + "nodeType": "SourceUnit", + "src": "81:1278:9", + "nodes": [ + { + "id": 1560, + "nodeType": "PragmaDirective", + "src": "81:23:9", + "nodes": [], + "literals": ["solidity", "0.8", ".26"] + }, + { + "id": 1562, + "nodeType": "ImportDirective", + "src": "106:66:9", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/utils/Nonces.sol", + "file": "@openzeppelin/contracts/utils/Nonces.sol", + "nameLocation": "-1:-1:-1", + "scope": 1645, + "sourceUnit": 59209, + "symbolAliases": [ + { + "foreign": { + "id": 1561, + "name": "Nonces", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 59208, + "src": "115:6:9", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1564, + "nodeType": "ImportDirective", + "src": "173:70:9", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "nameLocation": "-1:-1:-1", + "scope": 1645, + "sourceUnit": 57648, + "symbolAliases": [ + { + "foreign": { + "id": 1563, + "name": "ERC20", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57647, + "src": "182:5:9", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1566, + "nodeType": "ImportDirective", + "src": "244:95:9", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Permit.sol", + "nameLocation": "-1:-1:-1", + "scope": 1645, + "sourceUnit": 58120, + "symbolAliases": [ + { + "foreign": { + "id": 1565, + "name": "IERC20Permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58119, + "src": "253:12:9", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1568, + "nodeType": "ImportDirective", + "src": "340:93:9", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol", + "nameLocation": "-1:-1:-1", + "scope": 1645, + "sourceUnit": 57926, + "symbolAliases": [ + { + "foreign": { + "id": 1567, + "name": "ERC20Permit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57925, + "src": "349:11:9", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1570, + "nodeType": "ImportDirective", + "src": "434:91:9", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol", + "nameLocation": "-1:-1:-1", + "scope": 1645, + "sourceUnit": 58058, + "symbolAliases": [ + { + "foreign": { + "id": 1569, + "name": "ERC20Votes", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 58057, + "src": "443:10:9", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1572, + "nodeType": "ImportDirective", + "src": "526:97:9", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", + "nameLocation": "-1:-1:-1", + "scope": 1645, + "sourceUnit": 57772, + "symbolAliases": [ + { + "foreign": { + "id": 1571, + "name": "ERC20Burnable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57771, + "src": "535:13:9", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1644, + "nodeType": "ContractDefinition", + "src": "730:628:9", + "nodes": [ + { + "id": 1605, + "nodeType": "FunctionDefinition", + "src": "798:204:9", + "nodes": [], + "body": { + "id": 1604, + "nodeType": "Block", + "src": "939:63:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1595, + "name": "initialHolder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1582, + "src": "955:13:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1596, + "name": "totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1584, + "src": "970:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + }, + "id": 1599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3130", + "id": 1597, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "985:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "nodeType": "BinaryOperation", + "operator": "**", + "rightExpression": { + "hexValue": "3138", + "id": 1598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "991:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "src": "985:8:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + } + } + ], + "id": 1600, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "984:10:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000000000000000000_by_1", + "typeString": "int_const 1000000000000000000" + } + }, + "src": "970:24:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "id": 1594, + "name": "_mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 57487, + "src": "949:5:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 1602, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "949:46:9", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 1603, + "nodeType": "ExpressionStatement", + "src": "949:46:9" + } + ] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "hexValue": "4d756c74696d6564696120436f696e", + "id": 1587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "882:17:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e625c090e9ab494649aae59f29842b65b0a9339d4f98e95e3eaed271812ba9b9", + "typeString": "literal_string \"Multimedia Coin\"" + }, + "value": "Multimedia Coin" + }, + { + "hexValue": "4d4d43", + "id": 1588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "901:5:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4fc1f7d1181cb702f4d7fd78bafe860596cb1496c547504a9394035f93a3c0be", + "typeString": "literal_string \"MMC\"" + }, + "value": "MMC" + } + ], + "id": 1589, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 1586, + "name": "ERC20", + "nameLocations": ["876:5:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57647, + "src": "876:5:9" + }, + "nodeType": "ModifierInvocation", + "src": "876:31:9" + }, + { + "arguments": [ + { + "hexValue": "4d756c74696d6564696120436f696e", + "id": 1591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "920:17:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e625c090e9ab494649aae59f29842b65b0a9339d4f98e95e3eaed271812ba9b9", + "typeString": "literal_string \"Multimedia Coin\"" + }, + "value": "Multimedia Coin" + } + ], + "id": 1592, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 1590, + "name": "ERC20Permit", + "nameLocations": ["908:11:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57925, + "src": "908:11:9" + }, + "nodeType": "ModifierInvocation", + "src": "908:30:9" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 1585, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1582, + "mutability": "mutable", + "name": "initialHolder", + "nameLocation": "827:13:9", + "nodeType": "VariableDeclaration", + "scope": 1605, + "src": "819:21:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1581, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "819:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1584, + "mutability": "mutable", + "name": "totalSupply", + "nameLocation": "858:11:9", + "nodeType": "VariableDeclaration", + "scope": 1605, + "src": "850:19:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1583, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "850:7:9", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "809:66:9" + }, + "returnParameters": { + "id": 1593, + "nodeType": "ParameterList", + "parameters": [], + "src": "939:0:9" + }, + "scope": 1644, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 1622, + "nodeType": "FunctionDefinition", + "src": "1041:134:9", + "nodes": [], + "body": { + "id": 1621, + "nodeType": "Block", + "src": "1132:43:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1618, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1608, + "src": "1162:5:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "expression": { + "id": 1616, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1149:5:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_MMC_$1644_$", + "typeString": "type(contract super MMC)" + } + }, + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1155:6:9", + "memberName": "nonces", + "nodeType": "MemberAccess", + "referencedDeclaration": 57914, + "src": "1149:12:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_uint256_$", + "typeString": "function (address) view returns (uint256)" + } + }, + "id": 1619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1149:19:9", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 1615, + "id": 1620, + "nodeType": "Return", + "src": "1142:26:9" + } + ] + }, + "baseFunctions": [57914, 59167], + "documentation": { + "id": 1606, + "nodeType": "StructuredDocumentation", + "src": "1008:28:9", + "text": "@inheritdoc IERC20Permit" + }, + "functionSelector": "7ecebe00", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "nonces", + "nameLocation": "1050:6:9", + "overrides": { + "id": 1612, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 1610, + "name": "ERC20Permit", + "nameLocations": ["1093:11:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57925, + "src": "1093:11:9" + }, + { + "id": 1611, + "name": "Nonces", + "nameLocations": ["1106:6:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 59208, + "src": "1106:6:9" + } + ], + "src": "1084:29:9" + }, + "parameters": { + "id": 1609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1608, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1065:5:9", + "nodeType": "VariableDeclaration", + "scope": 1622, + "src": "1057:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1607, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1057:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "1056:15:9" + }, + "returnParameters": { + "id": 1615, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1614, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1622, + "src": "1123:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1613, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1123:7:9", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "1122:9:9" + }, + "scope": 1644, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 1643, + "nodeType": "FunctionDefinition", + "src": "1207:149:9", + "nodes": [], + "body": { + "id": 1642, + "nodeType": "Block", + "src": "1302:54:9", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1637, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1625, + "src": "1333:4:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1638, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1627, + "src": "1339:2:9", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1639, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1629, + "src": "1343:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "expression": { + "id": 1635, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "1319:5:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_MMC_$1644_$", + "typeString": "type(contract super MMC)" + } + }, + "id": 1636, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1325:7:9", + "memberName": "_update", + "nodeType": "MemberAccess", + "referencedDeclaration": 58012, + "src": "1319:13:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1640, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1319:30:9", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "functionReturnParameters": 1634, + "id": 1641, + "nodeType": "Return", + "src": "1312:37:9" + } + ] + }, + "baseFunctions": [57454, 58012], + "documentation": { + "id": 1623, + "nodeType": "StructuredDocumentation", + "src": "1181:21:9", + "text": "@inheritdoc ERC20" + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_update", + "nameLocation": "1216:7:9", + "overrides": { + "id": 1633, + "nodeType": "OverrideSpecifier", + "overrides": [ + { + "id": 1631, + "name": "ERC20", + "nameLocations": ["1283:5:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57647, + "src": "1283:5:9" + }, + { + "id": 1632, + "name": "ERC20Votes", + "nameLocations": ["1290:10:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58057, + "src": "1290:10:9" + } + ], + "src": "1274:27:9" + }, + "parameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1625, + "mutability": "mutable", + "name": "from", + "nameLocation": "1232:4:9", + "nodeType": "VariableDeclaration", + "scope": 1643, + "src": "1224:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1224:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1627, + "mutability": "mutable", + "name": "to", + "nameLocation": "1246:2:9", + "nodeType": "VariableDeclaration", + "scope": 1643, + "src": "1238:10:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1626, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1238:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1629, + "mutability": "mutable", + "name": "value", + "nameLocation": "1258:5:9", + "nodeType": "VariableDeclaration", + "scope": 1643, + "src": "1250:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1250:7:9", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "1223:41:9" + }, + "returnParameters": { + "id": 1634, + "nodeType": "ParameterList", + "parameters": [], + "src": "1302:0:9" + }, + "scope": 1644, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1573, + "name": "ERC20", + "nameLocations": ["746:5:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57647, + "src": "746:5:9" + }, + "id": 1574, + "nodeType": "InheritanceSpecifier", + "src": "746:5:9" + }, + { + "baseName": { + "id": 1575, + "name": "ERC20Permit", + "nameLocations": ["753:11:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57925, + "src": "753:11:9" + }, + "id": 1576, + "nodeType": "InheritanceSpecifier", + "src": "753:11:9" + }, + { + "baseName": { + "id": 1577, + "name": "ERC20Burnable", + "nameLocations": ["766:13:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 57771, + "src": "766:13:9" + }, + "id": 1578, + "nodeType": "InheritanceSpecifier", + "src": "766:13:9" + }, + { + "baseName": { + "id": 1579, + "name": "ERC20Votes", + "nameLocations": ["781:10:9"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 58057, + "src": "781:10:9" + }, + "id": 1580, + "nodeType": "InheritanceSpecifier", + "src": "781:10:9" + } + ], + "canonicalName": "MMC", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "internalFunctionIDs": { "56139": 1, "56153": 2 }, + "linearizedBaseContracts": [ + 1644, 58057, 56162, 56323, 55615, 56338, 57771, 57925, 59208, 60881, 56312, 58119, 57647, + 56390, 58083, 57725, 59118 + ], + "name": "MMC", + "nameLocation": "739:3:9", + "scope": 1645, + "usedErrors": [ + 55540, 55666, 55673, 56360, 56365, 56370, 56379, 56384, 56389, 57802, 57809, 57945, 59150, + 59460, 59462, 60317, 60322, 60327, 62910, 64817 + ], + "usedEvents": [55549, 55558, 56292, 57659, 57668] + } + ], + "license": "MIT" + }, + "id": 9 +} diff --git a/src/config/abi/PoliciesAgg.json b/src/config/abi/PoliciesAgg.json index 97e97a739..0576bbcf1 100644 --- a/src/config/abi/PoliciesAgg.json +++ b/src/config/abi/PoliciesAgg.json @@ -1 +1,3861 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"rightsPolicyAuthorizer","type":"address","internalType":"address"},{"name":"assetOwnership","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ASSET_OWNERSHIP","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAssetOwnership"}],"stateMutability":"view"},{"type":"function","name":"RIGHTS_POLICY_AUTHORIZER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRightsPolicyAuthorizer"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"authority","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getAssetSpecificPolicies","inputs":[{"name":"assetId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PoliciesAgg.PolicyTerms[]","components":[{"name":"policy","type":"address","internalType":"address"},{"name":"terms","type":"tuple","internalType":"struct T.Terms","components":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"},{"name":"rateBasis","type":"uint8","internalType":"enum T.RateBasis"},{"name":"uri","type":"string","internalType":"string"}]}]}],"stateMutability":"view"},{"type":"function","name":"getAvailablePoliciesTerms","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"criteria","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PoliciesAgg.PolicyTerms[]","components":[{"name":"policy","type":"address","internalType":"address"},{"name":"terms","type":"tuple","internalType":"struct T.Terms","components":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"},{"name":"rateBasis","type":"uint8","internalType":"enum T.RateBasis"},{"name":"uri","type":"string","internalType":"string"}]}]}],"stateMutability":"view"},{"type":"function","name":"getHolderWidePolicies","inputs":[{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct PoliciesAgg.PolicyTerms[]","components":[{"name":"policy","type":"address","internalType":"address"},{"name":"terms","type":"tuple","internalType":"struct T.Terms","components":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"},{"name":"rateBasis","type":"uint8","internalType":"enum T.RateBasis"},{"name":"uri","type":"string","internalType":"string"}]}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"accessManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isConsumingScheduledOp","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"setAuthority","inputs":[{"name":"newAuthority","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AuthorityUpdated","inputs":[{"name":"authority","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessManagedInvalidAuthority","inputs":[{"name":"authority","type":"address","internalType":"address"}]},{"type":"error","name":"AccessManagedRequiredDelay","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"delay","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"AccessManagedUnauthorized","inputs":[{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidUnauthorizedOperation","inputs":[{"name":"","type":"string","internalType":"string"}]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60e03461016657601f61169938819003918201601f19168301916001600160401b0383118484101761016a57808492604094855283398101031261016657610052602061004b8361017e565b920161017e565b90306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16610157576002600160401b03196001600160401b038216016100ee575b506001600160a01b0390811660a0521660c0526040516115069081610193823960805181818161079f0152610837015260a0518181816104e90152611011015260c05181818160c901526106ed0152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61009d565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101665756fe60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461081757806352d1902d1461077857806376e5cef1146106775780637a9e5e4b146105a05780638fb360371461050d578063968e48cf146104bd5780639f30b60f146104a3578063ad3cb1cc14610444578063bf7e214f146103f2578063c4d66de814610154578063d45944ca146100f15763f520d4eb1461009d575f80fd5b346100ed575f6003193601126100ed57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100ed5760206003193601126100ed57610150610144610110610c1d565b6040519073ffffffffffffffffffffffffffffffffffffffff811660208301526020825261013f604083610ca5565b610fb2565b60405191829182610ded565b0390f35b346100ed5760206003193601126100ed5761016d610c1d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103ea575b60011490816103e0575b1590816103d7575b506103af57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561035a575b506102306113e0565b6102386113e0565b6102406113e0565b6102486113e0565b61025181611335565b6102596113e0565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556102c757005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610227565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015846101be565b303b1591506101b6565b8491506101ac565b346100ed575f6003193601126100ed57602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100ed575f6003193601126100ed57610150604051610465604082610ca5565b600581527f352e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610daa565b346100ed576101506101446104b736610d20565b90610fb2565b346100ed575f6003193601126100ed57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100ed575f6003193601126100ed577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156105985760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f61056e565b346100ed5760206003193601126100ed576105b9610c1d565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416330361064b57803b156106095761060790611335565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100ed5760206003193601126100ed5760043560405190806020830152602082526106a4604083610ca5565b604051907f6352211e000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561076d575f9161072a575b6101506101448484610fb2565b90506020813d602011610765575b8161074560209383610ca5565b810103126100ed576101509161075d61014492610f09565b91509161071d565b3d9150610738565b6040513d5f823e3d90fd5b346100ed575f6003193601126100ed5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036107ef5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b61082036610d20565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610bdb575b506107ef576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa90811561076d575f91610b8e575b5015610b0a5773ffffffffffffffffffffffffffffffffffffffff8216916040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481875afa5f9181610ad6575b5061096e57837f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc859203610aab5750813b15610a8057807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115610a4f575f8083602061060795519101845af4610a49610f83565b91611437565b505034610a5857005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610b02575b81610af260209383610ca5565b810103126100ed5751908561093d565b3d9150610ae5565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610bd3575b81610ba960409383610ca5565b810103126100ed5780519081151582036100ed576020015163ffffffff8116036100ed57836108e8565b3d9150610b9c565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141583610862565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b6040810190811067ffffffffffffffff821117610c5c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff821117610c5c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c5c57604052565b67ffffffffffffffff8111610c5c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9060406003198301126100ed5760043573ffffffffffffffffffffffffffffffffffffffff811681036100ed579160243567ffffffffffffffff81116100ed57816023820112156100ed57806004013590610d7a82610ce6565b92610d886040519485610ca5565b828452602483830101116100ed57815f92602460209301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401925f905b828210610e1f57505050505090565b90919293947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08282030185526020865173ffffffffffffffffffffffffffffffffffffffff8151168352015190604060208201528151604082015273ffffffffffffffffffffffffffffffffffffffff60208301511660608201526040820151916004831015610edc57610ecf8260c0606060209594600197608088970152015191608060a08201520190610daa565b9701950193920190610e10565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b519073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b67ffffffffffffffff8111610c5c5760051b60200190565b8051821015610f565760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3d15610fad573d90610f9482610ce6565b91610fa26040519384610ca5565b82523d5f602084013e565b606090565b9073ffffffffffffffffffffffffffffffffffffffff604051927f591b43c50000000000000000000000000000000000000000000000000000000084521660048301525f8260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561076d575f9261129a575b508151917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061108861107285610f2a565b946110806040519687610ca5565b808652610f2a565b015f5b8181106112585750508051905f5b8281106110a7575050505090565b73ffffffffffffffffffffffffffffffffffffffff6110c68284610f42565b5116905f8060405160208101907fa39371110000000000000000000000000000000000000000000000000000000082526020602482015261113a8161110e604482018c610daa565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ca5565b5190855afa91611148610f83565b921561124e578251830160208101936020818303126100ed57602081015167ffffffffffffffff81116100ed570190608090829003126100ed576040519061118f82610c89565b602081015182526111a260408201610f09565b6020830152606081015160048110156100ed576040830152608081015167ffffffffffffffff81116100ed5760209101019380601f860112156100ed5784516111ea81610ce6565b916111f86040519384610ca5565b818352602082880101116100ed576020815f9282600199018386015e8301015260608201526040519161122a83610c40565b8252602082015261123b8288610f42565b526112468187610f42565b505b01611099565b5060019150611248565b60209060405161126781610c40565b5f815260405161127681610c89565b5f81525f848201525f6040820152606080820152838201528282880101520161108b565b9091503d805f833e6112ac8183610ca5565b8101906020818303126100ed5780519067ffffffffffffffff82116100ed57019080601f830112156100ed5781516112e381610f2a565b926112f16040519485610ca5565b81845260208085019260051b8201019283116100ed57602001905b82821061131d57505050905f611041565b6020809161132a84610f09565b81520191019061130c565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561140f57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611474575080511561144c57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806114c7575b611485575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561147d56fea26469706673582212206e198600d9375685c03c162ac2037f24828cdb44e5d9d100b2db48c6015b780664736f6c634300081a0033","sourceMap":"760:3818:3:-:0;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;-1:-1:-1;;;;;760:3818:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1171:4:56;;1163:13;;8837:64:55;760:3818:3;;;;;;7896:76:55;;-1:-1:-1;;;;;;;;;;;760:3818:3;;7985:34:55;7981:146;;-1:-1:-1;;;;;;;760:3818:3;;;;1648:74;760:3818;1732:49;;760:3818;;;;;;;;1163:13:56;760:3818:3;;;;;;;;;;1648:74;760:3818;;;;;;;;;;1732:49;760:3818;;;;;;;;;;;7981:146:55;-1:-1:-1;;;;;;760:3818:3;-1:-1:-1;;;;;760:3818:3;;;8837:64:55;760:3818:3;;;;;;8087:29:55;;760:3818:3;;8087:29:55;7981:146;;;7896:76;7938:23;;;-1:-1:-1;7938:23:55;;-1:-1:-1;7938:23:55;760:3818:3;-1:-1:-1;760:3818:3;;;;;;-1:-1:-1;760:3818:3;;;;;-1:-1:-1;760:3818:3;;;;-1:-1:-1;;;;;760:3818:3;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461081757806352d1902d1461077857806376e5cef1146106775780637a9e5e4b146105a05780638fb360371461050d578063968e48cf146104bd5780639f30b60f146104a3578063ad3cb1cc14610444578063bf7e214f146103f2578063c4d66de814610154578063d45944ca146100f15763f520d4eb1461009d575f80fd5b346100ed575f6003193601126100ed57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100ed5760206003193601126100ed57610150610144610110610c1d565b6040519073ffffffffffffffffffffffffffffffffffffffff811660208301526020825261013f604083610ca5565b610fb2565b60405191829182610ded565b0390f35b346100ed5760206003193601126100ed5761016d610c1d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103ea575b60011490816103e0575b1590816103d7575b506103af57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561035a575b506102306113e0565b6102386113e0565b6102406113e0565b6102486113e0565b61025181611335565b6102596113e0565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556102c757005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610227565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015846101be565b303b1591506101b6565b8491506101ac565b346100ed575f6003193601126100ed57602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100ed575f6003193601126100ed57610150604051610465604082610ca5565b600581527f352e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610daa565b346100ed576101506101446104b736610d20565b90610fb2565b346100ed575f6003193601126100ed57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100ed575f6003193601126100ed577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156105985760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f61056e565b346100ed5760206003193601126100ed576105b9610c1d565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416330361064b57803b156106095761060790611335565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100ed5760206003193601126100ed5760043560405190806020830152602082526106a4604083610ca5565b604051907f6352211e000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561076d575f9161072a575b6101506101448484610fb2565b90506020813d602011610765575b8161074560209383610ca5565b810103126100ed576101509161075d61014492610f09565b91509161071d565b3d9150610738565b6040513d5f823e3d90fd5b346100ed575f6003193601126100ed5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036107ef5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b61082036610d20565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610bdb575b506107ef576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa90811561076d575f91610b8e575b5015610b0a5773ffffffffffffffffffffffffffffffffffffffff8216916040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481875afa5f9181610ad6575b5061096e57837f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc859203610aab5750813b15610a8057807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115610a4f575f8083602061060795519101845af4610a49610f83565b91611437565b505034610a5857005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610b02575b81610af260209383610ca5565b810103126100ed5751908561093d565b3d9150610ae5565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610bd3575b81610ba960409383610ca5565b810103126100ed5780519081151582036100ed576020015163ffffffff8116036100ed57836108e8565b3d9150610b9c565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141583610862565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b6040810190811067ffffffffffffffff821117610c5c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff821117610c5c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c5c57604052565b67ffffffffffffffff8111610c5c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9060406003198301126100ed5760043573ffffffffffffffffffffffffffffffffffffffff811681036100ed579160243567ffffffffffffffff81116100ed57816023820112156100ed57806004013590610d7a82610ce6565b92610d886040519485610ca5565b828452602483830101116100ed57815f92602460209301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401925f905b828210610e1f57505050505090565b90919293947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08282030185526020865173ffffffffffffffffffffffffffffffffffffffff8151168352015190604060208201528151604082015273ffffffffffffffffffffffffffffffffffffffff60208301511660608201526040820151916004831015610edc57610ecf8260c0606060209594600197608088970152015191608060a08201520190610daa565b9701950193920190610e10565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b519073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b67ffffffffffffffff8111610c5c5760051b60200190565b8051821015610f565760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3d15610fad573d90610f9482610ce6565b91610fa26040519384610ca5565b82523d5f602084013e565b606090565b9073ffffffffffffffffffffffffffffffffffffffff604051927f591b43c50000000000000000000000000000000000000000000000000000000084521660048301525f8260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561076d575f9261129a575b508151917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061108861107285610f2a565b946110806040519687610ca5565b808652610f2a565b015f5b8181106112585750508051905f5b8281106110a7575050505090565b73ffffffffffffffffffffffffffffffffffffffff6110c68284610f42565b5116905f8060405160208101907fa39371110000000000000000000000000000000000000000000000000000000082526020602482015261113a8161110e604482018c610daa565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ca5565b5190855afa91611148610f83565b921561124e578251830160208101936020818303126100ed57602081015167ffffffffffffffff81116100ed570190608090829003126100ed576040519061118f82610c89565b602081015182526111a260408201610f09565b6020830152606081015160048110156100ed576040830152608081015167ffffffffffffffff81116100ed5760209101019380601f860112156100ed5784516111ea81610ce6565b916111f86040519384610ca5565b818352602082880101116100ed576020815f9282600199018386015e8301015260608201526040519161122a83610c40565b8252602082015261123b8288610f42565b526112468187610f42565b505b01611099565b5060019150611248565b60209060405161126781610c40565b5f815260405161127681610c89565b5f81525f848201525f6040820152606080820152838201528282880101520161108b565b9091503d805f833e6112ac8183610ca5565b8101906020818303126100ed5780519067ffffffffffffffff82116100ed57019080601f830112156100ed5781516112e381610f2a565b926112f16040519485610ca5565b81845260208085019260051b8201019283116100ed57602001905b82821061131d57505050905f611041565b6020809161132a84610f09565b81520191019061130c565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561140f57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611474575080511561144c57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806114c7575b611485575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561147d56fea26469706673582212206e198600d9375685c03c162ac2037f24828cdb44e5d9d100b2db48c6015b780664736f6c634300081a0033","sourceMap":"760:3818:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;;;;1240:48;760:3818;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;2503:43;760:3818;;:::i;:::-;;;;;;;;2443:18;;760:3818;;2443:18;;;760:3818;2443:18;;:::i;:::-;2503:43;:::i;:::-;760:3818;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;;:::i;:::-;8837:64:55;760:3818:3;;;;;;4301:16:55;760:3818:3;;;;4726:16:55;;:34;;;;760:3818:3;4805:1:55;4790:16;:50;;;;760:3818:3;4855:13:55;:30;;;;760:3818:3;4851:91:55;;;760:3818:3;;4805:1:55;760:3818:3;;;;;8837:64:55;760:3818:3;4979:67:55;;760:3818:3;6893:76:55;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:54;;;:::i;:::-;6893:76:55;;:::i;:::-;760:3818:3;;3295:62:102;760:3818:3;;;3295:62:102;760:3818:3;5066:101:55;;760:3818:3;5066:101:55;760:3818:3;8837:64:55;760:3818:3;;8837:64:55;760:3818:3;5142:14:55;760:3818:3;;;4805:1:55;760:3818:3;;5142:14:55;760:3818:3;4979:67:55;760:3818:3;;;;8837:64:55;760:3818:3;4979:67:55;;;4851:91;4908:23;760:3818:3;4908:23:55;760:3818:3;;4908:23:55;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:55;;4726:34;;;-1:-1:-1;4726:34:55;;760:3818:3;;;;;-1:-1:-1;;760:3818:3;;;;;;;1782:71:54;760:3818:3;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;760:3818:3;;;;;;;;;1103:65;760:3818;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;1782:71:54;760:3818:3;;;;;4698:71:54;;;760:3818:3;;4698:71:54;760:3818:3;;;;;;;;4698:71:54;760:3818:3;;4698:71:54;;760:3818:3;;;;;-1:-1:-1;;760:3818:3;;;;;;;:::i;:::-;;1782:71:54;760:3818:3;;966:10:57;4258:21:54;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;760:3818:3;4355:110:54;760:3818:3;4411:43:54;;760:3818:3;4411:43:54;760:3818:3;;;;;4411:43:54;4254:92;4302:33;760:3818:3;4302:33:54;966:10:57;760:3818:3;;;;4302:33:54;760:3818:3;;;;;-1:-1:-1;;760:3818:3;;;;;;;;;2889:19;;760:3818;2889:19;;760:3818;;2889:19;;;760:3818;2889:19;;:::i;:::-;760:3818;;2935:32;760:3818;2935:32;;760:3818;2935:32;;760:3818;;2935:15;:32;:15;760:3818;2935:15;760:3818;2935:32;;;;;;;760:3818;2935:32;;;760:3818;;3009:43;;;;:::i;2935:32::-;;;760:3818;2935:32;;760:3818;2935:32;;;;;;760:3818;2935:32;;;:::i;:::-;;;760:3818;;;;;;;3009:43;760:3818;;:::i;:::-;2935:32;;;;;;;;-1:-1:-1;2935:32:3;;;760:3818;;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;5115:6:56;760:3818:3;5106:4:56;5098:23;5094:145;;760:3818:3;;;811:66:68;760:3818:3;;;5094:145:56;5199:29;760:3818:3;5199:29:56;760:3818:3;;5199:29:56;760:3818:3;;;;:::i;:::-;;4692:6:56;760:3818:3;4683:4:56;;4675:23;:120;;;;;760:3818:3;4658:251:56;;;3058:30:102;760:3818:3;;3295:62:102;760:3818:3;;;;3058:30:102;;;;760:3818:3;3058:30:102;;760:3818:3;;3058:30:102;;760:3818:3;1893:10:102;760:3818:3;;;;3058:30:102;;;;;;;760:3818:3;3058:30:102;;;760:3818:3;1869:35:102;;1865:140;;760:3818:3;;;;;;;6156:52:56;;760:3818:3;6156:52:56;760:3818:3;6156:52:56;;;;760:3818:3;;6156:52:56;;;760:3818:3;-1:-1:-1;6152:437:56;;6518:60;;760:3818:3;6518:60:56;760:3818:3;;;;6518:60:56;6152:437;6250:40;811:66:68;6250:40:56;;;6246:120;;1748:29:68;;;:34;1744:119;;760:3818:3;;811:66:68;760:3818:3;;;811:66:68;760:3818:3;2407:36:68;760:3818:3;2407:36:68;;760:3818:3;;2458:15:68;:11;;760:3818:3;4049:25:75;;760:3818:3;4091:55:75;4049:25;;;;;;;;;:::i;:::-;4091:55;;:::i;2454:148:68:-;6163:9;;;6159:70;;760:3818:3;6159:70:68;6199:19;760:3818:3;6199:19:68;760:3818:3;;6199:19:68;1744:119;1805:47;760:3818:3;1805:47:68;760:3818:3;;;;1805:47:68;6246:120:56;6317:34;760:3818:3;6317:34:56;760:3818:3;;;;6317:34:56;6156:52;;;;760:3818:3;6156:52:56;;760:3818:3;6156:52:56;;;;;;760:3818:3;6156:52:56;;;:::i;:::-;;;760:3818:3;;;;;6156:52:56;;;;;;;-1:-1:-1;6156:52:56;;1865:140:102;1927:67;760:3818:3;;1927:67:102;;;760:3818:3;;1927:67:102;;520:1:100;;760:3818:3;520:1:100;;760:3818:3;520:1:100;3058:30:102;760:3818:3;;520:1:100;;;;;;1927:67:102;3058:30;;;760:3818:3;3058:30:102;;760:3818:3;3058:30:102;;;;;;760:3818:3;3058:30:102;;;:::i;:::-;;;760:3818:3;;;;;;;;;;;;;;;;;;;;;;;3058:30:102;;;;;;-1:-1:-1;3058:30:102;;4675:120:56;760:3818:3;;;811:66:68;760:3818:3;;4753:42:56;;4675:120;;;760:3818:3;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;760:3818:3;;;;;-1:-1:-1;760:3818:3;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;760:3818:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;760:3818:3;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;760:3818:3;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;760:3818:3;;;;:::o;:::-;;;:::o;3292:896::-;;760:3818;;;3469:54;760:3818;3469:54;;760:3818;3469:54;;;760:3818;-1:-1:-1;3469:24:3;:54;:24;760:3818;3469:24;760:3818;3469:54;;;;;;;-1:-1:-1;3469:54:3;;;3292:896;760:3818;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;-1:-1:-1;760:3818:3;;;;;;;;;;3668:13;-1:-1:-1;3683:24:3;;;;;;4169:12;;;;3292:896;:::o;3709:20::-;760:3818;3769:11;;;;:::i;:::-;760:3818;;;-1:-1:-1;760:3818:3;;;;3818:48;;;;;;760:3818;3469:54;3818:48;;760:3818;3818:48;760:3818;;;;;;;:::i;:::-;3818:48;760:3818;3818:48;;;;;;:::i;:::-;3918:34;;;;;;;;:::i;:::-;3970:8;;3966:22;;760:3818;;4043:29;;760:3818;4043:29;;760:3818;;;;;;;;;4043:29;;760:3818;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;3469:54;760:3818;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;760:3818:3;;884:1:98;760:3818:3;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4097:51;;760:3818;4086:62;;;;:::i;:::-;;;;;;:::i;:::-;;3668:13;760:3818;3668:13;;3966:22;3980:8;884:1:98;3980:8:3;;;;760:3818;;;;;;;;:::i;:::-;-1:-1:-1;760:3818:3;;;;;;;:::i;:::-;-1:-1:-1;760:3818:3;;-1:-1:-1;760:3818:3;;;;-1:-1:-1;760:3818:3;;;;;;;;;;;;;;;;;;;;;;3469:54;;;;;;-1:-1:-1;3469:54:3;;;;;;:::i;:::-;;;760:3818;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3469:54;;;;;;;760:3818;;;;;;;:::i;:::-;;;;;;;;;4964:220:54;760:3818:3;;5147:30:54;4964:220;760:3818:3;;;1782:71:54;760:3818:3;;;1782:71:54;760:3818:3;;;;;;5147:30:54;4964:220::o;7084:141:55:-;760:3818:3;8837:64:55;760:3818:3;;;;7150:18:55;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:55;;-1:-1:-1;7191:17:55;4421:582:75;;4593:8;;-1:-1:-1;760:3818:3;;5674:21:75;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;760:3818:3;;4841:22:75;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;760:3818:3;4917:24:75;;4862:1;4917:24;760:3818:3;4917:24:75;760:3818:3;;4862:1:75;4917:24;4841:49;4867:18;;;:23;4841:49;","linkReferences":{},"immutableReferences":{"240":[{"start":1257,"length":32},{"start":4113,"length":32}],"244":[{"start":201,"length":32},{"start":1773,"length":32}],"43541":[{"start":1951,"length":32},{"start":2103,"length":32}]}},"methodIdentifiers":{"ASSET_OWNERSHIP()":"f520d4eb","RIGHTS_POLICY_AUTHORIZER()":"968e48cf","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","authority()":"bf7e214f","getAssetSpecificPolicies(uint256)":"76e5cef1","getAvailablePoliciesTerms(address,bytes)":"9f30b60f","getHolderWidePolicies(address)":"d45944ca","initialize(address)":"c4d66de8","isConsumingScheduledOp()":"8fb36037","proxiableUUID()":"52d1902d","setAuthority(address)":"7a9e5e4b","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rightsPolicyAuthorizer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"assetOwnership\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ASSET_OWNERSHIP\",\"outputs\":[{\"internalType\":\"contract IAssetOwnership\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RIGHTS_POLICY_AUTHORIZER\",\"outputs\":[{\"internalType\":\"contract IRightsPolicyAuthorizer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assetId\",\"type\":\"uint256\"}],\"name\":\"getAssetSpecificPolicies\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"enum T.RateBasis\",\"name\":\"rateBasis\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct T.Terms\",\"name\":\"terms\",\"type\":\"tuple\"}],\"internalType\":\"struct PoliciesAgg.PolicyTerms[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"criteria\",\"type\":\"bytes\"}],\"name\":\"getAvailablePoliciesTerms\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"enum T.RateBasis\",\"name\":\"rateBasis\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct T.Terms\",\"name\":\"terms\",\"type\":\"tuple\"}],\"internalType\":\"struct PoliciesAgg.PolicyTerms[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getHolderWidePolicies\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"enum T.RateBasis\",\"name\":\"rateBasis\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct T.Terms\",\"name\":\"terms\",\"type\":\"tuple\"}],\"internalType\":\"struct PoliciesAgg.PolicyTerms[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAssetSpecificPolicies(uint256)\":{\"params\":{\"assetId\":\"The unique identifier of the asset whose policies are being queried.\"}},\"getAvailablePoliciesTerms(address,bytes)\":{\"params\":{\"criteria\":\"Encoded data for policy evaluation.\",\"holder\":\"Address of the rights holder.\"}},\"getHolderWidePolicies(address)\":{\"params\":{\"holder\":\"The address of the rights holder whose policies are being queried.\"}},\"initialize(address)\":{\"details\":\"Sets up the contract for usage.\",\"params\":{\"accessManager\":\"Address of the Access Manager contract used for permission handling.\"}},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"ASSET_OWNERSHIP\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"},\"RIGHTS_POLICY_AUTHORIZER\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getAssetSpecificPolicies(uint256)\":{\"notice\":\"Retrieves all policies that govern operations on a specific asset.\"},\"getAvailablePoliciesTerms(address,bytes)\":{\"notice\":\"Retrieves all available policies for a holder matching specific criteria.\"},\"getHolderWidePolicies(address)\":{\"notice\":\"Retrieves all policies that apply to the entirety of a holder's content.\"},\"initialize(address)\":{\"notice\":\"Initializes the proxy state.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/aggregation/PoliciesAgg.sol\":\"PoliciesAgg\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=node_modules/@synaps3/types/contracts/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"contracts/aggregation/PoliciesAgg.sol\":{\"keccak256\":\"0xfdd745d8471c568185c27d032f98428d33564214b8105b62d6420012ceb420dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22eae57023f6b71576d7d1838814b34fbf55bcfcb67f25b86d278a6d176a81ad\",\"dweb:/ipfs/QmTBv6iGzAqfMzyV7jFCkN5935pRxwdoJUnetESBkwLT4n\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol\":{\"keccak256\":\"0x266376c23b74506b9b8d9ed90f1bc310cc7330b8d3e6ca6e6eb4021b3668aa18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3614788ae9f18a9b472baaf6bb6dc1abe3d78a397f791e30efbe4f1965b3e025\",\"dweb:/ipfs/QmPhLLbi88yH9NxhV18xutazHAYm2HSaEpSoTwR6v5BiDB\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol\":{\"keccak256\":\"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405\",\"dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol\":{\"keccak256\":\"0x7788d64a9d12536ad06115d72faef14dfc131def88bc15e8901d64d67f231419\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecb519a42d82d23498f17644216cd4041b87ee126c2b471f05418af2bb6ae130\",\"dweb:/ipfs/QmTLZw15MB1aXZCvbXfvDozqPm29c3CqiSsgSdMpXEM3o4\"]},\"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol\":{\"keccak256\":\"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2\",\"dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Types.sol\":{\"keccak256\":\"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf\",\"dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe\"]},\"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"rightsPolicyAuthorizer","type":"address"},{"internalType":"address","name":"assetOwnership","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"authority","type":"address"}],"type":"error","name":"AccessManagedInvalidAuthority"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint32","name":"delay","type":"uint32"}],"type":"error","name":"AccessManagedRequiredDelay"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"AccessManagedUnauthorized"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"InvalidUnauthorizedOperation"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"address","name":"authority","type":"address","indexed":false}],"type":"event","name":"AuthorityUpdated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ASSET_OWNERSHIP","outputs":[{"internalType":"contract IAssetOwnership","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RIGHTS_POLICY_AUTHORIZER","outputs":[{"internalType":"contract IRightsPolicyAuthorizer","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"authority","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"assetId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getAssetSpecificPolicies","outputs":[{"internalType":"struct PoliciesAgg.PolicyTerms[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"policy","type":"address"},{"internalType":"struct T.Terms","name":"terms","type":"tuple","components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"enum T.RateBasis","name":"rateBasis","type":"uint8"},{"internalType":"string","name":"uri","type":"string"}]}]}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bytes","name":"criteria","type":"bytes"}],"stateMutability":"view","type":"function","name":"getAvailablePoliciesTerms","outputs":[{"internalType":"struct PoliciesAgg.PolicyTerms[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"policy","type":"address"},{"internalType":"struct T.Terms","name":"terms","type":"tuple","components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"enum T.RateBasis","name":"rateBasis","type":"uint8"},{"internalType":"string","name":"uri","type":"string"}]}]}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getHolderWidePolicies","outputs":[{"internalType":"struct PoliciesAgg.PolicyTerms[]","name":"","type":"tuple[]","components":[{"internalType":"address","name":"policy","type":"address"},{"internalType":"struct T.Terms","name":"terms","type":"tuple","components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"enum T.RateBasis","name":"rateBasis","type":"uint8"},{"internalType":"string","name":"uri","type":"string"}]}]}]},{"inputs":[{"internalType":"address","name":"accessManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isConsumingScheduledOp","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"newAuthority","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAuthority"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"authority()":{"details":"Returns the current authority."},"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"getAssetSpecificPolicies(uint256)":{"params":{"assetId":"The unique identifier of the asset whose policies are being queried."}},"getAvailablePoliciesTerms(address,bytes)":{"params":{"criteria":"Encoded data for policy evaluation.","holder":"Address of the rights holder."}},"getHolderWidePolicies(address)":{"params":{"holder":"The address of the rights holder whose policies are being queried."}},"initialize(address)":{"details":"Sets up the contract for usage.","params":{"accessManager":"Address of the Access Manager contract used for permission handling."}},"isConsumingScheduledOp()":{"details":"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls."},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"setAuthority(address)":{"details":"Transfers control to a new authority. The caller must be the current authority."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"getAssetSpecificPolicies(uint256)":{"notice":"Retrieves all policies that govern operations on a specific asset."},"getAvailablePoliciesTerms(address,bytes)":{"notice":"Retrieves all available policies for a holder matching specific criteria."},"getHolderWidePolicies(address)":{"notice":"Retrieves all policies that apply to the entirety of a holder's content."},"initialize(address)":{"notice":"Initializes the proxy state."}},"version":1}},"settings":{"remappings":["@account-abstraction/=node_modules/@account-abstraction/","@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/","@ethsign/=node_modules/@ethsign/","@openzeppelin/=node_modules/@openzeppelin/","@synaps3/=node_modules/@synaps3/types/contracts/","@uniswap/=node_modules/@uniswap/","base64-sol/=node_modules/base64-sol/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/aggregation/PoliciesAgg.sol":"PoliciesAgg"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/aggregation/PoliciesAgg.sol":{"keccak256":"0xfdd745d8471c568185c27d032f98428d33564214b8105b62d6420012ceb420dd","urls":["bzz-raw://22eae57023f6b71576d7d1838814b34fbf55bcfcb67f25b86d278a6d176a81ad","dweb:/ipfs/QmTBv6iGzAqfMzyV7jFCkN5935pRxwdoJUnetESBkwLT4n"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol":{"keccak256":"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373","urls":["bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447","dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27","urls":["bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e","dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol":{"keccak256":"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4","urls":["bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e","dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol":{"keccak256":"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6","urls":["bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694","dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol":{"keccak256":"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2","urls":["bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4","dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol":{"keccak256":"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030","urls":["bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c","dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol":{"keccak256":"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f","urls":["bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e","dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol":{"keccak256":"0x266376c23b74506b9b8d9ed90f1bc310cc7330b8d3e6ca6e6eb4021b3668aa18","urls":["bzz-raw://3614788ae9f18a9b472baaf6bb6dc1abe3d78a397f791e30efbe4f1965b3e025","dweb:/ipfs/QmPhLLbi88yH9NxhV18xutazHAYm2HSaEpSoTwR6v5BiDB"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol":{"keccak256":"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02","urls":["bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405","dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol":{"keccak256":"0x7788d64a9d12536ad06115d72faef14dfc131def88bc15e8901d64d67f231419","urls":["bzz-raw://ecb519a42d82d23498f17644216cd4041b87ee126c2b471f05418af2bb6ae130","dweb:/ipfs/QmTLZw15MB1aXZCvbXfvDozqPm29c3CqiSsgSdMpXEM3o4"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol":{"keccak256":"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411","urls":["bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2","dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol":{"keccak256":"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e","urls":["bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1","dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/Types.sol":{"keccak256":"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1","urls":["bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf","dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol":{"keccak256":"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df","urls":["bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2","dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"contracts/aggregation/PoliciesAgg.sol","id":472,"exportedSymbols":{"AccessControlledUpgradeable":[51361],"IAssetOwnership":[50146],"IPolicy":[50308],"IRightsPolicyAuthorizer":[50391],"Initializable":[43521],"LoopOps":[50745],"PoliciesAgg":[471],"T":[51233],"UUPSUpgradeable":[43703]},"nodeType":"SourceUnit","src":"32:4547:3","nodes":[{"id":204,"nodeType":"PragmaDirective","src":"32:23:3","nodes":[],"literals":["solidity","0.8",".26"]},{"id":206,"nodeType":"ImportDirective","src":"57:98:3","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":472,"sourceUnit":43522,"symbolAliases":[{"foreign":{"id":205,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43521,"src":"66:13:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":208,"nodeType":"ImportDirective","src":"156:102:3","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":472,"sourceUnit":43704,"symbolAliases":[{"foreign":{"id":207,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43703,"src":"165:15:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":210,"nodeType":"ImportDirective","src":"260:86:3","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol","file":"@synaps3/core/interfaces/assets/IAssetOwnership.sol","nameLocation":"-1:-1:-1","scope":472,"sourceUnit":50147,"symbolAliases":[{"foreign":{"id":209,"name":"IAssetOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50146,"src":"269:15:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":212,"nodeType":"ImportDirective","src":"347:115:3","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol","file":"@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol","nameLocation":"-1:-1:-1","scope":472,"sourceUnit":51362,"symbolAliases":[{"foreign":{"id":211,"name":"AccessControlledUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51361,"src":"356:27:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":214,"nodeType":"ImportDirective","src":"463:102:3","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol","file":"@synaps3/core/interfaces/rights/IRightsPolicyAuthorizer.sol","nameLocation":"-1:-1:-1","scope":472,"sourceUnit":50392,"symbolAliases":[{"foreign":{"id":213,"name":"IRightsPolicyAuthorizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50391,"src":"472:23:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":216,"nodeType":"ImportDirective","src":"567:72:3","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol","file":"@synaps3/core/interfaces/policies/IPolicy.sol","nameLocation":"-1:-1:-1","scope":472,"sourceUnit":50309,"symbolAliases":[{"foreign":{"id":215,"name":"IPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50308,"src":"576:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":218,"nodeType":"ImportDirective","src":"640:62:3","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol","file":"@synaps3/core/libraries/LoopOps.sol","nameLocation":"-1:-1:-1","scope":472,"sourceUnit":50746,"symbolAliases":[{"foreign":{"id":217,"name":"LoopOps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50745,"src":"649:7:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":220,"nodeType":"ImportDirective","src":"703:55:3","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/primitives/Types.sol","file":"@synaps3/core/primitives/Types.sol","nameLocation":"-1:-1:-1","scope":472,"sourceUnit":51234,"symbolAliases":[{"foreign":{"id":219,"name":"T","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51233,"src":"712:1:3","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":471,"nodeType":"ContractDefinition","src":"760:3818:3","nodes":[{"id":229,"nodeType":"UsingForDirective","src":"850:26:3","nodes":[],"global":false,"libraryName":{"id":227,"name":"LoopOps","nameLocations":["856:7:3"],"nodeType":"IdentifierPath","referencedDeclaration":50745,"src":"856:7:3"},"typeName":{"id":228,"name":"uint256","nodeType":"ElementaryTypeName","src":"868:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":236,"nodeType":"StructDefinition","src":"958:73:3","nodes":[],"canonicalName":"PoliciesAgg.PolicyTerms","documentation":{"id":230,"nodeType":"StructuredDocumentation","src":"882:71:3","text":"@notice structure to hold the relationship between policy and terms"},"members":[{"constant":false,"id":232,"mutability":"mutable","name":"policy","nameLocation":"995:6:3","nodeType":"VariableDeclaration","scope":236,"src":"987:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":231,"name":"address","nodeType":"ElementaryTypeName","src":"987:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":235,"mutability":"mutable","name":"terms","nameLocation":"1019:5:3","nodeType":"VariableDeclaration","scope":236,"src":"1011:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_storage_ptr","typeString":"struct T.Terms"},"typeName":{"id":234,"nodeType":"UserDefinedTypeName","pathNode":{"id":233,"name":"T.Terms","nameLocations":["1011:1:3","1013:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"1011:7:3"},"referencedDeclaration":51222,"src":"1011:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_storage_ptr","typeString":"struct T.Terms"}},"visibility":"internal"}],"name":"PolicyTerms","nameLocation":"965:11:3","scope":471,"visibility":"public"},{"id":240,"nodeType":"VariableDeclaration","src":"1103:65:3","nodes":[],"constant":false,"documentation":{"id":237,"nodeType":"StructuredDocumentation","src":"1037:61:3","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"functionSelector":"968e48cf","mutability":"immutable","name":"RIGHTS_POLICY_AUTHORIZER","nameLocation":"1144:24:3","scope":471,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyAuthorizer_$50391","typeString":"contract IRightsPolicyAuthorizer"},"typeName":{"id":239,"nodeType":"UserDefinedTypeName","pathNode":{"id":238,"name":"IRightsPolicyAuthorizer","nameLocations":["1103:23:3"],"nodeType":"IdentifierPath","referencedDeclaration":50391,"src":"1103:23:3"},"referencedDeclaration":50391,"src":"1103:23:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyAuthorizer_$50391","typeString":"contract IRightsPolicyAuthorizer"}},"visibility":"public"},{"id":244,"nodeType":"VariableDeclaration","src":"1240:48:3","nodes":[],"constant":false,"documentation":{"id":241,"nodeType":"StructuredDocumentation","src":"1174:61:3","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"functionSelector":"f520d4eb","mutability":"immutable","name":"ASSET_OWNERSHIP","nameLocation":"1273:15:3","scope":471,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IAssetOwnership_$50146","typeString":"contract IAssetOwnership"},"typeName":{"id":243,"nodeType":"UserDefinedTypeName","pathNode":{"id":242,"name":"IAssetOwnership","nameLocations":["1240:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":50146,"src":"1240:15:3"},"referencedDeclaration":50146,"src":"1240:15:3","typeDescriptions":{"typeIdentifier":"t_contract$_IAssetOwnership_$50146","typeString":"contract IAssetOwnership"}},"visibility":"public"},{"id":268,"nodeType":"FunctionDefinition","src":"1348:440:3","nodes":[],"body":{"id":267,"nodeType":"Block","src":"1416:372:3","nodes":[],"statements":[{"documentation":"https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5","expression":{"arguments":[],"expression":{"argumentTypes":[],"id":252,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43489,"src":"1616:20:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1616:22:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":254,"nodeType":"ExpressionStatement","src":"1616:22:3"},{"expression":{"id":259,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":255,"name":"RIGHTS_POLICY_AUTHORIZER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"1648:24:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyAuthorizer_$50391","typeString":"contract IRightsPolicyAuthorizer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":257,"name":"rightsPolicyAuthorizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":247,"src":"1699:22:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":256,"name":"IRightsPolicyAuthorizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50391,"src":"1675:23:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IRightsPolicyAuthorizer_$50391_$","typeString":"type(contract IRightsPolicyAuthorizer)"}},"id":258,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1675:47:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyAuthorizer_$50391","typeString":"contract IRightsPolicyAuthorizer"}},"src":"1648:74:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyAuthorizer_$50391","typeString":"contract IRightsPolicyAuthorizer"}},"id":260,"nodeType":"ExpressionStatement","src":"1648:74:3"},{"expression":{"id":265,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":261,"name":"ASSET_OWNERSHIP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"1732:15:3","typeDescriptions":{"typeIdentifier":"t_contract$_IAssetOwnership_$50146","typeString":"contract IAssetOwnership"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":263,"name":"assetOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":249,"src":"1766:14:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":262,"name":"IAssetOwnership","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50146,"src":"1750:15:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IAssetOwnership_$50146_$","typeString":"type(contract IAssetOwnership)"}},"id":264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1750:31:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IAssetOwnership_$50146","typeString":"contract IAssetOwnership"}},"src":"1732:49:3","typeDescriptions":{"typeIdentifier":"t_contract$_IAssetOwnership_$50146","typeString":"contract IAssetOwnership"}},"id":266,"nodeType":"ExpressionStatement","src":"1732:49:3"}]},"documentation":{"id":245,"nodeType":"StructuredDocumentation","src":"1295:48:3","text":"@custom:oz-upgrades-unsafe-allow constructor"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":247,"mutability":"mutable","name":"rightsPolicyAuthorizer","nameLocation":"1368:22:3","nodeType":"VariableDeclaration","scope":268,"src":"1360:30:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":246,"name":"address","nodeType":"ElementaryTypeName","src":"1360:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":249,"mutability":"mutable","name":"assetOwnership","nameLocation":"1400:14:3","nodeType":"VariableDeclaration","scope":268,"src":"1392:22:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":248,"name":"address","nodeType":"ElementaryTypeName","src":"1392:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1359:56:3"},"returnParameters":{"id":251,"nodeType":"ParameterList","parameters":[],"src":"1416:0:3"},"scope":471,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":284,"nodeType":"FunctionDefinition","src":"1982:151:3","nodes":[],"body":{"id":283,"nodeType":"Block","src":"2044:89:3","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":276,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":43575,"src":"2054:22:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":277,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2054:24:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":278,"nodeType":"ExpressionStatement","src":"2054:24:3"},{"expression":{"arguments":[{"id":280,"name":"accessManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":271,"src":"2112:13:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":279,"name":"__AccessControlled_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51296,"src":"2088:23:3","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2088:38:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":282,"nodeType":"ExpressionStatement","src":"2088:38:3"}]},"documentation":{"id":269,"nodeType":"StructuredDocumentation","src":"1794:183:3","text":"@notice Initializes the proxy state.\n @dev Sets up the contract for usage.\n @param accessManager Address of the Access Manager contract used for permission handling."},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":274,"kind":"modifierInvocation","modifierName":{"id":273,"name":"initializer","nameLocations":["2032:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":43375,"src":"2032:11:3"},"nodeType":"ModifierInvocation","src":"2032:11:3"}],"name":"initialize","nameLocation":"1991:10:3","parameters":{"id":272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":271,"mutability":"mutable","name":"accessManager","nameLocation":"2010:13:3","nodeType":"VariableDeclaration","scope":284,"src":"2002:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":270,"name":"address","nodeType":"ElementaryTypeName","src":"2002:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2001:23:3"},"returnParameters":{"id":275,"nodeType":"ParameterList","parameters":[],"src":"2044:0:3"},"scope":471,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":314,"nodeType":"FunctionDefinition","src":"2317:261:3","nodes":[],"body":{"id":313,"nodeType":"Block","src":"2409:169:3","nodes":[],"statements":[{"assignments":[295],"declarations":[{"constant":false,"id":295,"mutability":"mutable","name":"criteria","nameLocation":"2432:8:3","nodeType":"VariableDeclaration","scope":313,"src":"2419:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":294,"name":"bytes","nodeType":"ElementaryTypeName","src":"2419:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":300,"initialValue":{"arguments":[{"id":298,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":287,"src":"2454:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":296,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2443:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":297,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2447:6:3","memberName":"encode","nodeType":"MemberAccess","src":"2443:10:3","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":299,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2443:18:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2419:42:3"},{"assignments":[305],"declarations":[{"constant":false,"id":305,"mutability":"mutable","name":"policies","nameLocation":"2492:8:3","nodeType":"VariableDeclaration","scope":313,"src":"2471:29:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"},"typeName":{"baseType":{"id":303,"nodeType":"UserDefinedTypeName","pathNode":{"id":302,"name":"PolicyTerms","nameLocations":["2471:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":236,"src":"2471:11:3"},"referencedDeclaration":236,"src":"2471:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms"}},"id":304,"nodeType":"ArrayTypeName","src":"2471:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"}},"visibility":"internal"}],"id":310,"initialValue":{"arguments":[{"id":307,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":287,"src":"2529:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":308,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":295,"src":"2537:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":306,"name":"getAvailablePoliciesTerms","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"2503:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) view returns (struct PoliciesAgg.PolicyTerms memory[] memory)"}},"id":309,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2503:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2471:75:3"},{"expression":{"id":311,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":305,"src":"2563:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory[] memory"}},"functionReturnParameters":293,"id":312,"nodeType":"Return","src":"2556:15:3"}]},"documentation":{"id":285,"nodeType":"StructuredDocumentation","src":"2139:173:3","text":"@notice Retrieves all policies that apply to the entirety of a holder's content.\n @param holder The address of the rights holder whose policies are being queried."},"functionSelector":"d45944ca","implemented":true,"kind":"function","modifiers":[],"name":"getHolderWidePolicies","nameLocation":"2326:21:3","parameters":{"id":288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":287,"mutability":"mutable","name":"holder","nameLocation":"2356:6:3","nodeType":"VariableDeclaration","scope":314,"src":"2348:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":286,"name":"address","nodeType":"ElementaryTypeName","src":"2348:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2347:16:3"},"returnParameters":{"id":293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":292,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":314,"src":"2387:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"},"typeName":{"baseType":{"id":290,"nodeType":"UserDefinedTypeName","pathNode":{"id":289,"name":"PolicyTerms","nameLocations":["2387:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":236,"src":"2387:11:3"},"referencedDeclaration":236,"src":"2387:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms"}},"id":291,"nodeType":"ArrayTypeName","src":"2387:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"}},"visibility":"internal"}],"src":"2386:22:3"},"scope":471,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":351,"nodeType":"FunctionDefinition","src":"2759:325:3","nodes":[],"body":{"id":350,"nodeType":"Block","src":"2855:229:3","nodes":[],"statements":[{"assignments":[325],"declarations":[{"constant":false,"id":325,"mutability":"mutable","name":"criteria","nameLocation":"2878:8:3","nodeType":"VariableDeclaration","scope":350,"src":"2865:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":324,"name":"bytes","nodeType":"ElementaryTypeName","src":"2865:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":330,"initialValue":{"arguments":[{"id":328,"name":"assetId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":317,"src":"2900:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":326,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2889:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":327,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2893:6:3","memberName":"encode","nodeType":"MemberAccess","src":"2889:10:3","typeDescriptions":{"typeIdentifier":"t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2889:19:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"2865:43:3"},{"assignments":[332],"declarations":[{"constant":false,"id":332,"mutability":"mutable","name":"holder","nameLocation":"2926:6:3","nodeType":"VariableDeclaration","scope":350,"src":"2918:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":331,"name":"address","nodeType":"ElementaryTypeName","src":"2918:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":337,"initialValue":{"arguments":[{"id":335,"name":"assetId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":317,"src":"2959:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":333,"name":"ASSET_OWNERSHIP","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":244,"src":"2935:15:3","typeDescriptions":{"typeIdentifier":"t_contract$_IAssetOwnership_$50146","typeString":"contract IAssetOwnership"}},"id":334,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2951:7:3","memberName":"ownerOf","nodeType":"MemberAccess","referencedDeclaration":45357,"src":"2935:23:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view external returns (address)"}},"id":336,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2935:32:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"2918:49:3"},{"assignments":[342],"declarations":[{"constant":false,"id":342,"mutability":"mutable","name":"policies","nameLocation":"2998:8:3","nodeType":"VariableDeclaration","scope":350,"src":"2977:29:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"},"typeName":{"baseType":{"id":340,"nodeType":"UserDefinedTypeName","pathNode":{"id":339,"name":"PolicyTerms","nameLocations":["2977:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":236,"src":"2977:11:3"},"referencedDeclaration":236,"src":"2977:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms"}},"id":341,"nodeType":"ArrayTypeName","src":"2977:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"}},"visibility":"internal"}],"id":347,"initialValue":{"arguments":[{"id":344,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":332,"src":"3035:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":345,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":325,"src":"3043:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"id":343,"name":"getAvailablePoliciesTerms","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":460,"src":"3009:25:3","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr_$","typeString":"function (address,bytes memory) view returns (struct PoliciesAgg.PolicyTerms memory[] memory)"}},"id":346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3009:43:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"2977:75:3"},{"expression":{"id":348,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":342,"src":"3069:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory[] memory"}},"functionReturnParameters":323,"id":349,"nodeType":"Return","src":"3062:15:3"}]},"documentation":{"id":315,"nodeType":"StructuredDocumentation","src":"2584:170:3","text":"@notice Retrieves all policies that govern operations on a specific asset.\n @param assetId The unique identifier of the asset whose policies are being queried."},"functionSelector":"76e5cef1","implemented":true,"kind":"function","modifiers":[],"name":"getAssetSpecificPolicies","nameLocation":"2768:24:3","parameters":{"id":318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":317,"mutability":"mutable","name":"assetId","nameLocation":"2801:7:3","nodeType":"VariableDeclaration","scope":351,"src":"2793:15:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":316,"name":"uint256","nodeType":"ElementaryTypeName","src":"2793:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"2792:17:3"},"returnParameters":{"id":323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":322,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":351,"src":"2833:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"},"typeName":{"baseType":{"id":320,"nodeType":"UserDefinedTypeName","pathNode":{"id":319,"name":"PolicyTerms","nameLocations":["2833:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":236,"src":"2833:11:3"},"referencedDeclaration":236,"src":"2833:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms"}},"id":321,"nodeType":"ArrayTypeName","src":"2833:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"}},"visibility":"internal"}],"src":"2832:22:3"},"scope":471,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":460,"nodeType":"FunctionDefinition","src":"3292:896:3","nodes":[],"body":{"id":459,"nodeType":"Block","src":"3431:757:3","nodes":[],"statements":[{"assignments":[367],"declarations":[{"constant":false,"id":367,"mutability":"mutable","name":"policies","nameLocation":"3458:8:3","nodeType":"VariableDeclaration","scope":459,"src":"3441:25:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":365,"name":"address","nodeType":"ElementaryTypeName","src":"3441:7:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":366,"nodeType":"ArrayTypeName","src":"3441:9:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":372,"initialValue":{"arguments":[{"id":370,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":354,"src":"3516:6:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":368,"name":"RIGHTS_POLICY_AUTHORIZER","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":240,"src":"3469:24:3","typeDescriptions":{"typeIdentifier":"t_contract$_IRightsPolicyAuthorizer_$50391","typeString":"contract IRightsPolicyAuthorizer"}},"id":369,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3494:21:3","memberName":"getAuthorizedPolicies","nodeType":"MemberAccess","referencedDeclaration":50366,"src":"3469:46:3","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (address) view external returns (address[] memory)"}},"id":371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3469:54:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3441:82:3"},{"assignments":[377],"declarations":[{"constant":false,"id":377,"mutability":"mutable","name":"terms","nameLocation":"3554:5:3","nodeType":"VariableDeclaration","scope":459,"src":"3533:26:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"},"typeName":{"baseType":{"id":375,"nodeType":"UserDefinedTypeName","pathNode":{"id":374,"name":"PolicyTerms","nameLocations":["3533:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":236,"src":"3533:11:3"},"referencedDeclaration":236,"src":"3533:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms"}},"id":376,"nodeType":"ArrayTypeName","src":"3533:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"}},"visibility":"internal"}],"id":385,"initialValue":{"arguments":[{"expression":{"id":382,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":367,"src":"3580:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3589:6:3","memberName":"length","nodeType":"MemberAccess","src":"3580:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":381,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"3562:17:3","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct PoliciesAgg.PolicyTerms memory[] memory)"},"typeName":{"baseType":{"id":379,"nodeType":"UserDefinedTypeName","pathNode":{"id":378,"name":"PolicyTerms","nameLocations":["3566:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":236,"src":"3566:11:3"},"referencedDeclaration":236,"src":"3566:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms"}},"id":380,"nodeType":"ArrayTypeName","src":"3566:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"}}},"id":384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3562:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory[] memory"}},"nodeType":"VariableDeclarationStatement","src":"3533:63:3"},{"assignments":[387],"declarations":[{"constant":false,"id":387,"mutability":"mutable","name":"availablePoliciesLen","nameLocation":"3614:20:3","nodeType":"VariableDeclaration","scope":459,"src":"3606:28:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":386,"name":"uint256","nodeType":"ElementaryTypeName","src":"3606:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":390,"initialValue":{"expression":{"id":388,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":367,"src":"3637:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3646:6:3","memberName":"length","nodeType":"MemberAccess","src":"3637:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3606:46:3"},{"body":{"id":455,"nodeType":"Block","src":"3731:428:3","statements":[{"assignments":[405],"declarations":[{"constant":false,"id":405,"mutability":"mutable","name":"policyAddress","nameLocation":"3753:13:3","nodeType":"VariableDeclaration","scope":455,"src":"3745:21:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":404,"name":"address","nodeType":"ElementaryTypeName","src":"3745:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":409,"initialValue":{"baseExpression":{"id":406,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":367,"src":"3769:8:3","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":408,"indexExpression":{"id":407,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":392,"src":"3778:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3769:11:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"3745:35:3"},{"assignments":[411],"declarations":[{"constant":false,"id":411,"mutability":"mutable","name":"callData","nameLocation":"3807:8:3","nodeType":"VariableDeclaration","scope":455,"src":"3794:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":410,"name":"bytes","nodeType":"ElementaryTypeName","src":"3794:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":419,"initialValue":{"arguments":[{"expression":{"id":414,"name":"IPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50308,"src":"3833:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPolicy_$50308_$","typeString":"type(contract IPolicy)"}},"id":415,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3841:12:3","memberName":"resolveTerms","nodeType":"MemberAccess","referencedDeclaration":50291,"src":"3833:20:3","typeDescriptions":{"typeIdentifier":"t_function_declaration_view$_t_bytes_memory_ptr_$returns$_t_struct$_Terms_$51222_memory_ptr_$","typeString":"function IPolicy.resolveTerms(bytes memory) view returns (struct T.Terms memory)"}},{"components":[{"id":416,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":356,"src":"3856:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"id":417,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3855:10:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_view$_t_bytes_memory_ptr_$returns$_t_struct$_Terms_$51222_memory_ptr_$","typeString":"function IPolicy.resolveTerms(bytes memory) view returns (struct T.Terms memory)"},{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":412,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3818:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":413,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3822:10:3","memberName":"encodeCall","nodeType":"MemberAccess","src":"3818:14:3","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3818:48:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},"nodeType":"VariableDeclarationStatement","src":"3794:72:3"},{"assignments":[421,423],"declarations":[{"constant":false,"id":421,"mutability":"mutable","name":"success","nameLocation":"3886:7:3","nodeType":"VariableDeclaration","scope":455,"src":"3881:12:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":420,"name":"bool","nodeType":"ElementaryTypeName","src":"3881:4:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":423,"mutability":"mutable","name":"result","nameLocation":"3908:6:3","nodeType":"VariableDeclaration","scope":455,"src":"3895:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":422,"name":"bytes","nodeType":"ElementaryTypeName","src":"3895:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"id":428,"initialValue":{"arguments":[{"id":426,"name":"callData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":411,"src":"3943:8:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":424,"name":"policyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"3918:13:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3932:10:3","memberName":"staticcall","nodeType":"MemberAccess","src":"3918:24:3","typeDescriptions":{"typeIdentifier":"t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) view returns (bool,bytes memory)"}},"id":427,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3918:34:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3880:72:3"},{"condition":{"id":430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3970:8:3","subExpression":{"id":429,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":421,"src":"3971:7:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":432,"nodeType":"IfStatement","src":"3966:22:3","trueBody":{"id":431,"nodeType":"Continue","src":"3980:8:3"}},{"assignments":[437],"declarations":[{"constant":false,"id":437,"mutability":"mutable","name":"term","nameLocation":"4036:4:3","nodeType":"VariableDeclaration","scope":455,"src":"4021:19:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_memory_ptr","typeString":"struct T.Terms"},"typeName":{"id":436,"nodeType":"UserDefinedTypeName","pathNode":{"id":435,"name":"T.Terms","nameLocations":["4021:1:3","4023:5:3"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"4021:7:3"},"referencedDeclaration":51222,"src":"4021:7:3","typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_storage_ptr","typeString":"struct T.Terms"}},"visibility":"internal"}],"id":445,"initialValue":{"arguments":[{"id":440,"name":"result","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":423,"src":"4054:6:3","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}},{"components":[{"expression":{"id":441,"name":"T","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51233,"src":"4063:1:3","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_T_$51233_$","typeString":"type(library T)"}},"id":442,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4065:5:3","memberName":"Terms","nodeType":"MemberAccess","referencedDeclaration":51222,"src":"4063:7:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Terms_$51222_storage_ptr_$","typeString":"type(struct T.Terms storage pointer)"}}],"id":443,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4062:9:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Terms_$51222_storage_ptr_$","typeString":"type(struct T.Terms storage pointer)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"},{"typeIdentifier":"t_type$_t_struct$_Terms_$51222_storage_ptr_$","typeString":"type(struct T.Terms storage pointer)"}],"expression":{"id":438,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4043:3:3","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":439,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4047:6:3","memberName":"decode","nodeType":"MemberAccess","src":"4043:10:3","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":444,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4043:29:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_memory_ptr","typeString":"struct T.Terms memory"}},"nodeType":"VariableDeclarationStatement","src":"4021:51:3"},{"expression":{"id":453,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":446,"name":"terms","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":377,"src":"4086:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory[] memory"}},"id":448,"indexExpression":{"id":447,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":392,"src":"4092:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"4086:8:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":450,"name":"policyAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":405,"src":"4119:13:3","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":451,"name":"term","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":437,"src":"4141:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_memory_ptr","typeString":"struct T.Terms memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Terms_$51222_memory_ptr","typeString":"struct T.Terms memory"}],"id":449,"name":"PolicyTerms","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":236,"src":"4097:11:3","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PolicyTerms_$236_storage_ptr_$","typeString":"type(struct PoliciesAgg.PolicyTerms storage pointer)"}},"id":452,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["4111:6:3","4134:5:3"],"names":["policy","terms"],"nodeType":"FunctionCall","src":"4097:51:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory"}},"src":"4086:62:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory"}},"id":454,"nodeType":"ExpressionStatement","src":"4086:62:3"}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":397,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":395,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":392,"src":"3683:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":396,"name":"availablePoliciesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":387,"src":"3687:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3683:24:3","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":456,"initializationExpression":{"assignments":[392],"declarations":[{"constant":false,"id":392,"mutability":"mutable","name":"i","nameLocation":"3676:1:3","nodeType":"VariableDeclaration","scope":456,"src":"3668:9:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":391,"name":"uint256","nodeType":"ElementaryTypeName","src":"3668:7:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":394,"initialValue":{"hexValue":"30","id":393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3680:1:3","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"3668:13:3"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":398,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":392,"src":"3709:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":399,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":392,"src":"3713:1:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":400,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3715:12:3","memberName":"uncheckedInc","nodeType":"MemberAccess","referencedDeclaration":50744,"src":"3713:14:3","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":401,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3713:16:3","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3709:20:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":403,"nodeType":"ExpressionStatement","src":"3709:20:3"},"nodeType":"ForStatement","src":"3663:496:3"},{"expression":{"id":457,"name":"terms","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":377,"src":"4176:5:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms memory[] memory"}},"functionReturnParameters":362,"id":458,"nodeType":"Return","src":"4169:12:3"}]},"documentation":{"id":352,"nodeType":"StructuredDocumentation","src":"3090:197:3","text":"@notice Retrieves all available policies for a holder matching specific criteria.\n @param holder Address of the rights holder.\n @param criteria Encoded data for policy evaluation."},"functionSelector":"9f30b60f","implemented":true,"kind":"function","modifiers":[],"name":"getAvailablePoliciesTerms","nameLocation":"3301:25:3","parameters":{"id":357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":354,"mutability":"mutable","name":"holder","nameLocation":"3344:6:3","nodeType":"VariableDeclaration","scope":460,"src":"3336:14:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":353,"name":"address","nodeType":"ElementaryTypeName","src":"3336:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":356,"mutability":"mutable","name":"criteria","nameLocation":"3373:8:3","nodeType":"VariableDeclaration","scope":460,"src":"3360:21:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":355,"name":"bytes","nodeType":"ElementaryTypeName","src":"3360:5:3","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3326:61:3"},"returnParameters":{"id":362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":361,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":460,"src":"3409:20:3","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"},"typeName":{"baseType":{"id":359,"nodeType":"UserDefinedTypeName","pathNode":{"id":358,"name":"PolicyTerms","nameLocations":["3409:11:3"],"nodeType":"IdentifierPath","referencedDeclaration":236,"src":"3409:11:3"},"referencedDeclaration":236,"src":"3409:11:3","typeDescriptions":{"typeIdentifier":"t_struct$_PolicyTerms_$236_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms"}},"id":360,"nodeType":"ArrayTypeName","src":"3409:13:3","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr","typeString":"struct PoliciesAgg.PolicyTerms[]"}},"visibility":"internal"}],"src":"3408:22:3"},"scope":471,"stateMutability":"view","virtual":false,"visibility":"public"},{"id":470,"nodeType":"FunctionDefinition","src":"4492:84:3","nodes":[],"body":{"id":469,"nodeType":"Block","src":"4574:2:3","nodes":[],"statements":[]},"baseFunctions":[43657],"documentation":{"id":461,"nodeType":"StructuredDocumentation","src":"4194:293:3","text":"@notice Function that should revert when msg.sender is not authorized to upgrade the contract.\n @param newImplementation The address of the new implementation contract.\n @dev See https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable-_authorizeUpgrade-address-"},"implemented":true,"kind":"function","modifiers":[{"id":467,"kind":"modifierInvocation","modifierName":{"id":466,"name":"onlyAdmin","nameLocations":["4564:9:3"],"nodeType":"IdentifierPath","referencedDeclaration":51279,"src":"4564:9:3"},"nodeType":"ModifierInvocation","src":"4564:9:3"}],"name":"_authorizeUpgrade","nameLocation":"4501:17:3","overrides":{"id":465,"nodeType":"OverrideSpecifier","overrides":[],"src":"4555:8:3"},"parameters":{"id":464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":463,"mutability":"mutable","name":"newImplementation","nameLocation":"4527:17:3","nodeType":"VariableDeclaration","scope":470,"src":"4519:25:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":462,"name":"address","nodeType":"ElementaryTypeName","src":"4519:7:3","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4518:27:3"},"returnParameters":{"id":468,"nodeType":"ParameterList","parameters":[],"src":"4574:0:3"},"scope":471,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"}],"abstract":false,"baseContracts":[{"baseName":{"id":221,"name":"Initializable","nameLocations":["784:13:3"],"nodeType":"IdentifierPath","referencedDeclaration":43521,"src":"784:13:3"},"id":222,"nodeType":"InheritanceSpecifier","src":"784:13:3"},{"baseName":{"id":223,"name":"UUPSUpgradeable","nameLocations":["799:15:3"],"nodeType":"IdentifierPath","referencedDeclaration":43703,"src":"799:15:3"},"id":224,"nodeType":"InheritanceSpecifier","src":"799:15:3"},{"baseName":{"id":225,"name":"AccessControlledUpgradeable","nameLocations":["816:27:3"],"nodeType":"IdentifierPath","referencedDeclaration":51361,"src":"816:27:3"},"id":226,"nodeType":"InheritanceSpecifier","src":"816:27:3"}],"canonicalName":"PoliciesAgg","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[471,51361,43267,43871,43749,43703,44440,43521],"name":"PoliciesAgg","nameLocation":"769:11:3","scope":472,"usedErrors":[43284,43287,43548,43553,43842,43848,43852,44498,44511,45462,45724,51261],"usedEvents":[43292,43838,44413]}],"license":"MIT"},"id":3} \ No newline at end of file +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { "name": "rightsPolicyAuthorizer", "type": "address", "internalType": "address" }, + { "name": "assetOwnership", "type": "address", "internalType": "address" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ASSET_OWNERSHIP", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "contract IAssetOwnership" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RIGHTS_POLICY_AUTHORIZER", + "inputs": [], + "outputs": [ + { "name": "", "type": "address", "internalType": "contract IRightsPolicyAuthorizer" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getAssetSpecificPolicies", + "inputs": [{ "name": "assetId", "type": "uint256", "internalType": "uint256" }], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct PoliciesAgg.PolicyTerms[]", + "components": [ + { "name": "policy", "type": "address", "internalType": "address" }, + { + "name": "terms", + "type": "tuple", + "internalType": "struct T.Terms", + "components": [ + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" }, + { "name": "rateBasis", "type": "uint8", "internalType": "enum T.RateBasis" }, + { "name": "uri", "type": "string", "internalType": "string" } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getAvailablePoliciesTerms", + "inputs": [ + { "name": "holder", "type": "address", "internalType": "address" }, + { "name": "criteria", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct PoliciesAgg.PolicyTerms[]", + "components": [ + { "name": "policy", "type": "address", "internalType": "address" }, + { + "name": "terms", + "type": "tuple", + "internalType": "struct T.Terms", + "components": [ + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" }, + { "name": "rateBasis", "type": "uint8", "internalType": "enum T.RateBasis" }, + { "name": "uri", "type": "string", "internalType": "string" } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getHolderWidePolicies", + "inputs": [{ "name": "holder", "type": "address", "internalType": "address" }], + "outputs": [ + { + "name": "", + "type": "tuple[]", + "internalType": "struct PoliciesAgg.PolicyTerms[]", + "components": [ + { "name": "policy", "type": "address", "internalType": "address" }, + { + "name": "terms", + "type": "tuple", + "internalType": "struct T.Terms", + "components": [ + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" }, + { "name": "rateBasis", "type": "uint8", "internalType": "enum T.RateBasis" }, + { "name": "uri", "type": "string", "internalType": "string" } + ] + } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [{ "name": "accessManager", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isConsumingScheduledOp", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "proxiableUUID", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [{ "name": "newAuthority", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "upgradeToAndCall", + "inputs": [ + { "name": "newImplementation", "type": "address", "internalType": "address" }, + { "name": "data", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { "name": "authority", "type": "address", "indexed": false, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Upgraded", + "inputs": [ + { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AccessManagedInvalidAuthority", + "inputs": [{ "name": "authority", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AccessManagedRequiredDelay", + "inputs": [ + { "name": "caller", "type": "address", "internalType": "address" }, + { "name": "delay", "type": "uint32", "internalType": "uint32" } + ] + }, + { + "type": "error", + "name": "AccessManagedUnauthorized", + "inputs": [{ "name": "caller", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [{ "name": "target", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC1967InvalidImplementation", + "inputs": [{ "name": "implementation", "type": "address", "internalType": "address" }] + }, + { "type": "error", "name": "ERC1967NonPayable", "inputs": [] }, + { "type": "error", "name": "FailedCall", "inputs": [] }, + { "type": "error", "name": "InvalidInitialization", "inputs": [] }, + { + "type": "error", + "name": "InvalidUnauthorizedOperation", + "inputs": [{ "name": "", "type": "string", "internalType": "string" }] + }, + { "type": "error", "name": "NotInitializing", "inputs": [] }, + { "type": "error", "name": "UUPSUnauthorizedCallContext", "inputs": [] }, + { + "type": "error", + "name": "UUPSUnsupportedProxiableUUID", + "inputs": [{ "name": "slot", "type": "bytes32", "internalType": "bytes32" }] + } + ], + "bytecode": { + "object": "0x60e03461016657601f61169938819003918201601f19168301916001600160401b0383118484101761016a57808492604094855283398101031261016657610052602061004b8361017e565b920161017e565b90306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16610157576002600160401b03196001600160401b038216016100ee575b506001600160a01b0390811660a0521660c0526040516115069081610193823960805181818161079f0152610837015260a0518181816104e90152611011015260c05181818160c901526106ed0152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61009d565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036101665756fe60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461081757806352d1902d1461077857806376e5cef1146106775780637a9e5e4b146105a05780638fb360371461050d578063968e48cf146104bd5780639f30b60f146104a3578063ad3cb1cc14610444578063bf7e214f146103f2578063c4d66de814610154578063d45944ca146100f15763f520d4eb1461009d575f80fd5b346100ed575f6003193601126100ed57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100ed5760206003193601126100ed57610150610144610110610c1d565b6040519073ffffffffffffffffffffffffffffffffffffffff811660208301526020825261013f604083610ca5565b610fb2565b60405191829182610ded565b0390f35b346100ed5760206003193601126100ed5761016d610c1d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103ea575b60011490816103e0575b1590816103d7575b506103af57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561035a575b506102306113e0565b6102386113e0565b6102406113e0565b6102486113e0565b61025181611335565b6102596113e0565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556102c757005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610227565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015846101be565b303b1591506101b6565b8491506101ac565b346100ed575f6003193601126100ed57602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100ed575f6003193601126100ed57610150604051610465604082610ca5565b600581527f352e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610daa565b346100ed576101506101446104b736610d20565b90610fb2565b346100ed575f6003193601126100ed57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100ed575f6003193601126100ed577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156105985760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f61056e565b346100ed5760206003193601126100ed576105b9610c1d565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416330361064b57803b156106095761060790611335565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100ed5760206003193601126100ed5760043560405190806020830152602082526106a4604083610ca5565b604051907f6352211e000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561076d575f9161072a575b6101506101448484610fb2565b90506020813d602011610765575b8161074560209383610ca5565b810103126100ed576101509161075d61014492610f09565b91509161071d565b3d9150610738565b6040513d5f823e3d90fd5b346100ed575f6003193601126100ed5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036107ef5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b61082036610d20565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610bdb575b506107ef576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa90811561076d575f91610b8e575b5015610b0a5773ffffffffffffffffffffffffffffffffffffffff8216916040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481875afa5f9181610ad6575b5061096e57837f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc859203610aab5750813b15610a8057807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115610a4f575f8083602061060795519101845af4610a49610f83565b91611437565b505034610a5857005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610b02575b81610af260209383610ca5565b810103126100ed5751908561093d565b3d9150610ae5565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610bd3575b81610ba960409383610ca5565b810103126100ed5780519081151582036100ed576020015163ffffffff8116036100ed57836108e8565b3d9150610b9c565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141583610862565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b6040810190811067ffffffffffffffff821117610c5c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff821117610c5c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c5c57604052565b67ffffffffffffffff8111610c5c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9060406003198301126100ed5760043573ffffffffffffffffffffffffffffffffffffffff811681036100ed579160243567ffffffffffffffff81116100ed57816023820112156100ed57806004013590610d7a82610ce6565b92610d886040519485610ca5565b828452602483830101116100ed57815f92602460209301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401925f905b828210610e1f57505050505090565b90919293947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08282030185526020865173ffffffffffffffffffffffffffffffffffffffff8151168352015190604060208201528151604082015273ffffffffffffffffffffffffffffffffffffffff60208301511660608201526040820151916004831015610edc57610ecf8260c0606060209594600197608088970152015191608060a08201520190610daa565b9701950193920190610e10565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b519073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b67ffffffffffffffff8111610c5c5760051b60200190565b8051821015610f565760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3d15610fad573d90610f9482610ce6565b91610fa26040519384610ca5565b82523d5f602084013e565b606090565b9073ffffffffffffffffffffffffffffffffffffffff604051927f591b43c50000000000000000000000000000000000000000000000000000000084521660048301525f8260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561076d575f9261129a575b508151917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061108861107285610f2a565b946110806040519687610ca5565b808652610f2a565b015f5b8181106112585750508051905f5b8281106110a7575050505090565b73ffffffffffffffffffffffffffffffffffffffff6110c68284610f42565b5116905f8060405160208101907fa39371110000000000000000000000000000000000000000000000000000000082526020602482015261113a8161110e604482018c610daa565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ca5565b5190855afa91611148610f83565b921561124e578251830160208101936020818303126100ed57602081015167ffffffffffffffff81116100ed570190608090829003126100ed576040519061118f82610c89565b602081015182526111a260408201610f09565b6020830152606081015160048110156100ed576040830152608081015167ffffffffffffffff81116100ed5760209101019380601f860112156100ed5784516111ea81610ce6565b916111f86040519384610ca5565b818352602082880101116100ed576020815f9282600199018386015e8301015260608201526040519161122a83610c40565b8252602082015261123b8288610f42565b526112468187610f42565b505b01611099565b5060019150611248565b60209060405161126781610c40565b5f815260405161127681610c89565b5f81525f848201525f6040820152606080820152838201528282880101520161108b565b9091503d805f833e6112ac8183610ca5565b8101906020818303126100ed5780519067ffffffffffffffff82116100ed57019080601f830112156100ed5781516112e381610f2a565b926112f16040519485610ca5565b81845260208085019260051b8201019283116100ed57602001905b82821061131d57505050905f611041565b6020809161132a84610f09565b81520191019061130c565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561140f57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611474575080511561144c57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806114c7575b611485575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561147d56fea26469706673582212206e198600d9375685c03c162ac2037f24828cdb44e5d9d100b2db48c6015b780664736f6c634300081a0033", + "sourceMap": "760:3818:3:-:0;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;-1:-1:-1;;;;;760:3818:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;1171:4:56;;1163:13;;8837:64:55;760:3818:3;;;;;;7896:76:55;;-1:-1:-1;;;;;;;;;;;760:3818:3;;7985:34:55;7981:146;;-1:-1:-1;;;;;;;760:3818:3;;;;1648:74;760:3818;1732:49;;760:3818;;;;;;;;1163:13:56;760:3818:3;;;;;;;;;;1648:74;760:3818;;;;;;;;;;1732:49;760:3818;;;;;;;;;;;7981:146:55;-1:-1:-1;;;;;;760:3818:3;-1:-1:-1;;;;;760:3818:3;;;8837:64:55;760:3818:3;;;;;;8087:29:55;;760:3818:3;;8087:29:55;7981:146;;;7896:76;7938:23;;;-1:-1:-1;7938:23:55;;-1:-1:-1;7938:23:55;760:3818:3;-1:-1:-1;760:3818:3;;;;;;-1:-1:-1;760:3818:3;;;;;-1:-1:-1;760:3818:3;;;;-1:-1:-1;;;;;760:3818:3;;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x60806040526004361015610011575f80fd5b5f3560e01c80634f1ef2861461081757806352d1902d1461077857806376e5cef1146106775780637a9e5e4b146105a05780638fb360371461050d578063968e48cf146104bd5780639f30b60f146104a3578063ad3cb1cc14610444578063bf7e214f146103f2578063c4d66de814610154578063d45944ca146100f15763f520d4eb1461009d575f80fd5b346100ed575f6003193601126100ed57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b346100ed5760206003193601126100ed57610150610144610110610c1d565b6040519073ffffffffffffffffffffffffffffffffffffffff811660208301526020825261013f604083610ca5565b610fb2565b60405191829182610ded565b0390f35b346100ed5760206003193601126100ed5761016d610c1d565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103ea575b60011490816103e0575b1590816103d7575b506103af57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005561035a575b506102306113e0565b6102386113e0565b6102406113e0565b6102486113e0565b61025181611335565b6102596113e0565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556102c757005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610227565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b905015846101be565b303b1591506101b6565b8491506101ac565b346100ed575f6003193601126100ed57602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b346100ed575f6003193601126100ed57610150604051610465604082610ca5565b600581527f352e302e300000000000000000000000000000000000000000000000000000006020820152604051918291602083526020830190610daa565b346100ed576101506101446104b736610d20565b90610fb2565b346100ed575f6003193601126100ed57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346100ed575f6003193601126100ed577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156105985760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f61056e565b346100ed5760206003193601126100ed576105b9610c1d565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416330361064b57803b156106095761060790611335565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b346100ed5760206003193601126100ed5760043560405190806020830152602082526106a4604083610ca5565b604051907f6352211e000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561076d575f9161072a575b6101506101448484610fb2565b90506020813d602011610765575b8161074560209383610ca5565b810103126100ed576101509161075d61014492610f09565b91509161071d565b3d9150610738565b6040513d5f823e3d90fd5b346100ed575f6003193601126100ed5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036107ef5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b61082036610d20565b73ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610bdb575b506107ef576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa90811561076d575f91610b8e575b5015610b0a5773ffffffffffffffffffffffffffffffffffffffff8216916040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481875afa5f9181610ad6575b5061096e57837f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc859203610aab5750813b15610a8057807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115610a4f575f8083602061060795519101845af4610a49610f83565b91611437565b505034610a5857005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610b02575b81610af260209383610ca5565b810103126100ed5751908561093d565b3d9150610ae5565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610bd3575b81610ba960409383610ca5565b810103126100ed5780519081151582036100ed576020015163ffffffff8116036100ed57836108e8565b3d9150610b9c565b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416141583610862565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b6040810190811067ffffffffffffffff821117610c5c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6080810190811067ffffffffffffffff821117610c5c57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610c5c57604052565b67ffffffffffffffff8111610c5c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b9060406003198301126100ed5760043573ffffffffffffffffffffffffffffffffffffffff811681036100ed579160243567ffffffffffffffff81116100ed57816023820112156100ed57806004013590610d7a82610ce6565b92610d886040519485610ca5565b828452602483830101116100ed57815f92602460209301838601378301015290565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b602081016020825282518091526040820190602060408260051b8501019401925f905b828210610e1f57505050505090565b90919293947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08282030185526020865173ffffffffffffffffffffffffffffffffffffffff8151168352015190604060208201528151604082015273ffffffffffffffffffffffffffffffffffffffff60208301511660608201526040820151916004831015610edc57610ecf8260c0606060209594600197608088970152015191608060a08201520190610daa565b9701950193920190610e10565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b519073ffffffffffffffffffffffffffffffffffffffff821682036100ed57565b67ffffffffffffffff8111610c5c5760051b60200190565b8051821015610f565760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b3d15610fad573d90610f9482610ce6565b91610fa26040519384610ca5565b82523d5f602084013e565b606090565b9073ffffffffffffffffffffffffffffffffffffffff604051927f591b43c50000000000000000000000000000000000000000000000000000000084521660048301525f8260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561076d575f9261129a575b508151917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe061108861107285610f2a565b946110806040519687610ca5565b808652610f2a565b015f5b8181106112585750508051905f5b8281106110a7575050505090565b73ffffffffffffffffffffffffffffffffffffffff6110c68284610f42565b5116905f8060405160208101907fa39371110000000000000000000000000000000000000000000000000000000082526020602482015261113a8161110e604482018c610daa565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ca5565b5190855afa91611148610f83565b921561124e578251830160208101936020818303126100ed57602081015167ffffffffffffffff81116100ed570190608090829003126100ed576040519061118f82610c89565b602081015182526111a260408201610f09565b6020830152606081015160048110156100ed576040830152608081015167ffffffffffffffff81116100ed5760209101019380601f860112156100ed5784516111ea81610ce6565b916111f86040519384610ca5565b818352602082880101116100ed576020815f9282600199018386015e8301015260608201526040519161122a83610c40565b8252602082015261123b8288610f42565b526112468187610f42565b505b01611099565b5060019150611248565b60209060405161126781610c40565b5f815260405161127681610c89565b5f81525f848201525f6040820152606080820152838201528282880101520161108b565b9091503d805f833e6112ac8183610ca5565b8101906020818303126100ed5780519067ffffffffffffffff82116100ed57019080601f830112156100ed5781516112e381610f2a565b926112f16040519485610ca5565b81845260208085019260051b8201019283116100ed57602001905b82821061131d57505050905f611041565b6020809161132a84610f09565b81520191019061130c565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561140f57565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611474575080511561144c57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806114c7575b611485575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561147d56fea26469706673582212206e198600d9375685c03c162ac2037f24828cdb44e5d9d100b2db48c6015b780664736f6c634300081a0033", + "sourceMap": "760:3818:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;;;;1240:48;760:3818;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;2503:43;760:3818;;:::i;:::-;;;;;;;;2443:18;;760:3818;;2443:18;;;760:3818;2443:18;;:::i;:::-;2503:43;:::i;:::-;760:3818;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;;:::i;:::-;8837:64:55;760:3818:3;;;;;;4301:16:55;760:3818:3;;;;4726:16:55;;:34;;;;760:3818:3;4805:1:55;4790:16;:50;;;;760:3818:3;4855:13:55;:30;;;;760:3818:3;4851:91:55;;;760:3818:3;;4805:1:55;760:3818:3;;;;;8837:64:55;760:3818:3;4979:67:55;;760:3818:3;6893:76:55;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:54;;;:::i;:::-;6893:76:55;;:::i;:::-;760:3818:3;;3295:62:102;760:3818:3;;;3295:62:102;760:3818:3;5066:101:55;;760:3818:3;5066:101:55;760:3818:3;8837:64:55;760:3818:3;;8837:64:55;760:3818:3;5142:14:55;760:3818:3;;;4805:1:55;760:3818:3;;5142:14:55;760:3818:3;4979:67:55;760:3818:3;;;;8837:64:55;760:3818:3;4979:67:55;;;4851:91;4908:23;760:3818:3;4908:23:55;760:3818:3;;4908:23:55;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:55;;4726:34;;;-1:-1:-1;4726:34:55;;760:3818:3;;;;;-1:-1:-1;;760:3818:3;;;;;;;1782:71:54;760:3818:3;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;760:3818:3;;;;;;;;;1103:65;760:3818;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;1782:71:54;760:3818:3;;;;;4698:71:54;;;760:3818:3;;4698:71:54;760:3818:3;;;;;;;;4698:71:54;760:3818:3;;4698:71:54;;760:3818:3;;;;;-1:-1:-1;;760:3818:3;;;;;;;:::i;:::-;;1782:71:54;760:3818:3;;966:10:57;4258:21:54;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;760:3818:3;4355:110:54;760:3818:3;4411:43:54;;760:3818:3;4411:43:54;760:3818:3;;;;;4411:43:54;4254:92;4302:33;760:3818:3;4302:33:54;966:10:57;760:3818:3;;;;4302:33:54;760:3818:3;;;;;-1:-1:-1;;760:3818:3;;;;;;;;;2889:19;;760:3818;2889:19;;760:3818;;2889:19;;;760:3818;2889:19;;:::i;:::-;760:3818;;2935:32;760:3818;2935:32;;760:3818;2935:32;;760:3818;;2935:15;:32;:15;760:3818;2935:15;760:3818;2935:32;;;;;;;760:3818;2935:32;;;760:3818;;3009:43;;;;:::i;2935:32::-;;;760:3818;2935:32;;760:3818;2935:32;;;;;;760:3818;2935:32;;;:::i;:::-;;;760:3818;;;;;;;3009:43;760:3818;;:::i;:::-;2935:32;;;;;;;;-1:-1:-1;2935:32:3;;;760:3818;;;;;;;;;;;;;;-1:-1:-1;;760:3818:3;;;;;;5115:6:56;760:3818:3;5106:4:56;5098:23;5094:145;;760:3818:3;;;811:66:68;760:3818:3;;;5094:145:56;5199:29;760:3818:3;5199:29:56;760:3818:3;;5199:29:56;760:3818:3;;;;:::i;:::-;;4692:6:56;760:3818:3;4683:4:56;;4675:23;:120;;;;;760:3818:3;4658:251:56;;;3058:30:102;760:3818:3;;3295:62:102;760:3818:3;;;;3058:30:102;;;;760:3818:3;3058:30:102;;760:3818:3;;3058:30:102;;760:3818:3;1893:10:102;760:3818:3;;;;3058:30:102;;;;;;;760:3818:3;3058:30:102;;;760:3818:3;1869:35:102;;1865:140;;760:3818:3;;;;;;;6156:52:56;;760:3818:3;6156:52:56;760:3818:3;6156:52:56;;;;760:3818:3;;6156:52:56;;;760:3818:3;-1:-1:-1;6152:437:56;;6518:60;;760:3818:3;6518:60:56;760:3818:3;;;;6518:60:56;6152:437;6250:40;811:66:68;6250:40:56;;;6246:120;;1748:29:68;;;:34;1744:119;;760:3818:3;;811:66:68;760:3818:3;;;811:66:68;760:3818:3;2407:36:68;760:3818:3;2407:36:68;;760:3818:3;;2458:15:68;:11;;760:3818:3;4049:25:75;;760:3818:3;4091:55:75;4049:25;;;;;;;;;:::i;:::-;4091:55;;:::i;2454:148:68:-;6163:9;;;6159:70;;760:3818:3;6159:70:68;6199:19;760:3818:3;6199:19:68;760:3818:3;;6199:19:68;1744:119;1805:47;760:3818:3;1805:47:68;760:3818:3;;;;1805:47:68;6246:120:56;6317:34;760:3818:3;6317:34:56;760:3818:3;;;;6317:34:56;6156:52;;;;760:3818:3;6156:52:56;;760:3818:3;6156:52:56;;;;;;760:3818:3;6156:52:56;;;:::i;:::-;;;760:3818:3;;;;;6156:52:56;;;;;;;-1:-1:-1;6156:52:56;;1865:140:102;1927:67;760:3818:3;;1927:67:102;;;760:3818:3;;1927:67:102;;520:1:100;;760:3818:3;520:1:100;;760:3818:3;520:1:100;3058:30:102;760:3818:3;;520:1:100;;;;;;1927:67:102;3058:30;;;760:3818:3;3058:30:102;;760:3818:3;3058:30:102;;;;;;760:3818:3;3058:30:102;;;:::i;:::-;;;760:3818:3;;;;;;;;;;;;;;;;;;;;;;;3058:30:102;;;;;;-1:-1:-1;3058:30:102;;4675:120:56;760:3818:3;;;811:66:68;760:3818:3;;4753:42:56;;4675:120;;;760:3818:3;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;760:3818:3;;;;;-1:-1:-1;760:3818:3;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;760:3818:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;760:3818:3;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;-1:-1:-1;760:3818:3;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;760:3818:3;;;;:::o;:::-;;;:::o;3292:896::-;;760:3818;;;3469:54;760:3818;3469:54;;760:3818;3469:54;;;760:3818;-1:-1:-1;3469:24:3;:54;:24;760:3818;3469:24;760:3818;3469:54;;;;;;;-1:-1:-1;3469:54:3;;;3292:896;760:3818;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;-1:-1:-1;760:3818:3;;;;;;;;;;3668:13;-1:-1:-1;3683:24:3;;;;;;4169:12;;;;3292:896;:::o;3709:20::-;760:3818;3769:11;;;;:::i;:::-;760:3818;;;-1:-1:-1;760:3818:3;;;;3818:48;;;;;;760:3818;3469:54;3818:48;;760:3818;3818:48;760:3818;;;;;;;:::i;:::-;3818:48;760:3818;3818:48;;;;;;:::i;:::-;3918:34;;;;;;;;:::i;:::-;3970:8;;3966:22;;760:3818;;4043:29;;760:3818;4043:29;;760:3818;;;;;;;;;4043:29;;760:3818;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;;3469:54;760:3818;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;760:3818:3;;884:1:98;760:3818:3;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4097:51;;760:3818;4086:62;;;;:::i;:::-;;;;;;:::i;:::-;;3668:13;760:3818;3668:13;;3966:22;3980:8;884:1:98;3980:8:3;;;;760:3818;;;;;;;;:::i;:::-;-1:-1:-1;760:3818:3;;;;;;;:::i;:::-;-1:-1:-1;760:3818:3;;-1:-1:-1;760:3818:3;;;;-1:-1:-1;760:3818:3;;;;;;;;;;;;;;;;;;;;;;3469:54;;;;;;-1:-1:-1;3469:54:3;;;;;;:::i;:::-;;;760:3818;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;3469:54;;;;;;;760:3818;;;;;;;:::i;:::-;;;;;;;;;4964:220:54;760:3818:3;;5147:30:54;4964:220;760:3818:3;;;1782:71:54;760:3818:3;;;1782:71:54;760:3818:3;;;;;;5147:30:54;4964:220::o;7084:141:55:-;760:3818:3;8837:64:55;760:3818:3;;;;7150:18:55;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:55;;-1:-1:-1;7191:17:55;4421:582:75;;4593:8;;-1:-1:-1;760:3818:3;;5674:21:75;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;760:3818:3;;4841:22:75;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;760:3818:3;4917:24:75;;4862:1;4917:24;760:3818:3;4917:24:75;760:3818:3;;4862:1:75;4917:24;4841:49;4867:18;;;:23;4841:49;", + "linkReferences": {}, + "immutableReferences": { + "240": [ + { "start": 1257, "length": 32 }, + { "start": 4113, "length": 32 } + ], + "244": [ + { "start": 201, "length": 32 }, + { "start": 1773, "length": 32 } + ], + "43541": [ + { "start": 1951, "length": 32 }, + { "start": 2103, "length": 32 } + ] + } + }, + "methodIdentifiers": { + "ASSET_OWNERSHIP()": "f520d4eb", + "RIGHTS_POLICY_AUTHORIZER()": "968e48cf", + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "authority()": "bf7e214f", + "getAssetSpecificPolicies(uint256)": "76e5cef1", + "getAvailablePoliciesTerms(address,bytes)": "9f30b60f", + "getHolderWidePolicies(address)": "d45944ca", + "initialize(address)": "c4d66de8", + "isConsumingScheduledOp()": "8fb36037", + "proxiableUUID()": "52d1902d", + "setAuthority(address)": "7a9e5e4b", + "upgradeToAndCall(address,bytes)": "4f1ef286" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rightsPolicyAuthorizer\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"assetOwnership\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ASSET_OWNERSHIP\",\"outputs\":[{\"internalType\":\"contract IAssetOwnership\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RIGHTS_POLICY_AUTHORIZER\",\"outputs\":[{\"internalType\":\"contract IRightsPolicyAuthorizer\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assetId\",\"type\":\"uint256\"}],\"name\":\"getAssetSpecificPolicies\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"enum T.RateBasis\",\"name\":\"rateBasis\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct T.Terms\",\"name\":\"terms\",\"type\":\"tuple\"}],\"internalType\":\"struct PoliciesAgg.PolicyTerms[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"criteria\",\"type\":\"bytes\"}],\"name\":\"getAvailablePoliciesTerms\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"enum T.RateBasis\",\"name\":\"rateBasis\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct T.Terms\",\"name\":\"terms\",\"type\":\"tuple\"}],\"internalType\":\"struct PoliciesAgg.PolicyTerms[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getHolderWidePolicies\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"enum T.RateBasis\",\"name\":\"rateBasis\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct T.Terms\",\"name\":\"terms\",\"type\":\"tuple\"}],\"internalType\":\"struct PoliciesAgg.PolicyTerms[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAssetSpecificPolicies(uint256)\":{\"params\":{\"assetId\":\"The unique identifier of the asset whose policies are being queried.\"}},\"getAvailablePoliciesTerms(address,bytes)\":{\"params\":{\"criteria\":\"Encoded data for policy evaluation.\",\"holder\":\"Address of the rights holder.\"}},\"getHolderWidePolicies(address)\":{\"params\":{\"holder\":\"The address of the rights holder whose policies are being queried.\"}},\"initialize(address)\":{\"details\":\"Sets up the contract for usage.\",\"params\":{\"accessManager\":\"Address of the Access Manager contract used for permission handling.\"}},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"ASSET_OWNERSHIP\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"},\"RIGHTS_POLICY_AUTHORIZER\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"getAssetSpecificPolicies(uint256)\":{\"notice\":\"Retrieves all policies that govern operations on a specific asset.\"},\"getAvailablePoliciesTerms(address,bytes)\":{\"notice\":\"Retrieves all available policies for a holder matching specific criteria.\"},\"getHolderWidePolicies(address)\":{\"notice\":\"Retrieves all policies that apply to the entirety of a holder's content.\"},\"initialize(address)\":{\"notice\":\"Initializes the proxy state.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/aggregation/PoliciesAgg.sol\":\"PoliciesAgg\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=node_modules/@synaps3/types/contracts/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"contracts/aggregation/PoliciesAgg.sol\":{\"keccak256\":\"0xfdd745d8471c568185c27d032f98428d33564214b8105b62d6420012ceb420dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://22eae57023f6b71576d7d1838814b34fbf55bcfcb67f25b86d278a6d176a81ad\",\"dweb:/ipfs/QmTBv6iGzAqfMzyV7jFCkN5935pRxwdoJUnetESBkwLT4n\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol\":{\"keccak256\":\"0x266376c23b74506b9b8d9ed90f1bc310cc7330b8d3e6ca6e6eb4021b3668aa18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3614788ae9f18a9b472baaf6bb6dc1abe3d78a397f791e30efbe4f1965b3e025\",\"dweb:/ipfs/QmPhLLbi88yH9NxhV18xutazHAYm2HSaEpSoTwR6v5BiDB\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol\":{\"keccak256\":\"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405\",\"dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol\":{\"keccak256\":\"0x7788d64a9d12536ad06115d72faef14dfc131def88bc15e8901d64d67f231419\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecb519a42d82d23498f17644216cd4041b87ee126c2b471f05418af2bb6ae130\",\"dweb:/ipfs/QmTLZw15MB1aXZCvbXfvDozqPm29c3CqiSsgSdMpXEM3o4\"]},\"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol\":{\"keccak256\":\"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2\",\"dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Types.sol\":{\"keccak256\":\"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf\",\"dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe\"]},\"node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { "internalType": "address", "name": "rightsPolicyAuthorizer", "type": "address" }, + { "internalType": "address", "name": "assetOwnership", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [{ "internalType": "address", "name": "authority", "type": "address" }], + "type": "error", + "name": "AccessManagedInvalidAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "caller", "type": "address" }, + { "internalType": "uint32", "name": "delay", "type": "uint32" } + ], + "type": "error", + "name": "AccessManagedRequiredDelay" + }, + { + "inputs": [{ "internalType": "address", "name": "caller", "type": "address" }], + "type": "error", + "name": "AccessManagedUnauthorized" + }, + { + "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], + "type": "error", + "name": "AddressEmptyCode" + }, + { + "inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }], + "type": "error", + "name": "ERC1967InvalidImplementation" + }, + { "inputs": [], "type": "error", "name": "ERC1967NonPayable" }, + { "inputs": [], "type": "error", "name": "FailedCall" }, + { "inputs": [], "type": "error", "name": "InvalidInitialization" }, + { + "inputs": [{ "internalType": "string", "name": "", "type": "string" }], + "type": "error", + "name": "InvalidUnauthorizedOperation" + }, + { "inputs": [], "type": "error", "name": "NotInitializing" }, + { "inputs": [], "type": "error", "name": "UUPSUnauthorizedCallContext" }, + { + "inputs": [{ "internalType": "bytes32", "name": "slot", "type": "bytes32" }], + "type": "error", + "name": "UUPSUnsupportedProxiableUUID" + }, + { + "inputs": [ + { "internalType": "address", "name": "authority", "type": "address", "indexed": false } + ], + "type": "event", + "name": "AuthorityUpdated", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "uint64", "name": "version", "type": "uint64", "indexed": false } + ], + "type": "event", + "name": "Initialized", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "Upgraded", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "ASSET_OWNERSHIP", + "outputs": [{ "internalType": "contract IAssetOwnership", "name": "", "type": "address" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "RIGHTS_POLICY_AUTHORIZER", + "outputs": [ + { "internalType": "contract IRightsPolicyAuthorizer", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "authority", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }] + }, + { + "inputs": [{ "internalType": "uint256", "name": "assetId", "type": "uint256" }], + "stateMutability": "view", + "type": "function", + "name": "getAssetSpecificPolicies", + "outputs": [ + { + "internalType": "struct PoliciesAgg.PolicyTerms[]", + "name": "", + "type": "tuple[]", + "components": [ + { "internalType": "address", "name": "policy", "type": "address" }, + { + "internalType": "struct T.Terms", + "name": "terms", + "type": "tuple", + "components": [ + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" }, + { "internalType": "enum T.RateBasis", "name": "rateBasis", "type": "uint8" }, + { "internalType": "string", "name": "uri", "type": "string" } + ] + } + ] + } + ] + }, + { + "inputs": [ + { "internalType": "address", "name": "holder", "type": "address" }, + { "internalType": "bytes", "name": "criteria", "type": "bytes" } + ], + "stateMutability": "view", + "type": "function", + "name": "getAvailablePoliciesTerms", + "outputs": [ + { + "internalType": "struct PoliciesAgg.PolicyTerms[]", + "name": "", + "type": "tuple[]", + "components": [ + { "internalType": "address", "name": "policy", "type": "address" }, + { + "internalType": "struct T.Terms", + "name": "terms", + "type": "tuple", + "components": [ + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" }, + { "internalType": "enum T.RateBasis", "name": "rateBasis", "type": "uint8" }, + { "internalType": "string", "name": "uri", "type": "string" } + ] + } + ] + } + ] + }, + { + "inputs": [{ "internalType": "address", "name": "holder", "type": "address" }], + "stateMutability": "view", + "type": "function", + "name": "getHolderWidePolicies", + "outputs": [ + { + "internalType": "struct PoliciesAgg.PolicyTerms[]", + "name": "", + "type": "tuple[]", + "components": [ + { "internalType": "address", "name": "policy", "type": "address" }, + { + "internalType": "struct T.Terms", + "name": "terms", + "type": "tuple", + "components": [ + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" }, + { "internalType": "enum T.RateBasis", "name": "rateBasis", "type": "uint8" }, + { "internalType": "string", "name": "uri", "type": "string" } + ] + } + ] + } + ] + }, + { + "inputs": [{ "internalType": "address", "name": "accessManager", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "initialize" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "isConsumingScheduledOp", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] + }, + { + "inputs": [{ "internalType": "address", "name": "newAuthority", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "setAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "newImplementation", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "stateMutability": "payable", + "type": "function", + "name": "upgradeToAndCall" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "authority()": { "details": "Returns the current authority." }, + "constructor": { "custom:oz-upgrades-unsafe-allow": "constructor" }, + "getAssetSpecificPolicies(uint256)": { + "params": { + "assetId": "The unique identifier of the asset whose policies are being queried." + } + }, + "getAvailablePoliciesTerms(address,bytes)": { + "params": { + "criteria": "Encoded data for policy evaluation.", + "holder": "Address of the rights holder." + } + }, + "getHolderWidePolicies(address)": { + "params": { + "holder": "The address of the rights holder whose policies are being queried." + } + }, + "initialize(address)": { + "details": "Sets up the contract for usage.", + "params": { + "accessManager": "Address of the Access Manager contract used for permission handling." + } + }, + "isConsumingScheduledOp()": { + "details": "Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls." + }, + "proxiableUUID()": { + "details": "Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier." + }, + "setAuthority(address)": { + "details": "Transfers control to a new authority. The caller must be the current authority." + }, + "upgradeToAndCall(address,bytes)": { + "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", + "details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "getAssetSpecificPolicies(uint256)": { + "notice": "Retrieves all policies that govern operations on a specific asset." + }, + "getAvailablePoliciesTerms(address,bytes)": { + "notice": "Retrieves all available policies for a holder matching specific criteria." + }, + "getHolderWidePolicies(address)": { + "notice": "Retrieves all policies that apply to the entirety of a holder's content." + }, + "initialize(address)": { "notice": "Initializes the proxy state." } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@account-abstraction/=node_modules/@account-abstraction/", + "@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/", + "@ethsign/=node_modules/@ethsign/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@synaps3/=node_modules/@synaps3/types/contracts/", + "@uniswap/=node_modules/@uniswap/", + "base64-sol/=node_modules/base64-sol/", + "forge-std/=lib/forge-std/src/", + "hardhat/=node_modules/hardhat/", + "solady/=lib/solady/src/" + ], + "optimizer": { "enabled": true, "runs": 20000 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "contracts/aggregation/PoliciesAgg.sol": "PoliciesAgg" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/aggregation/PoliciesAgg.sol": { + "keccak256": "0xfdd745d8471c568185c27d032f98428d33564214b8105b62d6420012ceb420dd", + "urls": [ + "bzz-raw://22eae57023f6b71576d7d1838814b34fbf55bcfcb67f25b86d278a6d176a81ad", + "dweb:/ipfs/QmTBv6iGzAqfMzyV7jFCkN5935pRxwdoJUnetESBkwLT4n" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol": { + "keccak256": "0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373", + "urls": [ + "bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447", + "dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", + "urls": [ + "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", + "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol": { + "keccak256": "0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27", + "urls": [ + "bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e", + "dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", + "urls": [ + "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", + "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol": { + "keccak256": "0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4", + "urls": [ + "bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e", + "dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol": { + "keccak256": "0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6", + "urls": [ + "bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694", + "dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol": { + "keccak256": "0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2", + "urls": [ + "bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4", + "dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol": { + "keccak256": "0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030", + "urls": [ + "bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c", + "dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol": { + "keccak256": "0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486", + "urls": [ + "bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d", + "dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { + "keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d", + "urls": [ + "bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196", + "dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { + "keccak256": "0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06", + "urls": [ + "bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c", + "dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { + "keccak256": "0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c", + "urls": [ + "bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa", + "dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "keccak256": "0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261", + "urls": [ + "bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11", + "dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "keccak256": "0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1", + "urls": [ + "bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02", + "dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", + "urls": [ + "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", + "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Errors.sol": { + "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", + "urls": [ + "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", + "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Panic.sol": { + "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", + "urls": [ + "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", + "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/StorageSlot.sol": { + "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97", + "urls": [ + "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b", + "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", + "urls": [ + "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", + "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", + "urls": [ + "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", + "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": { + "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", + "urls": [ + "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", + "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/types/Time.sol": { + "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", + "urls": [ + "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", + "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/access/IAccessManager.sol": { + "keccak256": "0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f", + "urls": [ + "bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e", + "dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol": { + "keccak256": "0x266376c23b74506b9b8d9ed90f1bc310cc7330b8d3e6ca6e6eb4021b3668aa18", + "urls": [ + "bzz-raw://3614788ae9f18a9b472baaf6bb6dc1abe3d78a397f791e30efbe4f1965b3e025", + "dweb:/ipfs/QmPhLLbi88yH9NxhV18xutazHAYm2HSaEpSoTwR6v5BiDB" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol": { + "keccak256": "0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02", + "urls": [ + "bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405", + "dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol": { + "keccak256": "0x7788d64a9d12536ad06115d72faef14dfc131def88bc15e8901d64d67f231419", + "urls": [ + "bzz-raw://ecb519a42d82d23498f17644216cd4041b87ee126c2b471f05418af2bb6ae130", + "dweb:/ipfs/QmTLZw15MB1aXZCvbXfvDozqPm29c3CqiSsgSdMpXEM3o4" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol": { + "keccak256": "0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411", + "urls": [ + "bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2", + "dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/Constants.sol": { + "keccak256": "0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e", + "urls": [ + "bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1", + "dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/Types.sol": { + "keccak256": "0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1", + "urls": [ + "bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf", + "dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol": { + "keccak256": "0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df", + "urls": [ + "bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2", + "dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "storageLayout": { "storage": [], "types": {} }, + "ast": { + "absolutePath": "contracts/aggregation/PoliciesAgg.sol", + "id": 472, + "exportedSymbols": { + "AccessControlledUpgradeable": [51361], + "IAssetOwnership": [50146], + "IPolicy": [50308], + "IRightsPolicyAuthorizer": [50391], + "Initializable": [43521], + "LoopOps": [50745], + "PoliciesAgg": [471], + "T": [51233], + "UUPSUpgradeable": [43703] + }, + "nodeType": "SourceUnit", + "src": "32:4547:3", + "nodes": [ + { + "id": 204, + "nodeType": "PragmaDirective", + "src": "32:23:3", + "nodes": [], + "literals": ["solidity", "0.8", ".26"] + }, + { + "id": 206, + "nodeType": "ImportDirective", + "src": "57:98:3", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "nameLocation": "-1:-1:-1", + "scope": 472, + "sourceUnit": 43522, + "symbolAliases": [ + { + "foreign": { + "id": 205, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43521, + "src": "66:13:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 208, + "nodeType": "ImportDirective", + "src": "156:102:3", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 472, + "sourceUnit": 43704, + "symbolAliases": [ + { + "foreign": { + "id": 207, + "name": "UUPSUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43703, + "src": "165:15:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 210, + "nodeType": "ImportDirective", + "src": "260:86:3", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol", + "file": "@synaps3/core/interfaces/assets/IAssetOwnership.sol", + "nameLocation": "-1:-1:-1", + "scope": 472, + "sourceUnit": 50147, + "symbolAliases": [ + { + "foreign": { + "id": 209, + "name": "IAssetOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50146, + "src": "269:15:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 212, + "nodeType": "ImportDirective", + "src": "347:115:3", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "file": "@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 472, + "sourceUnit": 51362, + "symbolAliases": [ + { + "foreign": { + "id": 211, + "name": "AccessControlledUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51361, + "src": "356:27:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 214, + "nodeType": "ImportDirective", + "src": "463:102:3", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol", + "file": "@synaps3/core/interfaces/rights/IRightsPolicyAuthorizer.sol", + "nameLocation": "-1:-1:-1", + "scope": 472, + "sourceUnit": 50392, + "symbolAliases": [ + { + "foreign": { + "id": 213, + "name": "IRightsPolicyAuthorizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50391, + "src": "472:23:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 216, + "nodeType": "ImportDirective", + "src": "567:72:3", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol", + "file": "@synaps3/core/interfaces/policies/IPolicy.sol", + "nameLocation": "-1:-1:-1", + "scope": 472, + "sourceUnit": 50309, + "symbolAliases": [ + { + "foreign": { + "id": 215, + "name": "IPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50308, + "src": "576:7:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 218, + "nodeType": "ImportDirective", + "src": "640:62:3", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol", + "file": "@synaps3/core/libraries/LoopOps.sol", + "nameLocation": "-1:-1:-1", + "scope": 472, + "sourceUnit": 50746, + "symbolAliases": [ + { + "foreign": { + "id": 217, + "name": "LoopOps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50745, + "src": "649:7:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 220, + "nodeType": "ImportDirective", + "src": "703:55:3", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/primitives/Types.sol", + "file": "@synaps3/core/primitives/Types.sol", + "nameLocation": "-1:-1:-1", + "scope": 472, + "sourceUnit": 51234, + "symbolAliases": [ + { + "foreign": { + "id": 219, + "name": "T", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51233, + "src": "712:1:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 471, + "nodeType": "ContractDefinition", + "src": "760:3818:3", + "nodes": [ + { + "id": 229, + "nodeType": "UsingForDirective", + "src": "850:26:3", + "nodes": [], + "global": false, + "libraryName": { + "id": 227, + "name": "LoopOps", + "nameLocations": ["856:7:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50745, + "src": "856:7:3" + }, + "typeName": { + "id": 228, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "868:7:3", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + } + }, + { + "id": 236, + "nodeType": "StructDefinition", + "src": "958:73:3", + "nodes": [], + "canonicalName": "PoliciesAgg.PolicyTerms", + "documentation": { + "id": 230, + "nodeType": "StructuredDocumentation", + "src": "882:71:3", + "text": "@notice structure to hold the relationship between policy and terms" + }, + "members": [ + { + "constant": false, + "id": 232, + "mutability": "mutable", + "name": "policy", + "nameLocation": "995:6:3", + "nodeType": "VariableDeclaration", + "scope": 236, + "src": "987:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 231, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "987:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 235, + "mutability": "mutable", + "name": "terms", + "nameLocation": "1019:5:3", + "nodeType": "VariableDeclaration", + "scope": 236, + "src": "1011:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_storage_ptr", + "typeString": "struct T.Terms" + }, + "typeName": { + "id": 234, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 233, + "name": "T.Terms", + "nameLocations": ["1011:1:3", "1013:5:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51222, + "src": "1011:7:3" + }, + "referencedDeclaration": 51222, + "src": "1011:7:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_storage_ptr", + "typeString": "struct T.Terms" + } + }, + "visibility": "internal" + } + ], + "name": "PolicyTerms", + "nameLocation": "965:11:3", + "scope": 471, + "visibility": "public" + }, + { + "id": 240, + "nodeType": "VariableDeclaration", + "src": "1103:65:3", + "nodes": [], + "constant": false, + "documentation": { + "id": 237, + "nodeType": "StructuredDocumentation", + "src": "1037:61:3", + "text": "@custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "functionSelector": "968e48cf", + "mutability": "immutable", + "name": "RIGHTS_POLICY_AUTHORIZER", + "nameLocation": "1144:24:3", + "scope": 471, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyAuthorizer_$50391", + "typeString": "contract IRightsPolicyAuthorizer" + }, + "typeName": { + "id": 239, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 238, + "name": "IRightsPolicyAuthorizer", + "nameLocations": ["1103:23:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50391, + "src": "1103:23:3" + }, + "referencedDeclaration": 50391, + "src": "1103:23:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyAuthorizer_$50391", + "typeString": "contract IRightsPolicyAuthorizer" + } + }, + "visibility": "public" + }, + { + "id": 244, + "nodeType": "VariableDeclaration", + "src": "1240:48:3", + "nodes": [], + "constant": false, + "documentation": { + "id": 241, + "nodeType": "StructuredDocumentation", + "src": "1174:61:3", + "text": "@custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "functionSelector": "f520d4eb", + "mutability": "immutable", + "name": "ASSET_OWNERSHIP", + "nameLocation": "1273:15:3", + "scope": 471, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAssetOwnership_$50146", + "typeString": "contract IAssetOwnership" + }, + "typeName": { + "id": 243, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 242, + "name": "IAssetOwnership", + "nameLocations": ["1240:15:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50146, + "src": "1240:15:3" + }, + "referencedDeclaration": 50146, + "src": "1240:15:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAssetOwnership_$50146", + "typeString": "contract IAssetOwnership" + } + }, + "visibility": "public" + }, + { + "id": 268, + "nodeType": "FunctionDefinition", + "src": "1348:440:3", + "nodes": [], + "body": { + "id": 267, + "nodeType": "Block", + "src": "1416:372:3", + "nodes": [], + "statements": [ + { + "documentation": "https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5", + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 252, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43489, + "src": "1616:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1616:22:3", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 254, + "nodeType": "ExpressionStatement", + "src": "1616:22:3" + }, + { + "expression": { + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 255, + "name": "RIGHTS_POLICY_AUTHORIZER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 240, + "src": "1648:24:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyAuthorizer_$50391", + "typeString": "contract IRightsPolicyAuthorizer" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 257, + "name": "rightsPolicyAuthorizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "1699:22:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 256, + "name": "IRightsPolicyAuthorizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50391, + "src": "1675:23:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IRightsPolicyAuthorizer_$50391_$", + "typeString": "type(contract IRightsPolicyAuthorizer)" + } + }, + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1675:47:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyAuthorizer_$50391", + "typeString": "contract IRightsPolicyAuthorizer" + } + }, + "src": "1648:74:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyAuthorizer_$50391", + "typeString": "contract IRightsPolicyAuthorizer" + } + }, + "id": 260, + "nodeType": "ExpressionStatement", + "src": "1648:74:3" + }, + { + "expression": { + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 261, + "name": "ASSET_OWNERSHIP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "1732:15:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAssetOwnership_$50146", + "typeString": "contract IAssetOwnership" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 263, + "name": "assetOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "1766:14:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 262, + "name": "IAssetOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50146, + "src": "1750:15:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAssetOwnership_$50146_$", + "typeString": "type(contract IAssetOwnership)" + } + }, + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1750:31:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAssetOwnership_$50146", + "typeString": "contract IAssetOwnership" + } + }, + "src": "1732:49:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAssetOwnership_$50146", + "typeString": "contract IAssetOwnership" + } + }, + "id": 266, + "nodeType": "ExpressionStatement", + "src": "1732:49:3" + } + ] + }, + "documentation": { + "id": 245, + "nodeType": "StructuredDocumentation", + "src": "1295:48:3", + "text": "@custom:oz-upgrades-unsafe-allow constructor" + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 247, + "mutability": "mutable", + "name": "rightsPolicyAuthorizer", + "nameLocation": "1368:22:3", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "1360:30:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 246, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1360:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 249, + "mutability": "mutable", + "name": "assetOwnership", + "nameLocation": "1400:14:3", + "nodeType": "VariableDeclaration", + "scope": 268, + "src": "1392:22:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1392:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "1359:56:3" + }, + "returnParameters": { + "id": 251, + "nodeType": "ParameterList", + "parameters": [], + "src": "1416:0:3" + }, + "scope": 471, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 284, + "nodeType": "FunctionDefinition", + "src": "1982:151:3", + "nodes": [], + "body": { + "id": 283, + "nodeType": "Block", + "src": "2044:89:3", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 276, + "name": "__UUPSUpgradeable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43575, + "src": "2054:22:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2054:24:3", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 278, + "nodeType": "ExpressionStatement", + "src": "2054:24:3" + }, + { + "expression": { + "arguments": [ + { + "id": 280, + "name": "accessManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 271, + "src": "2112:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "id": 279, + "name": "__AccessControlled_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51296, + "src": "2088:23:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2088:38:3", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 282, + "nodeType": "ExpressionStatement", + "src": "2088:38:3" + } + ] + }, + "documentation": { + "id": 269, + "nodeType": "StructuredDocumentation", + "src": "1794:183:3", + "text": "@notice Initializes the proxy state.\n @dev Sets up the contract for usage.\n @param accessManager Address of the Access Manager contract used for permission handling." + }, + "functionSelector": "c4d66de8", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 274, + "kind": "modifierInvocation", + "modifierName": { + "id": 273, + "name": "initializer", + "nameLocations": ["2032:11:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43375, + "src": "2032:11:3" + }, + "nodeType": "ModifierInvocation", + "src": "2032:11:3" + } + ], + "name": "initialize", + "nameLocation": "1991:10:3", + "parameters": { + "id": 272, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 271, + "mutability": "mutable", + "name": "accessManager", + "nameLocation": "2010:13:3", + "nodeType": "VariableDeclaration", + "scope": 284, + "src": "2002:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 270, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2002:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2001:23:3" + }, + "returnParameters": { + "id": 275, + "nodeType": "ParameterList", + "parameters": [], + "src": "2044:0:3" + }, + "scope": 471, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 314, + "nodeType": "FunctionDefinition", + "src": "2317:261:3", + "nodes": [], + "body": { + "id": 313, + "nodeType": "Block", + "src": "2409:169:3", + "nodes": [], + "statements": [ + { + "assignments": [295], + "declarations": [ + { + "constant": false, + "id": 295, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "2432:8:3", + "nodeType": "VariableDeclaration", + "scope": 313, + "src": "2419:21:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 294, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2419:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 300, + "initialValue": { + "arguments": [ + { + "id": 298, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "2454:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "expression": { + "id": 296, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2443:3:3", + "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } + }, + "id": 297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2447:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2443:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2443:18:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2419:42:3" + }, + { + "assignments": [305], + "declarations": [ + { + "constant": false, + "id": 305, + "mutability": "mutable", + "name": "policies", + "nameLocation": "2492:8:3", + "nodeType": "VariableDeclaration", + "scope": 313, + "src": "2471:29:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + }, + "typeName": { + "baseType": { + "id": 303, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 302, + "name": "PolicyTerms", + "nameLocations": ["2471:11:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 236, + "src": "2471:11:3" + }, + "referencedDeclaration": 236, + "src": "2471:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms" + } + }, + "id": 304, + "nodeType": "ArrayTypeName", + "src": "2471:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + } + }, + "visibility": "internal" + } + ], + "id": 310, + "initialValue": { + "arguments": [ + { + "id": 307, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 287, + "src": "2529:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 308, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 295, + "src": "2537:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } + ], + "id": 306, + "name": "getAvailablePoliciesTerms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 460, + "src": "2503:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (address,bytes memory) view returns (struct PoliciesAgg.PolicyTerms memory[] memory)" + } + }, + "id": 309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2503:43:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2471:75:3" + }, + { + "expression": { + "id": 311, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "2563:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory[] memory" + } + }, + "functionReturnParameters": 293, + "id": 312, + "nodeType": "Return", + "src": "2556:15:3" + } + ] + }, + "documentation": { + "id": 285, + "nodeType": "StructuredDocumentation", + "src": "2139:173:3", + "text": "@notice Retrieves all policies that apply to the entirety of a holder's content.\n @param holder The address of the rights holder whose policies are being queried." + }, + "functionSelector": "d45944ca", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getHolderWidePolicies", + "nameLocation": "2326:21:3", + "parameters": { + "id": 288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 287, + "mutability": "mutable", + "name": "holder", + "nameLocation": "2356:6:3", + "nodeType": "VariableDeclaration", + "scope": 314, + "src": "2348:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 286, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2348:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2347:16:3" + }, + "returnParameters": { + "id": 293, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 292, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 314, + "src": "2387:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + }, + "typeName": { + "baseType": { + "id": 290, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 289, + "name": "PolicyTerms", + "nameLocations": ["2387:11:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 236, + "src": "2387:11:3" + }, + "referencedDeclaration": 236, + "src": "2387:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms" + } + }, + "id": 291, + "nodeType": "ArrayTypeName", + "src": "2387:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + } + }, + "visibility": "internal" + } + ], + "src": "2386:22:3" + }, + "scope": 471, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 351, + "nodeType": "FunctionDefinition", + "src": "2759:325:3", + "nodes": [], + "body": { + "id": 350, + "nodeType": "Block", + "src": "2855:229:3", + "nodes": [], + "statements": [ + { + "assignments": [325], + "declarations": [ + { + "constant": false, + "id": 325, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "2878:8:3", + "nodeType": "VariableDeclaration", + "scope": 350, + "src": "2865:21:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 324, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2865:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 330, + "initialValue": { + "arguments": [ + { + "id": 328, + "name": "assetId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2900:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_uint256", "typeString": "uint256" }], + "expression": { + "id": 326, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2889:3:3", + "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } + }, + "id": 327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2893:6:3", + "memberName": "encode", + "nodeType": "MemberAccess", + "src": "2889:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencode_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2889:19:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2865:43:3" + }, + { + "assignments": [332], + "declarations": [ + { + "constant": false, + "id": 332, + "mutability": "mutable", + "name": "holder", + "nameLocation": "2926:6:3", + "nodeType": "VariableDeclaration", + "scope": 350, + "src": "2918:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 331, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2918:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 337, + "initialValue": { + "arguments": [ + { + "id": 335, + "name": "assetId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 317, + "src": "2959:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_uint256", "typeString": "uint256" }], + "expression": { + "id": 333, + "name": "ASSET_OWNERSHIP", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 244, + "src": "2935:15:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAssetOwnership_$50146", + "typeString": "contract IAssetOwnership" + } + }, + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2951:7:3", + "memberName": "ownerOf", + "nodeType": "MemberAccess", + "referencedDeclaration": 45357, + "src": "2935:23:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view external returns (address)" + } + }, + "id": 336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2935:32:3", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2918:49:3" + }, + { + "assignments": [342], + "declarations": [ + { + "constant": false, + "id": 342, + "mutability": "mutable", + "name": "policies", + "nameLocation": "2998:8:3", + "nodeType": "VariableDeclaration", + "scope": 350, + "src": "2977:29:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + }, + "typeName": { + "baseType": { + "id": 340, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 339, + "name": "PolicyTerms", + "nameLocations": ["2977:11:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 236, + "src": "2977:11:3" + }, + "referencedDeclaration": 236, + "src": "2977:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms" + } + }, + "id": 341, + "nodeType": "ArrayTypeName", + "src": "2977:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + } + }, + "visibility": "internal" + } + ], + "id": 347, + "initialValue": { + "arguments": [ + { + "id": 344, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 332, + "src": "3035:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 345, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 325, + "src": "3043:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } + ], + "id": 343, + "name": "getAvailablePoliciesTerms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 460, + "src": "3009:25:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bytes_memory_ptr_$returns$_t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (address,bytes memory) view returns (struct PoliciesAgg.PolicyTerms memory[] memory)" + } + }, + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3009:43:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2977:75:3" + }, + { + "expression": { + "id": 348, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 342, + "src": "3069:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory[] memory" + } + }, + "functionReturnParameters": 323, + "id": 349, + "nodeType": "Return", + "src": "3062:15:3" + } + ] + }, + "documentation": { + "id": 315, + "nodeType": "StructuredDocumentation", + "src": "2584:170:3", + "text": "@notice Retrieves all policies that govern operations on a specific asset.\n @param assetId The unique identifier of the asset whose policies are being queried." + }, + "functionSelector": "76e5cef1", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAssetSpecificPolicies", + "nameLocation": "2768:24:3", + "parameters": { + "id": 318, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 317, + "mutability": "mutable", + "name": "assetId", + "nameLocation": "2801:7:3", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "2793:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 316, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2793:7:3", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "2792:17:3" + }, + "returnParameters": { + "id": 323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 322, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 351, + "src": "2833:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + }, + "typeName": { + "baseType": { + "id": 320, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 319, + "name": "PolicyTerms", + "nameLocations": ["2833:11:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 236, + "src": "2833:11:3" + }, + "referencedDeclaration": 236, + "src": "2833:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms" + } + }, + "id": 321, + "nodeType": "ArrayTypeName", + "src": "2833:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + } + }, + "visibility": "internal" + } + ], + "src": "2832:22:3" + }, + "scope": 471, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 460, + "nodeType": "FunctionDefinition", + "src": "3292:896:3", + "nodes": [], + "body": { + "id": 459, + "nodeType": "Block", + "src": "3431:757:3", + "nodes": [], + "statements": [ + { + "assignments": [367], + "declarations": [ + { + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "policies", + "nameLocation": "3458:8:3", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "3441:25:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3441:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 366, + "nodeType": "ArrayTypeName", + "src": "3441:9:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "id": 372, + "initialValue": { + "arguments": [ + { + "id": 370, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 354, + "src": "3516:6:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "expression": { + "id": 368, + "name": "RIGHTS_POLICY_AUTHORIZER", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 240, + "src": "3469:24:3", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IRightsPolicyAuthorizer_$50391", + "typeString": "contract IRightsPolicyAuthorizer" + } + }, + "id": 369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3494:21:3", + "memberName": "getAuthorizedPolicies", + "nodeType": "MemberAccess", + "referencedDeclaration": 50366, + "src": "3469:46:3", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (address) view external returns (address[] memory)" + } + }, + "id": 371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3469:54:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3441:82:3" + }, + { + "assignments": [377], + "declarations": [ + { + "constant": false, + "id": 377, + "mutability": "mutable", + "name": "terms", + "nameLocation": "3554:5:3", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "3533:26:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + }, + "typeName": { + "baseType": { + "id": 375, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 374, + "name": "PolicyTerms", + "nameLocations": ["3533:11:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 236, + "src": "3533:11:3" + }, + "referencedDeclaration": 236, + "src": "3533:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms" + } + }, + "id": 376, + "nodeType": "ArrayTypeName", + "src": "3533:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + } + }, + "visibility": "internal" + } + ], + "id": 385, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 382, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3580:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3589:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3580:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_uint256", "typeString": "uint256" }], + "id": 381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "3562:17:3", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (struct PoliciesAgg.PolicyTerms memory[] memory)" + }, + "typeName": { + "baseType": { + "id": 379, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 378, + "name": "PolicyTerms", + "nameLocations": ["3566:11:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 236, + "src": "3566:11:3" + }, + "referencedDeclaration": 236, + "src": "3566:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms" + } + }, + "id": 380, + "nodeType": "ArrayTypeName", + "src": "3566:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + } + } + }, + "id": 384, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3562:34:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3533:63:3" + }, + { + "assignments": [387], + "declarations": [ + { + "constant": false, + "id": 387, + "mutability": "mutable", + "name": "availablePoliciesLen", + "nameLocation": "3614:20:3", + "nodeType": "VariableDeclaration", + "scope": 459, + "src": "3606:28:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 386, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3606:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 390, + "initialValue": { + "expression": { + "id": 388, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3637:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3646:6:3", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "3637:15:3", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3606:46:3" + }, + { + "body": { + "id": 455, + "nodeType": "Block", + "src": "3731:428:3", + "statements": [ + { + "assignments": [405], + "declarations": [ + { + "constant": false, + "id": 405, + "mutability": "mutable", + "name": "policyAddress", + "nameLocation": "3753:13:3", + "nodeType": "VariableDeclaration", + "scope": 455, + "src": "3745:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 404, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3745:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 409, + "initialValue": { + "baseExpression": { + "id": 406, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 367, + "src": "3769:8:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 408, + "indexExpression": { + "id": 407, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "3778:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3769:11:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3745:35:3" + }, + { + "assignments": [411], + "declarations": [ + { + "constant": false, + "id": 411, + "mutability": "mutable", + "name": "callData", + "nameLocation": "3807:8:3", + "nodeType": "VariableDeclaration", + "scope": 455, + "src": "3794:21:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 410, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3794:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 419, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 414, + "name": "IPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50308, + "src": "3833:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IPolicy_$50308_$", + "typeString": "type(contract IPolicy)" + } + }, + "id": 415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3841:12:3", + "memberName": "resolveTerms", + "nodeType": "MemberAccess", + "referencedDeclaration": 50291, + "src": "3833:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_view$_t_bytes_memory_ptr_$returns$_t_struct$_Terms_$51222_memory_ptr_$", + "typeString": "function IPolicy.resolveTerms(bytes memory) view returns (struct T.Terms memory)" + } + }, + { + "components": [ + { + "id": 416, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 356, + "src": "3856:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "id": 417, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3855:10:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_declaration_view$_t_bytes_memory_ptr_$returns$_t_struct$_Terms_$51222_memory_ptr_$", + "typeString": "function IPolicy.resolveTerms(bytes memory) view returns (struct T.Terms memory)" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 412, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3818:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 413, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3822:10:3", + "memberName": "encodeCall", + "nodeType": "MemberAccess", + "src": "3818:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3818:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3794:72:3" + }, + { + "assignments": [421, 423], + "declarations": [ + { + "constant": false, + "id": 421, + "mutability": "mutable", + "name": "success", + "nameLocation": "3886:7:3", + "nodeType": "VariableDeclaration", + "scope": 455, + "src": "3881:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 420, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3881:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 423, + "mutability": "mutable", + "name": "result", + "nameLocation": "3908:6:3", + "nodeType": "VariableDeclaration", + "scope": 455, + "src": "3895:19:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 422, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3895:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 428, + "initialValue": { + "arguments": [ + { + "id": 426, + "name": "callData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 411, + "src": "3943:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 424, + "name": "policyAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 405, + "src": "3918:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3932:10:3", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3918:24:3", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 427, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3918:34:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3880:72:3" + }, + { + "condition": { + "id": 430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3970:8:3", + "subExpression": { + "id": 429, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 421, + "src": "3971:7:3", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 432, + "nodeType": "IfStatement", + "src": "3966:22:3", + "trueBody": { "id": 431, "nodeType": "Continue", "src": "3980:8:3" } + }, + { + "assignments": [437], + "declarations": [ + { + "constant": false, + "id": 437, + "mutability": "mutable", + "name": "term", + "nameLocation": "4036:4:3", + "nodeType": "VariableDeclaration", + "scope": 455, + "src": "4021:19:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_memory_ptr", + "typeString": "struct T.Terms" + }, + "typeName": { + "id": 436, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 435, + "name": "T.Terms", + "nameLocations": ["4021:1:3", "4023:5:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51222, + "src": "4021:7:3" + }, + "referencedDeclaration": 51222, + "src": "4021:7:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_storage_ptr", + "typeString": "struct T.Terms" + } + }, + "visibility": "internal" + } + ], + "id": 445, + "initialValue": { + "arguments": [ + { + "id": 440, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 423, + "src": "4054:6:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "expression": { + "id": 441, + "name": "T", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51233, + "src": "4063:1:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_T_$51233_$", + "typeString": "type(library T)" + } + }, + "id": 442, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4065:5:3", + "memberName": "Terms", + "nodeType": "MemberAccess", + "referencedDeclaration": 51222, + "src": "4063:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Terms_$51222_storage_ptr_$", + "typeString": "type(struct T.Terms storage pointer)" + } + } + ], + "id": 443, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4062:9:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Terms_$51222_storage_ptr_$", + "typeString": "type(struct T.Terms storage pointer)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_type$_t_struct$_Terms_$51222_storage_ptr_$", + "typeString": "type(struct T.Terms storage pointer)" + } + ], + "expression": { + "id": 438, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4043:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4047:6:3", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "4043:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 444, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4043:29:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_memory_ptr", + "typeString": "struct T.Terms memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4021:51:3" + }, + { + "expression": { + "id": 453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 446, + "name": "terms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 377, + "src": "4086:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory[] memory" + } + }, + "id": 448, + "indexExpression": { + "id": 447, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "4092:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4086:8:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 450, + "name": "policyAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 405, + "src": "4119:13:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 451, + "name": "term", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 437, + "src": "4141:4:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_memory_ptr", + "typeString": "struct T.Terms memory" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { + "typeIdentifier": "t_struct$_Terms_$51222_memory_ptr", + "typeString": "struct T.Terms memory" + } + ], + "id": 449, + "name": "PolicyTerms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 236, + "src": "4097:11:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_PolicyTerms_$236_storage_ptr_$", + "typeString": "type(struct PoliciesAgg.PolicyTerms storage pointer)" + } + }, + "id": 452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": ["4111:6:3", "4134:5:3"], + "names": ["policy", "terms"], + "nodeType": "FunctionCall", + "src": "4097:51:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory" + } + }, + "src": "4086:62:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory" + } + }, + "id": 454, + "nodeType": "ExpressionStatement", + "src": "4086:62:3" + } + ] + }, + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 395, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "3683:1:3", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 396, + "name": "availablePoliciesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 387, + "src": "3687:20:3", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "3683:24:3", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 456, + "initializationExpression": { + "assignments": [392], + "declarations": [ + { + "constant": false, + "id": 392, + "mutability": "mutable", + "name": "i", + "nameLocation": "3676:1:3", + "nodeType": "VariableDeclaration", + "scope": 456, + "src": "3668:9:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 391, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3668:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 394, + "initialValue": { + "hexValue": "30", + "id": 393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3680:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "3668:13:3" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 398, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "3709:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 399, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 392, + "src": "3713:1:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3715:12:3", + "memberName": "uncheckedInc", + "nodeType": "MemberAccess", + "referencedDeclaration": 50744, + "src": "3713:14:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3713:16:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3709:20:3", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "3709:20:3" + }, + "nodeType": "ForStatement", + "src": "3663:496:3" + }, + { + "expression": { + "id": 457, + "name": "terms", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 377, + "src": "4176:5:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms memory[] memory" + } + }, + "functionReturnParameters": 362, + "id": 458, + "nodeType": "Return", + "src": "4169:12:3" + } + ] + }, + "documentation": { + "id": 352, + "nodeType": "StructuredDocumentation", + "src": "3090:197:3", + "text": "@notice Retrieves all available policies for a holder matching specific criteria.\n @param holder Address of the rights holder.\n @param criteria Encoded data for policy evaluation." + }, + "functionSelector": "9f30b60f", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAvailablePoliciesTerms", + "nameLocation": "3301:25:3", + "parameters": { + "id": 357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 354, + "mutability": "mutable", + "name": "holder", + "nameLocation": "3344:6:3", + "nodeType": "VariableDeclaration", + "scope": 460, + "src": "3336:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 353, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3336:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 356, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "3373:8:3", + "nodeType": "VariableDeclaration", + "scope": 460, + "src": "3360:21:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 355, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3360:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3326:61:3" + }, + "returnParameters": { + "id": 362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 361, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 460, + "src": "3409:20:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_memory_ptr_$dyn_memory_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + }, + "typeName": { + "baseType": { + "id": 359, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 358, + "name": "PolicyTerms", + "nameLocations": ["3409:11:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 236, + "src": "3409:11:3" + }, + "referencedDeclaration": 236, + "src": "3409:11:3", + "typeDescriptions": { + "typeIdentifier": "t_struct$_PolicyTerms_$236_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms" + } + }, + "id": 360, + "nodeType": "ArrayTypeName", + "src": "3409:13:3", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_struct$_PolicyTerms_$236_storage_$dyn_storage_ptr", + "typeString": "struct PoliciesAgg.PolicyTerms[]" + } + }, + "visibility": "internal" + } + ], + "src": "3408:22:3" + }, + "scope": 471, + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "id": 470, + "nodeType": "FunctionDefinition", + "src": "4492:84:3", + "nodes": [], + "body": { + "id": 469, + "nodeType": "Block", + "src": "4574:2:3", + "nodes": [], + "statements": [] + }, + "baseFunctions": [43657], + "documentation": { + "id": 461, + "nodeType": "StructuredDocumentation", + "src": "4194:293:3", + "text": "@notice Function that should revert when msg.sender is not authorized to upgrade the contract.\n @param newImplementation The address of the new implementation contract.\n @dev See https://docs.openzeppelin.com/contracts/4.x/api/proxy#UUPSUpgradeable-_authorizeUpgrade-address-" + }, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 467, + "kind": "modifierInvocation", + "modifierName": { + "id": 466, + "name": "onlyAdmin", + "nameLocations": ["4564:9:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51279, + "src": "4564:9:3" + }, + "nodeType": "ModifierInvocation", + "src": "4564:9:3" + } + ], + "name": "_authorizeUpgrade", + "nameLocation": "4501:17:3", + "overrides": { + "id": 465, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4555:8:3" + }, + "parameters": { + "id": 464, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 463, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "4527:17:3", + "nodeType": "VariableDeclaration", + "scope": 470, + "src": "4519:25:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 462, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4519:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "4518:27:3" + }, + "returnParameters": { + "id": 468, + "nodeType": "ParameterList", + "parameters": [], + "src": "4574:0:3" + }, + "scope": 471, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 221, + "name": "Initializable", + "nameLocations": ["784:13:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43521, + "src": "784:13:3" + }, + "id": 222, + "nodeType": "InheritanceSpecifier", + "src": "784:13:3" + }, + { + "baseName": { + "id": 223, + "name": "UUPSUpgradeable", + "nameLocations": ["799:15:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 43703, + "src": "799:15:3" + }, + "id": 224, + "nodeType": "InheritanceSpecifier", + "src": "799:15:3" + }, + { + "baseName": { + "id": 225, + "name": "AccessControlledUpgradeable", + "nameLocations": ["816:27:3"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51361, + "src": "816:27:3" + }, + "id": 226, + "nodeType": "InheritanceSpecifier", + "src": "816:27:3" + } + ], + "canonicalName": "PoliciesAgg", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [471, 51361, 43267, 43871, 43749, 43703, 44440, 43521], + "name": "PoliciesAgg", + "nameLocation": "769:11:3", + "scope": 472, + "usedErrors": [ + 43284, 43287, 43548, 43553, 43842, 43848, 43852, 44498, 44511, 45462, 45724, 51261 + ], + "usedEvents": [43292, 43838, 44413] + } + ], + "license": "MIT" + }, + "id": 3 +} diff --git a/src/config/abi/RightsPolicyAuthorizer.json b/src/config/abi/RightsPolicyAuthorizer.json index 80ab489ce..5c0bf4b8b 100644 --- a/src/config/abi/RightsPolicyAuthorizer.json +++ b/src/config/abi/RightsPolicyAuthorizer.json @@ -1 +1,4245 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"policyAudit","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"POLICY_AUDIT","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPolicyAuditorVerifiable"}],"stateMutability":"view"},{"type":"function","name":"UPGRADE_INTERFACE_VERSION","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"authority","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"authorizePolicy","inputs":[{"name":"policy","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAuthorizedPolicies","inputs":[{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"accessManager","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isConsumingScheduledOp","inputs":[],"outputs":[{"name":"","type":"bytes4","internalType":"bytes4"}],"stateMutability":"view"},{"type":"function","name":"isPolicyAuthorized","inputs":[{"name":"policy","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"proxiableUUID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"revokePolicy","inputs":[{"name":"policy","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setAuthority","inputs":[{"name":"newAuthority","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"upgradeToAndCall","inputs":[{"name":"newImplementation","type":"address","internalType":"address"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"payable"},{"type":"event","name":"AuthorityUpdated","inputs":[{"name":"authority","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"RightsGranted","inputs":[{"name":"policy","type":"address","indexed":true,"internalType":"address"},{"name":"holder","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RightsRevoked","inputs":[{"name":"policy","type":"address","indexed":true,"internalType":"address"},{"name":"holder","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Upgraded","inputs":[{"name":"implementation","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AccessManagedInvalidAuthority","inputs":[{"name":"authority","type":"address","internalType":"address"}]},{"type":"error","name":"AccessManagedRequiredDelay","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"delay","type":"uint32","internalType":"uint32"}]},{"type":"error","name":"AccessManagedUnauthorized","inputs":[{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967InvalidImplementation","inputs":[{"name":"implementation","type":"address","internalType":"address"}]},{"type":"error","name":"ERC1967NonPayable","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InvalidInitialization","inputs":[]},{"type":"error","name":"InvalidNotAuditedPolicy","inputs":[{"name":"policy","type":"address","internalType":"address"}]},{"type":"error","name":"InvalidPolicyInitialization","inputs":[{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"InvalidUnauthorizedOperation","inputs":[{"name":"","type":"string","internalType":"string"}]},{"type":"error","name":"NotInitializing","inputs":[]},{"type":"error","name":"UUPSUnauthorizedCallContext","inputs":[]},{"type":"error","name":"UUPSUnsupportedProxiableUUID","inputs":[{"name":"slot","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x60c03461014657601f61176838819003918201601f19168301916001600160401b0383118484101761014a5780849260209460405283398101031261014657516001600160a01b0381169081900361014657306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16610137576002600160401b03196001600160401b038216016100ce575b5060a052604051611609908161015f82396080518181816108ab01526109ac015260a0518181816105e101526111a60152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61009b565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80632f6cc10214610d995780634f1ef2861461092357806352d1902d14610884578063591b43c5146106dc5780637a9e5e4b1461060557806382e2b7c8146105b55780638fb36037146105225780639fda230a146104b4578063ad3cb1cc14610420578063bf7e214f146103ce578063c4d66de8146101305763ca89d8b21461009d575f80fd5b3461012c57604060031936011261012c576100b6610fd8565b6024359073ffffffffffffffffffffffffffffffffffffffff821680920361012c575f9182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff841685526001018252909220541515908161011c575b506040519015158152f35b6101269150611138565b5f610111565b5f80fd5b3461012c57602060031936011261012c57610149610fd8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103c6575b60011490816103bc575b1590816103b3575b5061038b57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055610336575b5061020c6114e3565b6102146114e3565b61021c6114e3565b6102246114e3565b61022d81611210565b6102356114e3565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556102a357005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610203565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b9050158461019a565b303b159150610192565b849150610188565b3461012c575f60031936011261012c57602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b3461012c575f60031936011261012c57604080519061043f8183610ffb565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b3461012c57602060031936011261012c576104cd610fd8565b335f525f6020526104f973ffffffffffffffffffffffffffffffffffffffff60405f209216809261135d565b5033907fe26ab5559d9c979fe9df51c8a6ac8f71ef871393f720d7bd56f2e600d1bb680e5f80a3005b3461012c575f60031936011261012c577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156105ad5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f610583565b3461012c575f60031936011261012c57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461012c57602060031936011261012c5761061e610fd8565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036106b057803b1561066e5761066c90611210565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b3461012c57602060031936011261012c5773ffffffffffffffffffffffffffffffffffffffff61070a610fd8565b165f525f60205260405f20604051808260208294549384815201905f5260205f20925f5b81811061086b57505061074392500382610ffb565b805190610768610752836110d2565b926107606040519485610ffb565b8084526110d2565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020840192013683378051905f805b8382106107fa578486604051918291602083019060208452518091526040830191905f5b8181106107cb575050500390f35b825173ffffffffffffffffffffffffffffffffffffffff168452859450602093840193909201916001016107bd565b61082373ffffffffffffffffffffffffffffffffffffffff61081c84866110ea565b5116611138565b15610862576001809173ffffffffffffffffffffffffffffffffffffffff61084b85876110ea565b5116610857828a6110ea565b5201915b0190610799565b9060019061085b565b845483526001948501948694506020909301920161072e565b3461012c575f60031936011261012c5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108fb5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b604060031936011261012c57610937610fd8565b6024359067ffffffffffffffff821161012c573660238301121561012c5781600401359061096482611069565b916109726040519384610ffb565b8083526020830193366024838301011161012c57815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610d57575b506108fb576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115610d4c575f91610d01575b5015610c7d5773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610c49575b50610ae357847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610c1e5750823b15610bf357807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610bc1575f809161066c945190845af4610bbb6110a3565b9161153a565b50505034610bcb57005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610c75575b81610c6560209383610ffb565b8101031261012c57519086610ab2565b3d9150610c58565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610d44575b81610d1c60409383610ffb565b8101031261012c576020610d2f8261112b565b91015163ffffffff81160361012c5784610a5d565b3d9150610d0f565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54161415846109d7565b3461012c57604060031936011261012c57610db2610fd8565b60243567ffffffffffffffff811161012c573660238201121561012c57806004013567ffffffffffffffff811161012c57366024828401011161012c57610df883611138565b15610f96575f91601f610ea9608485947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060405194828693602460208601997fd1f57894000000000000000000000000000000000000000000000000000000008b523382880152604060448801528260648801520186860137888582860101520116810103017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ffb565b519082855af1610eb76110a3565b5015610f1257335f525f602052610ee973ffffffffffffffffffffffffffffffffffffffff60405f20921680926112d0565b5033907f164745c0d5815644c1e92a17e242e89f9c0fd523fc3e94071b60f165692f3d795f80a3005b60846040517f47fc3bab00000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4572726f7220647572696e6720706f6c69637920696e697469616c697a61746960448201527f6f6e2063616c6c000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff837fe63549fa000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761103c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff811161103c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156110cd573d906110b482611069565b916110c26040519384610ffb565b82523d5f602084013e565b606090565b67ffffffffffffffff811161103c5760051b60200190565b80518210156110fe5760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5190811515820361012c57565b73ffffffffffffffffffffffffffffffffffffffff16801515908161115b575090565b9050604051907f9d260809000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610d4c575f916111d9575090565b90506020813d602011611208575b816111f460209383610ffb565b8101031261012c576112059061112b565b90565b3d91506111e7565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b80548210156110fe575f5260205f2001905f90565b5f828152600182016020526040902054611357578054906801000000000000000082101561103c578261134261130d8460018096018555846112bb565b81939154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060031b92831b921b19161790565b90558054925f520160205260405f2055600190565b50505f90565b906001820191815f528260205260405f20548015155f146114db577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81018181116114ae578254907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116114ae57818103611479575b5050508054801561144c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061140f82826112bb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82549160031b1b19169055555f526020525f6040812055600190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b61149961148961130d93866112bb565b90549060031b1c928392866112bb565b90555f528360205260405f20555f80806113d7565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b505050505f90565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561151257565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611577575080511561154f57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806115ca575b611588575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561158056fea2646970667358221220057c58598f54b9385a4deaa7a40de35f032417baccf5eecb12fbc4fd5ed76c1864736f6c634300081a0033","sourceMap":"904:6459:59:-:0;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;-1:-1:-1;;;;;904:6459:59;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:6459:59;;;;;;;;1171:4:93;1163:13;;8837:64:92;904:6459:59;;;;;;7896:76:92;;-1:-1:-1;;;;;;;;;;;904:6459:59;;7985:34:92;7981:146;;-1:-1:-1;3100:52:59;;;904:6459;;;;;;;;1163:13:93;904:6459:59;;;;;;;;;;3100:52;904:6459;;;;;;;;;;;7981:146:92;-1:-1:-1;;;;;;904:6459:59;-1:-1:-1;;;;;904:6459:59;;;8837:64:92;904:6459:59;;;;;;8087:29:92;;904:6459:59;;8087:29:92;7981:146;;;7896:76;7938:23;;;-1:-1:-1;7938:23:92;;-1:-1:-1;7938:23:92;904:6459:59;-1:-1:-1;904:6459:59;;;;;;-1:-1:-1;904:6459:59;;;;;-1:-1:-1;904:6459:59","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80632f6cc10214610d995780634f1ef2861461092357806352d1902d14610884578063591b43c5146106dc5780637a9e5e4b1461060557806382e2b7c8146105b55780638fb36037146105225780639fda230a146104b4578063ad3cb1cc14610420578063bf7e214f146103ce578063c4d66de8146101305763ca89d8b21461009d575f80fd5b3461012c57604060031936011261012c576100b6610fd8565b6024359073ffffffffffffffffffffffffffffffffffffffff821680920361012c575f9182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff841685526001018252909220541515908161011c575b506040519015158152f35b6101269150611138565b5f610111565b5f80fd5b3461012c57602060031936011261012c57610149610fd8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103c6575b60011490816103bc575b1590816103b3575b5061038b57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055610336575b5061020c6114e3565b6102146114e3565b61021c6114e3565b6102246114e3565b61022d81611210565b6102356114e3565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556102a357005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610203565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b9050158461019a565b303b159150610192565b849150610188565b3461012c575f60031936011261012c57602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b3461012c575f60031936011261012c57604080519061043f8183610ffb565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b3461012c57602060031936011261012c576104cd610fd8565b335f525f6020526104f973ffffffffffffffffffffffffffffffffffffffff60405f209216809261135d565b5033907fe26ab5559d9c979fe9df51c8a6ac8f71ef871393f720d7bd56f2e600d1bb680e5f80a3005b3461012c575f60031936011261012c577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156105ad5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f610583565b3461012c575f60031936011261012c57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461012c57602060031936011261012c5761061e610fd8565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036106b057803b1561066e5761066c90611210565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b3461012c57602060031936011261012c5773ffffffffffffffffffffffffffffffffffffffff61070a610fd8565b165f525f60205260405f20604051808260208294549384815201905f5260205f20925f5b81811061086b57505061074392500382610ffb565b805190610768610752836110d2565b926107606040519485610ffb565b8084526110d2565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020840192013683378051905f805b8382106107fa578486604051918291602083019060208452518091526040830191905f5b8181106107cb575050500390f35b825173ffffffffffffffffffffffffffffffffffffffff168452859450602093840193909201916001016107bd565b61082373ffffffffffffffffffffffffffffffffffffffff61081c84866110ea565b5116611138565b15610862576001809173ffffffffffffffffffffffffffffffffffffffff61084b85876110ea565b5116610857828a6110ea565b5201915b0190610799565b9060019061085b565b845483526001948501948694506020909301920161072e565b3461012c575f60031936011261012c5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108fb5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b604060031936011261012c57610937610fd8565b6024359067ffffffffffffffff821161012c573660238301121561012c5781600401359061096482611069565b916109726040519384610ffb565b8083526020830193366024838301011161012c57815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610d57575b506108fb576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115610d4c575f91610d01575b5015610c7d5773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610c49575b50610ae357847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610c1e5750823b15610bf357807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610bc1575f809161066c945190845af4610bbb6110a3565b9161153a565b50505034610bcb57005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610c75575b81610c6560209383610ffb565b8101031261012c57519086610ab2565b3d9150610c58565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610d44575b81610d1c60409383610ffb565b8101031261012c576020610d2f8261112b565b91015163ffffffff81160361012c5784610a5d565b3d9150610d0f565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54161415846109d7565b3461012c57604060031936011261012c57610db2610fd8565b60243567ffffffffffffffff811161012c573660238201121561012c57806004013567ffffffffffffffff811161012c57366024828401011161012c57610df883611138565b15610f96575f91601f610ea9608485947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060405194828693602460208601997fd1f57894000000000000000000000000000000000000000000000000000000008b523382880152604060448801528260648801520186860137888582860101520116810103017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ffb565b519082855af1610eb76110a3565b5015610f1257335f525f602052610ee973ffffffffffffffffffffffffffffffffffffffff60405f20921680926112d0565b5033907f164745c0d5815644c1e92a17e242e89f9c0fd523fc3e94071b60f165692f3d795f80a3005b60846040517f47fc3bab00000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4572726f7220647572696e6720706f6c69637920696e697469616c697a61746960448201527f6f6e2063616c6c000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff837fe63549fa000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761103c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff811161103c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156110cd573d906110b482611069565b916110c26040519384610ffb565b82523d5f602084013e565b606090565b67ffffffffffffffff811161103c5760051b60200190565b80518210156110fe5760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5190811515820361012c57565b73ffffffffffffffffffffffffffffffffffffffff16801515908161115b575090565b9050604051907f9d260809000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610d4c575f916111d9575090565b90506020813d602011611208575b816111f460209383610ffb565b8101031261012c576112059061112b565b90565b3d91506111e7565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b80548210156110fe575f5260205f2001905f90565b5f828152600182016020526040902054611357578054906801000000000000000082101561103c578261134261130d8460018096018555846112bb565b81939154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060031b92831b921b19161790565b90558054925f520160205260405f2055600190565b50505f90565b906001820191815f528260205260405f20548015155f146114db577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81018181116114ae578254907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116114ae57818103611479575b5050508054801561144c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061140f82826112bb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82549160031b1b19169055555f526020525f6040812055600190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b61149961148961130d93866112bb565b90549060031b1c928392866112bb565b90555f528360205260405f20555f80806113d7565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b505050505f90565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561151257565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611577575080511561154f57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806115ca575b611588575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561158056fea2646970667358221220057c58598f54b9385a4deaa7a40de35f032417baccf5eecb12fbc4fd5ed76c1864736f6c634300081a0033","sourceMap":"904:6459:59:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4360:14:173;;904:6459:59;;;;;;4360:26:173;;5002:70:59;;;;904:6459;;;;;;;;;;5002:70;5050:22;;;;:::i;:::-;5002:70;;;904:6459;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;8837:64:92;904:6459:59;;;;;;4301:16:92;904:6459:59;;;;4726:16:92;;:34;;;;904:6459:59;4805:1:92;4790:16;:50;;;;904:6459:59;4855:13:92;:30;;;;904:6459:59;4851:91:92;;;904:6459:59;;4805:1:92;904:6459:59;;;;;8837:64:92;904:6459:59;4979:67:92;;904:6459:59;6893:76:92;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:90;;;:::i;:::-;6893:76:92;;:::i;:::-;904:6459:59;;3295:62:44;904:6459:59;;;3295:62:44;904:6459:59;5066:101:92;;904:6459:59;5066:101:92;904:6459:59;8837:64:92;904:6459:59;;8837:64:92;904:6459:59;5142:14:92;904:6459:59;;;4805:1:92;904:6459:59;;5142:14:92;904:6459:59;4979:67:92;904:6459:59;;;;8837:64:92;904:6459:59;4979:67:92;;;4851:91;4908:23;904:6459:59;4908:23:92;904:6459:59;;4908:23:92;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:92;;4726:34;;;-1:-1:-1;4726:34:92;;904:6459:59;;;;;-1:-1:-1;;904:6459:59;;;;;;;1782:71:90;904:6459:59;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;4552:10;904:6459;;;;;8703:53:173;904:6459:59;;;;;;8703:53:173;;;:::i;:::-;;4552:10:59;4593:33;;904:6459;4593:33;;904:6459;;;;;;-1:-1:-1;;904:6459:59;;;;;1782:71:90;904:6459:59;;;;;4698:71:90;;;904:6459:59;;4698:71:90;904:6459:59;;;;;;;;4698:71:90;904:6459:59;;4698:71:90;;904:6459:59;;;;;-1:-1:-1;;904:6459:59;;;;;;;;;1521:54;904:6459;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;;1782:71:90;904:6459:59;;966:10:96;4258:21:90;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;904:6459:59;4355:110:90;904:6459:59;4411:43:90;;904:6459:59;4411:43:90;904:6459:59;;;;;4411:43:90;4254:92;4302:33;904:6459:59;4302:33:90;966:10:96;904:6459:59;;;;4302:33:90;904:6459:59;;;;;-1:-1:-1;;904:6459:59;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;6278:13;904:6459;;6341:15;;;;;;904:6459;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;904:6459:59;;;;;;;;;;;;;6358:20;6399:27;904:6459;6414:11;;;;:::i;:::-;904:6459;;6399:27;:::i;:::-;6398:28;6394:42;;904:6459;6464:11;;904:6459;6464:11;;;;:::i;:::-;904:6459;;6450:25;;;;:::i;:::-;904:6459;;6358:20;6326:13;904:6459;6326:13;;;6394:42;6428:8;904:6459;6428:8;;;904:6459;;;;;;;;;;;;-1:-1:-1;904:6459:59;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;5115:6:93;904:6459:59;5106:4:93;5098:23;5094:145;;904:6459:59;;;811:66:130;904:6459:59;;;5094:145:93;5199:29;904:6459:59;5199:29:93;904:6459:59;;5199:29:93;904:6459:59;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:6:93;904:6459:59;4683:4:93;;4675:23;:120;;;;;904:6459:59;4658:251:93;;;3058:30:44;904:6459:59;;3295:62:44;904:6459:59;;;;3058:30:44;;;;904:6459:59;3058:30:44;;904:6459:59;;3058:30:44;;904:6459:59;1893:10:44;904:6459:59;;;;3058:30:44;;;;;;;904:6459:59;3058:30:44;;;904:6459:59;1869:35:44;;1865:140;;904:6459:59;;;;;;;6156:52:93;;904:6459:59;6156:52:93;904:6459:59;6156:52:93;;;;904:6459:59;;6156:52:93;;;904:6459:59;-1:-1:-1;6152:437:93;;6518:60;;904:6459:59;6518:60:93;904:6459:59;;;;6518:60:93;6152:437;6250:40;811:66:130;6250:40:93;;;6246:120;;1748:29:130;;;:34;1744:119;;904:6459:59;;811:66:130;904:6459:59;;;811:66:130;904:6459:59;2407:36:130;904:6459:59;2407:36:130;;904:6459:59;;2458:15:130;:11;;904:6459:59;4049:25:151;;4091:55;4049:25;;;;;;;;:::i;:::-;4091:55;;:::i;2454:148:130:-;6163:9;;;;6159:70;;904:6459:59;6159:70:130;6199:19;904:6459:59;6199:19:130;904:6459:59;;6199:19:130;1744:119;1805:47;904:6459:59;1805:47:130;904:6459:59;;;;1805:47:130;6246:120:93;6317:34;904:6459:59;6317:34:93;904:6459:59;;;;6317:34:93;6156:52;;;;904:6459:59;6156:52:93;;904:6459:59;6156:52:93;;;;;;904:6459:59;6156:52:93;;;:::i;:::-;;;904:6459:59;;;;;6156:52:93;;;;;;;-1:-1:-1;6156:52:93;;1865:140:44;1927:67;904:6459:59;;1927:67:44;;;904:6459:59;;1927:67:44;;520:1:42;904:6459:59;;520:1:42;;904:6459:59;520:1:42;3058:30:44;904:6459:59;;520:1:42;;;;;;1927:67:44;3058:30;;;904:6459:59;3058:30:44;;904:6459:59;3058:30:44;;;;;;904:6459:59;3058:30:44;;;:::i;:::-;;;904:6459:59;;;;;;;;:::i;:::-;;;;;;;;;;3058:30:44;;;;;;-1:-1:-1;3058:30:44;;;904:6459:59;;;;;;;;;4675:120:93;904:6459:59;;;811:66:130;904:6459:59;;4753:42:93;;4675:120;;;904:6459:59;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3775:22;;;:::i;:::-;3774:23;3770:67;;904:6459;;;3983:54;904:6459;;;;;;3983:54;;;;904:6459;;3983:54;;;;;;4019:10;3983:54;;;904:6459;;;;;;;;;;;;;;;;;;;;;;;;;;;3983:54;;904:6459;3983:54;;;;;;:::i;:::-;3971:67;;;;;;;;:::i;:::-;;4052:8;4048:91;;4019:10;904:6459;;;;;8382:50:173;904:6459:59;;;;;;8382:50:173;;;:::i;:::-;;4019:10:59;4259:33;;904:6459;4259:33;;904:6459;4048:91;904:6459;;;4069:70;;;904:6459;;4069:70;;904:6459;;;;;;;;;;;;;;;;4069:70;3770:67;904:6459;3806:31;;904:6459;3806:31;904:6459;;;;;3806:31;904:6459;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;904:6459:59;;;;;-1:-1:-1;904:6459:59;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;904:6459:59;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;7213:148::-;904:6459;;7299:20;;;:54;;;;7291:63;7213:148;:::o;7299:54::-;904:6459;;;;7323:30;904:6459;7323:30;;;;;904:6459;;7323:12;:30;:12;904:6459;7323:12;904:6459;7323:30;;;;;;;7317:1;7323:30;;;7299:54;7213:148;:::o;7323:30::-;;;904:6459;7323:30;;904:6459;7323:30;;;;;;904:6459;7323:30;;;:::i;:::-;;;904:6459;;;;;;;:::i;:::-;7213:148;:::o;7323:30::-;;;-1:-1:-1;7323:30:59;;4964:220:90;904:6459:59;;5147:30:90;4964:220;904:6459:59;;;1782:71:90;904:6459:59;;;1782:71:90;904:6459:59;;;;;;5147:30:90;4964:220::o;904:6459:59:-;;;;;;;;-1:-1:-1;904:6459:59;;-1:-1:-1;904:6459:59;;;-1:-1:-1;904:6459:59;:::o;2241:406:173:-;-1:-1:-1;904:6459:59;;;4360:14:173;;;904:6459:59;;;;;;2325:21:173;;904:6459:59;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;2520:14:173;904:6459:59;;;;;;;2576:11:173;:::o;2320:321::-;2618:12;;904:6459:59;2618:12:173;:::o;2815:1368::-;;3010:14;;;904:6459:59;;;;;;;;;;;3046:13:173;;;3042:1135;3046:13;;;904:6459:59;;;;;;;;;;;;;;;;;;;3521:23:173;;;3517:378;;3042:1135;904:6459:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3010:14:173;4112:11;:::o;904:6459:59:-;;;;;;;;;;3517:378:173;904:6459:59;3584:22:173;3705:23;3584:22;;;:::i;:::-;904:6459:59;;;;;;3705:23:173;;;;;:::i;904:6459:59:-;;;;;;;;;;;;3517:378:173;;;;;904:6459:59;;;;;;;;;;3042:1135:173;4154:12;;;;904:6459:59;4154:12:173;:::o;7084:141:92:-;904:6459:59;8837:64:92;904:6459:59;;;;7150:18:92;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:92;;-1:-1:-1;7191:17:92;4421:582:151;;4593:8;;-1:-1:-1;904:6459:59;;5674:21:151;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;904:6459:59;;4841:22:151;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;904:6459:59;4917:24:151;;4862:1;4917:24;904:6459:59;4917:24:151;904:6459:59;;4862:1:151;4917:24;4841:49;4867:18;;;:23;4841:49;","linkReferences":{},"immutableReferences":{"50482":[{"start":2219,"length":32},{"start":2476,"length":32}],"5931":[{"start":1505,"length":32},{"start":4518,"length":32}]}},"methodIdentifiers":{"POLICY_AUDIT()":"82e2b7c8","UPGRADE_INTERFACE_VERSION()":"ad3cb1cc","authority()":"bf7e214f","authorizePolicy(address,bytes)":"2f6cc102","getAuthorizedPolicies(address)":"591b43c5","initialize(address)":"c4d66de8","isConsumingScheduledOp()":"8fb36037","isPolicyAuthorized(address,address)":"ca89d8b2","proxiableUUID()":"52d1902d","revokePolicy(address)":"9fda230a","setAuthority(address)":"7a9e5e4b","upgradeToAndCall(address,bytes)":"4f1ef286"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policyAudit\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"}],\"name\":\"InvalidNotAuditedPolicy\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidPolicyInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"RightsGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"RightsRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"POLICY_AUDIT\",\"outputs\":[{\"internalType\":\"contract IPolicyAuditorVerifiable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"authorizePolicy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getAuthorizedPolicies\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"isPolicyAuthorized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"}],\"name\":\"revokePolicy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidNotAuditedPolicy(address)\":[{\"details\":\"Error thrown when a policy has not been audited or approved for operation.\",\"params\":{\"policy\":\"The address of the unaudited policy.\"}}],\"InvalidPolicyInitialization(string)\":[{\"details\":\"Error thrown when there is an issue with the policy setup.\",\"params\":{\"reason\":\"A string explaining the reason for the invalid policy setup.\"}}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RightsGranted(address,address)\":{\"params\":{\"holder\":\"The address of the asset rights holder.\",\"policy\":\"The policy contract address granted rights.\"}},\"RightsRevoked(address,address)\":{\"params\":{\"holder\":\"The address of the asset rights holder.\",\"policy\":\"The policy contract address whose rights are being revoked.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"authorizePolicy(address,bytes)\":{\"params\":{\"data\":\"The data to initialize policy.\",\"policy\":\"The address of the policy contract to be initialized and authorized.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAuthorizedPolicies(address)\":{\"details\":\"This function returns an array of policy addresses that have been granted rights by the holder.\",\"params\":{\"holder\":\"The address of the asset rights holder whose authorized policies are being queried.\"}},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"isPolicyAuthorized(address,address)\":{\"details\":\"Verify if the specified policy contract has been delegated the rights by the asset holder.\",\"params\":{\"holder\":\"the asset rights holder to check for delegation.\",\"policy\":\"The address of the policy contract to check for delegation.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"revokePolicy(address)\":{\"params\":{\"policy\":\"The address of the policy contract whose rights delegation is being revoked.\"}},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"POLICY_AUDIT\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"},\"_authorizedPolicies\":{\"details\":\"Mapping to store the delegated rights for each policy contract (address)\"}},\"version\":1},\"userdoc\":{\"events\":{\"RightsGranted(address,address)\":{\"notice\":\"Emitted when rights are granted to a policy for content.\"},\"RightsRevoked(address,address)\":{\"notice\":\"Emitted when rights are revoked from a policy for content.\"}},\"kind\":\"user\",\"methods\":{\"authorizePolicy(address,bytes)\":{\"notice\":\"Initializes and authorizes a policy contract for content held by the holder.\"},\"getAuthorizedPolicies(address)\":{\"notice\":\"Retrieves all policies authorized by a specific content holder.\"},\"initialize(address)\":{\"notice\":\"Initializes the proxy state.\"},\"revokePolicy(address)\":{\"notice\":\"Revokes the delegation of rights to a policy contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/rights/RightsPolicyAuthorizer.sol\":\"RightsPolicyAuthorizer\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=contracts/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solady/=lib/solady/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"contracts/core/interfaces/policies/IPolicy.sol\":{\"keccak256\":\"0xde948687c6e43423f1406a2e7f7f17b5f373e445b4612872b2a087949a71dbb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5da4404cdf33625a3bbf8ab58d9acf0bfd80b78c53658f3bfb365a9c568e836\",\"dweb:/ipfs/QmaKqfhCLzBHoyg3GhUCQcEZo89arwe3YEgoysCWJUPWqv\"]},\"contracts/core/interfaces/policies/IPolicyAuditorVerifiable.sol\":{\"keccak256\":\"0xa16f215a70bb82ebf310086ddd0e3356c8b889146e8c3f64342574cc5d111afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd46a58675c87225968a17ccf79339f64585310fb3a845e3b4b127222a23d2c9\",\"dweb:/ipfs/QmQEsBEZKJX4h84uqTCAGXQqm81fAtjE1oCGiJ6fm9qLi4\"]},\"contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol\":{\"keccak256\":\"0x7788d64a9d12536ad06115d72faef14dfc131def88bc15e8901d64d67f231419\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecb519a42d82d23498f17644216cd4041b87ee126c2b471f05418af2bb6ae130\",\"dweb:/ipfs/QmTLZw15MB1aXZCvbXfvDozqPm29c3CqiSsgSdMpXEM3o4\"]},\"contracts/core/libraries/LoopOps.sol\":{\"keccak256\":\"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2\",\"dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL\"]},\"contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"contracts/core/primitives/Types.sol\":{\"keccak256\":\"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf\",\"dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe\"]},\"contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]},\"contracts/rights/RightsPolicyAuthorizer.sol\":{\"keccak256\":\"0x7085af875aabb7e28420dceb6e73101b66642712e03b4319cc9de389b3ccf27f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c0d12e58e6e284ee12c61eab7e9f245d263b9fd9593575d938b54dc36c4e02d\",\"dweb:/ipfs/QmZyJgKPpDfns4TziFziFnmmUVDRy5gkUXE4kNDayuCbeb\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"policyAudit","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"authority","type":"address"}],"type":"error","name":"AccessManagedInvalidAuthority"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"uint32","name":"delay","type":"uint32"}],"type":"error","name":"AccessManagedRequiredDelay"},{"inputs":[{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"AccessManagedUnauthorized"},{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"},{"inputs":[{"internalType":"address","name":"implementation","type":"address"}],"type":"error","name":"ERC1967InvalidImplementation"},{"inputs":[],"type":"error","name":"ERC1967NonPayable"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[],"type":"error","name":"InvalidInitialization"},{"inputs":[{"internalType":"address","name":"policy","type":"address"}],"type":"error","name":"InvalidNotAuditedPolicy"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"InvalidPolicyInitialization"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"type":"error","name":"InvalidUnauthorizedOperation"},{"inputs":[],"type":"error","name":"NotInitializing"},{"inputs":[],"type":"error","name":"UUPSUnauthorizedCallContext"},{"inputs":[{"internalType":"bytes32","name":"slot","type":"bytes32"}],"type":"error","name":"UUPSUnsupportedProxiableUUID"},{"inputs":[{"internalType":"address","name":"authority","type":"address","indexed":false}],"type":"event","name":"AuthorityUpdated","anonymous":false},{"inputs":[{"internalType":"uint64","name":"version","type":"uint64","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"address","name":"policy","type":"address","indexed":true},{"internalType":"address","name":"holder","type":"address","indexed":true}],"type":"event","name":"RightsGranted","anonymous":false},{"inputs":[{"internalType":"address","name":"policy","type":"address","indexed":true},{"internalType":"address","name":"holder","type":"address","indexed":true}],"type":"event","name":"RightsRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"implementation","type":"address","indexed":true}],"type":"event","name":"Upgraded","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"POLICY_AUDIT","outputs":[{"internalType":"contract IPolicyAuditorVerifiable","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"UPGRADE_INTERFACE_VERSION","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"authority","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"policy","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"authorizePolicy"},{"inputs":[{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getAuthorizedPolicies","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"address","name":"accessManager","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isConsumingScheduledOp","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]},{"inputs":[{"internalType":"address","name":"policy","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"isPolicyAuthorized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"proxiableUUID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"policy","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"revokePolicy"},{"inputs":[{"internalType":"address","name":"newAuthority","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setAuthority"},{"inputs":[{"internalType":"address","name":"newImplementation","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"payable","type":"function","name":"upgradeToAndCall"}],"devdoc":{"kind":"dev","methods":{"authority()":{"details":"Returns the current authority."},"authorizePolicy(address,bytes)":{"params":{"data":"The data to initialize policy.","policy":"The address of the policy contract to be initialized and authorized."}},"constructor":{"custom:oz-upgrades-unsafe-allow":"constructor"},"getAuthorizedPolicies(address)":{"details":"This function returns an array of policy addresses that have been granted rights by the holder.","params":{"holder":"The address of the asset rights holder whose authorized policies are being queried."}},"isConsumingScheduledOp()":{"details":"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls."},"isPolicyAuthorized(address,address)":{"details":"Verify if the specified policy contract has been delegated the rights by the asset holder.","params":{"holder":"the asset rights holder to check for delegation.","policy":"The address of the policy contract to check for delegation."}},"proxiableUUID()":{"details":"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier."},"revokePolicy(address)":{"params":{"policy":"The address of the policy contract whose rights delegation is being revoked."}},"setAuthority(address)":{"details":"Transfers control to a new authority. The caller must be the current authority."},"upgradeToAndCall(address,bytes)":{"custom:oz-upgrades-unsafe-allow-reachable":"delegatecall","details":"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event."}},"version":1},"userdoc":{"kind":"user","methods":{"authorizePolicy(address,bytes)":{"notice":"Initializes and authorizes a policy contract for content held by the holder."},"getAuthorizedPolicies(address)":{"notice":"Retrieves all policies authorized by a specific content holder."},"initialize(address)":{"notice":"Initializes the proxy state."},"revokePolicy(address)":{"notice":"Revokes the delegation of rights to a policy contract."}},"version":1}},"settings":{"remappings":["@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/","@ethsign/=node_modules/@ethsign/","@openzeppelin/=node_modules/@openzeppelin/","@synaps3/=contracts/","ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/","solady/=lib/solady/src/","solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/rights/RightsPolicyAuthorizer.sol":"RightsPolicyAuthorizer"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/core/interfaces/access/IAccessManager.sol":{"keccak256":"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f","urls":["bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e","dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ"],"license":"MIT"},"contracts/core/interfaces/policies/IPolicy.sol":{"keccak256":"0xde948687c6e43423f1406a2e7f7f17b5f373e445b4612872b2a087949a71dbb4","urls":["bzz-raw://e5da4404cdf33625a3bbf8ab58d9acf0bfd80b78c53658f3bfb365a9c568e836","dweb:/ipfs/QmaKqfhCLzBHoyg3GhUCQcEZo89arwe3YEgoysCWJUPWqv"],"license":"MIT"},"contracts/core/interfaces/policies/IPolicyAuditorVerifiable.sol":{"keccak256":"0xa16f215a70bb82ebf310086ddd0e3356c8b889146e8c3f64342574cc5d111afa","urls":["bzz-raw://dd46a58675c87225968a17ccf79339f64585310fb3a845e3b4b127222a23d2c9","dweb:/ipfs/QmQEsBEZKJX4h84uqTCAGXQqm81fAtjE1oCGiJ6fm9qLi4"],"license":"MIT"},"contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol":{"keccak256":"0x7788d64a9d12536ad06115d72faef14dfc131def88bc15e8901d64d67f231419","urls":["bzz-raw://ecb519a42d82d23498f17644216cd4041b87ee126c2b471f05418af2bb6ae130","dweb:/ipfs/QmTLZw15MB1aXZCvbXfvDozqPm29c3CqiSsgSdMpXEM3o4"],"license":"MIT"},"contracts/core/libraries/LoopOps.sol":{"keccak256":"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411","urls":["bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2","dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL"],"license":"MIT"},"contracts/core/primitives/Constants.sol":{"keccak256":"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e","urls":["bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1","dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3"],"license":"MIT"},"contracts/core/primitives/Types.sol":{"keccak256":"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1","urls":["bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf","dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe"],"license":"MIT"},"contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol":{"keccak256":"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df","urls":["bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2","dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj"],"license":"MIT"},"contracts/rights/RightsPolicyAuthorizer.sol":{"keccak256":"0x7085af875aabb7e28420dceb6e73101b66642712e03b4319cc9de389b3ccf27f","urls":["bzz-raw://0c0d12e58e6e284ee12c61eab7e9f245d263b9fd9593575d938b54dc36c4e02d","dweb:/ipfs/QmZyJgKPpDfns4TziFziFnmmUVDRy5gkUXE4kNDayuCbeb"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol":{"keccak256":"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373","urls":["bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447","dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol":{"keccak256":"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b","urls":["bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609","dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol":{"keccak256":"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27","urls":["bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e","dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr"],"license":"MIT"},"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol":{"keccak256":"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397","urls":["bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9","dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol":{"keccak256":"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4","urls":["bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e","dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol":{"keccak256":"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6","urls":["bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694","dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol":{"keccak256":"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2","urls":["bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4","dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol":{"keccak256":"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030","urls":["bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c","dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol":{"keccak256":"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486","urls":["bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d","dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol":{"keccak256":"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d","urls":["bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196","dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol":{"keccak256":"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06","urls":["bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c","dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol":{"keccak256":"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c","urls":["bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa","dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea","urls":["bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d","dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol":{"keccak256":"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212","urls":["bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f","dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/types/Time.sol":{"keccak256":"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc","urls":["bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6","dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":5937,"contract":"contracts/rights/RightsPolicyAuthorizer.sol:RightsPolicyAuthorizer","label":"_authorizedPolicies","offset":0,"slot":"0","type":"t_mapping(t_address,t_struct(AddressSet)69868_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_array(t_bytes32)dyn_storage":{"encoding":"dynamic_array","label":"bytes32[]","numberOfBytes":"32","base":"t_bytes32"},"t_bytes32":{"encoding":"inplace","label":"bytes32","numberOfBytes":"32"},"t_mapping(t_address,t_struct(AddressSet)69868_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct EnumerableSet.AddressSet)","numberOfBytes":"32","value":"t_struct(AddressSet)69868_storage"},"t_mapping(t_bytes32,t_uint256)":{"encoding":"mapping","key":"t_bytes32","label":"mapping(bytes32 => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_struct(AddressSet)69868_storage":{"encoding":"inplace","label":"struct EnumerableSet.AddressSet","numberOfBytes":"64","members":[{"astId":69867,"contract":"contracts/rights/RightsPolicyAuthorizer.sol:RightsPolicyAuthorizer","label":"_inner","offset":0,"slot":"0","type":"t_struct(Set)69553_storage"}]},"t_struct(Set)69553_storage":{"encoding":"inplace","label":"struct EnumerableSet.Set","numberOfBytes":"64","members":[{"astId":69548,"contract":"contracts/rights/RightsPolicyAuthorizer.sol:RightsPolicyAuthorizer","label":"_values","offset":0,"slot":"0","type":"t_array(t_bytes32)dyn_storage"},{"astId":69552,"contract":"contracts/rights/RightsPolicyAuthorizer.sol:RightsPolicyAuthorizer","label":"_positions","offset":0,"slot":"1","type":"t_mapping(t_bytes32,t_uint256)"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"contracts/rights/RightsPolicyAuthorizer.sol","id":6203,"exportedSymbols":{"AccessControlledUpgradeable":[2660],"EnumerableSet":[70155],"IPolicy":[1353],"IPolicyAuditorVerifiable":[1399],"IRightsPolicyAuthorizer":[1482],"Initializable":[50462],"LoopOps":[2051],"RightsPolicyAuthorizer":[6202],"UUPSUpgradeable":[50644]},"nodeType":"SourceUnit","src":"124:7240:59","nodes":[{"id":5896,"nodeType":"PragmaDirective","src":"124:23:59","nodes":[],"literals":["solidity","0.8",".26"]},{"id":5898,"nodeType":"ImportDirective","src":"149:98:59","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol","nameLocation":"-1:-1:-1","scope":6203,"sourceUnit":50463,"symbolAliases":[{"foreign":{"id":5897,"name":"Initializable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50462,"src":"158:13:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5900,"nodeType":"ImportDirective","src":"248:88:59","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol","file":"@openzeppelin/contracts/utils/structs/EnumerableSet.sol","nameLocation":"-1:-1:-1","scope":6203,"sourceUnit":70156,"symbolAliases":[{"foreign":{"id":5899,"name":"EnumerableSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":70155,"src":"257:13:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5902,"nodeType":"ImportDirective","src":"337:102:59","nodes":[],"absolutePath":"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","file":"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol","nameLocation":"-1:-1:-1","scope":6203,"sourceUnit":50645,"symbolAliases":[{"foreign":{"id":5901,"name":"UUPSUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50644,"src":"346:15:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5904,"nodeType":"ImportDirective","src":"440:115:59","nodes":[],"absolutePath":"contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol","file":"@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol","nameLocation":"-1:-1:-1","scope":6203,"sourceUnit":2661,"symbolAliases":[{"foreign":{"id":5903,"name":"AccessControlledUpgradeable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2660,"src":"449:27:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5906,"nodeType":"ImportDirective","src":"557:72:59","nodes":[],"absolutePath":"contracts/core/interfaces/policies/IPolicy.sol","file":"@synaps3/core/interfaces/policies/IPolicy.sol","nameLocation":"-1:-1:-1","scope":6203,"sourceUnit":1354,"symbolAliases":[{"foreign":{"id":5905,"name":"IPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1353,"src":"566:7:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5908,"nodeType":"ImportDirective","src":"630:102:59","nodes":[],"absolutePath":"contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol","file":"@synaps3/core/interfaces/rights/IRightsPolicyAuthorizer.sol","nameLocation":"-1:-1:-1","scope":6203,"sourceUnit":1483,"symbolAliases":[{"foreign":{"id":5907,"name":"IRightsPolicyAuthorizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1482,"src":"639:23:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5910,"nodeType":"ImportDirective","src":"733:106:59","nodes":[],"absolutePath":"contracts/core/interfaces/policies/IPolicyAuditorVerifiable.sol","file":"@synaps3/core/interfaces/policies/IPolicyAuditorVerifiable.sol","nameLocation":"-1:-1:-1","scope":6203,"sourceUnit":1400,"symbolAliases":[{"foreign":{"id":5909,"name":"IPolicyAuditorVerifiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1399,"src":"742:24:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":5912,"nodeType":"ImportDirective","src":"840:62:59","nodes":[],"absolutePath":"contracts/core/libraries/LoopOps.sol","file":"@synaps3/core/libraries/LoopOps.sol","nameLocation":"-1:-1:-1","scope":6203,"sourceUnit":2052,"symbolAliases":[{"foreign":{"id":5911,"name":"LoopOps","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2051,"src":"849:7:59","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":6202,"nodeType":"ContractDefinition","src":"904:6459:59","nodes":[{"id":5923,"nodeType":"UsingForDirective","src":"1046:26:59","nodes":[],"global":false,"libraryName":{"id":5921,"name":"LoopOps","nameLocations":["1052:7:59"],"nodeType":"IdentifierPath","referencedDeclaration":2051,"src":"1052:7:59"},"typeName":{"id":5922,"name":"uint256","nodeType":"ElementaryTypeName","src":"1064:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"id":5927,"nodeType":"UsingForDirective","src":"1077:49:59","nodes":[],"global":false,"libraryName":{"id":5924,"name":"EnumerableSet","nameLocations":["1083:13:59"],"nodeType":"IdentifierPath","referencedDeclaration":70155,"src":"1083:13:59"},"typeName":{"id":5926,"nodeType":"UserDefinedTypeName","pathNode":{"id":5925,"name":"EnumerableSet.AddressSet","nameLocations":["1101:13:59","1115:10:59"],"nodeType":"IdentifierPath","referencedDeclaration":69868,"src":"1101:24:59"},"referencedDeclaration":69868,"src":"1101:24:59","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$69868_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}}},{"id":5931,"nodeType":"VariableDeclaration","src":"1521:54:59","nodes":[],"constant":false,"documentation":{"id":5928,"nodeType":"StructuredDocumentation","src":"1455:61:59","text":"@custom:oz-upgrades-unsafe-allow state-variable-immutable"},"functionSelector":"82e2b7c8","mutability":"immutable","name":"POLICY_AUDIT","nameLocation":"1563:12:59","scope":6202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_IPolicyAuditorVerifiable_$1399","typeString":"contract IPolicyAuditorVerifiable"},"typeName":{"id":5930,"nodeType":"UserDefinedTypeName","pathNode":{"id":5929,"name":"IPolicyAuditorVerifiable","nameLocations":["1521:24:59"],"nodeType":"IdentifierPath","referencedDeclaration":1399,"src":"1521:24:59"},"referencedDeclaration":1399,"src":"1521:24:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPolicyAuditorVerifiable_$1399","typeString":"contract IPolicyAuditorVerifiable"}},"visibility":"public"},{"id":5937,"nodeType":"VariableDeclaration","src":"1668:72:59","nodes":[],"constant":false,"documentation":{"id":5932,"nodeType":"StructuredDocumentation","src":"1582:81:59","text":"@dev Mapping to store the delegated rights for each policy contract (address)"},"mutability":"mutable","name":"_authorizedPolicies","nameLocation":"1721:19:59","scope":6202,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$","typeString":"mapping(address => struct EnumerableSet.AddressSet)"},"typeName":{"id":5936,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":5933,"name":"address","nodeType":"ElementaryTypeName","src":"1676:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1668:44:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$","typeString":"mapping(address => struct EnumerableSet.AddressSet)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":5935,"nodeType":"UserDefinedTypeName","pathNode":{"id":5934,"name":"EnumerableSet.AddressSet","nameLocations":["1687:13:59","1701:10:59"],"nodeType":"IdentifierPath","referencedDeclaration":69868,"src":"1687:24:59"},"referencedDeclaration":69868,"src":"1687:24:59","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$69868_storage_ptr","typeString":"struct EnumerableSet.AddressSet"}}},"visibility":"private"},{"id":5944,"nodeType":"EventDefinition","src":"1947:68:59","nodes":[],"anonymous":false,"documentation":{"id":5938,"nodeType":"StructuredDocumentation","src":"1746:196:59","text":"@notice Emitted when rights are granted to a policy for content.\n @param policy The policy contract address granted rights.\n @param holder The address of the asset rights holder."},"eventSelector":"164745c0d5815644c1e92a17e242e89f9c0fd523fc3e94071b60f165692f3d79","name":"RightsGranted","nameLocation":"1953:13:59","parameters":{"id":5943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5940,"indexed":true,"mutability":"mutable","name":"policy","nameLocation":"1983:6:59","nodeType":"VariableDeclaration","scope":5944,"src":"1967:22:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5939,"name":"address","nodeType":"ElementaryTypeName","src":"1967:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5942,"indexed":true,"mutability":"mutable","name":"holder","nameLocation":"2007:6:59","nodeType":"VariableDeclaration","scope":5944,"src":"1991:22:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5941,"name":"address","nodeType":"ElementaryTypeName","src":"1991:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1966:48:59"}},{"id":5951,"nodeType":"EventDefinition","src":"2239:68:59","nodes":[],"anonymous":false,"documentation":{"id":5945,"nodeType":"StructuredDocumentation","src":"2020:214:59","text":"@notice Emitted when rights are revoked from a policy for content.\n @param policy The policy contract address whose rights are being revoked.\n @param holder The address of the asset rights holder."},"eventSelector":"e26ab5559d9c979fe9df51c8a6ac8f71ef871393f720d7bd56f2e600d1bb680e","name":"RightsRevoked","nameLocation":"2245:13:59","parameters":{"id":5950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5947,"indexed":true,"mutability":"mutable","name":"policy","nameLocation":"2275:6:59","nodeType":"VariableDeclaration","scope":5951,"src":"2259:22:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5946,"name":"address","nodeType":"ElementaryTypeName","src":"2259:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5949,"indexed":true,"mutability":"mutable","name":"holder","nameLocation":"2299:6:59","nodeType":"VariableDeclaration","scope":5951,"src":"2283:22:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5948,"name":"address","nodeType":"ElementaryTypeName","src":"2283:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2258:48:59"}},{"id":5956,"nodeType":"ErrorDefinition","src":"2460:46:59","nodes":[],"documentation":{"id":5952,"nodeType":"StructuredDocumentation","src":"2313:142:59","text":"@dev Error thrown when a policy has not been audited or approved for operation.\n @param policy The address of the unaudited policy."},"errorSelector":"e63549fa","name":"InvalidNotAuditedPolicy","nameLocation":"2466:23:59","parameters":{"id":5955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5954,"mutability":"mutable","name":"policy","nameLocation":"2498:6:59","nodeType":"VariableDeclaration","scope":5956,"src":"2490:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5953,"name":"address","nodeType":"ElementaryTypeName","src":"2490:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2489:16:59"}},{"id":5961,"nodeType":"ErrorDefinition","src":"2666:49:59","nodes":[],"documentation":{"id":5957,"nodeType":"StructuredDocumentation","src":"2511:150:59","text":"@dev Error thrown when there is an issue with the policy setup.\n @param reason A string explaining the reason for the invalid policy setup."},"errorSelector":"47fc3bab","name":"InvalidPolicyInitialization","nameLocation":"2672:27:59","parameters":{"id":5960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5959,"mutability":"mutable","name":"reason","nameLocation":"2707:6:59","nodeType":"VariableDeclaration","scope":5961,"src":"2700:13:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":5958,"name":"string","nodeType":"ElementaryTypeName","src":"2700:6:59","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"2699:15:59"}},{"id":5977,"nodeType":"FunctionDefinition","src":"2774:385:59","nodes":[],"body":{"id":5976,"nodeType":"Block","src":"2807:352:59","nodes":[],"statements":[{"documentation":"https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5","expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5967,"name":"_disableInitializers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50430,"src":"3007:20:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3007:22:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5969,"nodeType":"ExpressionStatement","src":"3007:22:59"},{"expression":{"id":5974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":5970,"name":"POLICY_AUDIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5931,"src":"3100:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPolicyAuditorVerifiable_$1399","typeString":"contract IPolicyAuditorVerifiable"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":5972,"name":"policyAudit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5964,"src":"3140:11:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5971,"name":"IPolicyAuditorVerifiable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1399,"src":"3115:24:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPolicyAuditorVerifiable_$1399_$","typeString":"type(contract IPolicyAuditorVerifiable)"}},"id":5973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3115:37:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_contract$_IPolicyAuditorVerifiable_$1399","typeString":"contract IPolicyAuditorVerifiable"}},"src":"3100:52:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPolicyAuditorVerifiable_$1399","typeString":"contract IPolicyAuditorVerifiable"}},"id":5975,"nodeType":"ExpressionStatement","src":"3100:52:59"}]},"documentation":{"id":5962,"nodeType":"StructuredDocumentation","src":"2721:48:59","text":"@custom:oz-upgrades-unsafe-allow constructor"},"implemented":true,"kind":"constructor","modifiers":[],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":5965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5964,"mutability":"mutable","name":"policyAudit","nameLocation":"2794:11:59","nodeType":"VariableDeclaration","scope":5977,"src":"2786:19:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5963,"name":"address","nodeType":"ElementaryTypeName","src":"2786:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2785:21:59"},"returnParameters":{"id":5966,"nodeType":"ParameterList","parameters":[],"src":"2807:0:59"},"scope":6202,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":5993,"nodeType":"FunctionDefinition","src":"3210:151:59","nodes":[],"body":{"id":5992,"nodeType":"Block","src":"3272:89:59","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":5985,"name":"__UUPSUpgradeable_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50516,"src":"3282:22:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":5986,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3282:24:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5987,"nodeType":"ExpressionStatement","src":"3282:24:59"},{"expression":{"arguments":[{"id":5989,"name":"accessManager","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5980,"src":"3340:13:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":5988,"name":"__AccessControlled_init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2595,"src":"3316:23:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$returns$__$","typeString":"function (address)"}},"id":5990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3316:38:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":5991,"nodeType":"ExpressionStatement","src":"3316:38:59"}]},"documentation":{"id":5978,"nodeType":"StructuredDocumentation","src":"3165:40:59","text":"@notice Initializes the proxy state."},"functionSelector":"c4d66de8","implemented":true,"kind":"function","modifiers":[{"id":5983,"kind":"modifierInvocation","modifierName":{"id":5982,"name":"initializer","nameLocations":["3260:11:59"],"nodeType":"IdentifierPath","referencedDeclaration":50316,"src":"3260:11:59"},"nodeType":"ModifierInvocation","src":"3260:11:59"}],"name":"initialize","nameLocation":"3219:10:59","parameters":{"id":5981,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5980,"mutability":"mutable","name":"accessManager","nameLocation":"3238:13:59","nodeType":"VariableDeclaration","scope":5993,"src":"3230:21:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5979,"name":"address","nodeType":"ElementaryTypeName","src":"3230:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"3229:23:59"},"returnParameters":{"id":5984,"nodeType":"ParameterList","parameters":[],"src":"3272:0:59"},"scope":6202,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":6047,"nodeType":"FunctionDefinition","src":"3602:697:59","nodes":[],"body":{"id":6046,"nodeType":"Block","src":"3673:626:59","nodes":[],"statements":[{"condition":{"id":6004,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3774:23:59","subExpression":{"arguments":[{"id":6002,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5996,"src":"3790:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6001,"name":"_isValidPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"3775:14:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":6003,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3775:22:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6009,"nodeType":"IfStatement","src":"3770:67:59","trueBody":{"errorCall":{"arguments":[{"id":6006,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5996,"src":"3830:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6005,"name":"InvalidNotAuditedPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5956,"src":"3806:23:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_address_$returns$_t_error_$","typeString":"function (address) pure returns (error)"}},"id":6007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3806:31:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":6008,"nodeType":"RevertStatement","src":"3799:38:59"}},{"assignments":[6011,null],"declarations":[{"constant":false,"id":6011,"mutability":"mutable","name":"success","nameLocation":"3958:7:59","nodeType":"VariableDeclaration","scope":6046,"src":"3953:12:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6010,"name":"bool","nodeType":"ElementaryTypeName","src":"3953:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},null],"id":6024,"initialValue":{"arguments":[{"arguments":[{"expression":{"id":6016,"name":"IPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1353,"src":"3998:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_IPolicy_$1353_$","typeString":"type(contract IPolicy)"}},"id":6017,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4006:10:59","memberName":"initialize","nodeType":"MemberAccess","referencedDeclaration":1305,"src":"3998:18:59","typeDescriptions":{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function IPolicy.initialize(address,bytes calldata)"}},{"components":[{"expression":{"id":6018,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4019:3:59","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6019,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4023:6:59","memberName":"sender","nodeType":"MemberAccess","src":"4019:10:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":6020,"name":"data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5998,"src":"4031:4:59","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"id":6021,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"4018:18:59","typeDescriptions":{"typeIdentifier":"t_tuple$_t_address_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,bytes calldata)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_function_declaration_nonpayable$_t_address_$_t_bytes_calldata_ptr_$returns$__$","typeString":"function IPolicy.initialize(address,bytes calldata)"},{"typeIdentifier":"t_tuple$_t_address_$_t_bytes_calldata_ptr_$","typeString":"tuple(address,bytes calldata)"}],"expression":{"id":6014,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3983:3:59","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":6015,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3987:10:59","memberName":"encodeCall","nodeType":"MemberAccess","src":"3983:14:59","typeDescriptions":{"typeIdentifier":"t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$","typeString":"function () pure returns (bytes memory)"}},"id":6022,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3983:54:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes memory"}],"expression":{"id":6012,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5996,"src":"3971:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6013,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3978:4:59","memberName":"call","nodeType":"MemberAccess","src":"3971:11:59","typeDescriptions":{"typeIdentifier":"t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$","typeString":"function (bytes memory) payable returns (bool,bytes memory)"}},"id":6023,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3971:67:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_bool_$_t_bytes_memory_ptr_$","typeString":"tuple(bool,bytes memory)"}},"nodeType":"VariableDeclarationStatement","src":"3952:86:59"},{"condition":{"id":6026,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4052:8:59","subExpression":{"id":6025,"name":"success","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6011,"src":"4053:7:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6031,"nodeType":"IfStatement","src":"4048:91:59","trueBody":{"errorCall":{"arguments":[{"hexValue":"4572726f7220647572696e6720706f6c69637920696e697469616c697a6174696f6e2063616c6c","id":6028,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4097:41:59","typeDescriptions":{"typeIdentifier":"t_stringliteral_466ff33af544a3258ce48b30829c401c1b82fc1a667216dc12b6fb6a650ffe3f","typeString":"literal_string \"Error during policy initialization call\""},"value":"Error during policy initialization call"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_466ff33af544a3258ce48b30829c401c1b82fc1a667216dc12b6fb6a650ffe3f","typeString":"literal_string \"Error during policy initialization call\""}],"id":6027,"name":"InvalidPolicyInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5961,"src":"4069:27:59","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":6029,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4069:70:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":6030,"nodeType":"RevertStatement","src":"4062:77:59"}},{"expression":{"arguments":[{"id":6037,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5996,"src":"4185:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":6032,"name":"_authorizedPolicies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5937,"src":"4149:19:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$","typeString":"mapping(address => struct EnumerableSet.AddressSet storage ref)"}},"id":6035,"indexExpression":{"expression":{"id":6033,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4169:3:59","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6034,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4173:6:59","memberName":"sender","nodeType":"MemberAccess","src":"4169:10:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4149:31:59","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$69868_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":6036,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4181:3:59","memberName":"add","nodeType":"MemberAccess","referencedDeclaration":69895,"src":"4149:35:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_AddressSet_$69868_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$69868_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)"}},"id":6038,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4149:43:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6039,"nodeType":"ExpressionStatement","src":"4149:43:59"},{"eventCall":{"arguments":[{"id":6041,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5996,"src":"4273:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":6042,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4281:3:59","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4285:6:59","memberName":"sender","nodeType":"MemberAccess","src":"4281:10:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6040,"name":"RightsGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5944,"src":"4259:13:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":6044,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4259:33:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6045,"nodeType":"EmitStatement","src":"4254:38:59"}]},"baseFunctions":[1475],"documentation":{"id":5994,"nodeType":"StructuredDocumentation","src":"3367:230:59","text":"@notice Initializes and authorizes a policy contract for content held by the holder.\n @param policy The address of the policy contract to be initialized and authorized.\n @param data The data to initialize policy."},"functionSelector":"2f6cc102","implemented":true,"kind":"function","modifiers":[],"name":"authorizePolicy","nameLocation":"3611:15:59","parameters":{"id":5999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":5996,"mutability":"mutable","name":"policy","nameLocation":"3635:6:59","nodeType":"VariableDeclaration","scope":6047,"src":"3627:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":5995,"name":"address","nodeType":"ElementaryTypeName","src":"3627:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":5998,"mutability":"mutable","name":"data","nameLocation":"3658:4:59","nodeType":"VariableDeclaration","scope":6047,"src":"3643:19:59","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":5997,"name":"bytes","nodeType":"ElementaryTypeName","src":"3643:5:59","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3626:37:59"},"returnParameters":{"id":6000,"nodeType":"ParameterList","parameters":[],"src":"3673:0:59"},"scope":6202,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":6068,"nodeType":"FunctionDefinition","src":"4475:158:59","nodes":[],"body":{"id":6067,"nodeType":"Block","src":"4522:111:59","nodes":[],"statements":[{"expression":{"arguments":[{"id":6058,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6050,"src":"4571:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":6053,"name":"_authorizedPolicies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5937,"src":"4532:19:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$","typeString":"mapping(address => struct EnumerableSet.AddressSet storage ref)"}},"id":6056,"indexExpression":{"expression":{"id":6054,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4552:3:59","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6055,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4556:6:59","memberName":"sender","nodeType":"MemberAccess","src":"4552:10:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4532:31:59","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$69868_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":6057,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4564:6:59","memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":69922,"src":"4532:38:59","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_AddressSet_$69868_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$69868_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)"}},"id":6059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4532:46:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6060,"nodeType":"ExpressionStatement","src":"4532:46:59"},{"eventCall":{"arguments":[{"id":6062,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6050,"src":"4607:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"id":6063,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-15,"src":"4615:3:59","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":6064,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4619:6:59","memberName":"sender","nodeType":"MemberAccess","src":"4615:10:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":6061,"name":"RightsRevoked","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5951,"src":"4593:13:59","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$returns$__$","typeString":"function (address,address)"}},"id":6065,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4593:33:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":6066,"nodeType":"EmitStatement","src":"4588:38:59"}]},"baseFunctions":[1481],"documentation":{"id":6048,"nodeType":"StructuredDocumentation","src":"4305:165:59","text":"@notice Revokes the delegation of rights to a policy contract.\n @param policy The address of the policy contract whose rights delegation is being revoked."},"functionSelector":"9fda230a","implemented":true,"kind":"function","modifiers":[],"name":"revokePolicy","nameLocation":"4484:12:59","parameters":{"id":6051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6050,"mutability":"mutable","name":"policy","nameLocation":"4505:6:59","nodeType":"VariableDeclaration","scope":6068,"src":"4497:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6049,"name":"address","nodeType":"ElementaryTypeName","src":"4497:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4496:16:59"},"returnParameters":{"id":6052,"nodeType":"ParameterList","parameters":[],"src":"4522:0:59"},"scope":6202,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":6090,"nodeType":"FunctionDefinition","src":"4896:183:59","nodes":[],"body":{"id":6089,"nodeType":"Block","src":"4985:94:59","nodes":[],"statements":[{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6087,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":6082,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6071,"src":"5039:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"baseExpression":{"id":6078,"name":"_authorizedPolicies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5937,"src":"5002:19:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$","typeString":"mapping(address => struct EnumerableSet.AddressSet storage ref)"}},"id":6080,"indexExpression":{"id":6079,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6073,"src":"5022:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5002:27:59","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$69868_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":6081,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"5030:8:59","memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":69949,"src":"5002:36:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$69868_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$69868_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer,address) view returns (bool)"}},"id":6083,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5002:44:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":6085,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6071,"src":"5065:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6084,"name":"_isValidPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"5050:14:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":6086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5050:22:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5002:70:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6077,"id":6088,"nodeType":"Return","src":"4995:77:59"}]},"baseFunctions":[1467],"documentation":{"id":6069,"nodeType":"StructuredDocumentation","src":"4639:252:59","text":"@dev Verify if the specified policy contract has been delegated the rights by the asset holder.\n @param policy The address of the policy contract to check for delegation.\n @param holder the asset rights holder to check for delegation."},"functionSelector":"ca89d8b2","implemented":true,"kind":"function","modifiers":[],"name":"isPolicyAuthorized","nameLocation":"4905:18:59","parameters":{"id":6074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6071,"mutability":"mutable","name":"policy","nameLocation":"4932:6:59","nodeType":"VariableDeclaration","scope":6090,"src":"4924:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6070,"name":"address","nodeType":"ElementaryTypeName","src":"4924:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":6073,"mutability":"mutable","name":"holder","nameLocation":"4948:6:59","nodeType":"VariableDeclaration","scope":6090,"src":"4940:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6072,"name":"address","nodeType":"ElementaryTypeName","src":"4940:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"4923:32:59"},"returnParameters":{"id":6077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6090,"src":"4979:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6075,"name":"bool","nodeType":"ElementaryTypeName","src":"4979:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"4978:6:59"},"scope":6202,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":6169,"nodeType":"FunctionDefinition","src":"5380:1286:59","nodes":[],"body":{"id":6168,"nodeType":"Block","src":"5468:1198:59","nodes":[],"statements":[{"assignments":[6103],"declarations":[{"constant":false,"id":6103,"mutability":"mutable","name":"policies","nameLocation":"6106:8:59","nodeType":"VariableDeclaration","scope":6168,"src":"6089:25:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6101,"name":"address","nodeType":"ElementaryTypeName","src":"6089:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6102,"nodeType":"ArrayTypeName","src":"6089:9:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":6109,"initialValue":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"baseExpression":{"id":6104,"name":"_authorizedPolicies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5937,"src":"6117:19:59","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$","typeString":"mapping(address => struct EnumerableSet.AddressSet storage ref)"}},"id":6106,"indexExpression":{"id":6105,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6093,"src":"6137:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6117:27:59","typeDescriptions":{"typeIdentifier":"t_struct$_AddressSet_$69868_storage","typeString":"struct EnumerableSet.AddressSet storage ref"}},"id":6107,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"6145:6:59","memberName":"values","nodeType":"MemberAccess","referencedDeclaration":70021,"src":"6117:34:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_AddressSet_$69868_storage_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$attached_to$_t_struct$_AddressSet_$69868_storage_ptr_$","typeString":"function (struct EnumerableSet.AddressSet storage pointer) view returns (address[] memory)"}},"id":6108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6117:36:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6089:64:59"},{"assignments":[6114],"declarations":[{"constant":false,"id":6114,"mutability":"mutable","name":"filtered","nameLocation":"6180:8:59","nodeType":"VariableDeclaration","scope":6168,"src":"6163:25:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6112,"name":"address","nodeType":"ElementaryTypeName","src":"6163:7:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6113,"nodeType":"ArrayTypeName","src":"6163:9:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"id":6121,"initialValue":{"arguments":[{"expression":{"id":6118,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"6205:8:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6119,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6214:6:59","memberName":"length","nodeType":"MemberAccess","src":"6205:15:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":6117,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"6191:13:59","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (address[] memory)"},"typeName":{"baseType":{"id":6115,"name":"address","nodeType":"ElementaryTypeName","src":"6195:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6116,"nodeType":"ArrayTypeName","src":"6195:9:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}}},"id":6120,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6191:30:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"nodeType":"VariableDeclarationStatement","src":"6163:58:59"},{"assignments":[6123],"declarations":[{"constant":false,"id":6123,"mutability":"mutable","name":"policiesLen","nameLocation":"6239:11:59","nodeType":"VariableDeclaration","scope":6168,"src":"6231:19:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6122,"name":"uint256","nodeType":"ElementaryTypeName","src":"6231:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6126,"initialValue":{"expression":{"id":6124,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"6253:8:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6262:6:59","memberName":"length","nodeType":"MemberAccess","src":"6253:15:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6231:37:59"},{"assignments":[6128],"declarations":[{"constant":false,"id":6128,"mutability":"mutable","name":"j","nameLocation":"6286:1:59","nodeType":"VariableDeclaration","scope":6168,"src":"6278:9:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6127,"name":"uint256","nodeType":"ElementaryTypeName","src":"6278:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6130,"initialValue":{"hexValue":"30","id":6129,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6290:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6278:13:59"},{"body":{"id":6164,"nodeType":"Block","src":"6380:254:59","statements":[{"condition":{"id":6149,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"6398:28:59","subExpression":{"arguments":[{"baseExpression":{"id":6145,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"6414:8:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6147,"indexExpression":{"id":6146,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6132,"src":"6423:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6414:11:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":6144,"name":"_isValidPolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6201,"src":"6399:14:59","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view returns (bool)"}},"id":6148,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6399:27:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6151,"nodeType":"IfStatement","src":"6394:42:59","trueBody":{"id":6150,"nodeType":"Continue","src":"6428:8:59"}},{"expression":{"id":6158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":6152,"name":"filtered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6114,"src":"6450:8:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6154,"indexExpression":{"id":6153,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6128,"src":"6459:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6450:11:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"baseExpression":{"id":6155,"name":"policies","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"6464:8:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"id":6157,"indexExpression":{"id":6156,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6132,"src":"6473:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6464:11:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6450:25:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6159,"nodeType":"ExpressionStatement","src":"6450:25:59"},{"id":6163,"nodeType":"UncheckedBlock","src":"6578:46:59","statements":[{"expression":{"id":6161,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"++","prefix":true,"src":"6606:3:59","subExpression":{"id":6160,"name":"j","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6128,"src":"6608:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6162,"nodeType":"ExpressionStatement","src":"6606:3:59"}]}]},"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":6137,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6135,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6132,"src":"6341:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":6136,"name":"policiesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6123,"src":"6345:11:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6341:15:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":6165,"initializationExpression":{"assignments":[6132],"declarations":[{"constant":false,"id":6132,"mutability":"mutable","name":"i","nameLocation":"6334:1:59","nodeType":"VariableDeclaration","scope":6165,"src":"6326:9:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":6131,"name":"uint256","nodeType":"ElementaryTypeName","src":"6326:7:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":6134,"initialValue":{"hexValue":"30","id":6133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6338:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"nodeType":"VariableDeclarationStatement","src":"6326:13:59"},"isSimpleCounterLoop":false,"loopExpression":{"expression":{"id":6142,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":6138,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6132,"src":"6358:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":6139,"name":"i","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6132,"src":"6362:1:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6140,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6364:12:59","memberName":"uncheckedInc","nodeType":"MemberAccess","referencedDeclaration":2050,"src":"6362:14:59","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$","typeString":"function (uint256) pure returns (uint256)"}},"id":6141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6362:16:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6358:20:59","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":6143,"nodeType":"ExpressionStatement","src":"6358:20:59"},"nodeType":"ForStatement","src":"6321:313:59"},{"expression":{"id":6166,"name":"filtered","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6114,"src":"6651:8:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[] memory"}},"functionReturnParameters":6098,"id":6167,"nodeType":"Return","src":"6644:15:59"}]},"baseFunctions":[1457],"documentation":{"id":6091,"nodeType":"StructuredDocumentation","src":"5085:290:59","text":"@notice Retrieves all policies authorized by a specific content holder.\n @dev This function returns an array of policy addresses that have been granted rights by the holder.\n @param holder The address of the asset rights holder whose authorized policies are being queried."},"functionSelector":"591b43c5","implemented":true,"kind":"function","modifiers":[],"name":"getAuthorizedPolicies","nameLocation":"5389:21:59","parameters":{"id":6094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6093,"mutability":"mutable","name":"holder","nameLocation":"5419:6:59","nodeType":"VariableDeclaration","scope":6169,"src":"5411:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6092,"name":"address","nodeType":"ElementaryTypeName","src":"5411:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"5410:16:59"},"returnParameters":{"id":6098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6169,"src":"5450:16:59","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":6095,"name":"address","nodeType":"ElementaryTypeName","src":"5450:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":6096,"nodeType":"ArrayTypeName","src":"5450:9:59","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"5449:18:59"},"scope":6202,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":6179,"nodeType":"FunctionDefinition","src":"6864:84:59","nodes":[],"body":{"id":6178,"nodeType":"Block","src":"6946:2:59","nodes":[],"statements":[]},"baseFunctions":[50598],"documentation":{"id":6170,"nodeType":"StructuredDocumentation","src":"6672:187:59","text":"@dev Authorizes the upgrade of the contract.\n @notice Only the owner can authorize the upgrade.\n @param newImplementation The address of the new implementation contract."},"implemented":true,"kind":"function","modifiers":[{"id":6176,"kind":"modifierInvocation","modifierName":{"id":6175,"name":"onlyAdmin","nameLocations":["6936:9:59"],"nodeType":"IdentifierPath","referencedDeclaration":2578,"src":"6936:9:59"},"nodeType":"ModifierInvocation","src":"6936:9:59"}],"name":"_authorizeUpgrade","nameLocation":"6873:17:59","overrides":{"id":6174,"nodeType":"OverrideSpecifier","overrides":[],"src":"6927:8:59"},"parameters":{"id":6173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6172,"mutability":"mutable","name":"newImplementation","nameLocation":"6899:17:59","nodeType":"VariableDeclaration","scope":6179,"src":"6891:25:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6171,"name":"address","nodeType":"ElementaryTypeName","src":"6891:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"6890:27:59"},"returnParameters":{"id":6177,"nodeType":"ParameterList","parameters":[],"src":"6946:0:59"},"scope":6202,"stateMutability":"nonpayable","virtual":false,"visibility":"internal"},{"id":6201,"nodeType":"FunctionDefinition","src":"7213:148:59","nodes":[],"body":{"id":6200,"nodeType":"Block","src":"7281:80:59","nodes":[],"statements":[{"expression":{"components":[{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":6197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":6192,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":6187,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6182,"src":"7299:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":6190,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7317:1:59","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":6189,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"7309:7:59","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":6188,"name":"address","nodeType":"ElementaryTypeName","src":"7309:7:59","typeDescriptions":{}}},"id":6191,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7309:10:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"7299:20:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"arguments":[{"id":6195,"name":"policy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6182,"src":"7346:6:59","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"id":6193,"name":"POLICY_AUDIT","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":5931,"src":"7323:12:59","typeDescriptions":{"typeIdentifier":"t_contract$_IPolicyAuditorVerifiable_$1399","typeString":"contract IPolicyAuditorVerifiable"}},"id":6194,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7336:9:59","memberName":"isAudited","nodeType":"MemberAccess","referencedDeclaration":1398,"src":"7323:22:59","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_bool_$","typeString":"function (address) view external returns (bool)"}},"id":6196,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7323:30:59","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7299:54:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":6198,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"7298:56:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":6186,"id":6199,"nodeType":"Return","src":"7291:63:59"}]},"documentation":{"id":6180,"nodeType":"StructuredDocumentation","src":"6954:254:59","text":"@notice Verifies whether a given policy is valid.\n @dev The function ensures that the policy address is not the zero address\n and that the policy has been audited.\n @param policy The address of the policy contract to verify."},"implemented":true,"kind":"function","modifiers":[],"name":"_isValidPolicy","nameLocation":"7222:14:59","parameters":{"id":6183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6182,"mutability":"mutable","name":"policy","nameLocation":"7245:6:59","nodeType":"VariableDeclaration","scope":6201,"src":"7237:14:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":6181,"name":"address","nodeType":"ElementaryTypeName","src":"7237:7:59","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"7236:16:59"},"returnParameters":{"id":6186,"nodeType":"ParameterList","parameters":[{"constant":false,"id":6185,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":6201,"src":"7275:4:59","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":6184,"name":"bool","nodeType":"ElementaryTypeName","src":"7275:4:59","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"7274:6:59"},"scope":6202,"stateMutability":"view","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":5913,"name":"Initializable","nameLocations":["943:13:59"],"nodeType":"IdentifierPath","referencedDeclaration":50462,"src":"943:13:59"},"id":5914,"nodeType":"InheritanceSpecifier","src":"943:13:59"},{"baseName":{"id":5915,"name":"UUPSUpgradeable","nameLocations":["962:15:59"],"nodeType":"IdentifierPath","referencedDeclaration":50644,"src":"962:15:59"},"id":5916,"nodeType":"InheritanceSpecifier","src":"962:15:59"},{"baseName":{"id":5917,"name":"AccessControlledUpgradeable","nameLocations":["983:27:59"],"nodeType":"IdentifierPath","referencedDeclaration":2660,"src":"983:27:59"},"id":5918,"nodeType":"InheritanceSpecifier","src":"983:27:59"},{"baseName":{"id":5919,"name":"IRightsPolicyAuthorizer","nameLocations":["1016:23:59"],"nodeType":"IdentifierPath","referencedDeclaration":1482,"src":"1016:23:59"},"id":5920,"nodeType":"InheritanceSpecifier","src":"1016:23:59"}],"canonicalName":"RightsPolicyAuthorizer","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[6202,1482,2660,48089,53586,52254,50644,59214,50462],"name":"RightsPolicyAuthorizer","nameLocation":"913:22:59","scope":6203,"usedErrors":[2560,5956,5961,50225,50228,50489,50494,53557,53563,53567,59409,59422,61705,61997],"usedEvents":[5944,5951,50233,53553,59136]}],"license":"MIT"},"id":59} \ No newline at end of file +{ + "abi": [ + { + "type": "constructor", + "inputs": [{ "name": "policyAudit", "type": "address", "internalType": "address" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "POLICY_AUDIT", + "inputs": [], + "outputs": [ + { "name": "", "type": "address", "internalType": "contract IPolicyAuditorVerifiable" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "authority", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "authorizePolicy", + "inputs": [ + { "name": "policy", "type": "address", "internalType": "address" }, + { "name": "data", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getAuthorizedPolicies", + "inputs": [{ "name": "holder", "type": "address", "internalType": "address" }], + "outputs": [{ "name": "", "type": "address[]", "internalType": "address[]" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [{ "name": "accessManager", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isConsumingScheduledOp", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes4", "internalType": "bytes4" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isPolicyAuthorized", + "inputs": [ + { "name": "policy", "type": "address", "internalType": "address" }, + { "name": "holder", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "proxiableUUID", + "inputs": [], + "outputs": [{ "name": "", "type": "bytes32", "internalType": "bytes32" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "revokePolicy", + "inputs": [{ "name": "policy", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "setAuthority", + "inputs": [{ "name": "newAuthority", "type": "address", "internalType": "address" }], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "upgradeToAndCall", + "inputs": [ + { "name": "newImplementation", "type": "address", "internalType": "address" }, + { "name": "data", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [], + "stateMutability": "payable" + }, + { + "type": "event", + "name": "AuthorityUpdated", + "inputs": [ + { "name": "authority", "type": "address", "indexed": false, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Initialized", + "inputs": [ + { "name": "version", "type": "uint64", "indexed": false, "internalType": "uint64" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RightsGranted", + "inputs": [ + { "name": "policy", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "holder", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "RightsRevoked", + "inputs": [ + { "name": "policy", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "holder", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "event", + "name": "Upgraded", + "inputs": [ + { "name": "implementation", "type": "address", "indexed": true, "internalType": "address" } + ], + "anonymous": false + }, + { + "type": "error", + "name": "AccessManagedInvalidAuthority", + "inputs": [{ "name": "authority", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AccessManagedRequiredDelay", + "inputs": [ + { "name": "caller", "type": "address", "internalType": "address" }, + { "name": "delay", "type": "uint32", "internalType": "uint32" } + ] + }, + { + "type": "error", + "name": "AccessManagedUnauthorized", + "inputs": [{ "name": "caller", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "AddressEmptyCode", + "inputs": [{ "name": "target", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "ERC1967InvalidImplementation", + "inputs": [{ "name": "implementation", "type": "address", "internalType": "address" }] + }, + { "type": "error", "name": "ERC1967NonPayable", "inputs": [] }, + { "type": "error", "name": "FailedCall", "inputs": [] }, + { "type": "error", "name": "InvalidInitialization", "inputs": [] }, + { + "type": "error", + "name": "InvalidNotAuditedPolicy", + "inputs": [{ "name": "policy", "type": "address", "internalType": "address" }] + }, + { + "type": "error", + "name": "InvalidPolicyInitialization", + "inputs": [{ "name": "reason", "type": "string", "internalType": "string" }] + }, + { + "type": "error", + "name": "InvalidUnauthorizedOperation", + "inputs": [{ "name": "", "type": "string", "internalType": "string" }] + }, + { "type": "error", "name": "NotInitializing", "inputs": [] }, + { "type": "error", "name": "UUPSUnauthorizedCallContext", "inputs": [] }, + { + "type": "error", + "name": "UUPSUnsupportedProxiableUUID", + "inputs": [{ "name": "slot", "type": "bytes32", "internalType": "bytes32" }] + } + ], + "bytecode": { + "object": "0x60c03461014657601f61176838819003918201601f19168301916001600160401b0383118484101761014a5780849260209460405283398101031261014657516001600160a01b0381169081900361014657306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16610137576002600160401b03196001600160401b038216016100ce575b5060a052604051611609908161015f82396080518181816108ab01526109ac015260a0518181816105e101526111a60152f35b6001600160401b0319166001600160401b039081177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a15f61009b565b63f92ee8a960e01b5f5260045ffd5b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe60806040526004361015610011575f80fd5b5f3560e01c80632f6cc10214610d995780634f1ef2861461092357806352d1902d14610884578063591b43c5146106dc5780637a9e5e4b1461060557806382e2b7c8146105b55780638fb36037146105225780639fda230a146104b4578063ad3cb1cc14610420578063bf7e214f146103ce578063c4d66de8146101305763ca89d8b21461009d575f80fd5b3461012c57604060031936011261012c576100b6610fd8565b6024359073ffffffffffffffffffffffffffffffffffffffff821680920361012c575f9182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff841685526001018252909220541515908161011c575b506040519015158152f35b6101269150611138565b5f610111565b5f80fd5b3461012c57602060031936011261012c57610149610fd8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103c6575b60011490816103bc575b1590816103b3575b5061038b57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055610336575b5061020c6114e3565b6102146114e3565b61021c6114e3565b6102246114e3565b61022d81611210565b6102356114e3565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556102a357005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610203565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b9050158461019a565b303b159150610192565b849150610188565b3461012c575f60031936011261012c57602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b3461012c575f60031936011261012c57604080519061043f8183610ffb565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b3461012c57602060031936011261012c576104cd610fd8565b335f525f6020526104f973ffffffffffffffffffffffffffffffffffffffff60405f209216809261135d565b5033907fe26ab5559d9c979fe9df51c8a6ac8f71ef871393f720d7bd56f2e600d1bb680e5f80a3005b3461012c575f60031936011261012c577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156105ad5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f610583565b3461012c575f60031936011261012c57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461012c57602060031936011261012c5761061e610fd8565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036106b057803b1561066e5761066c90611210565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b3461012c57602060031936011261012c5773ffffffffffffffffffffffffffffffffffffffff61070a610fd8565b165f525f60205260405f20604051808260208294549384815201905f5260205f20925f5b81811061086b57505061074392500382610ffb565b805190610768610752836110d2565b926107606040519485610ffb565b8084526110d2565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020840192013683378051905f805b8382106107fa578486604051918291602083019060208452518091526040830191905f5b8181106107cb575050500390f35b825173ffffffffffffffffffffffffffffffffffffffff168452859450602093840193909201916001016107bd565b61082373ffffffffffffffffffffffffffffffffffffffff61081c84866110ea565b5116611138565b15610862576001809173ffffffffffffffffffffffffffffffffffffffff61084b85876110ea565b5116610857828a6110ea565b5201915b0190610799565b9060019061085b565b845483526001948501948694506020909301920161072e565b3461012c575f60031936011261012c5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108fb5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b604060031936011261012c57610937610fd8565b6024359067ffffffffffffffff821161012c573660238301121561012c5781600401359061096482611069565b916109726040519384610ffb565b8083526020830193366024838301011161012c57815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610d57575b506108fb576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115610d4c575f91610d01575b5015610c7d5773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610c49575b50610ae357847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610c1e5750823b15610bf357807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610bc1575f809161066c945190845af4610bbb6110a3565b9161153a565b50505034610bcb57005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610c75575b81610c6560209383610ffb565b8101031261012c57519086610ab2565b3d9150610c58565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610d44575b81610d1c60409383610ffb565b8101031261012c576020610d2f8261112b565b91015163ffffffff81160361012c5784610a5d565b3d9150610d0f565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54161415846109d7565b3461012c57604060031936011261012c57610db2610fd8565b60243567ffffffffffffffff811161012c573660238201121561012c57806004013567ffffffffffffffff811161012c57366024828401011161012c57610df883611138565b15610f96575f91601f610ea9608485947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060405194828693602460208601997fd1f57894000000000000000000000000000000000000000000000000000000008b523382880152604060448801528260648801520186860137888582860101520116810103017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ffb565b519082855af1610eb76110a3565b5015610f1257335f525f602052610ee973ffffffffffffffffffffffffffffffffffffffff60405f20921680926112d0565b5033907f164745c0d5815644c1e92a17e242e89f9c0fd523fc3e94071b60f165692f3d795f80a3005b60846040517f47fc3bab00000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4572726f7220647572696e6720706f6c69637920696e697469616c697a61746960448201527f6f6e2063616c6c000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff837fe63549fa000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761103c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff811161103c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156110cd573d906110b482611069565b916110c26040519384610ffb565b82523d5f602084013e565b606090565b67ffffffffffffffff811161103c5760051b60200190565b80518210156110fe5760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5190811515820361012c57565b73ffffffffffffffffffffffffffffffffffffffff16801515908161115b575090565b9050604051907f9d260809000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610d4c575f916111d9575090565b90506020813d602011611208575b816111f460209383610ffb565b8101031261012c576112059061112b565b90565b3d91506111e7565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b80548210156110fe575f5260205f2001905f90565b5f828152600182016020526040902054611357578054906801000000000000000082101561103c578261134261130d8460018096018555846112bb565b81939154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060031b92831b921b19161790565b90558054925f520160205260405f2055600190565b50505f90565b906001820191815f528260205260405f20548015155f146114db577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81018181116114ae578254907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116114ae57818103611479575b5050508054801561144c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061140f82826112bb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82549160031b1b19169055555f526020525f6040812055600190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b61149961148961130d93866112bb565b90549060031b1c928392866112bb565b90555f528360205260405f20555f80806113d7565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b505050505f90565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561151257565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611577575080511561154f57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806115ca575b611588575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561158056fea2646970667358221220057c58598f54b9385a4deaa7a40de35f032417baccf5eecb12fbc4fd5ed76c1864736f6c634300081a0033", + "sourceMap": "904:6459:59:-:0;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;-1:-1:-1;;;;;904:6459:59;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;904:6459:59;;;;;;;;1171:4:93;1163:13;;8837:64:92;904:6459:59;;;;;;7896:76:92;;-1:-1:-1;;;;;;;;;;;904:6459:59;;7985:34:92;7981:146;;-1:-1:-1;3100:52:59;;;904:6459;;;;;;;;1163:13:93;904:6459:59;;;;;;;;;;3100:52;904:6459;;;;;;;;;;;7981:146:92;-1:-1:-1;;;;;;904:6459:59;-1:-1:-1;;;;;904:6459:59;;;8837:64:92;904:6459:59;;;;;;8087:29:92;;904:6459:59;;8087:29:92;7981:146;;;7896:76;7938:23;;;-1:-1:-1;7938:23:92;;-1:-1:-1;7938:23:92;904:6459:59;-1:-1:-1;904:6459:59;;;;;;-1:-1:-1;904:6459:59;;;;;-1:-1:-1;904:6459:59", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x60806040526004361015610011575f80fd5b5f3560e01c80632f6cc10214610d995780634f1ef2861461092357806352d1902d14610884578063591b43c5146106dc5780637a9e5e4b1461060557806382e2b7c8146105b55780638fb36037146105225780639fda230a146104b4578063ad3cb1cc14610420578063bf7e214f146103ce578063c4d66de8146101305763ca89d8b21461009d575f80fd5b3461012c57604060031936011261012c576100b6610fd8565b6024359073ffffffffffffffffffffffffffffffffffffffff821680920361012c575f9182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff841685526001018252909220541515908161011c575b506040519015158152f35b6101269150611138565b5f610111565b5f80fd5b3461012c57602060031936011261012c57610149610fd8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460ff8160401c16159167ffffffffffffffff8216801590816103c6575b60011490816103bc575b1590816103b3575b5061038b57818360017fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000073ffffffffffffffffffffffffffffffffffffffff9516177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0055610336575b5061020c6114e3565b6102146114e3565b61021c6114e3565b6102246114e3565b61022d81611210565b6102356114e3565b167fffffffffffffffffffffffff00000000000000000000000000000000000000007fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa005416177fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa00556102a357005b7fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054167ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b7fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001668010000000000000001177ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005583610203565b7ff92ee8a9000000000000000000000000000000000000000000000000000000005f5260045ffd5b9050158461019a565b303b159150610192565b849150610188565b3461012c575f60031936011261012c57602073ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416604051908152f35b3461012c575f60031936011261012c57604080519061043f8183610ffb565b6005825260208201917f352e302e3000000000000000000000000000000000000000000000000000000083527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8351948593602085525180918160208701528686015e5f85828601015201168101030190f35b3461012c57602060031936011261012c576104cd610fd8565b335f525f6020526104f973ffffffffffffffffffffffffffffffffffffffff60405f209216809261135d565b5033907fe26ab5559d9c979fe9df51c8a6ac8f71ef871393f720d7bd56f2e600d1bb680e5f80a3005b3461012c575f60031936011261012c577ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005460a01c60ff16156105ad5760207f8fb36037000000000000000000000000000000000000000000000000000000005b7fffffffff0000000000000000000000000000000000000000000000000000000060405191168152f35b60205f610583565b3461012c575f60031936011261012c57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b3461012c57602060031936011261012c5761061e610fd8565b73ffffffffffffffffffffffffffffffffffffffff7ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a00541633036106b057803b1561066e5761066c90611210565b005b73ffffffffffffffffffffffffffffffffffffffff907fc2f31e5e000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b7f068ca9d8000000000000000000000000000000000000000000000000000000005f523360045260245ffd5b3461012c57602060031936011261012c5773ffffffffffffffffffffffffffffffffffffffff61070a610fd8565b165f525f60205260405f20604051808260208294549384815201905f5260205f20925f5b81811061086b57505061074392500382610ffb565b805190610768610752836110d2565b926107606040519485610ffb565b8084526110d2565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe06020840192013683378051905f805b8382106107fa578486604051918291602083019060208452518091526040830191905f5b8181106107cb575050500390f35b825173ffffffffffffffffffffffffffffffffffffffff168452859450602093840193909201916001016107bd565b61082373ffffffffffffffffffffffffffffffffffffffff61081c84866110ea565b5116611138565b15610862576001809173ffffffffffffffffffffffffffffffffffffffff61084b85876110ea565b5116610857828a6110ea565b5201915b0190610799565b9060019061085b565b845483526001948501948694506020909301920161072e565b3461012c575f60031936011261012c5773ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630036108fb5760206040517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b7fe07c8dba000000000000000000000000000000000000000000000000000000005f5260045ffd5b604060031936011261012c57610937610fd8565b6024359067ffffffffffffffff821161012c573660238301121561012c5781600401359061096482611069565b916109726040519384610ffb565b8083526020830193366024838301011161012c57815f9260246020930187378401015273ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016803014908115610d57575b506108fb576044604073ffffffffffffffffffffffffffffffffffffffff7fb8e950798a2a06a6f5727a94041b193569f4f67d69a0de3cf866d93822e7fa0054168151928380927fd1f856ee0000000000000000000000000000000000000000000000000000000082525f60048301523360248301525afa908115610d4c575f91610d01575b5015610c7d5773ffffffffffffffffffffffffffffffffffffffff8116926040517f52d1902d000000000000000000000000000000000000000000000000000000008152602081600481885afa5f9181610c49575b50610ae357847f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc869203610c1e5750823b15610bf357807fffffffffffffffffffffffff00000000000000000000000000000000000000007f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5416177f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2825115610bc1575f809161066c945190845af4610bbb6110a3565b9161153a565b50505034610bcb57005b7fb398979f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4c9c8ce3000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b7faa1d49a4000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b9091506020813d602011610c75575b81610c6560209383610ffb565b8101031261012c57519086610ab2565b3d9150610c58565b60846040517f6317e35f00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792061646d696e2063616e20706572666f726d2074686973206163746960448201527f6f6e2e00000000000000000000000000000000000000000000000000000000006064820152fd5b90506040813d604011610d44575b81610d1c60409383610ffb565b8101031261012c576020610d2f8261112b565b91015163ffffffff81160361012c5784610a5d565b3d9150610d0f565b6040513d5f823e3d90fd5b905073ffffffffffffffffffffffffffffffffffffffff7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc54161415846109d7565b3461012c57604060031936011261012c57610db2610fd8565b60243567ffffffffffffffff811161012c573660238201121561012c57806004013567ffffffffffffffff811161012c57366024828401011161012c57610df883611138565b15610f96575f91601f610ea9608485947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe060405194828693602460208601997fd1f57894000000000000000000000000000000000000000000000000000000008b523382880152604060448801528260648801520186860137888582860101520116810103017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08101835282610ffb565b519082855af1610eb76110a3565b5015610f1257335f525f602052610ee973ffffffffffffffffffffffffffffffffffffffff60405f20921680926112d0565b5033907f164745c0d5815644c1e92a17e242e89f9c0fd523fc3e94071b60f165692f3d795f80a3005b60846040517f47fc3bab00000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f4572726f7220647572696e6720706f6c69637920696e697469616c697a61746960448201527f6f6e2063616c6c000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff837fe63549fa000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361012c57565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761103c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff811161103c57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b3d156110cd573d906110b482611069565b916110c26040519384610ffb565b82523d5f602084013e565b606090565b67ffffffffffffffff811161103c5760051b60200190565b80518210156110fe5760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5190811515820361012c57565b73ffffffffffffffffffffffffffffffffffffffff16801515908161115b575090565b9050604051907f9d260809000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115610d4c575f916111d9575090565b90506020813d602011611208575b816111f460209383610ffb565b8101031261012c576112059061112b565b90565b3d91506111e7565b602073ffffffffffffffffffffffffffffffffffffffff7f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9216807fffffffffffffffffffffffff00000000000000000000000000000000000000007ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a005416177ff3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a0055604051908152a1565b80548210156110fe575f5260205f2001905f90565b5f828152600182016020526040902054611357578054906801000000000000000082101561103c578261134261130d8460018096018555846112bb565b81939154907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9060031b92831b921b19161790565b90558054925f520160205260405f2055600190565b50505f90565b906001820191815f528260205260405f20548015155f146114db577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81018181116114ae578254907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82019182116114ae57818103611479575b5050508054801561144c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019061140f82826112bb565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82549160031b1b19169055555f526020525f6040812055600190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b61149961148961130d93866112bb565b90549060031b1c928392866112bb565b90555f528360205260405f20555f80806113d7565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b505050505f90565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561151257565b7fd7e6bcf8000000000000000000000000000000000000000000000000000000005f5260045ffd5b90611577575080511561154f57805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b815115806115ca575b611588575090565b73ffffffffffffffffffffffffffffffffffffffff907f9996b315000000000000000000000000000000000000000000000000000000005f521660045260245ffd5b50803b1561158056fea2646970667358221220057c58598f54b9385a4deaa7a40de35f032417baccf5eecb12fbc4fd5ed76c1864736f6c634300081a0033", + "sourceMap": "904:6459:59:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4360:14:173;;904:6459:59;;;;;;4360:26:173;;5002:70:59;;;;904:6459;;;;;;;;;;5002:70;5050:22;;;;:::i;:::-;5002:70;;;904:6459;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;8837:64:92;904:6459:59;;;;;;4301:16:92;904:6459:59;;;;4726:16:92;;:34;;;;904:6459:59;4805:1:92;4790:16;:50;;;;904:6459:59;4855:13:92;:30;;;;904:6459:59;4851:91:92;;;904:6459:59;;4805:1:92;904:6459:59;;;;;8837:64:92;904:6459:59;4979:67:92;;904:6459:59;6893:76:92;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;2222:16:90;;;:::i;:::-;6893:76:92;;:::i;:::-;904:6459:59;;3295:62:44;904:6459:59;;;3295:62:44;904:6459:59;5066:101:92;;904:6459:59;5066:101:92;904:6459:59;8837:64:92;904:6459:59;;8837:64:92;904:6459:59;5142:14:92;904:6459:59;;;4805:1:92;904:6459:59;;5142:14:92;904:6459:59;4979:67:92;904:6459:59;;;;8837:64:92;904:6459:59;4979:67:92;;;4851:91;4908:23;904:6459:59;4908:23:92;904:6459:59;;4908:23:92;4855:30;4872:13;;;4855:30;;;4790:50;4818:4;4810:25;:30;;-1:-1:-1;4790:50:92;;4726:34;;;-1:-1:-1;4726:34:92;;904:6459:59;;;;;-1:-1:-1;;904:6459:59;;;;;;;1782:71:90;904:6459:59;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;4552:10;904:6459;;;;;8703:53:173;904:6459:59;;;;;;8703:53:173;;;:::i;:::-;;4552:10:59;4593:33;;904:6459;4593:33;;904:6459;;;;;;-1:-1:-1;;904:6459:59;;;;;1782:71:90;904:6459:59;;;;;4698:71:90;;;904:6459:59;;4698:71:90;904:6459:59;;;;;;;;4698:71:90;904:6459:59;;4698:71:90;;904:6459:59;;;;;-1:-1:-1;;904:6459:59;;;;;;;;;1521:54;904:6459;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;;1782:71:90;904:6459:59;;966:10:96;4258:21:90;4254:92;;4359:24;;:29;4355:110;;4488:12;;;:::i;:::-;904:6459:59;4355:110:90;904:6459:59;4411:43:90;;904:6459:59;4411:43:90;904:6459:59;;;;;4411:43:90;4254:92;4302:33;904:6459:59;4302:33:90;966:10:96;904:6459:59;;;;4302:33:90;904:6459:59;;;;;-1:-1:-1;;904:6459:59;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;;;;6278:13;904:6459;;6341:15;;;;;;904:6459;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;904:6459:59;;;;;;;;;;;;;6358:20;6399:27;904:6459;6414:11;;;;:::i;:::-;904:6459;;6399:27;:::i;:::-;6398:28;6394:42;;904:6459;6464:11;;904:6459;6464:11;;;;:::i;:::-;904:6459;;6450:25;;;;:::i;:::-;904:6459;;6358:20;6326:13;904:6459;6326:13;;;6394:42;6428:8;904:6459;6428:8;;;904:6459;;;;;;;;;;;;-1:-1:-1;904:6459:59;;;;;;;;;;;;;-1:-1:-1;;904:6459:59;;;;;;5115:6:93;904:6459:59;5106:4:93;5098:23;5094:145;;904:6459:59;;;811:66:130;904:6459:59;;;5094:145:93;5199:29;904:6459:59;5199:29:93;904:6459:59;;5199:29:93;904:6459:59;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4692:6:93;904:6459:59;4683:4:93;;4675:23;:120;;;;;904:6459:59;4658:251:93;;;3058:30:44;904:6459:59;;3295:62:44;904:6459:59;;;;3058:30:44;;;;904:6459:59;3058:30:44;;904:6459:59;;3058:30:44;;904:6459:59;1893:10:44;904:6459:59;;;;3058:30:44;;;;;;;904:6459:59;3058:30:44;;;904:6459:59;1869:35:44;;1865:140;;904:6459:59;;;;;;;6156:52:93;;904:6459:59;6156:52:93;904:6459:59;6156:52:93;;;;904:6459:59;;6156:52:93;;;904:6459:59;-1:-1:-1;6152:437:93;;6518:60;;904:6459:59;6518:60:93;904:6459:59;;;;6518:60:93;6152:437;6250:40;811:66:130;6250:40:93;;;6246:120;;1748:29:130;;;:34;1744:119;;904:6459:59;;811:66:130;904:6459:59;;;811:66:130;904:6459:59;2407:36:130;904:6459:59;2407:36:130;;904:6459:59;;2458:15:130;:11;;904:6459:59;4049:25:151;;4091:55;4049:25;;;;;;;;:::i;:::-;4091:55;;:::i;2454:148:130:-;6163:9;;;;6159:70;;904:6459:59;6159:70:130;6199:19;904:6459:59;6199:19:130;904:6459:59;;6199:19:130;1744:119;1805:47;904:6459:59;1805:47:130;904:6459:59;;;;1805:47:130;6246:120:93;6317:34;904:6459:59;6317:34:93;904:6459:59;;;;6317:34:93;6156:52;;;;904:6459:59;6156:52:93;;904:6459:59;6156:52:93;;;;;;904:6459:59;6156:52:93;;;:::i;:::-;;;904:6459:59;;;;;6156:52:93;;;;;;;-1:-1:-1;6156:52:93;;1865:140:44;1927:67;904:6459:59;;1927:67:44;;;904:6459:59;;1927:67:44;;520:1:42;904:6459:59;;520:1:42;;904:6459:59;520:1:42;3058:30:44;904:6459:59;;520:1:42;;;;;;1927:67:44;3058:30;;;904:6459:59;3058:30:44;;904:6459:59;3058:30:44;;;;;;904:6459:59;3058:30:44;;;:::i;:::-;;;904:6459:59;;;;;;;;:::i;:::-;;;;;;;;;;3058:30:44;;;;;;-1:-1:-1;3058:30:44;;;904:6459:59;;;;;;;;;4675:120:93;904:6459:59;;;811:66:130;904:6459:59;;4753:42:93;;4675:120;;;904:6459:59;;;;;-1:-1:-1;;904:6459:59;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3775:22;;;:::i;:::-;3774:23;3770:67;;904:6459;;;3983:54;904:6459;;;;;;3983:54;;;;904:6459;;3983:54;;;;;;4019:10;3983:54;;;904:6459;;;;;;;;;;;;;;;;;;;;;;;;;;;3983:54;;904:6459;3983:54;;;;;;:::i;:::-;3971:67;;;;;;;;:::i;:::-;;4052:8;4048:91;;4019:10;904:6459;;;;;8382:50:173;904:6459:59;;;;;;8382:50:173;;;:::i;:::-;;4019:10:59;4259:33;;904:6459;4259:33;;904:6459;4048:91;904:6459;;;4069:70;;;904:6459;;4069:70;;904:6459;;;;;;;;;;;;;;;;4069:70;3770:67;904:6459;3806:31;;904:6459;3806:31;904:6459;;;;;3806:31;904:6459;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;904:6459:59;;;;;-1:-1:-1;904:6459:59;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;904:6459:59;;;;:::o;:::-;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;7213:148::-;904:6459;;7299:20;;;:54;;;;7291:63;7213:148;:::o;7299:54::-;904:6459;;;;7323:30;904:6459;7323:30;;;;;904:6459;;7323:12;:30;:12;904:6459;7323:12;904:6459;7323:30;;;;;;;7317:1;7323:30;;;7299:54;7213:148;:::o;7323:30::-;;;904:6459;7323:30;;904:6459;7323:30;;;;;;904:6459;7323:30;;;:::i;:::-;;;904:6459;;;;;;;:::i;:::-;7213:148;:::o;7323:30::-;;;-1:-1:-1;7323:30:59;;4964:220:90;904:6459:59;;5147:30:90;4964:220;904:6459:59;;;1782:71:90;904:6459:59;;;1782:71:90;904:6459:59;;;;;;5147:30:90;4964:220::o;904:6459:59:-;;;;;;;;-1:-1:-1;904:6459:59;;-1:-1:-1;904:6459:59;;;-1:-1:-1;904:6459:59;:::o;2241:406:173:-;-1:-1:-1;904:6459:59;;;4360:14:173;;;904:6459:59;;;;;;2325:21:173;;904:6459:59;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;2520:14:173;904:6459:59;;;;;;;2576:11:173;:::o;2320:321::-;2618:12;;904:6459:59;2618:12:173;:::o;2815:1368::-;;3010:14;;;904:6459:59;;;;;;;;;;;3046:13:173;;;3042:1135;3046:13;;;904:6459:59;;;;;;;;;;;;;;;;;;;3521:23:173;;;3517:378;;3042:1135;904:6459:59;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;3010:14:173;4112:11;:::o;904:6459:59:-;;;;;;;;;;3517:378:173;904:6459:59;3584:22:173;3705:23;3584:22;;;:::i;:::-;904:6459:59;;;;;;3705:23:173;;;;;:::i;904:6459:59:-;;;;;;;;;;;;3517:378:173;;;;;904:6459:59;;;;;;;;;;3042:1135:173;4154:12;;;;904:6459:59;4154:12:173;:::o;7084:141:92:-;904:6459:59;8837:64:92;904:6459:59;;;;7150:18:92;7146:73;;7084:141::o;7146:73::-;7191:17;-1:-1:-1;7191:17:92;;-1:-1:-1;7191:17:92;4421:582:151;;4593:8;;-1:-1:-1;904:6459:59;;5674:21:151;:17;;5799:158;;;;;;5670:354;5994:19;5694:1;5994:19;;5694:1;5994:19;4589:408;904:6459:59;;4841:22:151;:49;;;4589:408;4837:119;;4969:17;;:::o;4837:119::-;904:6459:59;4917:24:151;;4862:1;4917:24;904:6459:59;4917:24:151;904:6459:59;;4862:1:151;4917:24;4841:49;4867:18;;;:23;4841:49;", + "linkReferences": {}, + "immutableReferences": { + "50482": [ + { "start": 2219, "length": 32 }, + { "start": 2476, "length": 32 } + ], + "5931": [ + { "start": 1505, "length": 32 }, + { "start": 4518, "length": 32 } + ] + } + }, + "methodIdentifiers": { + "POLICY_AUDIT()": "82e2b7c8", + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "authority()": "bf7e214f", + "authorizePolicy(address,bytes)": "2f6cc102", + "getAuthorizedPolicies(address)": "591b43c5", + "initialize(address)": "c4d66de8", + "isConsumingScheduledOp()": "8fb36037", + "isPolicyAuthorized(address,address)": "ca89d8b2", + "proxiableUUID()": "52d1902d", + "revokePolicy(address)": "9fda230a", + "setAuthority(address)": "7a9e5e4b", + "upgradeToAndCall(address,bytes)": "4f1ef286" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policyAudit\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AccessManagedInvalidAuthority\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"uint32\",\"name\":\"delay\",\"type\":\"uint32\"}],\"name\":\"AccessManagedRequiredDelay\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"AccessManagedUnauthorized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"}],\"name\":\"InvalidNotAuditedPolicy\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidPolicyInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"authority\",\"type\":\"address\"}],\"name\":\"AuthorityUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"RightsGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"RightsRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"POLICY_AUDIT\",\"outputs\":[{\"internalType\":\"contract IPolicyAuditorVerifiable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"authority\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"authorizePolicy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getAuthorizedPolicies\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"accessManager\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isConsumingScheduledOp\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"isPolicyAuthorized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"policy\",\"type\":\"address\"}],\"name\":\"revokePolicy\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newAuthority\",\"type\":\"address\"}],\"name\":\"setAuthority\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"InvalidNotAuditedPolicy(address)\":[{\"details\":\"Error thrown when a policy has not been audited or approved for operation.\",\"params\":{\"policy\":\"The address of the unaudited policy.\"}}],\"InvalidPolicyInitialization(string)\":[{\"details\":\"Error thrown when there is an issue with the policy setup.\",\"params\":{\"reason\":\"A string explaining the reason for the invalid policy setup.\"}}],\"InvalidUnauthorizedOperation(string)\":[{\"details\":\"Error thrown when an unauthorized operation is attempted.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"AuthorityUpdated(address)\":{\"details\":\"Authority that manages this contract was updated.\"},\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"RightsGranted(address,address)\":{\"params\":{\"holder\":\"The address of the asset rights holder.\",\"policy\":\"The policy contract address granted rights.\"}},\"RightsRevoked(address,address)\":{\"params\":{\"holder\":\"The address of the asset rights holder.\",\"policy\":\"The policy contract address whose rights are being revoked.\"}},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"authority()\":{\"details\":\"Returns the current authority.\"},\"authorizePolicy(address,bytes)\":{\"params\":{\"data\":\"The data to initialize policy.\",\"policy\":\"The address of the policy contract to be initialized and authorized.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAuthorizedPolicies(address)\":{\"details\":\"This function returns an array of policy addresses that have been granted rights by the holder.\",\"params\":{\"holder\":\"The address of the asset rights holder whose authorized policies are being queried.\"}},\"isConsumingScheduledOp()\":{\"details\":\"Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls.\"},\"isPolicyAuthorized(address,address)\":{\"details\":\"Verify if the specified policy contract has been delegated the rights by the asset holder.\",\"params\":{\"holder\":\"the asset rights holder to check for delegation.\",\"policy\":\"The address of the policy contract to check for delegation.\"}},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"revokePolicy(address)\":{\"params\":{\"policy\":\"The address of the policy contract whose rights delegation is being revoked.\"}},\"setAuthority(address)\":{\"details\":\"Transfers control to a new authority. The caller must be the current authority.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"POLICY_AUDIT\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"},\"_authorizedPolicies\":{\"details\":\"Mapping to store the delegated rights for each policy contract (address)\"}},\"version\":1},\"userdoc\":{\"events\":{\"RightsGranted(address,address)\":{\"notice\":\"Emitted when rights are granted to a policy for content.\"},\"RightsRevoked(address,address)\":{\"notice\":\"Emitted when rights are revoked from a policy for content.\"}},\"kind\":\"user\",\"methods\":{\"authorizePolicy(address,bytes)\":{\"notice\":\"Initializes and authorizes a policy contract for content held by the holder.\"},\"getAuthorizedPolicies(address)\":{\"notice\":\"Retrieves all policies authorized by a specific content holder.\"},\"initialize(address)\":{\"notice\":\"Initializes the proxy state.\"},\"revokePolicy(address)\":{\"notice\":\"Revokes the delegation of rights to a policy contract.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/rights/RightsPolicyAuthorizer.sol\":\"RightsPolicyAuthorizer\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=contracts/\",\":ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/\",\":solady/=lib/solady/src/\",\":solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/\"],\"viaIR\":true},\"sources\":{\"contracts/core/interfaces/access/IAccessManager.sol\":{\"keccak256\":\"0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e\",\"dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ\"]},\"contracts/core/interfaces/policies/IPolicy.sol\":{\"keccak256\":\"0xde948687c6e43423f1406a2e7f7f17b5f373e445b4612872b2a087949a71dbb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e5da4404cdf33625a3bbf8ab58d9acf0bfd80b78c53658f3bfb365a9c568e836\",\"dweb:/ipfs/QmaKqfhCLzBHoyg3GhUCQcEZo89arwe3YEgoysCWJUPWqv\"]},\"contracts/core/interfaces/policies/IPolicyAuditorVerifiable.sol\":{\"keccak256\":\"0xa16f215a70bb82ebf310086ddd0e3356c8b889146e8c3f64342574cc5d111afa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd46a58675c87225968a17ccf79339f64585310fb3a845e3b4b127222a23d2c9\",\"dweb:/ipfs/QmQEsBEZKJX4h84uqTCAGXQqm81fAtjE1oCGiJ6fm9qLi4\"]},\"contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol\":{\"keccak256\":\"0x7788d64a9d12536ad06115d72faef14dfc131def88bc15e8901d64d67f231419\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ecb519a42d82d23498f17644216cd4041b87ee126c2b471f05418af2bb6ae130\",\"dweb:/ipfs/QmTLZw15MB1aXZCvbXfvDozqPm29c3CqiSsgSdMpXEM3o4\"]},\"contracts/core/libraries/LoopOps.sol\":{\"keccak256\":\"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2\",\"dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL\"]},\"contracts/core/primitives/Constants.sol\":{\"keccak256\":\"0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1\",\"dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3\"]},\"contracts/core/primitives/Types.sol\":{\"keccak256\":\"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf\",\"dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe\"]},\"contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol\":{\"keccak256\":\"0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2\",\"dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj\"]},\"contracts/rights/RightsPolicyAuthorizer.sol\":{\"keccak256\":\"0x7085af875aabb7e28420dceb6e73101b66642712e03b4319cc9de389b3ccf27f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0c0d12e58e6e284ee12c61eab7e9f245d263b9fd9593575d938b54dc36c4e02d\",\"dweb:/ipfs/QmZyJgKPpDfns4TziFziFnmmUVDRy5gkUXE4kNDayuCbeb\"]},\"node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol\":{\"keccak256\":\"0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447\",\"dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609\",\"dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM\"]},\"node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e\",\"dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr\"]},\"node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol\":{\"keccak256\":\"0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e\",\"dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol\":{\"keccak256\":\"0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694\",\"dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol\":{\"keccak256\":\"0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4\",\"dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6\"]},\"node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol\":{\"keccak256\":\"0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c\",\"dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c\",\"dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR\"]},\"node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d\",\"dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol\":{\"keccak256\":\"0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f\",\"dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz\"]},\"node_modules/@openzeppelin/contracts/utils/types/Time.sol\":{\"keccak256\":\"0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6\",\"dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [{ "internalType": "address", "name": "policyAudit", "type": "address" }], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [{ "internalType": "address", "name": "authority", "type": "address" }], + "type": "error", + "name": "AccessManagedInvalidAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "caller", "type": "address" }, + { "internalType": "uint32", "name": "delay", "type": "uint32" } + ], + "type": "error", + "name": "AccessManagedRequiredDelay" + }, + { + "inputs": [{ "internalType": "address", "name": "caller", "type": "address" }], + "type": "error", + "name": "AccessManagedUnauthorized" + }, + { + "inputs": [{ "internalType": "address", "name": "target", "type": "address" }], + "type": "error", + "name": "AddressEmptyCode" + }, + { + "inputs": [{ "internalType": "address", "name": "implementation", "type": "address" }], + "type": "error", + "name": "ERC1967InvalidImplementation" + }, + { "inputs": [], "type": "error", "name": "ERC1967NonPayable" }, + { "inputs": [], "type": "error", "name": "FailedCall" }, + { "inputs": [], "type": "error", "name": "InvalidInitialization" }, + { + "inputs": [{ "internalType": "address", "name": "policy", "type": "address" }], + "type": "error", + "name": "InvalidNotAuditedPolicy" + }, + { + "inputs": [{ "internalType": "string", "name": "reason", "type": "string" }], + "type": "error", + "name": "InvalidPolicyInitialization" + }, + { + "inputs": [{ "internalType": "string", "name": "", "type": "string" }], + "type": "error", + "name": "InvalidUnauthorizedOperation" + }, + { "inputs": [], "type": "error", "name": "NotInitializing" }, + { "inputs": [], "type": "error", "name": "UUPSUnauthorizedCallContext" }, + { + "inputs": [{ "internalType": "bytes32", "name": "slot", "type": "bytes32" }], + "type": "error", + "name": "UUPSUnsupportedProxiableUUID" + }, + { + "inputs": [ + { "internalType": "address", "name": "authority", "type": "address", "indexed": false } + ], + "type": "event", + "name": "AuthorityUpdated", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "uint64", "name": "version", "type": "uint64", "indexed": false } + ], + "type": "event", + "name": "Initialized", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "policy", "type": "address", "indexed": true }, + { "internalType": "address", "name": "holder", "type": "address", "indexed": true } + ], + "type": "event", + "name": "RightsGranted", + "anonymous": false + }, + { + "inputs": [ + { "internalType": "address", "name": "policy", "type": "address", "indexed": true }, + { "internalType": "address", "name": "holder", "type": "address", "indexed": true } + ], + "type": "event", + "name": "RightsRevoked", + "anonymous": false + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address", + "indexed": true + } + ], + "type": "event", + "name": "Upgraded", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "POLICY_AUDIT", + "outputs": [ + { "internalType": "contract IPolicyAuditorVerifiable", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "authority", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "policy", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "authorizePolicy" + }, + { + "inputs": [{ "internalType": "address", "name": "holder", "type": "address" }], + "stateMutability": "view", + "type": "function", + "name": "getAuthorizedPolicies", + "outputs": [{ "internalType": "address[]", "name": "", "type": "address[]" }] + }, + { + "inputs": [{ "internalType": "address", "name": "accessManager", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "initialize" + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "isConsumingScheduledOp", + "outputs": [{ "internalType": "bytes4", "name": "", "type": "bytes4" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "policy", "type": "address" }, + { "internalType": "address", "name": "holder", "type": "address" } + ], + "stateMutability": "view", + "type": "function", + "name": "isPolicyAuthorized", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "proxiableUUID", + "outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }] + }, + { + "inputs": [{ "internalType": "address", "name": "policy", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "revokePolicy" + }, + { + "inputs": [{ "internalType": "address", "name": "newAuthority", "type": "address" }], + "stateMutability": "nonpayable", + "type": "function", + "name": "setAuthority" + }, + { + "inputs": [ + { "internalType": "address", "name": "newImplementation", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "stateMutability": "payable", + "type": "function", + "name": "upgradeToAndCall" + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "authority()": { "details": "Returns the current authority." }, + "authorizePolicy(address,bytes)": { + "params": { + "data": "The data to initialize policy.", + "policy": "The address of the policy contract to be initialized and authorized." + } + }, + "constructor": { "custom:oz-upgrades-unsafe-allow": "constructor" }, + "getAuthorizedPolicies(address)": { + "details": "This function returns an array of policy addresses that have been granted rights by the holder.", + "params": { + "holder": "The address of the asset rights holder whose authorized policies are being queried." + } + }, + "isConsumingScheduledOp()": { + "details": "Returns true only in the context of a delayed restricted call, at the moment that the scheduled operation is being consumed. Prevents denial of service for delayed restricted calls in the case that the contract performs attacker controlled calls." + }, + "isPolicyAuthorized(address,address)": { + "details": "Verify if the specified policy contract has been delegated the rights by the asset holder.", + "params": { + "holder": "the asset rights holder to check for delegation.", + "policy": "The address of the policy contract to check for delegation." + } + }, + "proxiableUUID()": { + "details": "Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier." + }, + "revokePolicy(address)": { + "params": { + "policy": "The address of the policy contract whose rights delegation is being revoked." + } + }, + "setAuthority(address)": { + "details": "Transfers control to a new authority. The caller must be the current authority." + }, + "upgradeToAndCall(address,bytes)": { + "custom:oz-upgrades-unsafe-allow-reachable": "delegatecall", + "details": "Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event." + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "authorizePolicy(address,bytes)": { + "notice": "Initializes and authorizes a policy contract for content held by the holder." + }, + "getAuthorizedPolicies(address)": { + "notice": "Retrieves all policies authorized by a specific content holder." + }, + "initialize(address)": { "notice": "Initializes the proxy state." }, + "revokePolicy(address)": { + "notice": "Revokes the delegation of rights to a policy contract." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/", + "@ethsign/=node_modules/@ethsign/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@synaps3/=contracts/", + "ds-test/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/lib/ds-test/src/", + "forge-std/=lib/forge-std/src/", + "hardhat/=node_modules/hardhat/", + "openzeppelin-foundry-upgrades/=lib/openzeppelin-foundry-upgrades/src/", + "solady/=lib/solady/src/", + "solidity-stringutils/=lib/openzeppelin-foundry-upgrades/lib/solidity-stringutils/" + ], + "optimizer": { "enabled": true, "runs": 20000 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { + "contracts/rights/RightsPolicyAuthorizer.sol": "RightsPolicyAuthorizer" + }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/core/interfaces/access/IAccessManager.sol": { + "keccak256": "0x839438bf1e2e7432db801b4734831297e075cb120cf91864fb9c52c3ddccbf0f", + "urls": [ + "bzz-raw://8008d58c268d046c9bcd9ac5cd4244a666688604bf6be9b243610e041a3c285e", + "dweb:/ipfs/QmXGXhm8YhdNToMzmAq7aLXQv2vXPkhrTFTwaAYhnhrJkJ" + ], + "license": "MIT" + }, + "contracts/core/interfaces/policies/IPolicy.sol": { + "keccak256": "0xde948687c6e43423f1406a2e7f7f17b5f373e445b4612872b2a087949a71dbb4", + "urls": [ + "bzz-raw://e5da4404cdf33625a3bbf8ab58d9acf0bfd80b78c53658f3bfb365a9c568e836", + "dweb:/ipfs/QmaKqfhCLzBHoyg3GhUCQcEZo89arwe3YEgoysCWJUPWqv" + ], + "license": "MIT" + }, + "contracts/core/interfaces/policies/IPolicyAuditorVerifiable.sol": { + "keccak256": "0xa16f215a70bb82ebf310086ddd0e3356c8b889146e8c3f64342574cc5d111afa", + "urls": [ + "bzz-raw://dd46a58675c87225968a17ccf79339f64585310fb3a845e3b4b127222a23d2c9", + "dweb:/ipfs/QmQEsBEZKJX4h84uqTCAGXQqm81fAtjE1oCGiJ6fm9qLi4" + ], + "license": "MIT" + }, + "contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol": { + "keccak256": "0x7788d64a9d12536ad06115d72faef14dfc131def88bc15e8901d64d67f231419", + "urls": [ + "bzz-raw://ecb519a42d82d23498f17644216cd4041b87ee126c2b471f05418af2bb6ae130", + "dweb:/ipfs/QmTLZw15MB1aXZCvbXfvDozqPm29c3CqiSsgSdMpXEM3o4" + ], + "license": "MIT" + }, + "contracts/core/libraries/LoopOps.sol": { + "keccak256": "0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411", + "urls": [ + "bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2", + "dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL" + ], + "license": "MIT" + }, + "contracts/core/primitives/Constants.sol": { + "keccak256": "0xd3dac9b10f88534046b904f281588f0293fa603ec5c68ffeeaf64eec88ebe65e", + "urls": [ + "bzz-raw://d9dddce59781d9a41c012aeff533cca898b1553924f09edf192d0f534f4cc4a1", + "dweb:/ipfs/QmdKPss1KNAneMGaTXqQSWraN1s6MDCHkMgetn5BVxzXn3" + ], + "license": "MIT" + }, + "contracts/core/primitives/Types.sol": { + "keccak256": "0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1", + "urls": [ + "bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf", + "dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe" + ], + "license": "MIT" + }, + "contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol": { + "keccak256": "0xfeb8d79a1f7938a21fb22008f0e93934de776fcaa1a766517fd20d1a8688a8df", + "urls": [ + "bzz-raw://0f14114e03e715bb2c539bd98c86c1f9baf3f0549414be68c04d04d61ca855b2", + "dweb:/ipfs/QmfJSfM9cy57uQ8M336QvUHJmLjsiu68WotYqe33zB5YLj" + ], + "license": "MIT" + }, + "contracts/rights/RightsPolicyAuthorizer.sol": { + "keccak256": "0x7085af875aabb7e28420dceb6e73101b66642712e03b4319cc9de389b3ccf27f", + "urls": [ + "bzz-raw://0c0d12e58e6e284ee12c61eab7e9f245d263b9fd9593575d938b54dc36c4e02d", + "dweb:/ipfs/QmZyJgKPpDfns4TziFziFnmmUVDRy5gkUXE4kNDayuCbeb" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol": { + "keccak256": "0x89017bb026363fdc9fdc4b7c995aaf83e4c5af5c022eafa2e96352f843297373", + "urls": [ + "bzz-raw://dff6e61ba53c87ad06cbdddb9ff36dec215a41beff91746a80f4a9a32d37f447", + "dweb:/ipfs/QmUm6hznJTihCTaRx7TXHXKbgyuDEEgehyRzi7TAs8GLvB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "keccak256": "0x631188737069917d2f909d29ce62c4d48611d326686ba6683e26b72a23bfac0b", + "urls": [ + "bzz-raw://7a61054ae84cd6c4d04c0c4450ba1d6de41e27e0a2c4f1bcdf58f796b401c609", + "dweb:/ipfs/QmUvtdp7X1mRVyC3CsHrtPbgoqWaXHp3S1ZR24tpAQYJWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol": { + "keccak256": "0xf72d3b11f41fccbbdcacd121f994daab8267ccfceb1fb4f247e4ba274c169d27", + "urls": [ + "bzz-raw://1e46ee40ddc9e2009176ce5d76aa2c046fd68f2ed52d02d77db191365b7c5b2e", + "dweb:/ipfs/QmZnxgPmCCHosdvbh4J65uTaFYeGtZGzQ1sXRdeh1y68Zr" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "keccak256": "0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397", + "urls": [ + "bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9", + "dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/AuthorityUtils.sol": { + "keccak256": "0xb3875997b0d8705e29aa20fee88e1dfef93df438794ae1ad8ba2eb016a4dd4e4", + "urls": [ + "bzz-raw://f9e50192f7c7a22829cacfbd14221c3a3d869da64a2333f330d527777f275d9e", + "dweb:/ipfs/QmaxMQb26ggDmW3SDwJ8y6hRC8dbWbLMpUZBVzZtXqzycJ" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManaged.sol": { + "keccak256": "0xaba93d42cd70e1418782951132d97b31ddce5f50ad81090884b6d0e41caac9d6", + "urls": [ + "bzz-raw://b110886f83e3e98a11255a3b56790322e8d83e513304dde71299406685fc6694", + "dweb:/ipfs/QmPwroS7MUUk1EmsvaJqU6aarhQ8ewJtJMg7xxmTsaxZEv" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAccessManager.sol": { + "keccak256": "0x9be2d08a326515805bc9cf6315b7953f8d1ebe88abf48c2d645fb1fa8211a0e2", + "urls": [ + "bzz-raw://e750d656e37efaefbb2300051ec2c4c725db266c5ff89bc985f7ecb8d214c4f4", + "dweb:/ipfs/QmT51FsZes2n2nrLLh3d8YkBYKY43CtwScZxixcLGzL9r6" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/access/manager/IAuthority.sol": { + "keccak256": "0x4cc0766bd7fb7b3bafb70afa2a93b6e313a0baec7a35ad1b57505be7861c1030", + "urls": [ + "bzz-raw://85871c47ac00d10664b858ef71ecd8b9787c1d313e544ab2c57210c520a3c06c", + "dweb:/ipfs/QmUMTwojLzURuHftQLzAVuDmib9roj4KwcHCkg3LhZ2AdH" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/IERC1967.sol": { + "keccak256": "0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486", + "urls": [ + "bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d", + "dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { + "keccak256": "0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d", + "urls": [ + "bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196", + "dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { + "keccak256": "0x911c3346ee26afe188f3b9dc267ef62a7ccf940aba1afa963e3922f0ca3d8a06", + "urls": [ + "bzz-raw://04539f4419e44a831807d7203375d2bc6a733da256efd02e51290f5d5015218c", + "dweb:/ipfs/QmPZ97gsAAgaMRPiE2WJfkzRsudQnW5tPAvMgGj1jcTJtR" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { + "keccak256": "0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c", + "urls": [ + "bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa", + "dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Address.sol": { + "keccak256": "0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5", + "urls": [ + "bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23", + "dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Errors.sol": { + "keccak256": "0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123", + "urls": [ + "bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf", + "dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/Panic.sol": { + "keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a", + "urls": [ + "bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a", + "dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/StorageSlot.sol": { + "keccak256": "0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97", + "urls": [ + "bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b", + "dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/Math.sol": { + "keccak256": "0xa00be322d7db5786750ce0ac7e2f5b633ac30a5ed5fa1ced1e74acfc19acecea", + "urls": [ + "bzz-raw://6c84e822f87cbdc4082533b626667b6928715bb2b1e8e7eb96954cebb9e38c8d", + "dweb:/ipfs/QmZmy9dgxLTerBAQDuuHqbL6EpgRxddqgv5KmwpXYVbKz1" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": { + "keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54", + "urls": [ + "bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8", + "dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol": { + "keccak256": "0x9b161e97b8967d4bc0c08d25741889a30692cdda4b71910bf1b0e315f1962212", + "urls": [ + "bzz-raw://821500c39d095eaa25b06f46e65f1d0e97c4c96b39227f79077dee7d9e84051f", + "dweb:/ipfs/QmSTeGorKzSWF6HAmxo32uCZiEuKNvreQdUiX1AaYtUMTz" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/types/Time.sol": { + "keccak256": "0x36776530f012618bc7526ceb28e77b85e582cb12d9b9466a71d4bd6bf952e4cc", + "urls": [ + "bzz-raw://9f867d046908497287d8a67643dd5d7e38c4027af4ab0a74ffbe1d6790c383c6", + "dweb:/ipfs/QmQ7s9gMP1nkwThFmoDifnGgpUMsMe5q5ZrAxGDsNnRGza" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 5937, + "contract": "contracts/rights/RightsPolicyAuthorizer.sol:RightsPolicyAuthorizer", + "label": "_authorizedPolicies", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_address,t_struct(AddressSet)69868_storage)" + } + ], + "types": { + "t_address": { "encoding": "inplace", "label": "address", "numberOfBytes": "20" }, + "t_array(t_bytes32)dyn_storage": { + "encoding": "dynamic_array", + "label": "bytes32[]", + "numberOfBytes": "32", + "base": "t_bytes32" + }, + "t_bytes32": { "encoding": "inplace", "label": "bytes32", "numberOfBytes": "32" }, + "t_mapping(t_address,t_struct(AddressSet)69868_storage)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => struct EnumerableSet.AddressSet)", + "numberOfBytes": "32", + "value": "t_struct(AddressSet)69868_storage" + }, + "t_mapping(t_bytes32,t_uint256)": { + "encoding": "mapping", + "key": "t_bytes32", + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32", + "value": "t_uint256" + }, + "t_struct(AddressSet)69868_storage": { + "encoding": "inplace", + "label": "struct EnumerableSet.AddressSet", + "numberOfBytes": "64", + "members": [ + { + "astId": 69867, + "contract": "contracts/rights/RightsPolicyAuthorizer.sol:RightsPolicyAuthorizer", + "label": "_inner", + "offset": 0, + "slot": "0", + "type": "t_struct(Set)69553_storage" + } + ] + }, + "t_struct(Set)69553_storage": { + "encoding": "inplace", + "label": "struct EnumerableSet.Set", + "numberOfBytes": "64", + "members": [ + { + "astId": 69548, + "contract": "contracts/rights/RightsPolicyAuthorizer.sol:RightsPolicyAuthorizer", + "label": "_values", + "offset": 0, + "slot": "0", + "type": "t_array(t_bytes32)dyn_storage" + }, + { + "astId": 69552, + "contract": "contracts/rights/RightsPolicyAuthorizer.sol:RightsPolicyAuthorizer", + "label": "_positions", + "offset": 0, + "slot": "1", + "type": "t_mapping(t_bytes32,t_uint256)" + } + ] + }, + "t_uint256": { "encoding": "inplace", "label": "uint256", "numberOfBytes": "32" } + } + }, + "ast": { + "absolutePath": "contracts/rights/RightsPolicyAuthorizer.sol", + "id": 6203, + "exportedSymbols": { + "AccessControlledUpgradeable": [2660], + "EnumerableSet": [70155], + "IPolicy": [1353], + "IPolicyAuditorVerifiable": [1399], + "IRightsPolicyAuthorizer": [1482], + "Initializable": [50462], + "LoopOps": [2051], + "RightsPolicyAuthorizer": [6202], + "UUPSUpgradeable": [50644] + }, + "nodeType": "SourceUnit", + "src": "124:7240:59", + "nodes": [ + { + "id": 5896, + "nodeType": "PragmaDirective", + "src": "124:23:59", + "nodes": [], + "literals": ["solidity", "0.8", ".26"] + }, + { + "id": 5898, + "nodeType": "ImportDirective", + "src": "149:98:59", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "nameLocation": "-1:-1:-1", + "scope": 6203, + "sourceUnit": 50463, + "symbolAliases": [ + { + "foreign": { + "id": 5897, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50462, + "src": "158:13:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5900, + "nodeType": "ImportDirective", + "src": "248:88:59", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol", + "file": "@openzeppelin/contracts/utils/structs/EnumerableSet.sol", + "nameLocation": "-1:-1:-1", + "scope": 6203, + "sourceUnit": 70156, + "symbolAliases": [ + { + "foreign": { + "id": 5899, + "name": "EnumerableSet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 70155, + "src": "257:13:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5902, + "nodeType": "ImportDirective", + "src": "337:102:59", + "nodes": [], + "absolutePath": "node_modules/@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 6203, + "sourceUnit": 50645, + "symbolAliases": [ + { + "foreign": { + "id": 5901, + "name": "UUPSUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50644, + "src": "346:15:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5904, + "nodeType": "ImportDirective", + "src": "440:115:59", + "nodes": [], + "absolutePath": "contracts/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "file": "@synaps3/core/primitives/upgradeable/AccessControlledUpgradeable.sol", + "nameLocation": "-1:-1:-1", + "scope": 6203, + "sourceUnit": 2661, + "symbolAliases": [ + { + "foreign": { + "id": 5903, + "name": "AccessControlledUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2660, + "src": "449:27:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5906, + "nodeType": "ImportDirective", + "src": "557:72:59", + "nodes": [], + "absolutePath": "contracts/core/interfaces/policies/IPolicy.sol", + "file": "@synaps3/core/interfaces/policies/IPolicy.sol", + "nameLocation": "-1:-1:-1", + "scope": 6203, + "sourceUnit": 1354, + "symbolAliases": [ + { + "foreign": { + "id": 5905, + "name": "IPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1353, + "src": "566:7:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5908, + "nodeType": "ImportDirective", + "src": "630:102:59", + "nodes": [], + "absolutePath": "contracts/core/interfaces/rights/IRightsPolicyAuthorizer.sol", + "file": "@synaps3/core/interfaces/rights/IRightsPolicyAuthorizer.sol", + "nameLocation": "-1:-1:-1", + "scope": 6203, + "sourceUnit": 1483, + "symbolAliases": [ + { + "foreign": { + "id": 5907, + "name": "IRightsPolicyAuthorizer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "639:23:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5910, + "nodeType": "ImportDirective", + "src": "733:106:59", + "nodes": [], + "absolutePath": "contracts/core/interfaces/policies/IPolicyAuditorVerifiable.sol", + "file": "@synaps3/core/interfaces/policies/IPolicyAuditorVerifiable.sol", + "nameLocation": "-1:-1:-1", + "scope": 6203, + "sourceUnit": 1400, + "symbolAliases": [ + { + "foreign": { + "id": 5909, + "name": "IPolicyAuditorVerifiable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "742:24:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 5912, + "nodeType": "ImportDirective", + "src": "840:62:59", + "nodes": [], + "absolutePath": "contracts/core/libraries/LoopOps.sol", + "file": "@synaps3/core/libraries/LoopOps.sol", + "nameLocation": "-1:-1:-1", + "scope": 6203, + "sourceUnit": 2052, + "symbolAliases": [ + { + "foreign": { + "id": 5911, + "name": "LoopOps", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2051, + "src": "849:7:59", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 6202, + "nodeType": "ContractDefinition", + "src": "904:6459:59", + "nodes": [ + { + "id": 5923, + "nodeType": "UsingForDirective", + "src": "1046:26:59", + "nodes": [], + "global": false, + "libraryName": { + "id": 5921, + "name": "LoopOps", + "nameLocations": ["1052:7:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2051, + "src": "1052:7:59" + }, + "typeName": { + "id": 5922, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1064:7:59", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + } + }, + { + "id": 5927, + "nodeType": "UsingForDirective", + "src": "1077:49:59", + "nodes": [], + "global": false, + "libraryName": { + "id": 5924, + "name": "EnumerableSet", + "nameLocations": ["1083:13:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 70155, + "src": "1083:13:59" + }, + "typeName": { + "id": 5926, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5925, + "name": "EnumerableSet.AddressSet", + "nameLocations": ["1101:13:59", "1115:10:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 69868, + "src": "1101:24:59" + }, + "referencedDeclaration": 69868, + "src": "1101:24:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$69868_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + } + }, + { + "id": 5931, + "nodeType": "VariableDeclaration", + "src": "1521:54:59", + "nodes": [], + "constant": false, + "documentation": { + "id": 5928, + "nodeType": "StructuredDocumentation", + "src": "1455:61:59", + "text": "@custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "functionSelector": "82e2b7c8", + "mutability": "immutable", + "name": "POLICY_AUDIT", + "nameLocation": "1563:12:59", + "scope": 6202, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPolicyAuditorVerifiable_$1399", + "typeString": "contract IPolicyAuditorVerifiable" + }, + "typeName": { + "id": 5930, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5929, + "name": "IPolicyAuditorVerifiable", + "nameLocations": ["1521:24:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1399, + "src": "1521:24:59" + }, + "referencedDeclaration": 1399, + "src": "1521:24:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPolicyAuditorVerifiable_$1399", + "typeString": "contract IPolicyAuditorVerifiable" + } + }, + "visibility": "public" + }, + { + "id": 5937, + "nodeType": "VariableDeclaration", + "src": "1668:72:59", + "nodes": [], + "constant": false, + "documentation": { + "id": 5932, + "nodeType": "StructuredDocumentation", + "src": "1582:81:59", + "text": "@dev Mapping to store the delegated rights for each policy contract (address)" + }, + "mutability": "mutable", + "name": "_authorizedPolicies", + "nameLocation": "1721:19:59", + "scope": 6202, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$", + "typeString": "mapping(address => struct EnumerableSet.AddressSet)" + }, + "typeName": { + "id": 5936, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 5933, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1676:7:59", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "nodeType": "Mapping", + "src": "1668:44:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$", + "typeString": "mapping(address => struct EnumerableSet.AddressSet)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 5935, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5934, + "name": "EnumerableSet.AddressSet", + "nameLocations": ["1687:13:59", "1701:10:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 69868, + "src": "1687:24:59" + }, + "referencedDeclaration": 69868, + "src": "1687:24:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$69868_storage_ptr", + "typeString": "struct EnumerableSet.AddressSet" + } + } + }, + "visibility": "private" + }, + { + "id": 5944, + "nodeType": "EventDefinition", + "src": "1947:68:59", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 5938, + "nodeType": "StructuredDocumentation", + "src": "1746:196:59", + "text": "@notice Emitted when rights are granted to a policy for content.\n @param policy The policy contract address granted rights.\n @param holder The address of the asset rights holder." + }, + "eventSelector": "164745c0d5815644c1e92a17e242e89f9c0fd523fc3e94071b60f165692f3d79", + "name": "RightsGranted", + "nameLocation": "1953:13:59", + "parameters": { + "id": 5943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5940, + "indexed": true, + "mutability": "mutable", + "name": "policy", + "nameLocation": "1983:6:59", + "nodeType": "VariableDeclaration", + "scope": 5944, + "src": "1967:22:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5939, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1967:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5942, + "indexed": true, + "mutability": "mutable", + "name": "holder", + "nameLocation": "2007:6:59", + "nodeType": "VariableDeclaration", + "scope": 5944, + "src": "1991:22:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5941, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1991:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "1966:48:59" + } + }, + { + "id": 5951, + "nodeType": "EventDefinition", + "src": "2239:68:59", + "nodes": [], + "anonymous": false, + "documentation": { + "id": 5945, + "nodeType": "StructuredDocumentation", + "src": "2020:214:59", + "text": "@notice Emitted when rights are revoked from a policy for content.\n @param policy The policy contract address whose rights are being revoked.\n @param holder The address of the asset rights holder." + }, + "eventSelector": "e26ab5559d9c979fe9df51c8a6ac8f71ef871393f720d7bd56f2e600d1bb680e", + "name": "RightsRevoked", + "nameLocation": "2245:13:59", + "parameters": { + "id": 5950, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5947, + "indexed": true, + "mutability": "mutable", + "name": "policy", + "nameLocation": "2275:6:59", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "2259:22:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5946, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2259:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5949, + "indexed": true, + "mutability": "mutable", + "name": "holder", + "nameLocation": "2299:6:59", + "nodeType": "VariableDeclaration", + "scope": 5951, + "src": "2283:22:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5948, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2283:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2258:48:59" + } + }, + { + "id": 5956, + "nodeType": "ErrorDefinition", + "src": "2460:46:59", + "nodes": [], + "documentation": { + "id": 5952, + "nodeType": "StructuredDocumentation", + "src": "2313:142:59", + "text": "@dev Error thrown when a policy has not been audited or approved for operation.\n @param policy The address of the unaudited policy." + }, + "errorSelector": "e63549fa", + "name": "InvalidNotAuditedPolicy", + "nameLocation": "2466:23:59", + "parameters": { + "id": 5955, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5954, + "mutability": "mutable", + "name": "policy", + "nameLocation": "2498:6:59", + "nodeType": "VariableDeclaration", + "scope": 5956, + "src": "2490:14:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5953, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2490:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2489:16:59" + } + }, + { + "id": 5961, + "nodeType": "ErrorDefinition", + "src": "2666:49:59", + "nodes": [], + "documentation": { + "id": 5957, + "nodeType": "StructuredDocumentation", + "src": "2511:150:59", + "text": "@dev Error thrown when there is an issue with the policy setup.\n @param reason A string explaining the reason for the invalid policy setup." + }, + "errorSelector": "47fc3bab", + "name": "InvalidPolicyInitialization", + "nameLocation": "2672:27:59", + "parameters": { + "id": 5960, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5959, + "mutability": "mutable", + "name": "reason", + "nameLocation": "2707:6:59", + "nodeType": "VariableDeclaration", + "scope": 5961, + "src": "2700:13:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5958, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2700:6:59", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2699:15:59" + } + }, + { + "id": 5977, + "nodeType": "FunctionDefinition", + "src": "2774:385:59", + "nodes": [], + "body": { + "id": 5976, + "nodeType": "Block", + "src": "2807:352:59", + "nodes": [], + "statements": [ + { + "documentation": "https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680\n https://forum.openzeppelin.com/t/what-does-disableinitializers-function-mean/28730/5", + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5967, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50430, + "src": "3007:20:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 5968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3007:22:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 5969, + "nodeType": "ExpressionStatement", + "src": "3007:22:59" + }, + { + "expression": { + "id": 5974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 5970, + "name": "POLICY_AUDIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5931, + "src": "3100:12:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPolicyAuditorVerifiable_$1399", + "typeString": "contract IPolicyAuditorVerifiable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 5972, + "name": "policyAudit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5964, + "src": "3140:11:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 5971, + "name": "IPolicyAuditorVerifiable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1399, + "src": "3115:24:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IPolicyAuditorVerifiable_$1399_$", + "typeString": "type(contract IPolicyAuditorVerifiable)" + } + }, + "id": 5973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3115:37:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPolicyAuditorVerifiable_$1399", + "typeString": "contract IPolicyAuditorVerifiable" + } + }, + "src": "3100:52:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPolicyAuditorVerifiable_$1399", + "typeString": "contract IPolicyAuditorVerifiable" + } + }, + "id": 5975, + "nodeType": "ExpressionStatement", + "src": "3100:52:59" + } + ] + }, + "documentation": { + "id": 5962, + "nodeType": "StructuredDocumentation", + "src": "2721:48:59", + "text": "@custom:oz-upgrades-unsafe-allow constructor" + }, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 5965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5964, + "mutability": "mutable", + "name": "policyAudit", + "nameLocation": "2794:11:59", + "nodeType": "VariableDeclaration", + "scope": 5977, + "src": "2786:19:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5963, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2786:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "2785:21:59" + }, + "returnParameters": { + "id": 5966, + "nodeType": "ParameterList", + "parameters": [], + "src": "2807:0:59" + }, + "scope": 6202, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 5993, + "nodeType": "FunctionDefinition", + "src": "3210:151:59", + "nodes": [], + "body": { + "id": 5992, + "nodeType": "Block", + "src": "3272:89:59", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 5985, + "name": "__UUPSUpgradeable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50516, + "src": "3282:22:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 5986, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3282:24:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 5987, + "nodeType": "ExpressionStatement", + "src": "3282:24:59" + }, + { + "expression": { + "arguments": [ + { + "id": 5989, + "name": "accessManager", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5980, + "src": "3340:13:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "id": 5988, + "name": "__AccessControlled_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2595, + "src": "3316:23:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 5990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3316:38:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 5991, + "nodeType": "ExpressionStatement", + "src": "3316:38:59" + } + ] + }, + "documentation": { + "id": 5978, + "nodeType": "StructuredDocumentation", + "src": "3165:40:59", + "text": "@notice Initializes the proxy state." + }, + "functionSelector": "c4d66de8", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 5983, + "kind": "modifierInvocation", + "modifierName": { + "id": 5982, + "name": "initializer", + "nameLocations": ["3260:11:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50316, + "src": "3260:11:59" + }, + "nodeType": "ModifierInvocation", + "src": "3260:11:59" + } + ], + "name": "initialize", + "nameLocation": "3219:10:59", + "parameters": { + "id": 5981, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5980, + "mutability": "mutable", + "name": "accessManager", + "nameLocation": "3238:13:59", + "nodeType": "VariableDeclaration", + "scope": 5993, + "src": "3230:21:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5979, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3230:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "3229:23:59" + }, + "returnParameters": { + "id": 5984, + "nodeType": "ParameterList", + "parameters": [], + "src": "3272:0:59" + }, + "scope": 6202, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 6047, + "nodeType": "FunctionDefinition", + "src": "3602:697:59", + "nodes": [], + "body": { + "id": 6046, + "nodeType": "Block", + "src": "3673:626:59", + "nodes": [], + "statements": [ + { + "condition": { + "id": 6004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3774:23:59", + "subExpression": { + "arguments": [ + { + "id": 6002, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5996, + "src": "3790:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 6001, + "name": "_isValidPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "3775:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3775:22:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 6009, + "nodeType": "IfStatement", + "src": "3770:67:59", + "trueBody": { + "errorCall": { + "arguments": [ + { + "id": 6006, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5996, + "src": "3830:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 6005, + "name": "InvalidNotAuditedPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5956, + "src": "3806:23:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$_t_error_$", + "typeString": "function (address) pure returns (error)" + } + }, + "id": 6007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3806:31:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 6008, + "nodeType": "RevertStatement", + "src": "3799:38:59" + } + }, + { + "assignments": [6011, null], + "declarations": [ + { + "constant": false, + "id": 6011, + "mutability": "mutable", + "name": "success", + "nameLocation": "3958:7:59", + "nodeType": "VariableDeclaration", + "scope": 6046, + "src": "3953:12:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 6010, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3953:4:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + }, + null + ], + "id": 6024, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "expression": { + "id": 6016, + "name": "IPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1353, + "src": "3998:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IPolicy_$1353_$", + "typeString": "type(contract IPolicy)" + } + }, + "id": 6017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4006:10:59", + "memberName": "initialize", + "nodeType": "MemberAccess", + "referencedDeclaration": 1305, + "src": "3998:18:59", + "typeDescriptions": { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function IPolicy.initialize(address,bytes calldata)" + } + }, + { + "components": [ + { + "expression": { + "id": 6018, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4019:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4023:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4019:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6020, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5998, + "src": "4031:4:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "id": 6021, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4018:18:59", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_address_$_t_bytes_calldata_ptr_$", + "typeString": "tuple(address,bytes calldata)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_function_declaration_nonpayable$_t_address_$_t_bytes_calldata_ptr_$returns$__$", + "typeString": "function IPolicy.initialize(address,bytes calldata)" + }, + { + "typeIdentifier": "t_tuple$_t_address_$_t_bytes_calldata_ptr_$", + "typeString": "tuple(address,bytes calldata)" + } + ], + "expression": { + "id": 6014, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3983:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3987:10:59", + "memberName": "encodeCall", + "nodeType": "MemberAccess", + "src": "3983:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodecall_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 6022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3983:54:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } + ], + "expression": { + "id": 6012, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5996, + "src": "3971:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3978:4:59", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "3971:11:59", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 6023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3971:67:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3952:86:59" + }, + { + "condition": { + "id": 6026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4052:8:59", + "subExpression": { + "id": 6025, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6011, + "src": "4053:7:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 6031, + "nodeType": "IfStatement", + "src": "4048:91:59", + "trueBody": { + "errorCall": { + "arguments": [ + { + "hexValue": "4572726f7220647572696e6720706f6c69637920696e697469616c697a6174696f6e2063616c6c", + "id": 6028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4097:41:59", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_466ff33af544a3258ce48b30829c401c1b82fc1a667216dc12b6fb6a650ffe3f", + "typeString": "literal_string \"Error during policy initialization call\"" + }, + "value": "Error during policy initialization call" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_466ff33af544a3258ce48b30829c401c1b82fc1a667216dc12b6fb6a650ffe3f", + "typeString": "literal_string \"Error during policy initialization call\"" + } + ], + "id": 6027, + "name": "InvalidPolicyInitialization", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5961, + "src": "4069:27:59", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$", + "typeString": "function (string memory) pure returns (error)" + } + }, + "id": 6029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4069:70:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 6030, + "nodeType": "RevertStatement", + "src": "4062:77:59" + } + }, + { + "expression": { + "arguments": [ + { + "id": 6037, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5996, + "src": "4185:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "expression": { + "baseExpression": { + "id": 6032, + "name": "_authorizedPolicies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5937, + "src": "4149:19:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$", + "typeString": "mapping(address => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 6035, + "indexExpression": { + "expression": { + "id": 6033, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4169:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4173:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4169:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4149:31:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$69868_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 6036, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4181:3:59", + "memberName": "add", + "nodeType": "MemberAccess", + "referencedDeclaration": 69895, + "src": "4149:35:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AddressSet_$69868_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$69868_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)" + } + }, + "id": 6038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4149:43:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 6039, + "nodeType": "ExpressionStatement", + "src": "4149:43:59" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6041, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5996, + "src": "4273:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 6042, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4281:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4285:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4281:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 6040, + "name": "RightsGranted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5944, + "src": "4259:13:59", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4259:33:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 6045, + "nodeType": "EmitStatement", + "src": "4254:38:59" + } + ] + }, + "baseFunctions": [1475], + "documentation": { + "id": 5994, + "nodeType": "StructuredDocumentation", + "src": "3367:230:59", + "text": "@notice Initializes and authorizes a policy contract for content held by the holder.\n @param policy The address of the policy contract to be initialized and authorized.\n @param data The data to initialize policy." + }, + "functionSelector": "2f6cc102", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "authorizePolicy", + "nameLocation": "3611:15:59", + "parameters": { + "id": 5999, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5996, + "mutability": "mutable", + "name": "policy", + "nameLocation": "3635:6:59", + "nodeType": "VariableDeclaration", + "scope": 6047, + "src": "3627:14:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 5995, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3627:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5998, + "mutability": "mutable", + "name": "data", + "nameLocation": "3658:4:59", + "nodeType": "VariableDeclaration", + "scope": 6047, + "src": "3643:19:59", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 5997, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3643:5:59", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3626:37:59" + }, + "returnParameters": { + "id": 6000, + "nodeType": "ParameterList", + "parameters": [], + "src": "3673:0:59" + }, + "scope": 6202, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 6068, + "nodeType": "FunctionDefinition", + "src": "4475:158:59", + "nodes": [], + "body": { + "id": 6067, + "nodeType": "Block", + "src": "4522:111:59", + "nodes": [], + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 6058, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6050, + "src": "4571:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_address", "typeString": "address" }], + "expression": { + "baseExpression": { + "id": 6053, + "name": "_authorizedPolicies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5937, + "src": "4532:19:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$", + "typeString": "mapping(address => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 6056, + "indexExpression": { + "expression": { + "id": 6054, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4552:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4556:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4552:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4532:31:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$69868_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 6057, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4564:6:59", + "memberName": "remove", + "nodeType": "MemberAccess", + "referencedDeclaration": 69922, + "src": "4532:38:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_AddressSet_$69868_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$69868_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) returns (bool)" + } + }, + "id": 6059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4532:46:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 6060, + "nodeType": "ExpressionStatement", + "src": "4532:46:59" + }, + { + "eventCall": { + "arguments": [ + { + "id": 6062, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6050, + "src": "4607:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 6063, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4615:3:59", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 6064, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4619:6:59", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4615:10:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 6061, + "name": "RightsRevoked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5951, + "src": "4593:13:59", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 6065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4593:33:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } + }, + "id": 6066, + "nodeType": "EmitStatement", + "src": "4588:38:59" + } + ] + }, + "baseFunctions": [1481], + "documentation": { + "id": 6048, + "nodeType": "StructuredDocumentation", + "src": "4305:165:59", + "text": "@notice Revokes the delegation of rights to a policy contract.\n @param policy The address of the policy contract whose rights delegation is being revoked." + }, + "functionSelector": "9fda230a", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "revokePolicy", + "nameLocation": "4484:12:59", + "parameters": { + "id": 6051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6050, + "mutability": "mutable", + "name": "policy", + "nameLocation": "4505:6:59", + "nodeType": "VariableDeclaration", + "scope": 6068, + "src": "4497:14:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 6049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4497:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "4496:16:59" + }, + "returnParameters": { + "id": 6052, + "nodeType": "ParameterList", + "parameters": [], + "src": "4522:0:59" + }, + "scope": 6202, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 6090, + "nodeType": "FunctionDefinition", + "src": "4896:183:59", + "nodes": [], + "body": { + "id": 6089, + "nodeType": "Block", + "src": "4985:94:59", + "nodes": [], + "statements": [ + { + "expression": { + "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "id": 6087, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 6082, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6071, + "src": "5039:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "expression": { + "baseExpression": { + "id": 6078, + "name": "_authorizedPolicies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5937, + "src": "5002:19:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$", + "typeString": "mapping(address => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 6080, + "indexExpression": { + "id": 6079, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6073, + "src": "5022:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5002:27:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$69868_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 6081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5030:8:59", + "memberName": "contains", + "nodeType": "MemberAccess", + "referencedDeclaration": 69949, + "src": "5002:36:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_AddressSet_$69868_storage_ptr_$_t_address_$returns$_t_bool_$attached_to$_t_struct$_AddressSet_$69868_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer,address) view returns (bool)" + } + }, + "id": 6083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5002:44:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "arguments": [ + { + "id": 6085, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6071, + "src": "5065:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 6084, + "name": "_isValidPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "5050:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6086, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5050:22:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "src": "5002:70:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "functionReturnParameters": 6077, + "id": 6088, + "nodeType": "Return", + "src": "4995:77:59" + } + ] + }, + "baseFunctions": [1467], + "documentation": { + "id": 6069, + "nodeType": "StructuredDocumentation", + "src": "4639:252:59", + "text": "@dev Verify if the specified policy contract has been delegated the rights by the asset holder.\n @param policy The address of the policy contract to check for delegation.\n @param holder the asset rights holder to check for delegation." + }, + "functionSelector": "ca89d8b2", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isPolicyAuthorized", + "nameLocation": "4905:18:59", + "parameters": { + "id": 6074, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6071, + "mutability": "mutable", + "name": "policy", + "nameLocation": "4932:6:59", + "nodeType": "VariableDeclaration", + "scope": 6090, + "src": "4924:14:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 6070, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4924:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6073, + "mutability": "mutable", + "name": "holder", + "nameLocation": "4948:6:59", + "nodeType": "VariableDeclaration", + "scope": 6090, + "src": "4940:14:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 6072, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4940:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "4923:32:59" + }, + "returnParameters": { + "id": 6077, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6076, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6090, + "src": "4979:4:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 6075, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4979:4:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + } + ], + "src": "4978:6:59" + }, + "scope": 6202, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 6169, + "nodeType": "FunctionDefinition", + "src": "5380:1286:59", + "nodes": [], + "body": { + "id": 6168, + "nodeType": "Block", + "src": "5468:1198:59", + "nodes": [], + "statements": [ + { + "assignments": [6103], + "declarations": [ + { + "constant": false, + "id": 6103, + "mutability": "mutable", + "name": "policies", + "nameLocation": "6106:8:59", + "nodeType": "VariableDeclaration", + "scope": 6168, + "src": "6089:25:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 6101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6089:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6102, + "nodeType": "ArrayTypeName", + "src": "6089:9:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "id": 6109, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "baseExpression": { + "id": 6104, + "name": "_authorizedPolicies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5937, + "src": "6117:19:59", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AddressSet_$69868_storage_$", + "typeString": "mapping(address => struct EnumerableSet.AddressSet storage ref)" + } + }, + "id": 6106, + "indexExpression": { + "id": 6105, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6093, + "src": "6137:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6117:27:59", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSet_$69868_storage", + "typeString": "struct EnumerableSet.AddressSet storage ref" + } + }, + "id": 6107, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6145:6:59", + "memberName": "values", + "nodeType": "MemberAccess", + "referencedDeclaration": 70021, + "src": "6117:34:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_AddressSet_$69868_storage_ptr_$returns$_t_array$_t_address_$dyn_memory_ptr_$attached_to$_t_struct$_AddressSet_$69868_storage_ptr_$", + "typeString": "function (struct EnumerableSet.AddressSet storage pointer) view returns (address[] memory)" + } + }, + "id": 6108, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6117:36:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6089:64:59" + }, + { + "assignments": [6114], + "declarations": [ + { + "constant": false, + "id": 6114, + "mutability": "mutable", + "name": "filtered", + "nameLocation": "6180:8:59", + "nodeType": "VariableDeclaration", + "scope": 6168, + "src": "6163:25:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 6112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6163:7:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6113, + "nodeType": "ArrayTypeName", + "src": "6163:9:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "id": 6121, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 6118, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "6205:8:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6214:6:59", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6205:15:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [{ "typeIdentifier": "t_uint256", "typeString": "uint256" }], + "id": 6117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "6191:13:59", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_address_$dyn_memory_ptr_$", + "typeString": "function (uint256) pure returns (address[] memory)" + }, + "typeName": { + "baseType": { + "id": 6115, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6195:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6116, + "nodeType": "ArrayTypeName", + "src": "6195:9:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + } + }, + "id": 6120, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6191:30:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6163:58:59" + }, + { + "assignments": [6123], + "declarations": [ + { + "constant": false, + "id": 6123, + "mutability": "mutable", + "name": "policiesLen", + "nameLocation": "6239:11:59", + "nodeType": "VariableDeclaration", + "scope": 6168, + "src": "6231:19:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6122, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6231:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6126, + "initialValue": { + "expression": { + "id": 6124, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "6253:8:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6262:6:59", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6253:15:59", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6231:37:59" + }, + { + "assignments": [6128], + "declarations": [ + { + "constant": false, + "id": 6128, + "mutability": "mutable", + "name": "j", + "nameLocation": "6286:1:59", + "nodeType": "VariableDeclaration", + "scope": 6168, + "src": "6278:9:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6278:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6130, + "initialValue": { + "hexValue": "30", + "id": 6129, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6290:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6278:13:59" + }, + { + "body": { + "id": 6164, + "nodeType": "Block", + "src": "6380:254:59", + "statements": [ + { + "condition": { + "id": 6149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6398:28:59", + "subExpression": { + "arguments": [ + { + "baseExpression": { + "id": 6145, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "6414:8:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6147, + "indexExpression": { + "id": 6146, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "6423:1:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6414:11:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 6144, + "name": "_isValidPolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6201, + "src": "6399:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view returns (bool)" + } + }, + "id": 6148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6399:27:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 6151, + "nodeType": "IfStatement", + "src": "6394:42:59", + "trueBody": { "id": 6150, "nodeType": "Continue", "src": "6428:8:59" } + }, + { + "expression": { + "id": 6158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 6152, + "name": "filtered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6114, + "src": "6450:8:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6154, + "indexExpression": { + "id": 6153, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6128, + "src": "6459:1:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6450:11:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 6155, + "name": "policies", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6103, + "src": "6464:8:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "id": 6157, + "indexExpression": { + "id": 6156, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "6473:1:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6464:11:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6450:25:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 6159, + "nodeType": "ExpressionStatement", + "src": "6450:25:59" + }, + { + "id": 6163, + "nodeType": "UncheckedBlock", + "src": "6578:46:59", + "statements": [ + { + "expression": { + "id": 6161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": true, + "src": "6606:3:59", + "subExpression": { + "id": 6160, + "name": "j", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6128, + "src": "6608:1:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6162, + "nodeType": "ExpressionStatement", + "src": "6606:3:59" + } + ] + } + ] + }, + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 6137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6135, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "6341:1:59", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 6136, + "name": "policiesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6123, + "src": "6345:11:59", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "6341:15:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 6165, + "initializationExpression": { + "assignments": [6132], + "declarations": [ + { + "constant": false, + "id": 6132, + "mutability": "mutable", + "name": "i", + "nameLocation": "6334:1:59", + "nodeType": "VariableDeclaration", + "scope": 6165, + "src": "6326:9:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6131, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6326:7:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 6134, + "initialValue": { + "hexValue": "30", + "id": 6133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6338:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "6326:13:59" + }, + "isSimpleCounterLoop": false, + "loopExpression": { + "expression": { + "id": 6142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 6138, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "6358:1:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 6139, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6132, + "src": "6362:1:59", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 6140, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6364:12:59", + "memberName": "uncheckedInc", + "nodeType": "MemberAccess", + "referencedDeclaration": 2050, + "src": "6362:14:59", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$returns$_t_uint256_$attached_to$_t_uint256_$", + "typeString": "function (uint256) pure returns (uint256)" + } + }, + "id": 6141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6362:16:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6358:20:59", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "id": 6143, + "nodeType": "ExpressionStatement", + "src": "6358:20:59" + }, + "nodeType": "ForStatement", + "src": "6321:313:59" + }, + { + "expression": { + "id": 6166, + "name": "filtered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6114, + "src": "6651:8:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[] memory" + } + }, + "functionReturnParameters": 6098, + "id": 6167, + "nodeType": "Return", + "src": "6644:15:59" + } + ] + }, + "baseFunctions": [1457], + "documentation": { + "id": 6091, + "nodeType": "StructuredDocumentation", + "src": "5085:290:59", + "text": "@notice Retrieves all policies authorized by a specific content holder.\n @dev This function returns an array of policy addresses that have been granted rights by the holder.\n @param holder The address of the asset rights holder whose authorized policies are being queried." + }, + "functionSelector": "591b43c5", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAuthorizedPolicies", + "nameLocation": "5389:21:59", + "parameters": { + "id": 6094, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6093, + "mutability": "mutable", + "name": "holder", + "nameLocation": "5419:6:59", + "nodeType": "VariableDeclaration", + "scope": 6169, + "src": "5411:14:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 6092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5411:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "5410:16:59" + }, + "returnParameters": { + "id": 6098, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6097, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6169, + "src": "5450:16:59", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", + "typeString": "address[]" + }, + "typeName": { + "baseType": { + "id": 6095, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5450:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "id": 6096, + "nodeType": "ArrayTypeName", + "src": "5450:9:59", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", + "typeString": "address[]" + } + }, + "visibility": "internal" + } + ], + "src": "5449:18:59" + }, + "scope": 6202, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 6179, + "nodeType": "FunctionDefinition", + "src": "6864:84:59", + "nodes": [], + "body": { + "id": 6178, + "nodeType": "Block", + "src": "6946:2:59", + "nodes": [], + "statements": [] + }, + "baseFunctions": [50598], + "documentation": { + "id": 6170, + "nodeType": "StructuredDocumentation", + "src": "6672:187:59", + "text": "@dev Authorizes the upgrade of the contract.\n @notice Only the owner can authorize the upgrade.\n @param newImplementation The address of the new implementation contract." + }, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 6176, + "kind": "modifierInvocation", + "modifierName": { + "id": 6175, + "name": "onlyAdmin", + "nameLocations": ["6936:9:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2578, + "src": "6936:9:59" + }, + "nodeType": "ModifierInvocation", + "src": "6936:9:59" + } + ], + "name": "_authorizeUpgrade", + "nameLocation": "6873:17:59", + "overrides": { + "id": 6174, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "6927:8:59" + }, + "parameters": { + "id": 6173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6172, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "6899:17:59", + "nodeType": "VariableDeclaration", + "scope": 6179, + "src": "6891:25:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 6171, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6891:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "6890:27:59" + }, + "returnParameters": { + "id": 6177, + "nodeType": "ParameterList", + "parameters": [], + "src": "6946:0:59" + }, + "scope": 6202, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "id": 6201, + "nodeType": "FunctionDefinition", + "src": "7213:148:59", + "nodes": [], + "body": { + "id": 6200, + "nodeType": "Block", + "src": "7281:80:59", + "nodes": [], + "statements": [ + { + "expression": { + "components": [ + { + "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "id": 6197, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { "typeIdentifier": "t_address", "typeString": "address" }, + "id": 6192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 6187, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6182, + "src": "7299:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 6190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7317:1:59", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 6189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7309:7:59", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 6188, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7309:7:59", + "typeDescriptions": {} + } + }, + "id": 6191, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7309:10:59", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7299:20:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "arguments": [ + { + "id": 6195, + "name": "policy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6182, + "src": "7346:6:59", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "expression": { + "id": 6193, + "name": "POLICY_AUDIT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5931, + "src": "7323:12:59", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IPolicyAuditorVerifiable_$1399", + "typeString": "contract IPolicyAuditorVerifiable" + } + }, + "id": 6194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7336:9:59", + "memberName": "isAudited", + "nodeType": "MemberAccess", + "referencedDeclaration": 1398, + "src": "7323:22:59", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_bool_$", + "typeString": "function (address) view external returns (bool)" + } + }, + "id": 6196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7323:30:59", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "src": "7299:54:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + } + ], + "id": 6198, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "7298:56:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "functionReturnParameters": 6186, + "id": 6199, + "nodeType": "Return", + "src": "7291:63:59" + } + ] + }, + "documentation": { + "id": 6180, + "nodeType": "StructuredDocumentation", + "src": "6954:254:59", + "text": "@notice Verifies whether a given policy is valid.\n @dev The function ensures that the policy address is not the zero address\n and that the policy has been audited.\n @param policy The address of the policy contract to verify." + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isValidPolicy", + "nameLocation": "7222:14:59", + "parameters": { + "id": 6183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6182, + "mutability": "mutable", + "name": "policy", + "nameLocation": "7245:6:59", + "nodeType": "VariableDeclaration", + "scope": 6201, + "src": "7237:14:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 6181, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7237:7:59", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "7236:16:59" + }, + "returnParameters": { + "id": 6186, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6185, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 6201, + "src": "7275:4:59", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 6184, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7275:4:59", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + } + ], + "src": "7274:6:59" + }, + "scope": 6202, + "stateMutability": "view", + "virtual": false, + "visibility": "private" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 5913, + "name": "Initializable", + "nameLocations": ["943:13:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50462, + "src": "943:13:59" + }, + "id": 5914, + "nodeType": "InheritanceSpecifier", + "src": "943:13:59" + }, + { + "baseName": { + "id": 5915, + "name": "UUPSUpgradeable", + "nameLocations": ["962:15:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50644, + "src": "962:15:59" + }, + "id": 5916, + "nodeType": "InheritanceSpecifier", + "src": "962:15:59" + }, + { + "baseName": { + "id": 5917, + "name": "AccessControlledUpgradeable", + "nameLocations": ["983:27:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2660, + "src": "983:27:59" + }, + "id": 5918, + "nodeType": "InheritanceSpecifier", + "src": "983:27:59" + }, + { + "baseName": { + "id": 5919, + "name": "IRightsPolicyAuthorizer", + "nameLocations": ["1016:23:59"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1482, + "src": "1016:23:59" + }, + "id": 5920, + "nodeType": "InheritanceSpecifier", + "src": "1016:23:59" + } + ], + "canonicalName": "RightsPolicyAuthorizer", + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "linearizedBaseContracts": [6202, 1482, 2660, 48089, 53586, 52254, 50644, 59214, 50462], + "name": "RightsPolicyAuthorizer", + "nameLocation": "913:22:59", + "scope": 6203, + "usedErrors": [ + 2560, 5956, 5961, 50225, 50228, 50489, 50494, 53557, 53563, 53567, 59409, 59422, 61705, + 61997 + ], + "usedEvents": [5944, 5951, 50233, 53553, 59136] + } + ], + "license": "MIT" + }, + "id": 59 +} diff --git a/src/config/abi/SubscriptionPolicy.json b/src/config/abi/SubscriptionPolicy.json index d5289a595..b4b5d84e4 100644 --- a/src/config/abi/SubscriptionPolicy.json +++ b/src/config/abi/SubscriptionPolicy.json @@ -1 +1,4926 @@ -{"abi":[{"type":"constructor","inputs":[{"name":"rightPolicyManagerAddress","type":"address","internalType":"address"},{"name":"ownershipAddress","type":"address","internalType":"address"},{"name":"providerAddress","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"ASSET_OWNERSHIP","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAssetOwnership"}],"stateMutability":"view"},{"type":"function","name":"ATTESTATION_PROVIDER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IAttestationProvider"}],"stateMutability":"view"},{"type":"function","name":"RIGHTS_POLICY_MANAGER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IRightsPolicyManager"}],"stateMutability":"view"},{"type":"function","name":"description","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"enforce","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"agreement","type":"tuple","internalType":"struct T.Agreement","components":[{"name":"broker","type":"address","internalType":"address"},{"name":"currency","type":"address","internalType":"address"},{"name":"initiator","type":"address","internalType":"address"},{"name":"total","type":"uint256","internalType":"uint256"},{"name":"fees","type":"uint256","internalType":"uint256"},{"name":"parties","type":"address[]","internalType":"address[]"},{"name":"payload","type":"bytes","internalType":"bytes"}]}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"getAttestation","inputs":[{"name":"recipient","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getAttestationProvider","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"getHolder","inputs":[{"name":"assetId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"holder","type":"address","internalType":"address"},{"name":"init","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isAccessAllowed","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"criteria","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isCompliant","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"holder","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isInitialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resolveTerms","inputs":[{"name":"criteria","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"tuple","internalType":"struct T.Terms","components":[{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"currency","type":"address","internalType":"address"},{"name":"rateBasis","type":"uint8","internalType":"enum T.RateBasis"},{"name":"uri","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"event","name":"AttestedAgreement","inputs":[{"name":"holder","type":"address","indexed":true,"internalType":"address"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"attestationId","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"InvalidAssetHolder","inputs":[]},{"type":"error","name":"InvalidAttestation","inputs":[]},{"type":"error","name":"InvalidEnforcement","inputs":[{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"InvalidInitialization","inputs":[{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"InvalidNotSupportedOperation","inputs":[]},{"type":"error","name":"InvalidPolicyInitialization","inputs":[]},{"type":"error","name":"InvalidUnauthorizedCall","inputs":[{"name":"reason","type":"string","internalType":"string"}]},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"bytecode":{"object":"0x60e0346100c757601f61192f38819003918201601f19168301916001600160401b038311848410176100cb578084926060946040528339810103126100c757610047816100df565b61005f6040610058602085016100df565b93016100df565b60015f556001600160a01b0390811660805290811660a0521660c05260405161183b90816100f4823960805181818161053c01528181610dc401526115cb015260a05181818161014101528181610296015261093e015260c05181818160ed01526116850152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100c75756fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461123f5750806306fdde03146111e057806319ad44fc14610510578063392e53cd146111be578063464c0aeb146108eb5780637284e41614610730578063a393711114610560578063b1b87ffb14610510578063cfdce1a7146104f7578063d1f5789414610245578063dd4fcc3f1461020f578063e8a96b46146101d3578063e8d55ccf14610165578063f1bdc452146101155763f520d4eb146100c1575f80fd5b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101115760406003193601126101115761017e611320565b73ffffffffffffffffffffffffffffffffffffffff61019b611343565b91165f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b346101115760206003193601126101115760206101f160043561163c565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461011157604060031936011261011157602061023b61022d611320565b610235611343565b90611532565b6040519015158152f35b3461011157610253366113b5565b6040517f8ae2ba5900000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156104ec5773ffffffffffffffffffffffffffffffffffffffff915f916104bd575b5016330361043957816040917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060015416600155810103126101115773ffffffffffffffffffffffffffffffffffffffff61033a602083359301611366565b169181156103db5773ffffffffffffffffffffffffffffffffffffffff91826001926040519261036984611406565b835260208301958652165f52600360205260405f2090518155019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416176001555f80f35b60646040517f8e53d58600000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c696420737562736372697074696f6e2070726963652e00000000006044820152fd5b60846040517f2ce89adb00000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f6e6c792072696768747320706f6c69637920617574686f72697a657220616c60448201527f6c6f7765642e00000000000000000000000000000000000000000000000000006064820152fd5b6104df915060203d6020116104e5575b6104d7818361143e565b810190611506565b856102db565b503d6104cd565b6040513d5f823e3d90fd5b3461011157602061023b61050a366113b5565b916114aa565b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101115760206003193601126101115760043567ffffffffffffffff811161011157610591903690600401611387565b6060806040516105a081611422565b5f81525f60208201525f604082015201526105bb8183611751565b15610708578160209181010312610111576105ea73ffffffffffffffffffffffffffffffffffffffff91611366565b165f52600360205260405f20602060405161060481611406565b73ffffffffffffffffffffffffffffffffffffffff600184549485845201541691829101526040519161063683611422565b825260208201908152604082016002815273ffffffffffffffffffffffffffffffffffffffff6040519261066b60408561143e565b600784527f697066733a2f2f000000000000000000000000000000000000000000000000006020850152606085019384526040519460208652516020860152511660408401525160048110156106db5782916106d79160608401525160808084015260a08301906112dd565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f0ea7889c000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610111575f600319360112610111576106d7610160610753604051918261143e565b61012781527f5468697320706f6c69637920666f6c6c6f77732061207375627363726970746960208201527f6f6e206d6f64656c2077697468206461696c792070726963696e672c20616c6c60408201527f6f77696e6720757365727320746f20616363657373206120636f6e74656e742060608201527f686f6c646572277320636174616c6f6720627920706179696e6720612064616960808201527f6c792066656520666f7220612063686f73656e206475726174696f6e2e0a0a4b60a08201527f65792066656174757265733a0a312920466c657869626c65207375627363726960c08201527f7074696f6e20706572696f64732073657420627920746865206173736574206860e08201527f6f6c6465722e0a322920496e7374616e742061636365737320746f20616c6c206101008201527f636f6e74656e7420647572696e672074686520737562736372697074696f6e206101208201527f706572696f642e000000000000000000000000000000000000000000000000006101408201526040519182916020835260208301906112dd565b3461011157604060031936011261011157610904611320565b6024359067ffffffffffffffff8211610111578136039060e06003198301126101115773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361113a5760ff60015416156111125773ffffffffffffffffffffffffffffffffffffffff1690815f52600360205260405f2090604051916109a083611406565b73ffffffffffffffffffffffffffffffffffffffff600182549283865201541660208401521561108e576064840135917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd60a48601359201821215610111578185019160048301359367ffffffffffffffff85116101115760248401918560051b9384360384136101115751610a5287610a4d610a4684610a4184896116d1565b6116d1565b938461147f565b61147f565b831061100a5762015180810290808204620151801490151715610fdd57420197884211610fdd576040519360e0850185811067ffffffffffffffff821117610f9857604052610aa382600401611366565b8552610ab160248301611366565b9660208601978852610ac560448401611366565b96604087019788526060870195865267ffffffffffffffff608088019560848601358752116101115736602383011215610111576004602091610b078c611492565b9b610b156040519d8e61143e565b8c52828c01930101019136831161011157905b828210610fc55750505060a0840196875260c48101359067ffffffffffffffff82116101115701913660238401121561011157600483013567ffffffffffffffff8111610f985760405193610ba5601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018661143e565b8185523660248284010111610111576024829101602086013783016020015f905260c0840192835260405195869460208601602090525173ffffffffffffffffffffffffffffffffffffffff1660408601525173ffffffffffffffffffffffffffffffffffffffff166060850152845173ffffffffffffffffffffffffffffffffffffffff1660808501525160a08401525160c0830152845160e0830160e090526101208301610c5491611708565b9051908281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001610100840152610c8b916112dd565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352610cbb908361143e565b5173ffffffffffffffffffffffffffffffffffffffff1682519160405192839286602085015260408401523060608401526080830160a0905260c08301610d0191611708565b8281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00160a0840152610d34916112dd565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018252610d64908261143e565b8151906040519485927f8ca86cad000000000000000000000000000000000000000000000000000000008452600484016060905260648401610da591611708565b906024840152828103600319016044840152610dc0916112dd565b03837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1691815a5f948591f19283156104ec575f93610f05575b5051908151915f5b838110610e6357846040518091602082016020835281518091526020604084019201905f5b818110610e4a575050500390f35b8251845285945060209384019390920191600101610e3c565b80610e70600192876117c4565b5173ffffffffffffffffffffffffffffffffffffffff610e9083866117c4565b51165f52600260205260405f20855f5260205260405f205573ffffffffffffffffffffffffffffffffffffffff610ec782856117c4565b5116847f73d17651f9707de6298c73100b356249df3c275337d70f593670c60c5d7da3536020610ef7858b6117c4565b51604051908152a301610e17565b9092503d805f833e610f17818361143e565b8101906020818303126101115780519067ffffffffffffffff821161011157019080601f83011215610111578151610f4e81611492565b92610f5c604051948561143e565b81845260208085019260051b82010192831161011157602001905b828210610f88575050509183610e0f565b8151815260209182019101610f77565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60208091610fd284611366565b815201910190610b28565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60846040517f66360cb000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f496e73756666696369656e742066756e647320666f722073756273637269707460448201527f696f6e00000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f66360cb000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f496e76616c6964206e6f7420696e697469616c697a656420686f6c646572206360448201527f6f6e646974696f6e7300000000000000000000000000000000000000000000006064820152fd5b7f83403c5c000000000000000000000000000000000000000000000000000000005f5260045ffd5b60846040517f2ce89adb00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792072696768747320706f6c696379206d616e6167657220616c6c6f7760448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152fd5b34610111575f60031936011261011157602060ff600154166040519015158152f35b34610111575f600319360112610111576106d760405161120160408261143e565b601281527f537562736372697074696f6e506f6c696379000000000000000000000000000060208201526040519182916020835260208301906112dd565b3461011157602060031936011261011157600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361011157817fd6e2fbe800000000000000000000000000000000000000000000000000000000602093149081156112b3575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836112ac565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b9181601f840112156101115782359167ffffffffffffffff8311610111576020838186019501011161011157565b9060406003198301126101115760043573ffffffffffffffffffffffffffffffffffffffff8116810361011157916024359067ffffffffffffffff82116101115761140291600401611387565b9091565b6040810190811067ffffffffffffffff821117610f9857604052565b6080810190811067ffffffffffffffff821117610f9857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f9857604052565b81810292918115918404141715610fdd57565b67ffffffffffffffff8111610f985760051b60200190565b9091826020916114ba8183611751565b6114d65781010312610111576102356114d3923561163c565b90565b810103126101115773ffffffffffffffffffffffffffffffffffffffff6114ff6114d393611366565b1690611532565b90816020910312610111575173ffffffffffffffffffffffffffffffffffffffff811681036101115790565b73ffffffffffffffffffffffffffffffffffffffff1690815f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205260405f205490811561163657604051917febfa62b90000000000000000000000000000000000000000000000000000000083526004830152602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104ec575f916115fe575090565b90506020813d60201161162e575b816116196020938361143e565b81010312610111575180151581036101115790565b3d915061160c565b50505f90565b604051907f6352211e000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104ec575f916116b8575090565b6114d3915060203d6020116104e5576104d7818361143e565b81156116db570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b90602080835192838152019201905f5b8181106117255750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611718565b602082036107085781602011610111577fffffffffffffffffffffffffffffffffffffffff000000000000000000000000600c82013516151591600c11610111578161179b575090565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000915035161590565b80518210156117d85760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220be604af8fb0b84f1fc09211529cb8338c36bfb5d68c195302c8b7b98a5cf7b2964736f6c634300081a0033","sourceMap":"281:6159:7:-:0;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;-1:-1:-1;;;;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;1857:1:78;-1:-1:-1;1857:1:78;-1:-1:-1;;;;;281:6159:7;;;4819:60:99;;281:6159:7;;;;4889:65:99;281:6159:7;4964:49:99;;281:6159:7;;;;;;;;4819:60:99;281:6159:7;;;;;;;;;;;;;;;4889:65:99;281:6159:7;;;;;;;;;;;;;;;4964:49:99;281:6159:7;;;;;;;;;;;;-1:-1:-1;281:6159:7;;;;;;-1:-1:-1;281:6159:7;;;;;-1:-1:-1;281:6159:7;;;;-1:-1:-1;;;;;281:6159:7;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461123f5750806306fdde03146111e057806319ad44fc14610510578063392e53cd146111be578063464c0aeb146108eb5780637284e41614610730578063a393711114610560578063b1b87ffb14610510578063cfdce1a7146104f7578063d1f5789414610245578063dd4fcc3f1461020f578063e8a96b46146101d3578063e8d55ccf14610165578063f1bdc452146101155763f520d4eb146100c1575f80fd5b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101115760406003193601126101115761017e611320565b73ffffffffffffffffffffffffffffffffffffffff61019b611343565b91165f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b346101115760206003193601126101115760206101f160043561163c565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461011157604060031936011261011157602061023b61022d611320565b610235611343565b90611532565b6040519015158152f35b3461011157610253366113b5565b6040517f8ae2ba5900000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156104ec5773ffffffffffffffffffffffffffffffffffffffff915f916104bd575b5016330361043957816040917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060015416600155810103126101115773ffffffffffffffffffffffffffffffffffffffff61033a602083359301611366565b169181156103db5773ffffffffffffffffffffffffffffffffffffffff91826001926040519261036984611406565b835260208301958652165f52600360205260405f2090518155019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416176001555f80f35b60646040517f8e53d58600000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c696420737562736372697074696f6e2070726963652e00000000006044820152fd5b60846040517f2ce89adb00000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f6e6c792072696768747320706f6c69637920617574686f72697a657220616c60448201527f6c6f7765642e00000000000000000000000000000000000000000000000000006064820152fd5b6104df915060203d6020116104e5575b6104d7818361143e565b810190611506565b856102db565b503d6104cd565b6040513d5f823e3d90fd5b3461011157602061023b61050a366113b5565b916114aa565b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101115760206003193601126101115760043567ffffffffffffffff811161011157610591903690600401611387565b6060806040516105a081611422565b5f81525f60208201525f604082015201526105bb8183611751565b15610708578160209181010312610111576105ea73ffffffffffffffffffffffffffffffffffffffff91611366565b165f52600360205260405f20602060405161060481611406565b73ffffffffffffffffffffffffffffffffffffffff600184549485845201541691829101526040519161063683611422565b825260208201908152604082016002815273ffffffffffffffffffffffffffffffffffffffff6040519261066b60408561143e565b600784527f697066733a2f2f000000000000000000000000000000000000000000000000006020850152606085019384526040519460208652516020860152511660408401525160048110156106db5782916106d79160608401525160808084015260a08301906112dd565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f0ea7889c000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610111575f600319360112610111576106d7610160610753604051918261143e565b61012781527f5468697320706f6c69637920666f6c6c6f77732061207375627363726970746960208201527f6f6e206d6f64656c2077697468206461696c792070726963696e672c20616c6c60408201527f6f77696e6720757365727320746f20616363657373206120636f6e74656e742060608201527f686f6c646572277320636174616c6f6720627920706179696e6720612064616960808201527f6c792066656520666f7220612063686f73656e206475726174696f6e2e0a0a4b60a08201527f65792066656174757265733a0a312920466c657869626c65207375627363726960c08201527f7074696f6e20706572696f64732073657420627920746865206173736574206860e08201527f6f6c6465722e0a322920496e7374616e742061636365737320746f20616c6c206101008201527f636f6e74656e7420647572696e672074686520737562736372697074696f6e206101208201527f706572696f642e000000000000000000000000000000000000000000000000006101408201526040519182916020835260208301906112dd565b3461011157604060031936011261011157610904611320565b6024359067ffffffffffffffff8211610111578136039060e06003198301126101115773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361113a5760ff60015416156111125773ffffffffffffffffffffffffffffffffffffffff1690815f52600360205260405f2090604051916109a083611406565b73ffffffffffffffffffffffffffffffffffffffff600182549283865201541660208401521561108e576064840135917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd60a48601359201821215610111578185019160048301359367ffffffffffffffff85116101115760248401918560051b9384360384136101115751610a5287610a4d610a4684610a4184896116d1565b6116d1565b938461147f565b61147f565b831061100a5762015180810290808204620151801490151715610fdd57420197884211610fdd576040519360e0850185811067ffffffffffffffff821117610f9857604052610aa382600401611366565b8552610ab160248301611366565b9660208601978852610ac560448401611366565b96604087019788526060870195865267ffffffffffffffff608088019560848601358752116101115736602383011215610111576004602091610b078c611492565b9b610b156040519d8e61143e565b8c52828c01930101019136831161011157905b828210610fc55750505060a0840196875260c48101359067ffffffffffffffff82116101115701913660238401121561011157600483013567ffffffffffffffff8111610f985760405193610ba5601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018661143e565b8185523660248284010111610111576024829101602086013783016020015f905260c0840192835260405195869460208601602090525173ffffffffffffffffffffffffffffffffffffffff1660408601525173ffffffffffffffffffffffffffffffffffffffff166060850152845173ffffffffffffffffffffffffffffffffffffffff1660808501525160a08401525160c0830152845160e0830160e090526101208301610c5491611708565b9051908281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001610100840152610c8b916112dd565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352610cbb908361143e565b5173ffffffffffffffffffffffffffffffffffffffff1682519160405192839286602085015260408401523060608401526080830160a0905260c08301610d0191611708565b8281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00160a0840152610d34916112dd565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018252610d64908261143e565b8151906040519485927f8ca86cad000000000000000000000000000000000000000000000000000000008452600484016060905260648401610da591611708565b906024840152828103600319016044840152610dc0916112dd565b03837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1691815a5f948591f19283156104ec575f93610f05575b5051908151915f5b838110610e6357846040518091602082016020835281518091526020604084019201905f5b818110610e4a575050500390f35b8251845285945060209384019390920191600101610e3c565b80610e70600192876117c4565b5173ffffffffffffffffffffffffffffffffffffffff610e9083866117c4565b51165f52600260205260405f20855f5260205260405f205573ffffffffffffffffffffffffffffffffffffffff610ec782856117c4565b5116847f73d17651f9707de6298c73100b356249df3c275337d70f593670c60c5d7da3536020610ef7858b6117c4565b51604051908152a301610e17565b9092503d805f833e610f17818361143e565b8101906020818303126101115780519067ffffffffffffffff821161011157019080601f83011215610111578151610f4e81611492565b92610f5c604051948561143e565b81845260208085019260051b82010192831161011157602001905b828210610f88575050509183610e0f565b8151815260209182019101610f77565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60208091610fd284611366565b815201910190610b28565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60846040517f66360cb000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f496e73756666696369656e742066756e647320666f722073756273637269707460448201527f696f6e00000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f66360cb000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f496e76616c6964206e6f7420696e697469616c697a656420686f6c646572206360448201527f6f6e646974696f6e7300000000000000000000000000000000000000000000006064820152fd5b7f83403c5c000000000000000000000000000000000000000000000000000000005f5260045ffd5b60846040517f2ce89adb00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792072696768747320706f6c696379206d616e6167657220616c6c6f7760448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152fd5b34610111575f60031936011261011157602060ff600154166040519015158152f35b34610111575f600319360112610111576106d760405161120160408261143e565b601281527f537562736372697074696f6e506f6c696379000000000000000000000000000060208201526040519182916020835260208301906112dd565b3461011157602060031936011261011157600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361011157817fd6e2fbe800000000000000000000000000000000000000000000000000000000602093149081156112b3575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836112ac565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b9181601f840112156101115782359167ffffffffffffffff8311610111576020838186019501011161011157565b9060406003198301126101115760043573ffffffffffffffffffffffffffffffffffffffff8116810361011157916024359067ffffffffffffffff82116101115761140291600401611387565b9091565b6040810190811067ffffffffffffffff821117610f9857604052565b6080810190811067ffffffffffffffff821117610f9857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f9857604052565b81810292918115918404141715610fdd57565b67ffffffffffffffff8111610f985760051b60200190565b9091826020916114ba8183611751565b6114d65781010312610111576102356114d3923561163c565b90565b810103126101115773ffffffffffffffffffffffffffffffffffffffff6114ff6114d393611366565b1690611532565b90816020910312610111575173ffffffffffffffffffffffffffffffffffffffff811681036101115790565b73ffffffffffffffffffffffffffffffffffffffff1690815f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205260405f205490811561163657604051917febfa62b90000000000000000000000000000000000000000000000000000000083526004830152602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104ec575f916115fe575090565b90506020813d60201161162e575b816116196020938361143e565b81010312610111575180151581036101115790565b3d915061160c565b50505f90565b604051907f6352211e000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104ec575f916116b8575090565b6114d3915060203d6020116104e5576104d7818361143e565b81156116db570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b90602080835192838152019201905f5b8181106117255750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611718565b602082036107085781602011610111577fffffffffffffffffffffffffffffffffffffffff000000000000000000000000600c82013516151591600c11610111578161179b575090565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000915035161590565b80518210156117d85760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220be604af8fb0b84f1fc09211529cb8338c36bfb5d68c195302c8b7b98a5cf7b2964736f6c634300081a0033","sourceMap":"281:6159:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;1140:48:99;281:6159:7;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;1075:59:99;281:6159:7;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;5575:13:99;281:6159:7;;;;;;5575:32:99;281:6159:7;-1:-1:-1;281:6159:7;;;;;-1:-1:-1;281:6159:7;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;3566:43:99;;;:21;281:6159:7;3566:21:99;281:6159:7;3566:21:99;281:6159:7;3566:43:99;;;;;;281:6159:7;3566:43:99;281:6159:7;3566:43:99;;;281:6159:7;;;3544:10:99;:66;3540:169;;281:6159:7;;;;4097:20:99;281:6159:7;;4097:20:99;281:6159:7;2040:36;;281:6159;;;;;;3566:43:99;281:6159:7;;;;;:::i;:::-;;2090:10;;;2086:75;;281:6159;;;4097:20:99;281:6159:7;;;;;;;:::i;:::-;;;3566:43:99;2241:24:7;;281:6159;;;;;;2221:9;3566:43:99;281:6159:7;;;;;;;;;;;;;;;;;;;4097:20:99;281:6159:7;;;;;4097:20:99;281:6159:7;;;;2086:75;2109:52;281:6159;;2109:52;;;3566:43:99;281:6159:7;2109:52;;281:6159;;;;;;;;;;;2109:52;3540:169:99;3633:65;281:6159:7;;3633:65:99;;;3566:43;281:6159:7;3633:65:99;;281:6159:7;;;;;;;;;;;;;;;;3633:65:99;3566:43;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;281:6159:7;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;6313:20:99;281:6159:7;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4346:26;;;;:::i;:::-;4345:27;4341:95;;4463:31;281:6159;4463:31;;;281:6159;;;;;;;;:::i;:::-;;;;4525:9;281:6159;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4595:68;;281:6159;;;;4595:68;;4634:17;281:6159;;;;;;;;;;:::i;:::-;;;;;;;;;;4595:68;;281:6159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;4341:95;4395:30;281:6159;4395:30;281:6159;;4395:30;281:6159;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;281:6159:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;3277:21:99;281:6159:7;3255:10:99;:44;3251:144;;281:6159:7;4621:12:99;281:6159:7;;4620:13:99;4616:80;;281:6159:7;;;;;;2611:9;281:6159;;;;;;;;;;;;:::i;:::-;;4621:12:99;281:6159:7;;;;;;;;;;;;;2642:20;2638:213;;2882:15;;;281:6159;2928:17;281:6159;2928:17;;;281:6159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5158:49;4938:19;5159:34;5046:31;4938:19;;;;;:::i;:::-;5046:31;:::i;:::-;5159:34;;;:::i;:::-;5158:49;:::i;:::-;5221:14;;5217:84;;3292:6;281:6159;;;;;;3292:6;281:6159;;;;;;;3262:15;281:6159;3262:15;;;281:6159;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;2928:17;281:6159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:21:99;;;281:6159:7;7804:21:99;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;2928:17;281:6159;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;7804:21:99;281:6159:7;7804:21:99;;;;;;;;:::i;:::-;281:6159:7;;;7910:17:99;;281:6159:7;;;7855:91:99;;;;281:6159:7;7855:91:99;;281:6159:7;;;;;7903:4:99;281:6159:7;;;;;;;2928:17;281:6159;;;;;;;;:::i;:::-;;;;;;2928:17;281:6159;;;;;;:::i;:::-;7855:91:99;281:6159:7;7855:91:99;;;;;;;;:::i;:::-;8018:17;;281:6159:7;;;7990:62:99;;;281:6159:7;7990:62:99;;281:6159:7;7990:62:99;;281:6159:7;;;2882:15;281:6159;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;:::i;:::-;7990:62:99;:20;;281:6159:7;;7990:62:99;;;281:6159:7;7990:62:99;;;;;;;;;281:6159:7;7990:62:99;;;281:6159:7;8110:17:99;;281:6159:7;;;8571:13:99;281:6159:7;8586:14:99;;;;;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:6159:7;;;;;;;;;4621:12:99;281:6159:7;;;8602:20:99;8674:17;;4621:12;8674:17;;;:::i;:::-;281:6159:7;;8652:10:99;;;;:::i;:::-;281:6159:7;;;;8638:13:99;281:6159:7;;;;;;;;;;;;;;;8736:10:99;;;;:::i;:::-;281:6159:7;;8748:17:99;8710:56;281:6159:7;8748:17:99;;;;:::i;:::-;281:6159:7;;;;;;8710:56:99;281:6159:7;8571:13:99;;7990:62;;;;;;281:6159:7;7990:62:99;;;;;;:::i;:::-;;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;7990:62:99;;;;;;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5217:84;5244:57;281:6159;;5244:57;;;281:6159;;5244:57;;281:6159;;;;;;;;;;;;2882:15;281:6159;;;5244:57;2638:213;2777:63;281:6159;;2777:63;;;281:6159;;2777:63;;281:6159;;;;;;;;;;;;;;;;2777:63;4616:80:99;4656:29;281:6159:7;4656:29:99;281:6159:7;;4656:29:99;3251:144;3322:62;281:6159:7;;3322:62:99;;;281:6159:7;;3322:62:99;;281:6159:7;;;;;;;;;;;;;;;;3322:62:99;281:6159:7;;;;;-1:-1:-1;;281:6159:7;;;;;;;5156:12:99;281:6159:7;;;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;;;;;5992:40:99;6007:25;281:6159:7;5992:40:99;;:80;;;;;281:6159:7;;;;;;;5992:80:99;877:25:81;862:40;;;5992:80:99;;;281:6159:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:6159:7;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;3449:527::-;;;;281:6159;3449:527;3623:26;;;;:::i;:::-;3619:186;;3881:31;;281:6159;;;;3950:18;3929:40;281:6159;;3950:18;:::i;3929:40::-;3449:527;:::o;3619:186::-;3714:31;;281:6159;;;;;;3766:28;281:6159;;:::i;:::-;;3766:28;;:::i;281:6159::-;;;;;;;;;;;;;;;;;;:::o;6603:364:99:-;281:6159:7;;;;;;6718:13:99;281:6159:7;;;;;;6718:30:99;281:6159:7;-1:-1:-1;281:6159:7;;;;-1:-1:-1;281:6159:7;;6833:18:99;;;6829:36;;281:6159:7;;6909:51:99;281:6159:7;6909:51:99;;;;;281:6159:7;;;;;;6909:20:99;:51;:20;281:6159:7;6909:20:99;281:6159:7;6909:51:99;;;;;;;281:6159:7;6909:51:99;;;6902:58;6603:364;:::o;6909:51::-;;;281:6159:7;6909:51:99;;281:6159:7;6909:51:99;;;;;;281:6159:7;6909:51:99;;;:::i;:::-;;;281:6159:7;;;;;;;;;;;;6603:364:99;:::o;6909:51::-;;;-1:-1:-1;6909:51:99;;6829:36;6853:12;;281:6159:7;6853:12:99;:::o;7112:155::-;281:6159:7;;7195:32:99;281:6159:7;7195:32:99;;;;;281:6159:7;;7195:15:99;:32;:15;281:6159:7;7195:15:99;281:6159:7;7195:32:99;;;;;;;-1:-1:-1;7195:32:99;;;7188:39;7112:155;:::o;7195:32::-;;;;281:6159:7;7195:32:99;281:6159:7;7195:32:99;;;;;;;:::i;281:6159:7:-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:6159:7;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;5351:1087;6212:2;6193:21;;6189:64;;281:6159;6212:2;281:6159;;;;6299:2;281:6159;;;;6282:38;;281:6159;6299:2;281:6159;;;6404:27;;;6397:34;5351:1087;:::o;6404:27::-;281:6159;;;;;6350:37;5351:1087;:::o;281:6159::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;","linkReferences":{},"immutableReferences":{"50776":[{"start":1340,"length":32},{"start":3524,"length":32},{"start":5579,"length":32}],"50779":[{"start":321,"length":32},{"start":662,"length":32},{"start":2366,"length":32}],"50782":[{"start":237,"length":32},{"start":5765,"length":32}]}},"methodIdentifiers":{"ASSET_OWNERSHIP()":"f520d4eb","ATTESTATION_PROVIDER()":"19ad44fc","RIGHTS_POLICY_MANAGER()":"f1bdc452","description()":"7284e416","enforce(address,(address,address,address,uint256,uint256,address[],bytes))":"464c0aeb","getAttestation(address,address)":"e8d55ccf","getAttestationProvider()":"b1b87ffb","getHolder(uint256)":"e8a96b46","initialize(address,bytes)":"d1f57894","isAccessAllowed(address,bytes)":"cfdce1a7","isCompliant(address,address)":"dd4fcc3f","isInitialized()":"392e53cd","name()":"06fdde03","resolveTerms(bytes)":"a3937111","supportsInterface(bytes4)":"01ffc9a7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rightPolicyManagerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"ownershipAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"providerAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidAssetHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAttestation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidEnforcement\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNotSupportedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPolicyInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"attestationId\",\"type\":\"uint256\"}],\"name\":\"AttestedAgreement\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ASSET_OWNERSHIP\",\"outputs\":[{\"internalType\":\"contract IAssetOwnership\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ATTESTATION_PROVIDER\",\"outputs\":[{\"internalType\":\"contract IAttestationProvider\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RIGHTS_POLICY_MANAGER\",\"outputs\":[{\"internalType\":\"contract IRightsPolicyManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"broker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fees\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"parties\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"internalType\":\"struct T.Agreement\",\"name\":\"agreement\",\"type\":\"tuple\"}],\"name\":\"enforce\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getAttestation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAttestationProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assetId\",\"type\":\"uint256\"}],\"name\":\"getHolder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"init\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"criteria\",\"type\":\"bytes\"}],\"name\":\"isAccessAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"isCompliant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"criteria\",\"type\":\"bytes\"}],\"name\":\"resolveTerms\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"enum T.RateBasis\",\"name\":\"rateBasis\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct T.Terms\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"InvalidAssetHolder()\":[{\"details\":\"Thrown when an attempt is made to access content without proper authorization. This error is used to prevent unauthorized access to content protected by policies or rights.\"}],\"InvalidAttestation()\":[{\"details\":\"Thrown when there is an issue with the attestation, such as when an attestation is missing or invalid.\"}],\"InvalidEnforcement(string)\":[{\"details\":\"This error is thrown when the policy enforcement process fails.\",\"params\":{\"reason\":\"A descriptive message providing details about the enforcement failure.\"}}],\"InvalidInitialization(string)\":[{\"details\":\"This error is thrown when there is an issue with the initial setup or configuration.\"}],\"InvalidPolicyInitialization()\":[{\"details\":\"Thrown when attempting to initialize a policy for unregistered or invalid content.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"AttestedAgreement(address,address,uint256)\":{\"params\":{\"account\":\"The address of the user whose access or compliance is being enforced.\",\"attestationId\":\"The unique identifier of the attestations that confirms compliance or access.\",\"holder\":\"The address of the rights holder managing the asset or access.\"}}},\"kind\":\"dev\",\"methods\":{\"enforce(address,(address,address,address,uint256,uint256,address[],bytes))\":{\"details\":\"Rights Policies Manager contract should be the only one allowed to call this method.\",\"params\":{\"agreement\":\"An object containing the terms agreed upon between the asset holder and the user.\",\"holder\":\"The rights holder whose authorization is required for accessing the asset.\"}},\"getAttestation(address,address)\":{\"params\":{\"holder\":\"The address of the rights holder with whom the agreement was made.\",\"recipient\":\"The address of the account for which the attestation is being retrieved.\"}},\"getAttestationProvider()\":{\"returns\":{\"_0\":\"The address of the provider associated with the policy.\"}},\"getHolder(uint256)\":{\"params\":{\"assetId\":\"the asset ID to retrieve the holder.\"}},\"initialize(address,bytes)\":{\"details\":\"Only the Rights Policies Authorizer contract has permission to call this function.\",\"params\":{\"holder\":\"The address of the holder for whom the policy is being initialized.\",\"init\":\"Initialization data required to configure the policy.\"}},\"isCompliant(address,address)\":{\"details\":\"The function checks if the provided account complies with the attestation.\",\"params\":{\"account\":\"The address of the user whose access is being verified.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The bytes4 identifier of the interface to check for support.\"},\"returns\":{\"_0\":\"A boolean indicating whether the interface ID is supported (true) or not (false).\"}}},\"title\":\"SubscriptionPolicy\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidNotSupportedOperation()\":[{\"notice\":\"This error is thrown when a method not implemented is called.\"}],\"InvalidUnauthorizedCall(string)\":[{\"notice\":\"Thrown when a function is called by an address other than the authorized Rights Manager. This restricts access to functions that are intended to be executed only by the Rights Manager.\"}]},\"events\":{\"AttestedAgreement(address,address,uint256)\":{\"notice\":\"Emitted when an enforcement process is successfully completed for a given account and holder.\"}},\"kind\":\"user\",\"methods\":{\"description()\":{\"notice\":\"Returns the business/strategy model implemented by the policy.\"},\"enforce(address,(address,address,address,uint256,uint256,address[],bytes))\":{\"notice\":\"Executes the agreement between the asset holder and the account based on the policy's rules.\"},\"getAttestation(address,address)\":{\"notice\":\"Retrieves the attestation id associated with a specific account and rights holder.\"},\"getAttestationProvider()\":{\"notice\":\"Retrieves the address of the attestation provider.\"},\"getHolder(uint256)\":{\"notice\":\"Returns the asset holder registered in the ownership contract.\"},\"initialize(address,bytes)\":{\"notice\":\"Initializes the policy with specific data for a given holder.\"},\"isAccessAllowed(address,bytes)\":{\"notice\":\"Verifies if an account has access to holder's content or asset id.\"},\"isCompliant(address,address)\":{\"notice\":\"Verifies whether the on-chain access terms are satisfied for an account.\"},\"isInitialized()\":{\"notice\":\"Checks if the policy has been initialized.\"},\"name()\":{\"notice\":\"Returns the name of the policy.\"},\"resolveTerms(bytes)\":{\"notice\":\"Retrieves the terms associated with a specific criteria and policy.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if a given interface ID is supported by this contract.\"}},\"notice\":\"Implements a subscription-based content access policy.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/policies/SubscriptionPolicy.sol\":\"SubscriptionPolicy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=node_modules/@synaps3/types/contracts/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"contracts/policies/SubscriptionPolicy.sol\":{\"keccak256\":\"0x17caa3281a451aedf75776764eedec7628b03347fdd369c229d60e887bd0cf54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dbc13584e69fecfaf7f6f79e5f6b100f0923dd3b90fc5c20e76036abf6ff995\",\"dweb:/ipfs/QmZQSp7sHVmncnNTRob65WFuJCrrxkdyTjya1LSZv7ZHUA\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol\":{\"keccak256\":\"0x266376c23b74506b9b8d9ed90f1bc310cc7330b8d3e6ca6e6eb4021b3668aa18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3614788ae9f18a9b472baaf6bb6dc1abe3d78a397f791e30efbe4f1965b3e025\",\"dweb:/ipfs/QmPhLLbi88yH9NxhV18xutazHAYm2HSaEpSoTwR6v5BiDB\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/base/IAttestationProvider.sol\":{\"keccak256\":\"0x33857a9a398c81f5a8cb00f94fa6b67545638acfc7cb728ba12d6ad8f5278ea8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d33a8beadb20c46b8cdf80cebe3640f6ee411ec1e0dcf0b99ac4498c8548b79f\",\"dweb:/ipfs/QmVjkZppdWpowdob77ymvzhbTsMXLEZuPAJ6G7mcmSTgzj\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol\":{\"keccak256\":\"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405\",\"dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol\":{\"keccak256\":\"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6\",\"dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu\"]},\"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol\":{\"keccak256\":\"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2\",\"dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL\"]},\"node_modules/@synaps3/types/contracts/core/primitives/BasePolicy.sol\":{\"keccak256\":\"0xbec0c6dae3148c9c400255b1107181ea037e6f178c141505a1ce883941557753\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd187cdee309d7965ca81a3bd91836fe4c281d97256db519b10a23ebf414fcbf\",\"dweb:/ipfs/Qma6ZXgXr35Pv3c1h3XvX8V9vUeKVXHAJ3CrhLndoGEMHM\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Types.sol\":{\"keccak256\":\"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf\",\"dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"rightPolicyManagerAddress","type":"address"},{"internalType":"address","name":"ownershipAddress","type":"address"},{"internalType":"address","name":"providerAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"InvalidAssetHolder"},{"inputs":[],"type":"error","name":"InvalidAttestation"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"InvalidEnforcement"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"InvalidInitialization"},{"inputs":[],"type":"error","name":"InvalidNotSupportedOperation"},{"inputs":[],"type":"error","name":"InvalidPolicyInitialization"},{"inputs":[{"internalType":"string","name":"reason","type":"string"}],"type":"error","name":"InvalidUnauthorizedCall"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"address","name":"holder","type":"address","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"uint256","name":"attestationId","type":"uint256","indexed":false}],"type":"event","name":"AttestedAgreement","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"ASSET_OWNERSHIP","outputs":[{"internalType":"contract IAssetOwnership","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"ATTESTATION_PROVIDER","outputs":[{"internalType":"contract IAttestationProvider","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"RIGHTS_POLICY_MANAGER","outputs":[{"internalType":"contract IRightsPolicyManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"description","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"struct T.Agreement","name":"agreement","type":"tuple","components":[{"internalType":"address","name":"broker","type":"address"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"address","name":"initiator","type":"address"},{"internalType":"uint256","name":"total","type":"uint256"},{"internalType":"uint256","name":"fees","type":"uint256"},{"internalType":"address[]","name":"parties","type":"address[]"},{"internalType":"bytes","name":"payload","type":"bytes"}]}],"stateMutability":"nonpayable","type":"function","name":"enforce","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"getAttestation","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAttestationProvider","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"assetId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getHolder","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bytes","name":"init","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes","name":"criteria","type":"bytes"}],"stateMutability":"view","type":"function","name":"isAccessAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"holder","type":"address"}],"stateMutability":"view","type":"function","name":"isCompliant","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"isInitialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"criteria","type":"bytes"}],"stateMutability":"view","type":"function","name":"resolveTerms","outputs":[{"internalType":"struct T.Terms","name":"","type":"tuple","components":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"address","name":"currency","type":"address"},{"internalType":"enum T.RateBasis","name":"rateBasis","type":"uint8"},{"internalType":"string","name":"uri","type":"string"}]}]},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"stateMutability":"view","type":"function","name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"enforce(address,(address,address,address,uint256,uint256,address[],bytes))":{"details":"Rights Policies Manager contract should be the only one allowed to call this method.","params":{"agreement":"An object containing the terms agreed upon between the asset holder and the user.","holder":"The rights holder whose authorization is required for accessing the asset."}},"getAttestation(address,address)":{"params":{"holder":"The address of the rights holder with whom the agreement was made.","recipient":"The address of the account for which the attestation is being retrieved."}},"getAttestationProvider()":{"returns":{"_0":"The address of the provider associated with the policy."}},"getHolder(uint256)":{"params":{"assetId":"the asset ID to retrieve the holder."}},"initialize(address,bytes)":{"details":"Only the Rights Policies Authorizer contract has permission to call this function.","params":{"holder":"The address of the holder for whom the policy is being initialized.","init":"Initialization data required to configure the policy."}},"isCompliant(address,address)":{"details":"The function checks if the provided account complies with the attestation.","params":{"account":"The address of the user whose access is being verified."}},"supportsInterface(bytes4)":{"params":{"interfaceId":"The bytes4 identifier of the interface to check for support."},"returns":{"_0":"A boolean indicating whether the interface ID is supported (true) or not (false)."}}},"version":1},"userdoc":{"kind":"user","methods":{"description()":{"notice":"Returns the business/strategy model implemented by the policy."},"enforce(address,(address,address,address,uint256,uint256,address[],bytes))":{"notice":"Executes the agreement between the asset holder and the account based on the policy's rules."},"getAttestation(address,address)":{"notice":"Retrieves the attestation id associated with a specific account and rights holder."},"getAttestationProvider()":{"notice":"Retrieves the address of the attestation provider."},"getHolder(uint256)":{"notice":"Returns the asset holder registered in the ownership contract."},"initialize(address,bytes)":{"notice":"Initializes the policy with specific data for a given holder."},"isAccessAllowed(address,bytes)":{"notice":"Verifies if an account has access to holder's content or asset id."},"isCompliant(address,address)":{"notice":"Verifies whether the on-chain access terms are satisfied for an account."},"isInitialized()":{"notice":"Checks if the policy has been initialized."},"name()":{"notice":"Returns the name of the policy."},"resolveTerms(bytes)":{"notice":"Retrieves the terms associated with a specific criteria and policy."},"supportsInterface(bytes4)":{"notice":"Checks if a given interface ID is supported by this contract."}},"version":1}},"settings":{"remappings":["@account-abstraction/=node_modules/@account-abstraction/","@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/","@ethsign/=node_modules/@ethsign/","@openzeppelin/=node_modules/@openzeppelin/","@synaps3/=node_modules/@synaps3/types/contracts/","@uniswap/=node_modules/@uniswap/","base64-sol/=node_modules/base64-sol/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/","solady/=lib/solady/src/"],"optimizer":{"enabled":true,"runs":20000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/policies/SubscriptionPolicy.sol":"SubscriptionPolicy"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/policies/SubscriptionPolicy.sol":{"keccak256":"0x17caa3281a451aedf75776764eedec7628b03347fdd369c229d60e887bd0cf54","urls":["bzz-raw://9dbc13584e69fecfaf7f6f79e5f6b100f0923dd3b90fc5c20e76036abf6ff995","dweb:/ipfs/QmZQSp7sHVmncnNTRob65WFuJCrrxkdyTjya1LSZv7ZHUA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol":{"keccak256":"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261","urls":["bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11","dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol":{"keccak256":"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3","urls":["bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a","dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol":{"keccak256":"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa","urls":["bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287","dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol":{"keccak256":"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8","urls":["bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621","dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol":{"keccak256":"0x266376c23b74506b9b8d9ed90f1bc310cc7330b8d3e6ca6e6eb4021b3668aa18","urls":["bzz-raw://3614788ae9f18a9b472baaf6bb6dc1abe3d78a397f791e30efbe4f1965b3e025","dweb:/ipfs/QmPhLLbi88yH9NxhV18xutazHAYm2HSaEpSoTwR6v5BiDB"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/base/IAttestationProvider.sol":{"keccak256":"0x33857a9a398c81f5a8cb00f94fa6b67545638acfc7cb728ba12d6ad8f5278ea8","urls":["bzz-raw://d33a8beadb20c46b8cdf80cebe3640f6ee411ec1e0dcf0b99ac4498c8548b79f","dweb:/ipfs/QmVjkZppdWpowdob77ymvzhbTsMXLEZuPAJ6G7mcmSTgzj"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol":{"keccak256":"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02","urls":["bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405","dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol":{"keccak256":"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e","urls":["bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6","dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol":{"keccak256":"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411","urls":["bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2","dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/BasePolicy.sol":{"keccak256":"0xbec0c6dae3148c9c400255b1107181ea037e6f178c141505a1ce883941557753","urls":["bzz-raw://fd187cdee309d7965ca81a3bd91836fe4c281d97256db519b10a23ebf414fcbf","dweb:/ipfs/Qma6ZXgXr35Pv3c1h3XvX8V9vUeKVXHAJ3CrhLndoGEMHM"],"license":"MIT"},"node_modules/@synaps3/types/contracts/core/primitives/Types.sol":{"keccak256":"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1","urls":["bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf","dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe"],"license":"MIT"}},"version":1},"storageLayout":{"storage":[{"astId":45796,"contract":"contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy","label":"_status","offset":0,"slot":"0","type":"t_uint256"},{"astId":50784,"contract":"contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy","label":"_initialized","offset":0,"slot":"1","type":"t_bool"},{"astId":50791,"contract":"contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy","label":"_attestations","offset":0,"slot":"2","type":"t_mapping(t_address,t_mapping(t_address,t_uint256))"},{"astId":1308,"contract":"contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy","label":"_packages","offset":0,"slot":"3","type":"t_mapping(t_address,t_struct(Package)1303_storage)"}],"types":{"t_address":{"encoding":"inplace","label":"address","numberOfBytes":"20"},"t_bool":{"encoding":"inplace","label":"bool","numberOfBytes":"1"},"t_mapping(t_address,t_mapping(t_address,t_uint256))":{"encoding":"mapping","key":"t_address","label":"mapping(address => mapping(address => uint256))","numberOfBytes":"32","value":"t_mapping(t_address,t_uint256)"},"t_mapping(t_address,t_struct(Package)1303_storage)":{"encoding":"mapping","key":"t_address","label":"mapping(address => struct SubscriptionPolicy.Package)","numberOfBytes":"32","value":"t_struct(Package)1303_storage"},"t_mapping(t_address,t_uint256)":{"encoding":"mapping","key":"t_address","label":"mapping(address => uint256)","numberOfBytes":"32","value":"t_uint256"},"t_struct(Package)1303_storage":{"encoding":"inplace","label":"struct SubscriptionPolicy.Package","numberOfBytes":"64","members":[{"astId":1300,"contract":"contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy","label":"pricePerDay","offset":0,"slot":"0","type":"t_uint256"},{"astId":1302,"contract":"contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy","label":"currency","offset":0,"slot":"1","type":"t_address"}]},"t_uint256":{"encoding":"inplace","label":"uint256","numberOfBytes":"32"}}},"ast":{"absolutePath":"contracts/policies/SubscriptionPolicy.sol","id":1648,"exportedSymbols":{"BasePolicy":[51139],"SubscriptionPolicy":[1647],"T":[51233]},"nodeType":"SourceUnit","src":"32:6409:7","nodes":[{"id":1290,"nodeType":"PragmaDirective","src":"32:23:7","nodes":[],"literals":["solidity","0.8",".26"]},{"id":1292,"nodeType":"ImportDirective","src":"57:69:7","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/primitives/BasePolicy.sol","file":"@synaps3/core/primitives/BasePolicy.sol","nameLocation":"-1:-1:-1","scope":1648,"sourceUnit":51140,"symbolAliases":[{"foreign":{"id":1291,"name":"BasePolicy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51139,"src":"66:10:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1294,"nodeType":"ImportDirective","src":"127:55:7","nodes":[],"absolutePath":"node_modules/@synaps3/types/contracts/core/primitives/Types.sol","file":"@synaps3/core/primitives/Types.sol","nameLocation":"-1:-1:-1","scope":1648,"sourceUnit":51234,"symbolAliases":[{"foreign":{"id":1293,"name":"T","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51233,"src":"136:1:7","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":1647,"nodeType":"ContractDefinition","src":"281:6159:7","nodes":[{"id":1303,"nodeType":"StructDefinition","src":"386:77:7","nodes":[],"canonicalName":"SubscriptionPolicy.Package","documentation":{"id":1298,"nodeType":"StructuredDocumentation","src":"329:52:7","text":"@dev Structure to define a subscription package."},"members":[{"constant":false,"id":1300,"mutability":"mutable","name":"pricePerDay","nameLocation":"419:11:7","nodeType":"VariableDeclaration","scope":1303,"src":"411:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1299,"name":"uint256","nodeType":"ElementaryTypeName","src":"411:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1302,"mutability":"mutable","name":"currency","nameLocation":"448:8:7","nodeType":"VariableDeclaration","scope":1303,"src":"440:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1301,"name":"address","nodeType":"ElementaryTypeName","src":"440:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Package","nameLocation":"393:7:7","scope":1647,"visibility":"public"},{"id":1308,"nodeType":"VariableDeclaration","src":"553:45:7","nodes":[],"constant":false,"mutability":"mutable","name":"_packages","nameLocation":"589:9:7","scope":1647,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$","typeString":"mapping(address => struct SubscriptionPolicy.Package)"},"typeName":{"id":1307,"keyName":"","keyNameLocation":"-1:-1:-1","keyType":{"id":1304,"name":"address","nodeType":"ElementaryTypeName","src":"561:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"553:27:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$","typeString":"mapping(address => struct SubscriptionPolicy.Package)"},"valueName":"","valueNameLocation":"-1:-1:-1","valueType":{"id":1306,"nodeType":"UserDefinedTypeName","pathNode":{"id":1305,"name":"Package","nameLocations":["572:7:7"],"nodeType":"IdentifierPath","referencedDeclaration":1303,"src":"572:7:7"},"referencedDeclaration":1303,"src":"572:7:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_storage_ptr","typeString":"struct SubscriptionPolicy.Package"}}},"visibility":"private"},{"id":1323,"nodeType":"FunctionDefinition","src":"605:203:7","nodes":[],"body":{"id":1322,"nodeType":"Block","src":"806:2:7","nodes":[],"statements":[]},"implemented":true,"kind":"constructor","modifiers":[{"arguments":[{"id":1317,"name":"rightPolicyManagerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1310,"src":"744:25:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1318,"name":"ownershipAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1312,"src":"771:16:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1319,"name":"providerAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1314,"src":"789:15:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"id":1320,"kind":"baseConstructorSpecifier","modifierName":{"id":1316,"name":"BasePolicy","nameLocations":["733:10:7"],"nodeType":"IdentifierPath","referencedDeclaration":51139,"src":"733:10:7"},"nodeType":"ModifierInvocation","src":"733:72:7"}],"name":"","nameLocation":"-1:-1:-1","parameters":{"id":1315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1310,"mutability":"mutable","name":"rightPolicyManagerAddress","nameLocation":"634:25:7","nodeType":"VariableDeclaration","scope":1323,"src":"626:33:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1309,"name":"address","nodeType":"ElementaryTypeName","src":"626:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1312,"mutability":"mutable","name":"ownershipAddress","nameLocation":"677:16:7","nodeType":"VariableDeclaration","scope":1323,"src":"669:24:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1311,"name":"address","nodeType":"ElementaryTypeName","src":"669:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1314,"mutability":"mutable","name":"providerAddress","nameLocation":"711:15:7","nodeType":"VariableDeclaration","scope":1323,"src":"703:23:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1313,"name":"address","nodeType":"ElementaryTypeName","src":"703:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"616:116:7"},"returnParameters":{"id":1321,"nodeType":"ParameterList","parameters":[],"src":"806:0:7"},"scope":1647,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":1332,"nodeType":"FunctionDefinition","src":"862:98:7","nodes":[],"body":{"id":1331,"nodeType":"Block","src":"916:44:7","nodes":[],"statements":[{"expression":{"hexValue":"537562736372697074696f6e506f6c696379","id":1329,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"933:20:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_cf969a651e510b963d800a99660818c73f95de791671120782050ada205e0116","typeString":"literal_string \"SubscriptionPolicy\""},"value":"SubscriptionPolicy"},"functionReturnParameters":1328,"id":1330,"nodeType":"Return","src":"926:27:7"}]},"baseFunctions":[50246],"documentation":{"id":1324,"nodeType":"StructuredDocumentation","src":"814:43:7","text":"@notice Returns the name of the policy."},"functionSelector":"06fdde03","implemented":true,"kind":"function","modifiers":[],"name":"name","nameLocation":"871:4:7","parameters":{"id":1325,"nodeType":"ParameterList","parameters":[],"src":"875:2:7"},"returnParameters":{"id":1328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1327,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1332,"src":"901:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1326,"name":"string","nodeType":"ElementaryTypeName","src":"901:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"900:15:7"},"scope":1647,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":1341,"nodeType":"FunctionDefinition","src":"1045:458:7","nodes":[],"body":{"id":1340,"nodeType":"Block","src":"1106:397:7","nodes":[],"statements":[{"expression":{"hexValue":"5468697320706f6c69637920666f6c6c6f7773206120737562736372697074696f6e206d6f64656c2077697468206461696c792070726963696e672c20616c6c6f77696e6720757365727320746f20616363657373206120636f6e74656e7420686f6c646572277320636174616c6f6720627920706179696e672061206461696c792066656520666f7220612063686f73656e206475726174696f6e2e0a0a4b65792066656174757265733a0a312920466c657869626c6520737562736372697074696f6e20706572696f6473207365742062792074686520617373657420686f6c6465722e0a322920496e7374616e742061636365737320746f20616c6c20636f6e74656e7420647572696e672074686520737562736372697074696f6e20706572696f642e","id":1338,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1135:361:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_194b266123184e70dc22bea7312509d4d684e05e0185bd5a1d15a300a36c3030","typeString":"literal_string hex\"5468697320706f6c69637920666f6c6c6f7773206120737562736372697074696f6e206d6f64656c2077697468206461696c792070726963696e672c20616c6c6f77696e6720757365727320746f20616363657373206120636f6e74656e7420686f6c646572277320636174616c6f6720627920706179696e672061206461696c792066656520666f7220612063686f73656e206475726174696f6e2e0a0a4b65792066656174757265733a0a312920466c657869626c6520737562736372697074696f6e20706572696f6473207365742062792074686520617373657420686f6c6465722e0a322920496e7374616e742061636365737320746f20616c6c20636f6e74656e7420647572696e672074686520737562736372697074696f6e20706572696f642e\""},"value":"This policy follows a subscription model with daily pricing, allowing users to access a content holder's catalog by paying a daily fee for a chosen duration.\n\nKey features:\n1) Flexible subscription periods set by the asset holder.\n2) Instant access to all content during the subscription period."},"functionReturnParameters":1337,"id":1339,"nodeType":"Return","src":"1116:380:7"}]},"baseFunctions":[50252],"documentation":{"id":1333,"nodeType":"StructuredDocumentation","src":"966:74:7","text":"@notice Returns the business/strategy model implemented by the policy."},"functionSelector":"7284e416","implemented":true,"kind":"function","modifiers":[],"name":"description","nameLocation":"1054:11:7","parameters":{"id":1334,"nodeType":"ParameterList","parameters":[],"src":"1065:2:7"},"returnParameters":{"id":1337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1336,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1341,"src":"1091:13:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":1335,"name":"string","nodeType":"ElementaryTypeName","src":"1091:6:7","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"1090:15:7"},"scope":1647,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":1384,"nodeType":"FunctionDefinition","src":"1895:377:7","nodes":[],"body":{"id":1383,"nodeType":"Block","src":"1994:278:7","nodes":[],"statements":[{"assignments":[1353,1355],"declarations":[{"constant":false,"id":1353,"mutability":"mutable","name":"price","nameLocation":"2013:5:7","nodeType":"VariableDeclaration","scope":1383,"src":"2005:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1352,"name":"uint256","nodeType":"ElementaryTypeName","src":"2005:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1355,"mutability":"mutable","name":"currency","nameLocation":"2028:8:7","nodeType":"VariableDeclaration","scope":1383,"src":"2020:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1354,"name":"address","nodeType":"ElementaryTypeName","src":"2020:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1365,"initialValue":{"arguments":[{"id":1358,"name":"init","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1345,"src":"2051:4:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":1360,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2058:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1359,"name":"uint256","nodeType":"ElementaryTypeName","src":"2058:7:7","typeDescriptions":{}}},{"id":1362,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2067:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1361,"name":"address","nodeType":"ElementaryTypeName","src":"2067:7:7","typeDescriptions":{}}}],"id":1363,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"2057:18:7","typeDescriptions":{"typeIdentifier":"t_tuple$_t_type$_t_uint256_$_$_t_type$_t_address_$_$","typeString":"tuple(type(uint256),type(address))"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_tuple$_t_type$_t_uint256_$_$_t_type$_t_address_$_$","typeString":"tuple(type(uint256),type(address))"}],"expression":{"id":1356,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"2040:3:7","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1357,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"2044:6:7","memberName":"decode","nodeType":"MemberAccess","src":"2040:10:7","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2040:36:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_address_payable_$","typeString":"tuple(uint256,address payable)"}},"nodeType":"VariableDeclarationStatement","src":"2004:72:7"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1368,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1366,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1353,"src":"2090:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2099:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2090:10:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1373,"nodeType":"IfStatement","src":"2086:75:7","trueBody":{"errorCall":{"arguments":[{"hexValue":"496e76616c696420737562736372697074696f6e2070726963652e","id":1370,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2131:29:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_c34de7f84731edc9f4306314e0fbfea34befcd31b45a6958b105a0d671747e17","typeString":"literal_string \"Invalid subscription price.\""},"value":"Invalid subscription price."}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_c34de7f84731edc9f4306314e0fbfea34befcd31b45a6958b105a0d671747e17","typeString":"literal_string \"Invalid subscription price.\""}],"id":1369,"name":"InvalidInitialization","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50827,"src":"2109:21:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":1371,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2109:52:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":1372,"nodeType":"RevertStatement","src":"2102:59:7"}},{"expression":{"id":1381,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"baseExpression":{"id":1374,"name":"_packages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1308,"src":"2221:9:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$","typeString":"mapping(address => struct SubscriptionPolicy.Package storage ref)"}},"id":1376,"indexExpression":{"id":1375,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1343,"src":"2231:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2221:17:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_storage","typeString":"struct SubscriptionPolicy.Package storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":1378,"name":"price","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1353,"src":"2249:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1379,"name":"currency","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1355,"src":"2256:8:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1377,"name":"Package","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1303,"src":"2241:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Package_$1303_storage_ptr_$","typeString":"type(struct SubscriptionPolicy.Package storage pointer)"}},"id":1380,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2241:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_memory_ptr","typeString":"struct SubscriptionPolicy.Package memory"}},"src":"2221:44:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_storage","typeString":"struct SubscriptionPolicy.Package storage ref"}},"id":1382,"nodeType":"ExpressionStatement","src":"2221:44:7"}]},"baseFunctions":[50260],"functionSelector":"d1f57894","implemented":true,"kind":"function","modifiers":[{"id":1348,"kind":"modifierInvocation","modifierName":{"id":1347,"name":"onlyPolicyAuthorizer","nameLocations":["1961:20:7"],"nodeType":"IdentifierPath","referencedDeclaration":50865,"src":"1961:20:7"},"nodeType":"ModifierInvocation","src":"1961:20:7"},{"id":1350,"kind":"modifierInvocation","modifierName":{"id":1349,"name":"initializer","nameLocations":["1982:11:7"],"nodeType":"IdentifierPath","referencedDeclaration":50878,"src":"1982:11:7"},"nodeType":"ModifierInvocation","src":"1982:11:7"}],"name":"initialize","nameLocation":"1904:10:7","parameters":{"id":1346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1343,"mutability":"mutable","name":"holder","nameLocation":"1923:6:7","nodeType":"VariableDeclaration","scope":1384,"src":"1915:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1342,"name":"address","nodeType":"ElementaryTypeName","src":"1915:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1345,"mutability":"mutable","name":"init","nameLocation":"1946:4:7","nodeType":"VariableDeclaration","scope":1384,"src":"1931:19:7","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1344,"name":"bytes","nodeType":"ElementaryTypeName","src":"1931:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"1914:37:7"},"returnParameters":{"id":1351,"nodeType":"ParameterList","parameters":[],"src":"1994:0:7"},"scope":1647,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1457,"nodeType":"FunctionDefinition","src":"2427:933:7","nodes":[],"body":{"id":1456,"nodeType":"Block","src":"2580:780:7","nodes":[],"statements":[{"assignments":[1401],"declarations":[{"constant":false,"id":1401,"mutability":"mutable","name":"pkg","nameLocation":"2605:3:7","nodeType":"VariableDeclaration","scope":1456,"src":"2590:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_memory_ptr","typeString":"struct SubscriptionPolicy.Package"},"typeName":{"id":1400,"nodeType":"UserDefinedTypeName","pathNode":{"id":1399,"name":"Package","nameLocations":["2590:7:7"],"nodeType":"IdentifierPath","referencedDeclaration":1303,"src":"2590:7:7"},"referencedDeclaration":1303,"src":"2590:7:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_storage_ptr","typeString":"struct SubscriptionPolicy.Package"}},"visibility":"internal"}],"id":1405,"initialValue":{"baseExpression":{"id":1402,"name":"_packages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1308,"src":"2611:9:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$","typeString":"mapping(address => struct SubscriptionPolicy.Package storage ref)"}},"id":1404,"indexExpression":{"id":1403,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1386,"src":"2621:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2611:17:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_storage","typeString":"struct SubscriptionPolicy.Package storage ref"}},"nodeType":"VariableDeclarationStatement","src":"2590:38:7"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1409,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1406,"name":"pkg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1401,"src":"2642:3:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_memory_ptr","typeString":"struct SubscriptionPolicy.Package memory"}},"id":1407,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2646:11:7","memberName":"pricePerDay","nodeType":"MemberAccess","referencedDeclaration":1300,"src":"2642:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"hexValue":"30","id":1408,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2661:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"2642:20:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1415,"nodeType":"IfStatement","src":"2638:213:7","trueBody":{"id":1414,"nodeType":"Block","src":"2664:187:7","statements":[{"errorCall":{"arguments":[{"hexValue":"496e76616c6964206e6f7420696e697469616c697a656420686f6c64657220636f6e646974696f6e73","id":1411,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2796:43:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_1aec205e23794276aa0afcfadd0b767e900e2e41565fc044513d6e45af83bcbd","typeString":"literal_string \"Invalid not initialized holder conditions\""},"value":"Invalid not initialized holder conditions"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1aec205e23794276aa0afcfadd0b767e900e2e41565fc044513d6e45af83bcbd","typeString":"literal_string \"Invalid not initialized holder conditions\""}],"id":1410,"name":"InvalidEnforcement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50819,"src":"2777:18:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":1412,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2777:63:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":1413,"nodeType":"RevertStatement","src":"2770:70:7"}]}},{"assignments":[1417],"declarations":[{"constant":false,"id":1417,"mutability":"mutable","name":"paidAmount","nameLocation":"2869:10:7","nodeType":"VariableDeclaration","scope":1456,"src":"2861:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1416,"name":"uint256","nodeType":"ElementaryTypeName","src":"2861:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1420,"initialValue":{"expression":{"id":1418,"name":"agreement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1389,"src":"2882:9:7","typeDescriptions":{"typeIdentifier":"t_struct$_Agreement_$51199_calldata_ptr","typeString":"struct T.Agreement calldata"}},"id":1419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2892:5:7","memberName":"total","nodeType":"MemberAccess","referencedDeclaration":51191,"src":"2882:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2861:36:7"},{"assignments":[1422],"declarations":[{"constant":false,"id":1422,"mutability":"mutable","name":"partiesLen","nameLocation":"2915:10:7","nodeType":"VariableDeclaration","scope":1456,"src":"2907:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1421,"name":"uint256","nodeType":"ElementaryTypeName","src":"2907:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1426,"initialValue":{"expression":{"expression":{"id":1423,"name":"agreement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1389,"src":"2928:9:7","typeDescriptions":{"typeIdentifier":"t_struct$_Agreement_$51199_calldata_ptr","typeString":"struct T.Agreement calldata"}},"id":1424,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2938:7:7","memberName":"parties","nodeType":"MemberAccess","referencedDeclaration":51196,"src":"2928:17:7","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[] calldata"}},"id":1425,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2946:6:7","memberName":"length","nodeType":"MemberAccess","src":"2928:24:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2907:45:7"},{"assignments":[1428],"declarations":[{"constant":false,"id":1428,"mutability":"mutable","name":"pricePerDay","nameLocation":"2970:11:7","nodeType":"VariableDeclaration","scope":1456,"src":"2962:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1427,"name":"uint256","nodeType":"ElementaryTypeName","src":"2962:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1431,"initialValue":{"expression":{"id":1429,"name":"pkg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1401,"src":"2984:3:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_memory_ptr","typeString":"struct SubscriptionPolicy.Package memory"}},"id":1430,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"2988:11:7","memberName":"pricePerDay","nodeType":"MemberAccess","referencedDeclaration":1300,"src":"2984:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2962:37:7"},{"assignments":[1433],"declarations":[{"constant":false,"id":1433,"mutability":"mutable","name":"duration","nameLocation":"3097:8:7","nodeType":"VariableDeclaration","scope":1456,"src":"3089:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1432,"name":"uint256","nodeType":"ElementaryTypeName","src":"3089:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1439,"initialValue":{"arguments":[{"id":1435,"name":"paidAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1417,"src":"3130:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1436,"name":"pricePerDay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1428,"src":"3142:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"id":1437,"name":"partiesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1422,"src":"3155:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1434,"name":"_verifyDaysFromAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1596,"src":"3108:21:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) pure returns (uint256)"}},"id":1438,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3108:58:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3089:77:7"},{"assignments":[1441],"declarations":[{"constant":false,"id":1441,"mutability":"mutable","name":"subExpire","nameLocation":"3250:9:7","nodeType":"VariableDeclaration","scope":1456,"src":"3242:17:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1440,"name":"uint256","nodeType":"ElementaryTypeName","src":"3242:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1449,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1448,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1442,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"3262:5:7","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1443,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3268:9:7","memberName":"timestamp","nodeType":"MemberAccess","src":"3262:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1444,"name":"duration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1433,"src":"3281:8:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"31","id":1445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3292:6:7","subdenomination":"days","typeDescriptions":{"typeIdentifier":"t_rational_86400_by_1","typeString":"int_const 86400"},"value":"1"},"src":"3281:17:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1447,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"3280:19:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3262:37:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3242:57:7"},{"expression":{"arguments":[{"id":1451,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1386,"src":"3324:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1452,"name":"agreement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1389,"src":"3332:9:7","typeDescriptions":{"typeIdentifier":"t_struct$_Agreement_$51199_calldata_ptr","typeString":"struct T.Agreement calldata"}},{"id":1453,"name":"subExpire","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1441,"src":"3343:9:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_struct$_Agreement_$51199_calldata_ptr","typeString":"struct T.Agreement calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1450,"name":"_commit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51083,"src":"3316:7:7","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_address_$_t_struct$_Agreement_$51199_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$","typeString":"function (address,struct T.Agreement memory,uint256) returns (uint256[] memory)"}},"id":1454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3316:37:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[] memory"}},"functionReturnParameters":1398,"id":1455,"nodeType":"Return","src":"3309:44:7"}]},"baseFunctions":[50272],"functionSelector":"464c0aeb","implemented":true,"kind":"function","modifiers":[{"id":1392,"kind":"modifierInvocation","modifierName":{"id":1391,"name":"onlyPolicyManager","nameLocations":["2523:17:7"],"nodeType":"IdentifierPath","referencedDeclaration":50845,"src":"2523:17:7"},"nodeType":"ModifierInvocation","src":"2523:17:7"},{"id":1394,"kind":"modifierInvocation","modifierName":{"id":1393,"name":"initialized","nameLocations":["2541:11:7"],"nodeType":"IdentifierPath","referencedDeclaration":50890,"src":"2541:11:7"},"nodeType":"ModifierInvocation","src":"2541:11:7"}],"name":"enforce","nameLocation":"2436:7:7","parameters":{"id":1390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1386,"mutability":"mutable","name":"holder","nameLocation":"2461:6:7","nodeType":"VariableDeclaration","scope":1457,"src":"2453:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1385,"name":"address","nodeType":"ElementaryTypeName","src":"2453:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1389,"mutability":"mutable","name":"agreement","nameLocation":"2498:9:7","nodeType":"VariableDeclaration","scope":1457,"src":"2477:30:7","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Agreement_$51199_calldata_ptr","typeString":"struct T.Agreement"},"typeName":{"id":1388,"nodeType":"UserDefinedTypeName","pathNode":{"id":1387,"name":"T.Agreement","nameLocations":["2477:1:7","2479:9:7"],"nodeType":"IdentifierPath","referencedDeclaration":51199,"src":"2477:11:7"},"referencedDeclaration":51199,"src":"2477:11:7","typeDescriptions":{"typeIdentifier":"t_struct$_Agreement_$51199_storage_ptr","typeString":"struct T.Agreement"}},"visibility":"internal"}],"src":"2443:70:7"},"returnParameters":{"id":1398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1397,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1457,"src":"2562:16:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":1395,"name":"uint256","nodeType":"ElementaryTypeName","src":"2562:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1396,"nodeType":"ArrayTypeName","src":"2562:9:7","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"2561:18:7"},"scope":1647,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":1505,"nodeType":"FunctionDefinition","src":"3449:527:7","nodes":[],"body":{"id":1504,"nodeType":"Block","src":"3545:431:7","nodes":[],"statements":[{"condition":{"arguments":[{"id":1468,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1462,"src":"3640:8:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":1467,"name":"_isHolderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"3623:16:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bool_$","typeString":"function (bytes calldata) pure returns (bool)"}},"id":1469,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3623:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1486,"nodeType":"IfStatement","src":"3619:186:7","trueBody":{"id":1485,"nodeType":"Block","src":"3651:154:7","statements":[{"assignments":[1471],"declarations":[{"constant":false,"id":1471,"mutability":"mutable","name":"holder","nameLocation":"3705:6:7","nodeType":"VariableDeclaration","scope":1485,"src":"3697:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1470,"name":"address","nodeType":"ElementaryTypeName","src":"3697:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1479,"initialValue":{"arguments":[{"id":1474,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1462,"src":"3725:8:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":1476,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3736:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1475,"name":"address","nodeType":"ElementaryTypeName","src":"3736:7:7","typeDescriptions":{}}}],"id":1477,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3735:9:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":1472,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3714:3:7","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1473,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3718:6:7","memberName":"decode","nodeType":"MemberAccess","src":"3714:10:7","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1478,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3714:31:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"3697:48:7"},{"expression":{"arguments":[{"id":1481,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1460,"src":"3778:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"id":1482,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1471,"src":"3787:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1480,"name":"isCompliant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51009,"src":"3766:11:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":1483,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3766:28:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1466,"id":1484,"nodeType":"Return","src":"3759:35:7"}]}},{"assignments":[1488],"declarations":[{"constant":false,"id":1488,"mutability":"mutable","name":"assetId","nameLocation":"3871:7:7","nodeType":"VariableDeclaration","scope":1504,"src":"3863:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1487,"name":"uint256","nodeType":"ElementaryTypeName","src":"3863:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1496,"initialValue":{"arguments":[{"id":1491,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1462,"src":"3892:8:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":1493,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"3903:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":{"id":1492,"name":"uint256","nodeType":"ElementaryTypeName","src":"3903:7:7","typeDescriptions":{}}}],"id":1494,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"3902:9:7","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"}],"expression":{"id":1489,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"3881:3:7","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1490,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"3885:6:7","memberName":"decode","nodeType":"MemberAccess","src":"3881:10:7","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3881:31:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3863:49:7"},{"expression":{"arguments":[{"id":1498,"name":"account","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1460,"src":"3941:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"arguments":[{"id":1500,"name":"assetId","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1488,"src":"3960:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1499,"name":"getHolder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51023,"src":"3950:9:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_address_$","typeString":"function (uint256) view returns (address)"}},"id":1501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3950:18:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1497,"name":"isCompliant","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51009,"src":"3929:11:7","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$","typeString":"function (address,address) view returns (bool)"}},"id":1502,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3929:40:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1466,"id":1503,"nodeType":"Return","src":"3922:47:7"}]},"baseFunctions":[50282],"documentation":{"id":1458,"nodeType":"StructuredDocumentation","src":"3366:78:7","text":"@notice Verifies if an account has access to holder's content or asset id."},"functionSelector":"cfdce1a7","implemented":true,"kind":"function","modifiers":[],"name":"isAccessAllowed","nameLocation":"3458:15:7","parameters":{"id":1463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1460,"mutability":"mutable","name":"account","nameLocation":"3482:7:7","nodeType":"VariableDeclaration","scope":1505,"src":"3474:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1459,"name":"address","nodeType":"ElementaryTypeName","src":"3474:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":1462,"mutability":"mutable","name":"criteria","nameLocation":"3506:8:7","nodeType":"VariableDeclaration","scope":1505,"src":"3491:23:7","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1461,"name":"bytes","nodeType":"ElementaryTypeName","src":"3491:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"3473:42:7"},"returnParameters":{"id":1466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1465,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1505,"src":"3539:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1464,"name":"bool","nodeType":"ElementaryTypeName","src":"3539:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"3538:6:7"},"scope":1647,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1553,"nodeType":"FunctionDefinition","src":"4066:604:7","nodes":[],"body":{"id":1552,"nodeType":"Block","src":"4152:518:7","nodes":[],"statements":[{"condition":{"id":1517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4345:27:7","subExpression":{"arguments":[{"id":1515,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1508,"src":"4363:8:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}],"id":1514,"name":"_isHolderAddress","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"4346:16:7","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bool_$","typeString":"function (bytes calldata) pure returns (bool)"}},"id":1516,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4346:26:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1522,"nodeType":"IfStatement","src":"4341:95:7","trueBody":{"id":1521,"nodeType":"Block","src":"4374:62:7","statements":[{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1518,"name":"InvalidNotSupportedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50806,"src":"4395:28:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":1519,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4395:30:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":1520,"nodeType":"RevertStatement","src":"4388:37:7"}]}},{"assignments":[1524],"declarations":[{"constant":false,"id":1524,"mutability":"mutable","name":"holder","nameLocation":"4454:6:7","nodeType":"VariableDeclaration","scope":1552,"src":"4446:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1523,"name":"address","nodeType":"ElementaryTypeName","src":"4446:7:7","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"id":1532,"initialValue":{"arguments":[{"id":1527,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1508,"src":"4474:8:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},{"components":[{"id":1529,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"4485:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"},"typeName":{"id":1528,"name":"address","nodeType":"ElementaryTypeName","src":"4485:7:7","typeDescriptions":{}}}],"id":1530,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"TupleExpression","src":"4484:9:7","typeDescriptions":{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"},{"typeIdentifier":"t_type$_t_address_$","typeString":"type(address)"}],"expression":{"id":1525,"name":"abi","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-1,"src":"4463:3:7","typeDescriptions":{"typeIdentifier":"t_magic_abi","typeString":"abi"}},"id":1526,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4467:6:7","memberName":"decode","nodeType":"MemberAccess","src":"4463:10:7","typeDescriptions":{"typeIdentifier":"t_function_abidecode_pure$__$returns$__$","typeString":"function () pure"}},"id":1531,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4463:31:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}},"nodeType":"VariableDeclarationStatement","src":"4446:48:7"},{"assignments":[1535],"declarations":[{"constant":false,"id":1535,"mutability":"mutable","name":"pkg","nameLocation":"4519:3:7","nodeType":"VariableDeclaration","scope":1552,"src":"4504:18:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_memory_ptr","typeString":"struct SubscriptionPolicy.Package"},"typeName":{"id":1534,"nodeType":"UserDefinedTypeName","pathNode":{"id":1533,"name":"Package","nameLocations":["4504:7:7"],"nodeType":"IdentifierPath","referencedDeclaration":1303,"src":"4504:7:7"},"referencedDeclaration":1303,"src":"4504:7:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_storage_ptr","typeString":"struct SubscriptionPolicy.Package"}},"visibility":"internal"}],"id":1539,"initialValue":{"baseExpression":{"id":1536,"name":"_packages","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1308,"src":"4525:9:7","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$","typeString":"mapping(address => struct SubscriptionPolicy.Package storage ref)"}},"id":1538,"indexExpression":{"id":1537,"name":"holder","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1524,"src":"4535:6:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4525:17:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_storage","typeString":"struct SubscriptionPolicy.Package storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4504:38:7"},{"expression":{"arguments":[{"expression":{"id":1542,"name":"pkg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1535,"src":"4603:3:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_memory_ptr","typeString":"struct SubscriptionPolicy.Package memory"}},"id":1543,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4607:11:7","memberName":"pricePerDay","nodeType":"MemberAccess","referencedDeclaration":1300,"src":"4603:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"expression":{"id":1544,"name":"pkg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1535,"src":"4620:3:7","typeDescriptions":{"typeIdentifier":"t_struct$_Package_$1303_memory_ptr","typeString":"struct SubscriptionPolicy.Package memory"}},"id":1545,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"4624:8:7","memberName":"currency","nodeType":"MemberAccess","referencedDeclaration":1302,"src":"4620:12:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"expression":{"expression":{"id":1546,"name":"T","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51233,"src":"4634:1:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_T_$51233_$","typeString":"type(library T)"}},"id":1547,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4636:9:7","memberName":"RateBasis","nodeType":"MemberAccess","referencedDeclaration":51211,"src":"4634:11:7","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_RateBasis_$51211_$","typeString":"type(enum T.RateBasis)"}},"id":1548,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4646:5:7","memberName":"DAILY","nodeType":"MemberAccess","referencedDeclaration":51209,"src":"4634:17:7","typeDescriptions":{"typeIdentifier":"t_enum$_RateBasis_$51211","typeString":"enum T.RateBasis"}},{"hexValue":"697066733a2f2f","id":1549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4653:9:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe","typeString":"literal_string \"ipfs://\""},"value":"ipfs://"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_enum$_RateBasis_$51211","typeString":"enum T.RateBasis"},{"typeIdentifier":"t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe","typeString":"literal_string \"ipfs://\""}],"expression":{"id":1540,"name":"T","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":51233,"src":"4595:1:7","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_T_$51233_$","typeString":"type(library T)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4597:5:7","memberName":"Terms","nodeType":"MemberAccess","referencedDeclaration":51222,"src":"4595:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Terms_$51222_storage_ptr_$","typeString":"type(struct T.Terms storage pointer)"}},"id":1550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4595:68:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_memory_ptr","typeString":"struct T.Terms memory"}},"functionReturnParameters":1513,"id":1551,"nodeType":"Return","src":"4588:75:7"}]},"baseFunctions":[50291],"documentation":{"id":1506,"nodeType":"StructuredDocumentation","src":"3982:79:7","text":"@notice Retrieves the terms associated with a specific criteria and policy."},"functionSelector":"a3937111","implemented":true,"kind":"function","modifiers":[],"name":"resolveTerms","nameLocation":"4075:12:7","parameters":{"id":1509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1508,"mutability":"mutable","name":"criteria","nameLocation":"4103:8:7","nodeType":"VariableDeclaration","scope":1553,"src":"4088:23:7","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1507,"name":"bytes","nodeType":"ElementaryTypeName","src":"4088:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"4087:25:7"},"returnParameters":{"id":1513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1512,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1553,"src":"4136:14:7","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_memory_ptr","typeString":"struct T.Terms"},"typeName":{"id":1511,"nodeType":"UserDefinedTypeName","pathNode":{"id":1510,"name":"T.Terms","nameLocations":["4136:1:7","4138:5:7"],"nodeType":"IdentifierPath","referencedDeclaration":51222,"src":"4136:7:7"},"referencedDeclaration":51222,"src":"4136:7:7","typeDescriptions":{"typeIdentifier":"t_struct$_Terms_$51222_storage_ptr","typeString":"struct T.Terms"}},"visibility":"internal"}],"src":"4135:16:7"},"scope":1647,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":1596,"nodeType":"FunctionDefinition","src":"4676:669:7","nodes":[],"body":{"id":1595,"nodeType":"Block","src":"4825:520:7","nodes":[],"statements":[{"assignments":[1565],"declarations":[{"constant":false,"id":1565,"mutability":"mutable","name":"paymentPerAccount","nameLocation":"4918:17:7","nodeType":"VariableDeclaration","scope":1595,"src":"4910:25:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1564,"name":"uint256","nodeType":"ElementaryTypeName","src":"4910:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1569,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1568,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1566,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1555,"src":"4938:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":1567,"name":"partiesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1559,"src":"4947:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4938:19:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4910:47:7"},{"assignments":[1571],"declarations":[{"constant":false,"id":1571,"mutability":"mutable","name":"subscriptionDuration","nameLocation":"5023:20:7","nodeType":"VariableDeclaration","scope":1595,"src":"5015:28:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1570,"name":"uint256","nodeType":"ElementaryTypeName","src":"5015:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1575,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1572,"name":"paymentPerAccount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1565,"src":"5046:17:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"id":1573,"name":"pricePerDay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1557,"src":"5066:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5046:31:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5015:62:7"},{"assignments":[1577],"declarations":[{"constant":false,"id":1577,"mutability":"mutable","name":"total","nameLocation":"5150:5:7","nodeType":"VariableDeclaration","scope":1595,"src":"5142:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1576,"name":"uint256","nodeType":"ElementaryTypeName","src":"5142:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"id":1584,"initialValue":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1583,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"components":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1580,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1578,"name":"subscriptionDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1571,"src":"5159:20:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1579,"name":"pricePerDay","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1557,"src":"5182:11:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5159:34:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1581,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5158:36:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"id":1582,"name":"partiesLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1559,"src":"5197:10:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5158:49:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5142:65:7"},{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1587,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1585,"name":"amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1555,"src":"5221:6:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"id":1586,"name":"total","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1577,"src":"5230:5:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5221:14:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1592,"nodeType":"IfStatement","src":"5217:84:7","trueBody":{"errorCall":{"arguments":[{"hexValue":"496e73756666696369656e742066756e647320666f7220737562736372697074696f6e","id":1589,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5263:37:7","typeDescriptions":{"typeIdentifier":"t_stringliteral_672f704359c96e0312355040ab5c89b621a6d70e08076807a34681fa7dc8d2e7","typeString":"literal_string \"Insufficient funds for subscription\""},"value":"Insufficient funds for subscription"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_672f704359c96e0312355040ab5c89b621a6d70e08076807a34681fa7dc8d2e7","typeString":"literal_string \"Insufficient funds for subscription\""}],"id":1588,"name":"InvalidEnforcement","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50819,"src":"5244:18:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$","typeString":"function (string memory) pure returns (error)"}},"id":1590,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5244:57:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":1591,"nodeType":"RevertStatement","src":"5237:64:7"}},{"expression":{"id":1593,"name":"subscriptionDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1571,"src":"5318:20:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1563,"id":1594,"nodeType":"Return","src":"5311:27:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_verifyDaysFromAmount","nameLocation":"4685:21:7","parameters":{"id":1560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1555,"mutability":"mutable","name":"amount","nameLocation":"4724:6:7","nodeType":"VariableDeclaration","scope":1596,"src":"4716:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1554,"name":"uint256","nodeType":"ElementaryTypeName","src":"4716:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1557,"mutability":"mutable","name":"pricePerDay","nameLocation":"4748:11:7","nodeType":"VariableDeclaration","scope":1596,"src":"4740:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1556,"name":"uint256","nodeType":"ElementaryTypeName","src":"4740:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":1559,"mutability":"mutable","name":"partiesLen","nameLocation":"4777:10:7","nodeType":"VariableDeclaration","scope":1596,"src":"4769:18:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1558,"name":"uint256","nodeType":"ElementaryTypeName","src":"4769:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4706:87:7"},"returnParameters":{"id":1563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1562,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1596,"src":"4816:7:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1561,"name":"uint256","nodeType":"ElementaryTypeName","src":"4816:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"4815:9:7"},"scope":1647,"stateMutability":"pure","virtual":false,"visibility":"private"},{"id":1646,"nodeType":"FunctionDefinition","src":"5351:1087:7","nodes":[],"body":{"id":1645,"nodeType":"Block","src":"5430:1008:7","nodes":[],"statements":[{"condition":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":1603,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1598,"src":"6193:8:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"id":1604,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6202:6:7","memberName":"length","nodeType":"MemberAccess","src":"6193:15:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"hexValue":"3332","id":1605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6212:2:7","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"src":"6193:21:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1610,"nodeType":"IfStatement","src":"6189:64:7","trueBody":{"errorCall":{"arguments":[],"expression":{"argumentTypes":[],"id":1607,"name":"InvalidNotSupportedOperation","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":50806,"src":"6223:28:7","typeDescriptions":{"typeIdentifier":"t_function_error_pure$__$returns$_t_error_$","typeString":"function () pure returns (error)"}},"id":1608,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6223:30:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_error","typeString":"error"}},"id":1609,"nodeType":"RevertStatement","src":"6216:37:7"}},{"assignments":[1612],"declarations":[{"constant":false,"id":1612,"mutability":"mutable","name":"last20Valid","nameLocation":"6268:11:7","nodeType":"VariableDeclaration","scope":1645,"src":"6263:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1611,"name":"bool","nodeType":"ElementaryTypeName","src":"6263:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":1625,"initialValue":{"commonType":{"typeIdentifier":"t_bytes20","typeString":"bytes20"},"id":1624,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"baseExpression":{"id":1615,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1598,"src":"6290:8:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"endExpression":{"hexValue":"3332","id":1617,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6302:2:7","typeDescriptions":{"typeIdentifier":"t_rational_32_by_1","typeString":"int_const 32"},"value":"32"},"id":1618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"6290:15:7","startExpression":{"hexValue":"3132","id":1616,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6299:2:7","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}],"id":1614,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6282:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":1613,"name":"bytes20","nodeType":"ElementaryTypeName","src":"6282:7:7","typeDescriptions":{}}},"id":1619,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6282:24:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"arguments":[{"hexValue":"30","id":1622,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6318:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1621,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6310:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes20_$","typeString":"type(bytes20)"},"typeName":{"id":1620,"name":"bytes20","nodeType":"ElementaryTypeName","src":"6310:7:7","typeDescriptions":{}}},"id":1623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6310:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes20","typeString":"bytes20"}},"src":"6282:38:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"6263:57:7"},{"assignments":[1627],"declarations":[{"constant":false,"id":1627,"mutability":"mutable","name":"first12Valid","nameLocation":"6335:12:7","nodeType":"VariableDeclaration","scope":1645,"src":"6330:17:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1626,"name":"bool","nodeType":"ElementaryTypeName","src":"6330:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"id":1640,"initialValue":{"commonType":{"typeIdentifier":"t_bytes12","typeString":"bytes12"},"id":1639,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"baseExpression":{"id":1630,"name":"criteria","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1598,"src":"6358:8:7","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes calldata"}},"endExpression":{"hexValue":"3132","id":1632,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6369:2:7","typeDescriptions":{"typeIdentifier":"t_rational_12_by_1","typeString":"int_const 12"},"value":"12"},"id":1633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"IndexRangeAccess","src":"6358:14:7","startExpression":{"hexValue":"30","id":1631,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6367:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes_calldata_ptr_slice","typeString":"bytes calldata slice"}],"id":1629,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6350:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes12_$","typeString":"type(bytes12)"},"typeName":{"id":1628,"name":"bytes12","nodeType":"ElementaryTypeName","src":"6350:7:7","typeDescriptions":{}}},"id":1634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6350:23:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"arguments":[{"hexValue":"30","id":1637,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6385:1:7","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":1636,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"6377:7:7","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes12_$","typeString":"type(bytes12)"},"typeName":{"id":1635,"name":"bytes12","nodeType":"ElementaryTypeName","src":"6377:7:7","typeDescriptions":{}}},"id":1638,"isConstant":false,"isLValue":false,"isPure":true,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6377:10:7","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes12","typeString":"bytes12"}},"src":"6350:37:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"6330:57:7"},{"expression":{"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":1641,"name":"last20Valid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1612,"src":"6404:11:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"id":1642,"name":"first12Valid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1627,"src":"6419:12:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6404:27:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1602,"id":1644,"nodeType":"Return","src":"6397:34:7"}]},"implemented":true,"kind":"function","modifiers":[],"name":"_isHolderAddress","nameLocation":"5360:16:7","parameters":{"id":1599,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1598,"mutability":"mutable","name":"criteria","nameLocation":"5392:8:7","nodeType":"VariableDeclaration","scope":1646,"src":"5377:23:7","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":1597,"name":"bytes","nodeType":"ElementaryTypeName","src":"5377:5:7","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"5376:25:7"},"returnParameters":{"id":1602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1601,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":1646,"src":"5424:4:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1600,"name":"bool","nodeType":"ElementaryTypeName","src":"5424:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"5423:6:7"},"scope":1647,"stateMutability":"pure","virtual":false,"visibility":"private"}],"abstract":false,"baseContracts":[{"baseName":{"id":1296,"name":"BasePolicy","nameLocations":["312:10:7"],"nodeType":"IdentifierPath","referencedDeclaration":51139,"src":"312:10:7"},"id":1297,"nodeType":"InheritanceSpecifier","src":"312:10:7"}],"canonicalName":"SubscriptionPolicy","contractDependencies":[],"contractKind":"contract","documentation":{"id":1295,"nodeType":"StructuredDocumentation","src":"184:97:7","text":"@title SubscriptionPolicy\n @notice Implements a subscription-based content access policy."},"fullyImplemented":true,"linearizedBaseContracts":[1647,51139,46322,46334,50308,45854],"name":"SubscriptionPolicy","nameLocation":"290:18:7","scope":1648,"usedErrors":[45799,50803,50806,50811,50814,50819,50822,50827],"usedEvents":[50800]}],"license":"MIT"},"id":7} \ No newline at end of file +{ + "abi": [ + { + "type": "constructor", + "inputs": [ + { "name": "rightPolicyManagerAddress", "type": "address", "internalType": "address" }, + { "name": "ownershipAddress", "type": "address", "internalType": "address" }, + { "name": "providerAddress", "type": "address", "internalType": "address" } + ], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "ASSET_OWNERSHIP", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "contract IAssetOwnership" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "ATTESTATION_PROVIDER", + "inputs": [], + "outputs": [ + { "name": "", "type": "address", "internalType": "contract IAttestationProvider" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "RIGHTS_POLICY_MANAGER", + "inputs": [], + "outputs": [ + { "name": "", "type": "address", "internalType": "contract IRightsPolicyManager" } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "description", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "enforce", + "inputs": [ + { "name": "holder", "type": "address", "internalType": "address" }, + { + "name": "agreement", + "type": "tuple", + "internalType": "struct T.Agreement", + "components": [ + { "name": "broker", "type": "address", "internalType": "address" }, + { "name": "currency", "type": "address", "internalType": "address" }, + { "name": "initiator", "type": "address", "internalType": "address" }, + { "name": "total", "type": "uint256", "internalType": "uint256" }, + { "name": "fees", "type": "uint256", "internalType": "uint256" }, + { "name": "parties", "type": "address[]", "internalType": "address[]" }, + { "name": "payload", "type": "bytes", "internalType": "bytes" } + ] + } + ], + "outputs": [{ "name": "", "type": "uint256[]", "internalType": "uint256[]" }], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "getAttestation", + "inputs": [ + { "name": "recipient", "type": "address", "internalType": "address" }, + { "name": "holder", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "uint256", "internalType": "uint256" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getAttestationProvider", + "inputs": [], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "getHolder", + "inputs": [{ "name": "assetId", "type": "uint256", "internalType": "uint256" }], + "outputs": [{ "name": "", "type": "address", "internalType": "address" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "initialize", + "inputs": [ + { "name": "holder", "type": "address", "internalType": "address" }, + { "name": "init", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [], + "stateMutability": "nonpayable" + }, + { + "type": "function", + "name": "isAccessAllowed", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "criteria", "type": "bytes", "internalType": "bytes" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isCompliant", + "inputs": [ + { "name": "account", "type": "address", "internalType": "address" }, + { "name": "holder", "type": "address", "internalType": "address" } + ], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "isInitialized", + "inputs": [], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "view" + }, + { + "type": "function", + "name": "name", + "inputs": [], + "outputs": [{ "name": "", "type": "string", "internalType": "string" }], + "stateMutability": "pure" + }, + { + "type": "function", + "name": "resolveTerms", + "inputs": [{ "name": "criteria", "type": "bytes", "internalType": "bytes" }], + "outputs": [ + { + "name": "", + "type": "tuple", + "internalType": "struct T.Terms", + "components": [ + { "name": "amount", "type": "uint256", "internalType": "uint256" }, + { "name": "currency", "type": "address", "internalType": "address" }, + { "name": "rateBasis", "type": "uint8", "internalType": "enum T.RateBasis" }, + { "name": "uri", "type": "string", "internalType": "string" } + ] + } + ], + "stateMutability": "view" + }, + { + "type": "function", + "name": "supportsInterface", + "inputs": [{ "name": "interfaceId", "type": "bytes4", "internalType": "bytes4" }], + "outputs": [{ "name": "", "type": "bool", "internalType": "bool" }], + "stateMutability": "view" + }, + { + "type": "event", + "name": "AttestedAgreement", + "inputs": [ + { "name": "holder", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "account", "type": "address", "indexed": true, "internalType": "address" }, + { "name": "attestationId", "type": "uint256", "indexed": false, "internalType": "uint256" } + ], + "anonymous": false + }, + { "type": "error", "name": "InvalidAssetHolder", "inputs": [] }, + { "type": "error", "name": "InvalidAttestation", "inputs": [] }, + { + "type": "error", + "name": "InvalidEnforcement", + "inputs": [{ "name": "reason", "type": "string", "internalType": "string" }] + }, + { + "type": "error", + "name": "InvalidInitialization", + "inputs": [{ "name": "reason", "type": "string", "internalType": "string" }] + }, + { "type": "error", "name": "InvalidNotSupportedOperation", "inputs": [] }, + { "type": "error", "name": "InvalidPolicyInitialization", "inputs": [] }, + { + "type": "error", + "name": "InvalidUnauthorizedCall", + "inputs": [{ "name": "reason", "type": "string", "internalType": "string" }] + }, + { "type": "error", "name": "ReentrancyGuardReentrantCall", "inputs": [] } + ], + "bytecode": { + "object": "0x60e0346100c757601f61192f38819003918201601f19168301916001600160401b038311848410176100cb578084926060946040528339810103126100c757610047816100df565b61005f6040610058602085016100df565b93016100df565b60015f556001600160a01b0390811660805290811660a0521660c05260405161183b90816100f4823960805181818161053c01528181610dc401526115cb015260a05181818161014101528181610296015261093e015260c05181818160ed01526116850152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b51906001600160a01b03821682036100c75756fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461123f5750806306fdde03146111e057806319ad44fc14610510578063392e53cd146111be578063464c0aeb146108eb5780637284e41614610730578063a393711114610560578063b1b87ffb14610510578063cfdce1a7146104f7578063d1f5789414610245578063dd4fcc3f1461020f578063e8a96b46146101d3578063e8d55ccf14610165578063f1bdc452146101155763f520d4eb146100c1575f80fd5b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101115760406003193601126101115761017e611320565b73ffffffffffffffffffffffffffffffffffffffff61019b611343565b91165f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b346101115760206003193601126101115760206101f160043561163c565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461011157604060031936011261011157602061023b61022d611320565b610235611343565b90611532565b6040519015158152f35b3461011157610253366113b5565b6040517f8ae2ba5900000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156104ec5773ffffffffffffffffffffffffffffffffffffffff915f916104bd575b5016330361043957816040917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060015416600155810103126101115773ffffffffffffffffffffffffffffffffffffffff61033a602083359301611366565b169181156103db5773ffffffffffffffffffffffffffffffffffffffff91826001926040519261036984611406565b835260208301958652165f52600360205260405f2090518155019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416176001555f80f35b60646040517f8e53d58600000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c696420737562736372697074696f6e2070726963652e00000000006044820152fd5b60846040517f2ce89adb00000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f6e6c792072696768747320706f6c69637920617574686f72697a657220616c60448201527f6c6f7765642e00000000000000000000000000000000000000000000000000006064820152fd5b6104df915060203d6020116104e5575b6104d7818361143e565b810190611506565b856102db565b503d6104cd565b6040513d5f823e3d90fd5b3461011157602061023b61050a366113b5565b916114aa565b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101115760206003193601126101115760043567ffffffffffffffff811161011157610591903690600401611387565b6060806040516105a081611422565b5f81525f60208201525f604082015201526105bb8183611751565b15610708578160209181010312610111576105ea73ffffffffffffffffffffffffffffffffffffffff91611366565b165f52600360205260405f20602060405161060481611406565b73ffffffffffffffffffffffffffffffffffffffff600184549485845201541691829101526040519161063683611422565b825260208201908152604082016002815273ffffffffffffffffffffffffffffffffffffffff6040519261066b60408561143e565b600784527f697066733a2f2f000000000000000000000000000000000000000000000000006020850152606085019384526040519460208652516020860152511660408401525160048110156106db5782916106d79160608401525160808084015260a08301906112dd565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f0ea7889c000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610111575f600319360112610111576106d7610160610753604051918261143e565b61012781527f5468697320706f6c69637920666f6c6c6f77732061207375627363726970746960208201527f6f6e206d6f64656c2077697468206461696c792070726963696e672c20616c6c60408201527f6f77696e6720757365727320746f20616363657373206120636f6e74656e742060608201527f686f6c646572277320636174616c6f6720627920706179696e6720612064616960808201527f6c792066656520666f7220612063686f73656e206475726174696f6e2e0a0a4b60a08201527f65792066656174757265733a0a312920466c657869626c65207375627363726960c08201527f7074696f6e20706572696f64732073657420627920746865206173736574206860e08201527f6f6c6465722e0a322920496e7374616e742061636365737320746f20616c6c206101008201527f636f6e74656e7420647572696e672074686520737562736372697074696f6e206101208201527f706572696f642e000000000000000000000000000000000000000000000000006101408201526040519182916020835260208301906112dd565b3461011157604060031936011261011157610904611320565b6024359067ffffffffffffffff8211610111578136039060e06003198301126101115773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361113a5760ff60015416156111125773ffffffffffffffffffffffffffffffffffffffff1690815f52600360205260405f2090604051916109a083611406565b73ffffffffffffffffffffffffffffffffffffffff600182549283865201541660208401521561108e576064840135917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd60a48601359201821215610111578185019160048301359367ffffffffffffffff85116101115760248401918560051b9384360384136101115751610a5287610a4d610a4684610a4184896116d1565b6116d1565b938461147f565b61147f565b831061100a5762015180810290808204620151801490151715610fdd57420197884211610fdd576040519360e0850185811067ffffffffffffffff821117610f9857604052610aa382600401611366565b8552610ab160248301611366565b9660208601978852610ac560448401611366565b96604087019788526060870195865267ffffffffffffffff608088019560848601358752116101115736602383011215610111576004602091610b078c611492565b9b610b156040519d8e61143e565b8c52828c01930101019136831161011157905b828210610fc55750505060a0840196875260c48101359067ffffffffffffffff82116101115701913660238401121561011157600483013567ffffffffffffffff8111610f985760405193610ba5601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018661143e565b8185523660248284010111610111576024829101602086013783016020015f905260c0840192835260405195869460208601602090525173ffffffffffffffffffffffffffffffffffffffff1660408601525173ffffffffffffffffffffffffffffffffffffffff166060850152845173ffffffffffffffffffffffffffffffffffffffff1660808501525160a08401525160c0830152845160e0830160e090526101208301610c5491611708565b9051908281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001610100840152610c8b916112dd565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352610cbb908361143e565b5173ffffffffffffffffffffffffffffffffffffffff1682519160405192839286602085015260408401523060608401526080830160a0905260c08301610d0191611708565b8281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00160a0840152610d34916112dd565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018252610d64908261143e565b8151906040519485927f8ca86cad000000000000000000000000000000000000000000000000000000008452600484016060905260648401610da591611708565b906024840152828103600319016044840152610dc0916112dd565b03837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1691815a5f948591f19283156104ec575f93610f05575b5051908151915f5b838110610e6357846040518091602082016020835281518091526020604084019201905f5b818110610e4a575050500390f35b8251845285945060209384019390920191600101610e3c565b80610e70600192876117c4565b5173ffffffffffffffffffffffffffffffffffffffff610e9083866117c4565b51165f52600260205260405f20855f5260205260405f205573ffffffffffffffffffffffffffffffffffffffff610ec782856117c4565b5116847f73d17651f9707de6298c73100b356249df3c275337d70f593670c60c5d7da3536020610ef7858b6117c4565b51604051908152a301610e17565b9092503d805f833e610f17818361143e565b8101906020818303126101115780519067ffffffffffffffff821161011157019080601f83011215610111578151610f4e81611492565b92610f5c604051948561143e565b81845260208085019260051b82010192831161011157602001905b828210610f88575050509183610e0f565b8151815260209182019101610f77565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60208091610fd284611366565b815201910190610b28565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60846040517f66360cb000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f496e73756666696369656e742066756e647320666f722073756273637269707460448201527f696f6e00000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f66360cb000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f496e76616c6964206e6f7420696e697469616c697a656420686f6c646572206360448201527f6f6e646974696f6e7300000000000000000000000000000000000000000000006064820152fd5b7f83403c5c000000000000000000000000000000000000000000000000000000005f5260045ffd5b60846040517f2ce89adb00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792072696768747320706f6c696379206d616e6167657220616c6c6f7760448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152fd5b34610111575f60031936011261011157602060ff600154166040519015158152f35b34610111575f600319360112610111576106d760405161120160408261143e565b601281527f537562736372697074696f6e506f6c696379000000000000000000000000000060208201526040519182916020835260208301906112dd565b3461011157602060031936011261011157600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361011157817fd6e2fbe800000000000000000000000000000000000000000000000000000000602093149081156112b3575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836112ac565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b9181601f840112156101115782359167ffffffffffffffff8311610111576020838186019501011161011157565b9060406003198301126101115760043573ffffffffffffffffffffffffffffffffffffffff8116810361011157916024359067ffffffffffffffff82116101115761140291600401611387565b9091565b6040810190811067ffffffffffffffff821117610f9857604052565b6080810190811067ffffffffffffffff821117610f9857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f9857604052565b81810292918115918404141715610fdd57565b67ffffffffffffffff8111610f985760051b60200190565b9091826020916114ba8183611751565b6114d65781010312610111576102356114d3923561163c565b90565b810103126101115773ffffffffffffffffffffffffffffffffffffffff6114ff6114d393611366565b1690611532565b90816020910312610111575173ffffffffffffffffffffffffffffffffffffffff811681036101115790565b73ffffffffffffffffffffffffffffffffffffffff1690815f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205260405f205490811561163657604051917febfa62b90000000000000000000000000000000000000000000000000000000083526004830152602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104ec575f916115fe575090565b90506020813d60201161162e575b816116196020938361143e565b81010312610111575180151581036101115790565b3d915061160c565b50505f90565b604051907f6352211e000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104ec575f916116b8575090565b6114d3915060203d6020116104e5576104d7818361143e565b81156116db570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b90602080835192838152019201905f5b8181106117255750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611718565b602082036107085781602011610111577fffffffffffffffffffffffffffffffffffffffff000000000000000000000000600c82013516151591600c11610111578161179b575090565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000915035161590565b80518210156117d85760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220be604af8fb0b84f1fc09211529cb8338c36bfb5d68c195302c8b7b98a5cf7b2964736f6c634300081a0033", + "sourceMap": "281:6159:7:-:0;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;-1:-1:-1;;;;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;:::i;:::-;1857:1:78;-1:-1:-1;1857:1:78;-1:-1:-1;;;;;281:6159:7;;;4819:60:99;;281:6159:7;;;;4889:65:99;281:6159:7;4964:49:99;;281:6159:7;;;;;;;;4819:60:99;281:6159:7;;;;;;;;;;;;;;;4889:65:99;281:6159:7;;;;;;;;;;;;;;;4964:49:99;281:6159:7;;;;;;;;;;;;-1:-1:-1;281:6159:7;;;;;;-1:-1:-1;281:6159:7;;;;;-1:-1:-1;281:6159:7;;;;-1:-1:-1;;;;;281:6159:7;;;;;;:::o", + "linkReferences": {} + }, + "deployedBytecode": { + "object": "0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a71461123f5750806306fdde03146111e057806319ad44fc14610510578063392e53cd146111be578063464c0aeb146108eb5780637284e41614610730578063a393711114610560578063b1b87ffb14610510578063cfdce1a7146104f7578063d1f5789414610245578063dd4fcc3f1461020f578063e8a96b46146101d3578063e8d55ccf14610165578063f1bdc452146101155763f520d4eb146100c1575f80fd5b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5f80fd5b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101115760406003193601126101115761017e611320565b73ffffffffffffffffffffffffffffffffffffffff61019b611343565b91165f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b346101115760206003193601126101115760206101f160043561163c565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b3461011157604060031936011261011157602061023b61022d611320565b610235611343565b90611532565b6040519015158152f35b3461011157610253366113b5565b6040517f8ae2ba5900000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa80156104ec5773ffffffffffffffffffffffffffffffffffffffff915f916104bd575b5016330361043957816040917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0060015416600155810103126101115773ffffffffffffffffffffffffffffffffffffffff61033a602083359301611366565b169181156103db5773ffffffffffffffffffffffffffffffffffffffff91826001926040519261036984611406565b835260208301958652165f52600360205260405f2090518155019151167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617905560017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416176001555f80f35b60646040517f8e53d58600000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f496e76616c696420737562736372697074696f6e2070726963652e00000000006044820152fd5b60846040517f2ce89adb00000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f6e6c792072696768747320706f6c69637920617574686f72697a657220616c60448201527f6c6f7765642e00000000000000000000000000000000000000000000000000006064820152fd5b6104df915060203d6020116104e5575b6104d7818361143e565b810190611506565b856102db565b503d6104cd565b6040513d5f823e3d90fd5b3461011157602061023b61050a366113b5565b916114aa565b34610111575f60031936011261011157602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101115760206003193601126101115760043567ffffffffffffffff811161011157610591903690600401611387565b6060806040516105a081611422565b5f81525f60208201525f604082015201526105bb8183611751565b15610708578160209181010312610111576105ea73ffffffffffffffffffffffffffffffffffffffff91611366565b165f52600360205260405f20602060405161060481611406565b73ffffffffffffffffffffffffffffffffffffffff600184549485845201541691829101526040519161063683611422565b825260208201908152604082016002815273ffffffffffffffffffffffffffffffffffffffff6040519261066b60408561143e565b600784527f697066733a2f2f000000000000000000000000000000000000000000000000006020850152606085019384526040519460208652516020860152511660408401525160048110156106db5782916106d79160608401525160808084015260a08301906112dd565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b7f0ea7889c000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610111575f600319360112610111576106d7610160610753604051918261143e565b61012781527f5468697320706f6c69637920666f6c6c6f77732061207375627363726970746960208201527f6f6e206d6f64656c2077697468206461696c792070726963696e672c20616c6c60408201527f6f77696e6720757365727320746f20616363657373206120636f6e74656e742060608201527f686f6c646572277320636174616c6f6720627920706179696e6720612064616960808201527f6c792066656520666f7220612063686f73656e206475726174696f6e2e0a0a4b60a08201527f65792066656174757265733a0a312920466c657869626c65207375627363726960c08201527f7074696f6e20706572696f64732073657420627920746865206173736574206860e08201527f6f6c6465722e0a322920496e7374616e742061636365737320746f20616c6c206101008201527f636f6e74656e7420647572696e672074686520737562736372697074696f6e206101208201527f706572696f642e000000000000000000000000000000000000000000000000006101408201526040519182916020835260208301906112dd565b3461011157604060031936011261011157610904611320565b6024359067ffffffffffffffff8211610111578136039060e06003198301126101115773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016330361113a5760ff60015416156111125773ffffffffffffffffffffffffffffffffffffffff1690815f52600360205260405f2090604051916109a083611406565b73ffffffffffffffffffffffffffffffffffffffff600182549283865201541660208401521561108e576064840135917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdd60a48601359201821215610111578185019160048301359367ffffffffffffffff85116101115760248401918560051b9384360384136101115751610a5287610a4d610a4684610a4184896116d1565b6116d1565b938461147f565b61147f565b831061100a5762015180810290808204620151801490151715610fdd57420197884211610fdd576040519360e0850185811067ffffffffffffffff821117610f9857604052610aa382600401611366565b8552610ab160248301611366565b9660208601978852610ac560448401611366565b96604087019788526060870195865267ffffffffffffffff608088019560848601358752116101115736602383011215610111576004602091610b078c611492565b9b610b156040519d8e61143e565b8c52828c01930101019136831161011157905b828210610fc55750505060a0840196875260c48101359067ffffffffffffffff82116101115701913660238401121561011157600483013567ffffffffffffffff8111610f985760405193610ba5601f83017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0166020018661143e565b8185523660248284010111610111576024829101602086013783016020015f905260c0840192835260405195869460208601602090525173ffffffffffffffffffffffffffffffffffffffff1660408601525173ffffffffffffffffffffffffffffffffffffffff166060850152845173ffffffffffffffffffffffffffffffffffffffff1660808501525160a08401525160c0830152845160e0830160e090526101208301610c5491611708565b9051908281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc001610100840152610c8b916112dd565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018352610cbb908361143e565b5173ffffffffffffffffffffffffffffffffffffffff1682519160405192839286602085015260408401523060608401526080830160a0905260c08301610d0191611708565b8281037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe00160a0840152610d34916112dd565b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081018252610d64908261143e565b8151906040519485927f8ca86cad000000000000000000000000000000000000000000000000000000008452600484016060905260648401610da591611708565b906024840152828103600319016044840152610dc0916112dd565b03837f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1691815a5f948591f19283156104ec575f93610f05575b5051908151915f5b838110610e6357846040518091602082016020835281518091526020604084019201905f5b818110610e4a575050500390f35b8251845285945060209384019390920191600101610e3c565b80610e70600192876117c4565b5173ffffffffffffffffffffffffffffffffffffffff610e9083866117c4565b51165f52600260205260405f20855f5260205260405f205573ffffffffffffffffffffffffffffffffffffffff610ec782856117c4565b5116847f73d17651f9707de6298c73100b356249df3c275337d70f593670c60c5d7da3536020610ef7858b6117c4565b51604051908152a301610e17565b9092503d805f833e610f17818361143e565b8101906020818303126101115780519067ffffffffffffffff821161011157019080601f83011215610111578151610f4e81611492565b92610f5c604051948561143e565b81845260208085019260051b82010192831161011157602001905b828210610f88575050509183610e0f565b8151815260209182019101610f77565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60208091610fd284611366565b815201910190610b28565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b60846040517f66360cb000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f496e73756666696369656e742066756e647320666f722073756273637269707460448201527f696f6e00000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f66360cb000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f496e76616c6964206e6f7420696e697469616c697a656420686f6c646572206360448201527f6f6e646974696f6e7300000000000000000000000000000000000000000000006064820152fd5b7f83403c5c000000000000000000000000000000000000000000000000000000005f5260045ffd5b60846040517f2ce89adb00000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f4f6e6c792072696768747320706f6c696379206d616e6167657220616c6c6f7760448201527f65642e00000000000000000000000000000000000000000000000000000000006064820152fd5b34610111575f60031936011261011157602060ff600154166040519015158152f35b34610111575f600319360112610111576106d760405161120160408261143e565b601281527f537562736372697074696f6e506f6c696379000000000000000000000000000060208201526040519182916020835260208301906112dd565b3461011157602060031936011261011157600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361011157817fd6e2fbe800000000000000000000000000000000000000000000000000000000602093149081156112b3575b5015158152f35b7f01ffc9a700000000000000000000000000000000000000000000000000000000915014836112ac565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b359073ffffffffffffffffffffffffffffffffffffffff8216820361011157565b9181601f840112156101115782359167ffffffffffffffff8311610111576020838186019501011161011157565b9060406003198301126101115760043573ffffffffffffffffffffffffffffffffffffffff8116810361011157916024359067ffffffffffffffff82116101115761140291600401611387565b9091565b6040810190811067ffffffffffffffff821117610f9857604052565b6080810190811067ffffffffffffffff821117610f9857604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610f9857604052565b81810292918115918404141715610fdd57565b67ffffffffffffffff8111610f985760051b60200190565b9091826020916114ba8183611751565b6114d65781010312610111576102356114d3923561163c565b90565b810103126101115773ffffffffffffffffffffffffffffffffffffffff6114ff6114d393611366565b1690611532565b90816020910312610111575173ffffffffffffffffffffffffffffffffffffffff811681036101115790565b73ffffffffffffffffffffffffffffffffffffffff1690815f52600260205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f5260205260405f205490811561163657604051917febfa62b90000000000000000000000000000000000000000000000000000000083526004830152602482015260208160448173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104ec575f916115fe575090565b90506020813d60201161162e575b816116196020938361143e565b81010312610111575180151581036101115790565b3d915061160c565b50505f90565b604051907f6352211e000000000000000000000000000000000000000000000000000000008252600482015260208160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156104ec575f916116b8575090565b6114d3915060203d6020116104e5576104d7818361143e565b81156116db570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b90602080835192838152019201905f5b8181106117255750505090565b825173ffffffffffffffffffffffffffffffffffffffff16845260209384019390920191600101611718565b602082036107085781602011610111577fffffffffffffffffffffffffffffffffffffffff000000000000000000000000600c82013516151591600c11610111578161179b575090565b7fffffffffffffffffffffffff0000000000000000000000000000000000000000915035161590565b80518210156117d85760209160051b010190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffdfea2646970667358221220be604af8fb0b84f1fc09211529cb8338c36bfb5d68c195302c8b7b98a5cf7b2964736f6c634300081a0033", + "sourceMap": "281:6159:7:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;1140:48:99;281:6159:7;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;1075:59:99;281:6159:7;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;5575:13:99;281:6159:7;;;;;;5575:32:99;281:6159:7;-1:-1:-1;281:6159:7;;;;;-1:-1:-1;281:6159:7;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;:::i;:::-;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;3566:43:99;;;:21;281:6159:7;3566:21:99;281:6159:7;3566:21:99;281:6159:7;3566:43:99;;;;;;281:6159:7;3566:43:99;281:6159:7;3566:43:99;;;281:6159:7;;;3544:10:99;:66;3540:169;;281:6159:7;;;;4097:20:99;281:6159:7;;4097:20:99;281:6159:7;2040:36;;281:6159;;;;;;3566:43:99;281:6159:7;;;;;:::i;:::-;;2090:10;;;2086:75;;281:6159;;;4097:20:99;281:6159:7;;;;;;;:::i;:::-;;;3566:43:99;2241:24:7;;281:6159;;;;;;2221:9;3566:43:99;281:6159:7;;;;;;;;;;;;;;;;;;;4097:20:99;281:6159:7;;;;;4097:20:99;281:6159:7;;;;2086:75;2109:52;281:6159;;2109:52;;;3566:43:99;281:6159:7;2109:52;;281:6159;;;;;;;;;;;2109:52;3540:169:99;3633:65;281:6159:7;;3633:65:99;;;3566:43;281:6159:7;3633:65:99;;281:6159:7;;;;;;;;;;;;;;;;3633:65:99;3566:43;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;281:6159:7;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;6313:20:99;281:6159:7;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;4346:26;;;;:::i;:::-;4345:27;4341:95;;4463:31;281:6159;4463:31;;;281:6159;;;;;;;;:::i;:::-;;;;4525:9;281:6159;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;4595:68;;281:6159;;;;4595:68;;4634:17;281:6159;;;;;;;;;;:::i;:::-;;;;;;;;;;4595:68;;281:6159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;4341:95;4395:30;281:6159;4395:30;281:6159;;4395:30;281:6159;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;281:6159:7;;;;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;3277:21:99;281:6159:7;3255:10:99;:44;3251:144;;281:6159:7;4621:12:99;281:6159:7;;4620:13:99;4616:80;;281:6159:7;;;;;;2611:9;281:6159;;;;;;;;;;;;:::i;:::-;;4621:12:99;281:6159:7;;;;;;;;;;;;;2642:20;2638:213;;2882:15;;;281:6159;2928:17;281:6159;2928:17;;;281:6159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5158:49;4938:19;5159:34;5046:31;4938:19;;;;;:::i;:::-;5046:31;:::i;:::-;5159:34;;;:::i;:::-;5158:49;:::i;:::-;5221:14;;5217:84;;3292:6;281:6159;;;;;;3292:6;281:6159;;;;;;;3262:15;281:6159;3262:15;;;281:6159;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;2928:17;281:6159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7804:21:99;;;281:6159:7;7804:21:99;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;2928:17;281:6159;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;:::i;:::-;7804:21:99;281:6159:7;7804:21:99;;;;;;;;:::i;:::-;281:6159:7;;;7910:17:99;;281:6159:7;;;7855:91:99;;;;281:6159:7;7855:91:99;;281:6159:7;;;;;7903:4:99;281:6159:7;;;;;;;2928:17;281:6159;;;;;;;;:::i;:::-;;;;;;2928:17;281:6159;;;;;;:::i;:::-;7855:91:99;281:6159:7;7855:91:99;;;;;;;;:::i;:::-;8018:17;;281:6159:7;;;7990:62:99;;;281:6159:7;7990:62:99;;281:6159:7;7990:62:99;;281:6159:7;;;2882:15;281:6159;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;:::i;:::-;7990:62:99;:20;;281:6159:7;;7990:62:99;;;281:6159:7;7990:62:99;;;;;;;;;281:6159:7;7990:62:99;;;281:6159:7;8110:17:99;;281:6159:7;;;8571:13:99;281:6159:7;8586:14:99;;;;;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:6159:7;;;;;;;;;4621:12:99;281:6159:7;;;8602:20:99;8674:17;;4621:12;8674:17;;;:::i;:::-;281:6159:7;;8652:10:99;;;;:::i;:::-;281:6159:7;;;;8638:13:99;281:6159:7;;;;;;;;;;;;;;;8736:10:99;;;;:::i;:::-;281:6159:7;;8748:17:99;8710:56;281:6159:7;8748:17:99;;;;:::i;:::-;281:6159:7;;;;;;8710:56:99;281:6159:7;8571:13:99;;7990:62;;;;;;281:6159:7;7990:62:99;;;;;;:::i;:::-;;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;7990:62:99;;;;;;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;5217:84;5244:57;281:6159;;5244:57;;;281:6159;;5244:57;;281:6159;;;;;;;;;;;;2882:15;281:6159;;;5244:57;2638:213;2777:63;281:6159;;2777:63;;;281:6159;;2777:63;;281:6159;;;;;;;;;;;;;;;;2777:63;4616:80:99;4656:29;281:6159:7;4656:29:99;281:6159:7;;4656:29:99;3251:144;3322:62;281:6159:7;;3322:62:99;;;281:6159:7;;3322:62:99;;281:6159:7;;;;;;;;;;;;;;;;3322:62:99;281:6159:7;;;;;-1:-1:-1;;281:6159:7;;;;;;;5156:12:99;281:6159:7;;;;;;;;;;;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;;;;;5992:40:99;6007:25;281:6159:7;5992:40:99;;:80;;;;;281:6159:7;;;;;;;5992:80:99;877:25:81;862:40;;;5992:80:99;;;281:6159:7;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:6159:7;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;281:6159:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;3449:527::-;;;;281:6159;3449:527;3623:26;;;;:::i;:::-;3619:186;;3881:31;;281:6159;;;;3950:18;3929:40;281:6159;;3950:18;:::i;3929:40::-;3449:527;:::o;3619:186::-;3714:31;;281:6159;;;;;;3766:28;281:6159;;:::i;:::-;;3766:28;;:::i;281:6159::-;;;;;;;;;;;;;;;;;;:::o;6603:364:99:-;281:6159:7;;;;;;6718:13:99;281:6159:7;;;;;;6718:30:99;281:6159:7;-1:-1:-1;281:6159:7;;;;-1:-1:-1;281:6159:7;;6833:18:99;;;6829:36;;281:6159:7;;6909:51:99;281:6159:7;6909:51:99;;;;;281:6159:7;;;;;;6909:20:99;:51;:20;281:6159:7;6909:20:99;281:6159:7;6909:51:99;;;;;;;281:6159:7;6909:51:99;;;6902:58;6603:364;:::o;6909:51::-;;;281:6159:7;6909:51:99;;281:6159:7;6909:51:99;;;;;;281:6159:7;6909:51:99;;;:::i;:::-;;;281:6159:7;;;;;;;;;;;;6603:364:99;:::o;6909:51::-;;;-1:-1:-1;6909:51:99;;6829:36;6853:12;;281:6159:7;6853:12:99;:::o;7112:155::-;281:6159:7;;7195:32:99;281:6159:7;7195:32:99;;;;;281:6159:7;;7195:15:99;:32;:15;281:6159:7;7195:15:99;281:6159:7;7195:32:99;;;;;;;-1:-1:-1;7195:32:99;;;7188:39;7112:155;:::o;7195:32::-;;;;281:6159:7;7195:32:99;281:6159:7;7195:32:99;;;;;;;:::i;281:6159:7:-;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:6159:7;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;5351:1087;6212:2;6193:21;;6189:64;;281:6159;6212:2;281:6159;;;;6299:2;281:6159;;;;6282:38;;281:6159;6299:2;281:6159;;;6404:27;;;6397:34;5351:1087;:::o;6404:27::-;281:6159;;;;;6350:37;5351:1087;:::o;281:6159::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;", + "linkReferences": {}, + "immutableReferences": { + "50776": [ + { "start": 1340, "length": 32 }, + { "start": 3524, "length": 32 }, + { "start": 5579, "length": 32 } + ], + "50779": [ + { "start": 321, "length": 32 }, + { "start": 662, "length": 32 }, + { "start": 2366, "length": 32 } + ], + "50782": [ + { "start": 237, "length": 32 }, + { "start": 5765, "length": 32 } + ] + } + }, + "methodIdentifiers": { + "ASSET_OWNERSHIP()": "f520d4eb", + "ATTESTATION_PROVIDER()": "19ad44fc", + "RIGHTS_POLICY_MANAGER()": "f1bdc452", + "description()": "7284e416", + "enforce(address,(address,address,address,uint256,uint256,address[],bytes))": "464c0aeb", + "getAttestation(address,address)": "e8d55ccf", + "getAttestationProvider()": "b1b87ffb", + "getHolder(uint256)": "e8a96b46", + "initialize(address,bytes)": "d1f57894", + "isAccessAllowed(address,bytes)": "cfdce1a7", + "isCompliant(address,address)": "dd4fcc3f", + "isInitialized()": "392e53cd", + "name()": "06fdde03", + "resolveTerms(bytes)": "a3937111", + "supportsInterface(bytes4)": "01ffc9a7" + }, + "rawMetadata": "{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"rightPolicyManagerAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"ownershipAddress\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"providerAddress\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"InvalidAssetHolder\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAttestation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidEnforcement\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNotSupportedOperation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidPolicyInitialization\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"reason\",\"type\":\"string\"}],\"name\":\"InvalidUnauthorizedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"attestationId\",\"type\":\"uint256\"}],\"name\":\"AttestedAgreement\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"ASSET_OWNERSHIP\",\"outputs\":[{\"internalType\":\"contract IAssetOwnership\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"ATTESTATION_PROVIDER\",\"outputs\":[{\"internalType\":\"contract IAttestationProvider\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"RIGHTS_POLICY_MANAGER\",\"outputs\":[{\"internalType\":\"contract IRightsPolicyManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"broker\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"total\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"fees\",\"type\":\"uint256\"},{\"internalType\":\"address[]\",\"name\":\"parties\",\"type\":\"address[]\"},{\"internalType\":\"bytes\",\"name\":\"payload\",\"type\":\"bytes\"}],\"internalType\":\"struct T.Agreement\",\"name\":\"agreement\",\"type\":\"tuple\"}],\"name\":\"enforce\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"getAttestation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAttestationProvider\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"assetId\",\"type\":\"uint256\"}],\"name\":\"getHolder\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"init\",\"type\":\"bytes\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"criteria\",\"type\":\"bytes\"}],\"name\":\"isAccessAllowed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"holder\",\"type\":\"address\"}],\"name\":\"isCompliant\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isInitialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"criteria\",\"type\":\"bytes\"}],\"name\":\"resolveTerms\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"currency\",\"type\":\"address\"},{\"internalType\":\"enum T.RateBasis\",\"name\":\"rateBasis\",\"type\":\"uint8\"},{\"internalType\":\"string\",\"name\":\"uri\",\"type\":\"string\"}],\"internalType\":\"struct T.Terms\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"InvalidAssetHolder()\":[{\"details\":\"Thrown when an attempt is made to access content without proper authorization. This error is used to prevent unauthorized access to content protected by policies or rights.\"}],\"InvalidAttestation()\":[{\"details\":\"Thrown when there is an issue with the attestation, such as when an attestation is missing or invalid.\"}],\"InvalidEnforcement(string)\":[{\"details\":\"This error is thrown when the policy enforcement process fails.\",\"params\":{\"reason\":\"A descriptive message providing details about the enforcement failure.\"}}],\"InvalidInitialization(string)\":[{\"details\":\"This error is thrown when there is an issue with the initial setup or configuration.\"}],\"InvalidPolicyInitialization()\":[{\"details\":\"Thrown when attempting to initialize a policy for unregistered or invalid content.\"}],\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"events\":{\"AttestedAgreement(address,address,uint256)\":{\"params\":{\"account\":\"The address of the user whose access or compliance is being enforced.\",\"attestationId\":\"The unique identifier of the attestations that confirms compliance or access.\",\"holder\":\"The address of the rights holder managing the asset or access.\"}}},\"kind\":\"dev\",\"methods\":{\"enforce(address,(address,address,address,uint256,uint256,address[],bytes))\":{\"details\":\"Rights Policies Manager contract should be the only one allowed to call this method.\",\"params\":{\"agreement\":\"An object containing the terms agreed upon between the asset holder and the user.\",\"holder\":\"The rights holder whose authorization is required for accessing the asset.\"}},\"getAttestation(address,address)\":{\"params\":{\"holder\":\"The address of the rights holder with whom the agreement was made.\",\"recipient\":\"The address of the account for which the attestation is being retrieved.\"}},\"getAttestationProvider()\":{\"returns\":{\"_0\":\"The address of the provider associated with the policy.\"}},\"getHolder(uint256)\":{\"params\":{\"assetId\":\"the asset ID to retrieve the holder.\"}},\"initialize(address,bytes)\":{\"details\":\"Only the Rights Policies Authorizer contract has permission to call this function.\",\"params\":{\"holder\":\"The address of the holder for whom the policy is being initialized.\",\"init\":\"Initialization data required to configure the policy.\"}},\"isCompliant(address,address)\":{\"details\":\"The function checks if the provided account complies with the attestation.\",\"params\":{\"account\":\"The address of the user whose access is being verified.\"}},\"supportsInterface(bytes4)\":{\"params\":{\"interfaceId\":\"The bytes4 identifier of the interface to check for support.\"},\"returns\":{\"_0\":\"A boolean indicating whether the interface ID is supported (true) or not (false).\"}}},\"title\":\"SubscriptionPolicy\",\"version\":1},\"userdoc\":{\"errors\":{\"InvalidNotSupportedOperation()\":[{\"notice\":\"This error is thrown when a method not implemented is called.\"}],\"InvalidUnauthorizedCall(string)\":[{\"notice\":\"Thrown when a function is called by an address other than the authorized Rights Manager. This restricts access to functions that are intended to be executed only by the Rights Manager.\"}]},\"events\":{\"AttestedAgreement(address,address,uint256)\":{\"notice\":\"Emitted when an enforcement process is successfully completed for a given account and holder.\"}},\"kind\":\"user\",\"methods\":{\"description()\":{\"notice\":\"Returns the business/strategy model implemented by the policy.\"},\"enforce(address,(address,address,address,uint256,uint256,address[],bytes))\":{\"notice\":\"Executes the agreement between the asset holder and the account based on the policy's rules.\"},\"getAttestation(address,address)\":{\"notice\":\"Retrieves the attestation id associated with a specific account and rights holder.\"},\"getAttestationProvider()\":{\"notice\":\"Retrieves the address of the attestation provider.\"},\"getHolder(uint256)\":{\"notice\":\"Returns the asset holder registered in the ownership contract.\"},\"initialize(address,bytes)\":{\"notice\":\"Initializes the policy with specific data for a given holder.\"},\"isAccessAllowed(address,bytes)\":{\"notice\":\"Verifies if an account has access to holder's content or asset id.\"},\"isCompliant(address,address)\":{\"notice\":\"Verifies whether the on-chain access terms are satisfied for an account.\"},\"isInitialized()\":{\"notice\":\"Checks if the policy has been initialized.\"},\"name()\":{\"notice\":\"Returns the name of the policy.\"},\"resolveTerms(bytes)\":{\"notice\":\"Retrieves the terms associated with a specific criteria and policy.\"},\"supportsInterface(bytes4)\":{\"notice\":\"Checks if a given interface ID is supported by this contract.\"}},\"notice\":\"Implements a subscription-based content access policy.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/policies/SubscriptionPolicy.sol\":\"SubscriptionPolicy\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":20000},\"remappings\":[\":@account-abstraction/=node_modules/@account-abstraction/\",\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@ethsign/=node_modules/@ethsign/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@synaps3/=node_modules/@synaps3/types/contracts/\",\":@uniswap/=node_modules/@uniswap/\",\":base64-sol/=node_modules/base64-sol/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\",\":solady/=lib/solady/src/\"],\"viaIR\":true},\"sources\":{\"contracts/policies/SubscriptionPolicy.sol\":{\"keccak256\":\"0x17caa3281a451aedf75776764eedec7628b03347fdd369c229d60e887bd0cf54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9dbc13584e69fecfaf7f6f79e5f6b100f0923dd3b90fc5c20e76036abf6ff995\",\"dweb:/ipfs/QmZQSp7sHVmncnNTRob65WFuJCrrxkdyTjya1LSZv7ZHUA\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11\",\"dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq\"]},\"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a\",\"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol\":{\"keccak256\":\"0x266376c23b74506b9b8d9ed90f1bc310cc7330b8d3e6ca6e6eb4021b3668aa18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3614788ae9f18a9b472baaf6bb6dc1abe3d78a397f791e30efbe4f1965b3e025\",\"dweb:/ipfs/QmPhLLbi88yH9NxhV18xutazHAYm2HSaEpSoTwR6v5BiDB\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/base/IAttestationProvider.sol\":{\"keccak256\":\"0x33857a9a398c81f5a8cb00f94fa6b67545638acfc7cb728ba12d6ad8f5278ea8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d33a8beadb20c46b8cdf80cebe3640f6ee411ec1e0dcf0b99ac4498c8548b79f\",\"dweb:/ipfs/QmVjkZppdWpowdob77ymvzhbTsMXLEZuPAJ6G7mcmSTgzj\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol\":{\"keccak256\":\"0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405\",\"dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP\"]},\"node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol\":{\"keccak256\":\"0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6\",\"dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu\"]},\"node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol\":{\"keccak256\":\"0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2\",\"dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL\"]},\"node_modules/@synaps3/types/contracts/core/primitives/BasePolicy.sol\":{\"keccak256\":\"0xbec0c6dae3148c9c400255b1107181ea037e6f178c141505a1ce883941557753\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fd187cdee309d7965ca81a3bd91836fe4c281d97256db519b10a23ebf414fcbf\",\"dweb:/ipfs/Qma6ZXgXr35Pv3c1h3XvX8V9vUeKVXHAJ3CrhLndoGEMHM\"]},\"node_modules/@synaps3/types/contracts/core/primitives/Types.sol\":{\"keccak256\":\"0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf\",\"dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe\"]}},\"version\":1}", + "metadata": { + "compiler": { "version": "0.8.26+commit.8a97fa7a" }, + "language": "Solidity", + "output": { + "abi": [ + { + "inputs": [ + { "internalType": "address", "name": "rightPolicyManagerAddress", "type": "address" }, + { "internalType": "address", "name": "ownershipAddress", "type": "address" }, + { "internalType": "address", "name": "providerAddress", "type": "address" } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { "inputs": [], "type": "error", "name": "InvalidAssetHolder" }, + { "inputs": [], "type": "error", "name": "InvalidAttestation" }, + { + "inputs": [{ "internalType": "string", "name": "reason", "type": "string" }], + "type": "error", + "name": "InvalidEnforcement" + }, + { + "inputs": [{ "internalType": "string", "name": "reason", "type": "string" }], + "type": "error", + "name": "InvalidInitialization" + }, + { "inputs": [], "type": "error", "name": "InvalidNotSupportedOperation" }, + { "inputs": [], "type": "error", "name": "InvalidPolicyInitialization" }, + { + "inputs": [{ "internalType": "string", "name": "reason", "type": "string" }], + "type": "error", + "name": "InvalidUnauthorizedCall" + }, + { "inputs": [], "type": "error", "name": "ReentrancyGuardReentrantCall" }, + { + "inputs": [ + { "internalType": "address", "name": "holder", "type": "address", "indexed": true }, + { "internalType": "address", "name": "account", "type": "address", "indexed": true }, + { + "internalType": "uint256", + "name": "attestationId", + "type": "uint256", + "indexed": false + } + ], + "type": "event", + "name": "AttestedAgreement", + "anonymous": false + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "ASSET_OWNERSHIP", + "outputs": [{ "internalType": "contract IAssetOwnership", "name": "", "type": "address" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "ATTESTATION_PROVIDER", + "outputs": [ + { "internalType": "contract IAttestationProvider", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "RIGHTS_POLICY_MANAGER", + "outputs": [ + { "internalType": "contract IRightsPolicyManager", "name": "", "type": "address" } + ] + }, + { + "inputs": [], + "stateMutability": "pure", + "type": "function", + "name": "description", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "holder", "type": "address" }, + { + "internalType": "struct T.Agreement", + "name": "agreement", + "type": "tuple", + "components": [ + { "internalType": "address", "name": "broker", "type": "address" }, + { "internalType": "address", "name": "currency", "type": "address" }, + { "internalType": "address", "name": "initiator", "type": "address" }, + { "internalType": "uint256", "name": "total", "type": "uint256" }, + { "internalType": "uint256", "name": "fees", "type": "uint256" }, + { "internalType": "address[]", "name": "parties", "type": "address[]" }, + { "internalType": "bytes", "name": "payload", "type": "bytes" } + ] + } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "enforce", + "outputs": [{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "recipient", "type": "address" }, + { "internalType": "address", "name": "holder", "type": "address" } + ], + "stateMutability": "view", + "type": "function", + "name": "getAttestation", + "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "getAttestationProvider", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }] + }, + { + "inputs": [{ "internalType": "uint256", "name": "assetId", "type": "uint256" }], + "stateMutability": "view", + "type": "function", + "name": "getHolder", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "holder", "type": "address" }, + { "internalType": "bytes", "name": "init", "type": "bytes" } + ], + "stateMutability": "nonpayable", + "type": "function", + "name": "initialize" + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "bytes", "name": "criteria", "type": "bytes" } + ], + "stateMutability": "view", + "type": "function", + "name": "isAccessAllowed", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [ + { "internalType": "address", "name": "account", "type": "address" }, + { "internalType": "address", "name": "holder", "type": "address" } + ], + "stateMutability": "view", + "type": "function", + "name": "isCompliant", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [], + "stateMutability": "view", + "type": "function", + "name": "isInitialized", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + }, + { + "inputs": [], + "stateMutability": "pure", + "type": "function", + "name": "name", + "outputs": [{ "internalType": "string", "name": "", "type": "string" }] + }, + { + "inputs": [{ "internalType": "bytes", "name": "criteria", "type": "bytes" }], + "stateMutability": "view", + "type": "function", + "name": "resolveTerms", + "outputs": [ + { + "internalType": "struct T.Terms", + "name": "", + "type": "tuple", + "components": [ + { "internalType": "uint256", "name": "amount", "type": "uint256" }, + { "internalType": "address", "name": "currency", "type": "address" }, + { "internalType": "enum T.RateBasis", "name": "rateBasis", "type": "uint8" }, + { "internalType": "string", "name": "uri", "type": "string" } + ] + } + ] + }, + { + "inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }], + "stateMutability": "view", + "type": "function", + "name": "supportsInterface", + "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }] + } + ], + "devdoc": { + "kind": "dev", + "methods": { + "enforce(address,(address,address,address,uint256,uint256,address[],bytes))": { + "details": "Rights Policies Manager contract should be the only one allowed to call this method.", + "params": { + "agreement": "An object containing the terms agreed upon between the asset holder and the user.", + "holder": "The rights holder whose authorization is required for accessing the asset." + } + }, + "getAttestation(address,address)": { + "params": { + "holder": "The address of the rights holder with whom the agreement was made.", + "recipient": "The address of the account for which the attestation is being retrieved." + } + }, + "getAttestationProvider()": { + "returns": { "_0": "The address of the provider associated with the policy." } + }, + "getHolder(uint256)": { "params": { "assetId": "the asset ID to retrieve the holder." } }, + "initialize(address,bytes)": { + "details": "Only the Rights Policies Authorizer contract has permission to call this function.", + "params": { + "holder": "The address of the holder for whom the policy is being initialized.", + "init": "Initialization data required to configure the policy." + } + }, + "isCompliant(address,address)": { + "details": "The function checks if the provided account complies with the attestation.", + "params": { "account": "The address of the user whose access is being verified." } + }, + "supportsInterface(bytes4)": { + "params": { + "interfaceId": "The bytes4 identifier of the interface to check for support." + }, + "returns": { + "_0": "A boolean indicating whether the interface ID is supported (true) or not (false)." + } + } + }, + "version": 1 + }, + "userdoc": { + "kind": "user", + "methods": { + "description()": { + "notice": "Returns the business/strategy model implemented by the policy." + }, + "enforce(address,(address,address,address,uint256,uint256,address[],bytes))": { + "notice": "Executes the agreement between the asset holder and the account based on the policy's rules." + }, + "getAttestation(address,address)": { + "notice": "Retrieves the attestation id associated with a specific account and rights holder." + }, + "getAttestationProvider()": { + "notice": "Retrieves the address of the attestation provider." + }, + "getHolder(uint256)": { + "notice": "Returns the asset holder registered in the ownership contract." + }, + "initialize(address,bytes)": { + "notice": "Initializes the policy with specific data for a given holder." + }, + "isAccessAllowed(address,bytes)": { + "notice": "Verifies if an account has access to holder's content or asset id." + }, + "isCompliant(address,address)": { + "notice": "Verifies whether the on-chain access terms are satisfied for an account." + }, + "isInitialized()": { "notice": "Checks if the policy has been initialized." }, + "name()": { "notice": "Returns the name of the policy." }, + "resolveTerms(bytes)": { + "notice": "Retrieves the terms associated with a specific criteria and policy." + }, + "supportsInterface(bytes4)": { + "notice": "Checks if a given interface ID is supported by this contract." + } + }, + "version": 1 + } + }, + "settings": { + "remappings": [ + "@account-abstraction/=node_modules/@account-abstraction/", + "@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/", + "@ethsign/=node_modules/@ethsign/", + "@openzeppelin/=node_modules/@openzeppelin/", + "@synaps3/=node_modules/@synaps3/types/contracts/", + "@uniswap/=node_modules/@uniswap/", + "base64-sol/=node_modules/base64-sol/", + "forge-std/=lib/forge-std/src/", + "hardhat/=node_modules/hardhat/", + "solady/=lib/solady/src/" + ], + "optimizer": { "enabled": true, "runs": 20000 }, + "metadata": { "bytecodeHash": "ipfs" }, + "compilationTarget": { "contracts/policies/SubscriptionPolicy.sol": "SubscriptionPolicy" }, + "evmVersion": "cancun", + "libraries": {}, + "viaIR": true + }, + "sources": { + "contracts/policies/SubscriptionPolicy.sol": { + "keccak256": "0x17caa3281a451aedf75776764eedec7628b03347fdd369c229d60e887bd0cf54", + "urls": [ + "bzz-raw://9dbc13584e69fecfaf7f6f79e5f6b100f0923dd3b90fc5c20e76036abf6ff995", + "dweb:/ipfs/QmZQSp7sHVmncnNTRob65WFuJCrrxkdyTjya1LSZv7ZHUA" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "keccak256": "0x5dc63d1c6a12fe1b17793e1745877b2fcbe1964c3edfd0a482fac21ca8f18261", + "urls": [ + "bzz-raw://6b7f97c5960a50fd1822cb298551ffc908e37b7893a68d6d08bce18a11cb0f11", + "dweb:/ipfs/QmQQvxBytoY1eBt3pRQDmvH2hZ2yjhs12YqVfzGm7KSURq" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": { + "keccak256": "0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1", + "urls": [ + "bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02", + "dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": { + "keccak256": "0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3", + "urls": [ + "bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a", + "dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "keccak256": "0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa", + "urls": [ + "bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287", + "dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p" + ], + "license": "MIT" + }, + "node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "keccak256": "0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8", + "urls": [ + "bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621", + "dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/assets/IAssetOwnership.sol": { + "keccak256": "0x266376c23b74506b9b8d9ed90f1bc310cc7330b8d3e6ca6e6eb4021b3668aa18", + "urls": [ + "bzz-raw://3614788ae9f18a9b472baaf6bb6dc1abe3d78a397f791e30efbe4f1965b3e025", + "dweb:/ipfs/QmPhLLbi88yH9NxhV18xutazHAYm2HSaEpSoTwR6v5BiDB" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/base/IAttestationProvider.sol": { + "keccak256": "0x33857a9a398c81f5a8cb00f94fa6b67545638acfc7cb728ba12d6ad8f5278ea8", + "urls": [ + "bzz-raw://d33a8beadb20c46b8cdf80cebe3640f6ee411ec1e0dcf0b99ac4498c8548b79f", + "dweb:/ipfs/QmVjkZppdWpowdob77ymvzhbTsMXLEZuPAJ6G7mcmSTgzj" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/policies/IPolicy.sol": { + "keccak256": "0xade7578d52bec1c17d843104b93bca712ce9e43b65620fad96ef730ebfd9ec02", + "urls": [ + "bzz-raw://8d630dc692ae9ca0ef0243ad1d21fe8baecc5267a753ff12fa1d239feb620405", + "dweb:/ipfs/QmRGDRbrPd5zBSWzYtFRxZcKZ8Em67GkQyWn9D3N4e1dkP" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/interfaces/rights/IRightsPolicyManager.sol": { + "keccak256": "0xd9f5e37622cbe3b6d916e56246962663c2cc36ce58df508cad438bb09076813e", + "urls": [ + "bzz-raw://7f8b4742c75eef161c9f207dbdb20d8b293b77b8a98c9a83f4f68bbedaad6dc6", + "dweb:/ipfs/QmWpgen4NWbCNR9g4fpCdfreTV3AG5oyLGBSE33jfg7Jwu" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/libraries/LoopOps.sol": { + "keccak256": "0x7e0219ea94f0f4ff1577385dd8407ec4081c54c75b8cb8e82e2ff64904a7c411", + "urls": [ + "bzz-raw://607a06ba07bb2d337ed23582d6ee902457adc27164fdf1560bd23d0f68cbceb2", + "dweb:/ipfs/QmZENM1tBNEeMBpjdRUPkprZ2Qmnu2cG1StLMrSQxcuJQL" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/BasePolicy.sol": { + "keccak256": "0xbec0c6dae3148c9c400255b1107181ea037e6f178c141505a1ce883941557753", + "urls": [ + "bzz-raw://fd187cdee309d7965ca81a3bd91836fe4c281d97256db519b10a23ebf414fcbf", + "dweb:/ipfs/Qma6ZXgXr35Pv3c1h3XvX8V9vUeKVXHAJ3CrhLndoGEMHM" + ], + "license": "MIT" + }, + "node_modules/@synaps3/types/contracts/core/primitives/Types.sol": { + "keccak256": "0x82754505a2cd1c924a74e7b540ee1562f3ece9464bfa46a90982d336858850b1", + "urls": [ + "bzz-raw://6804018fed4f0dc32e0fd61ddfafe28e9922209f8ccd26205c11755f2def78cf", + "dweb:/ipfs/QmTrEZYSC67aA1Ye8sBFXz2AmcTA4WWSxna5v6QhKYemZe" + ], + "license": "MIT" + } + }, + "version": 1 + }, + "storageLayout": { + "storage": [ + { + "astId": 45796, + "contract": "contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy", + "label": "_status", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 50784, + "contract": "contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy", + "label": "_initialized", + "offset": 0, + "slot": "1", + "type": "t_bool" + }, + { + "astId": 50791, + "contract": "contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy", + "label": "_attestations", + "offset": 0, + "slot": "2", + "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" + }, + { + "astId": 1308, + "contract": "contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy", + "label": "_packages", + "offset": 0, + "slot": "3", + "type": "t_mapping(t_address,t_struct(Package)1303_storage)" + } + ], + "types": { + "t_address": { "encoding": "inplace", "label": "address", "numberOfBytes": "20" }, + "t_bool": { "encoding": "inplace", "label": "bool", "numberOfBytes": "1" }, + "t_mapping(t_address,t_mapping(t_address,t_uint256))": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => mapping(address => uint256))", + "numberOfBytes": "32", + "value": "t_mapping(t_address,t_uint256)" + }, + "t_mapping(t_address,t_struct(Package)1303_storage)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => struct SubscriptionPolicy.Package)", + "numberOfBytes": "32", + "value": "t_struct(Package)1303_storage" + }, + "t_mapping(t_address,t_uint256)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => uint256)", + "numberOfBytes": "32", + "value": "t_uint256" + }, + "t_struct(Package)1303_storage": { + "encoding": "inplace", + "label": "struct SubscriptionPolicy.Package", + "numberOfBytes": "64", + "members": [ + { + "astId": 1300, + "contract": "contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy", + "label": "pricePerDay", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 1302, + "contract": "contracts/policies/SubscriptionPolicy.sol:SubscriptionPolicy", + "label": "currency", + "offset": 0, + "slot": "1", + "type": "t_address" + } + ] + }, + "t_uint256": { "encoding": "inplace", "label": "uint256", "numberOfBytes": "32" } + } + }, + "ast": { + "absolutePath": "contracts/policies/SubscriptionPolicy.sol", + "id": 1648, + "exportedSymbols": { "BasePolicy": [51139], "SubscriptionPolicy": [1647], "T": [51233] }, + "nodeType": "SourceUnit", + "src": "32:6409:7", + "nodes": [ + { + "id": 1290, + "nodeType": "PragmaDirective", + "src": "32:23:7", + "nodes": [], + "literals": ["solidity", "0.8", ".26"] + }, + { + "id": 1292, + "nodeType": "ImportDirective", + "src": "57:69:7", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/primitives/BasePolicy.sol", + "file": "@synaps3/core/primitives/BasePolicy.sol", + "nameLocation": "-1:-1:-1", + "scope": 1648, + "sourceUnit": 51140, + "symbolAliases": [ + { + "foreign": { + "id": 1291, + "name": "BasePolicy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51139, + "src": "66:10:7", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1294, + "nodeType": "ImportDirective", + "src": "127:55:7", + "nodes": [], + "absolutePath": "node_modules/@synaps3/types/contracts/core/primitives/Types.sol", + "file": "@synaps3/core/primitives/Types.sol", + "nameLocation": "-1:-1:-1", + "scope": 1648, + "sourceUnit": 51234, + "symbolAliases": [ + { + "foreign": { + "id": 1293, + "name": "T", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51233, + "src": "136:1:7", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "id": 1647, + "nodeType": "ContractDefinition", + "src": "281:6159:7", + "nodes": [ + { + "id": 1303, + "nodeType": "StructDefinition", + "src": "386:77:7", + "nodes": [], + "canonicalName": "SubscriptionPolicy.Package", + "documentation": { + "id": 1298, + "nodeType": "StructuredDocumentation", + "src": "329:52:7", + "text": "@dev Structure to define a subscription package." + }, + "members": [ + { + "constant": false, + "id": 1300, + "mutability": "mutable", + "name": "pricePerDay", + "nameLocation": "419:11:7", + "nodeType": "VariableDeclaration", + "scope": 1303, + "src": "411:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1299, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "411:7:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1302, + "mutability": "mutable", + "name": "currency", + "nameLocation": "448:8:7", + "nodeType": "VariableDeclaration", + "scope": 1303, + "src": "440:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "440:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "name": "Package", + "nameLocation": "393:7:7", + "scope": 1647, + "visibility": "public" + }, + { + "id": 1308, + "nodeType": "VariableDeclaration", + "src": "553:45:7", + "nodes": [], + "constant": false, + "mutability": "mutable", + "name": "_packages", + "nameLocation": "589:9:7", + "scope": 1647, + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$", + "typeString": "mapping(address => struct SubscriptionPolicy.Package)" + }, + "typeName": { + "id": 1307, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 1304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "561:7:7", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "nodeType": "Mapping", + "src": "553:27:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$", + "typeString": "mapping(address => struct SubscriptionPolicy.Package)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1306, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1305, + "name": "Package", + "nameLocations": ["572:7:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1303, + "src": "572:7:7" + }, + "referencedDeclaration": 1303, + "src": "572:7:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_storage_ptr", + "typeString": "struct SubscriptionPolicy.Package" + } + } + }, + "visibility": "private" + }, + { + "id": 1323, + "nodeType": "FunctionDefinition", + "src": "605:203:7", + "nodes": [], + "body": { + "id": 1322, + "nodeType": "Block", + "src": "806:2:7", + "nodes": [], + "statements": [] + }, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 1317, + "name": "rightPolicyManagerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1310, + "src": "744:25:7", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + { + "id": 1318, + "name": "ownershipAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1312, + "src": "771:16:7", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + { + "id": 1319, + "name": "providerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1314, + "src": "789:15:7", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + } + ], + "id": 1320, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 1316, + "name": "BasePolicy", + "nameLocations": ["733:10:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51139, + "src": "733:10:7" + }, + "nodeType": "ModifierInvocation", + "src": "733:72:7" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "parameters": { + "id": 1315, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1310, + "mutability": "mutable", + "name": "rightPolicyManagerAddress", + "nameLocation": "634:25:7", + "nodeType": "VariableDeclaration", + "scope": 1323, + "src": "626:33:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1309, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "626:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1312, + "mutability": "mutable", + "name": "ownershipAddress", + "nameLocation": "677:16:7", + "nodeType": "VariableDeclaration", + "scope": 1323, + "src": "669:24:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1311, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "669:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1314, + "mutability": "mutable", + "name": "providerAddress", + "nameLocation": "711:15:7", + "nodeType": "VariableDeclaration", + "scope": 1323, + "src": "703:23:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1313, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "703:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + } + ], + "src": "616:116:7" + }, + "returnParameters": { + "id": 1321, + "nodeType": "ParameterList", + "parameters": [], + "src": "806:0:7" + }, + "scope": 1647, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "id": 1332, + "nodeType": "FunctionDefinition", + "src": "862:98:7", + "nodes": [], + "body": { + "id": 1331, + "nodeType": "Block", + "src": "916:44:7", + "nodes": [], + "statements": [ + { + "expression": { + "hexValue": "537562736372697074696f6e506f6c696379", + "id": 1329, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "933:20:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf969a651e510b963d800a99660818c73f95de791671120782050ada205e0116", + "typeString": "literal_string \"SubscriptionPolicy\"" + }, + "value": "SubscriptionPolicy" + }, + "functionReturnParameters": 1328, + "id": 1330, + "nodeType": "Return", + "src": "926:27:7" + } + ] + }, + "baseFunctions": [50246], + "documentation": { + "id": 1324, + "nodeType": "StructuredDocumentation", + "src": "814:43:7", + "text": "@notice Returns the name of the policy." + }, + "functionSelector": "06fdde03", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "871:4:7", + "parameters": { + "id": 1325, + "nodeType": "ParameterList", + "parameters": [], + "src": "875:2:7" + }, + "returnParameters": { + "id": 1328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1327, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1332, + "src": "901:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1326, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "901:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "900:15:7" + }, + "scope": 1647, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 1341, + "nodeType": "FunctionDefinition", + "src": "1045:458:7", + "nodes": [], + "body": { + "id": 1340, + "nodeType": "Block", + "src": "1106:397:7", + "nodes": [], + "statements": [ + { + "expression": { + "hexValue": "5468697320706f6c69637920666f6c6c6f7773206120737562736372697074696f6e206d6f64656c2077697468206461696c792070726963696e672c20616c6c6f77696e6720757365727320746f20616363657373206120636f6e74656e7420686f6c646572277320636174616c6f6720627920706179696e672061206461696c792066656520666f7220612063686f73656e206475726174696f6e2e0a0a4b65792066656174757265733a0a312920466c657869626c6520737562736372697074696f6e20706572696f6473207365742062792074686520617373657420686f6c6465722e0a322920496e7374616e742061636365737320746f20616c6c20636f6e74656e7420647572696e672074686520737562736372697074696f6e20706572696f642e", + "id": 1338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1135:361:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_194b266123184e70dc22bea7312509d4d684e05e0185bd5a1d15a300a36c3030", + "typeString": "literal_string hex\"5468697320706f6c69637920666f6c6c6f7773206120737562736372697074696f6e206d6f64656c2077697468206461696c792070726963696e672c20616c6c6f77696e6720757365727320746f20616363657373206120636f6e74656e7420686f6c646572277320636174616c6f6720627920706179696e672061206461696c792066656520666f7220612063686f73656e206475726174696f6e2e0a0a4b65792066656174757265733a0a312920466c657869626c6520737562736372697074696f6e20706572696f6473207365742062792074686520617373657420686f6c6465722e0a322920496e7374616e742061636365737320746f20616c6c20636f6e74656e7420647572696e672074686520737562736372697074696f6e20706572696f642e\"" + }, + "value": "This policy follows a subscription model with daily pricing, allowing users to access a content holder's catalog by paying a daily fee for a chosen duration.\n\nKey features:\n1) Flexible subscription periods set by the asset holder.\n2) Instant access to all content during the subscription period." + }, + "functionReturnParameters": 1337, + "id": 1339, + "nodeType": "Return", + "src": "1116:380:7" + } + ] + }, + "baseFunctions": [50252], + "documentation": { + "id": 1333, + "nodeType": "StructuredDocumentation", + "src": "966:74:7", + "text": "@notice Returns the business/strategy model implemented by the policy." + }, + "functionSelector": "7284e416", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "description", + "nameLocation": "1054:11:7", + "parameters": { + "id": 1334, + "nodeType": "ParameterList", + "parameters": [], + "src": "1065:2:7" + }, + "returnParameters": { + "id": 1337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1336, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1341, + "src": "1091:13:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1335, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1091:6:7", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1090:15:7" + }, + "scope": 1647, + "stateMutability": "pure", + "virtual": false, + "visibility": "external" + }, + { + "id": 1384, + "nodeType": "FunctionDefinition", + "src": "1895:377:7", + "nodes": [], + "body": { + "id": 1383, + "nodeType": "Block", + "src": "1994:278:7", + "nodes": [], + "statements": [ + { + "assignments": [1353, 1355], + "declarations": [ + { + "constant": false, + "id": 1353, + "mutability": "mutable", + "name": "price", + "nameLocation": "2013:5:7", + "nodeType": "VariableDeclaration", + "scope": 1383, + "src": "2005:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1352, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2005:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1355, + "mutability": "mutable", + "name": "currency", + "nameLocation": "2028:8:7", + "nodeType": "VariableDeclaration", + "scope": 1383, + "src": "2020:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2020:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1365, + "initialValue": { + "arguments": [ + { + "id": 1358, + "name": "init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1345, + "src": "2051:4:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 1360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2058:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1359, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2058:7:7", + "typeDescriptions": {} + } + }, + { + "id": 1362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2067:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1361, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2067:7:7", + "typeDescriptions": {} + } + } + ], + "id": 1363, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "2057:18:7", + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_address_$_$", + "typeString": "tuple(type(uint256),type(address))" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_tuple$_t_type$_t_uint256_$_$_t_type$_t_address_$_$", + "typeString": "tuple(type(uint256),type(address))" + } + ], + "expression": { + "id": 1356, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2040:3:7", + "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } + }, + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "2044:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "2040:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2040:36:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_uint256_$_t_address_payable_$", + "typeString": "tuple(uint256,address payable)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2004:72:7" + }, + { + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1366, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1353, + "src": "2090:5:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2099:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2090:10:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 1373, + "nodeType": "IfStatement", + "src": "2086:75:7", + "trueBody": { + "errorCall": { + "arguments": [ + { + "hexValue": "496e76616c696420737562736372697074696f6e2070726963652e", + "id": 1370, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2131:29:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c34de7f84731edc9f4306314e0fbfea34befcd31b45a6958b105a0d671747e17", + "typeString": "literal_string \"Invalid subscription price.\"" + }, + "value": "Invalid subscription price." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c34de7f84731edc9f4306314e0fbfea34befcd31b45a6958b105a0d671747e17", + "typeString": "literal_string \"Invalid subscription price.\"" + } + ], + "id": 1369, + "name": "InvalidInitialization", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50827, + "src": "2109:21:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$", + "typeString": "function (string memory) pure returns (error)" + } + }, + "id": 1371, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2109:52:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 1372, + "nodeType": "RevertStatement", + "src": "2102:59:7" + } + }, + { + "expression": { + "id": 1381, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1374, + "name": "_packages", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1308, + "src": "2221:9:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$", + "typeString": "mapping(address => struct SubscriptionPolicy.Package storage ref)" + } + }, + "id": 1376, + "indexExpression": { + "id": 1375, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1343, + "src": "2231:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2221:17:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_storage", + "typeString": "struct SubscriptionPolicy.Package storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1378, + "name": "price", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1353, + "src": "2249:5:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1379, + "name": "currency", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1355, + "src": "2256:8:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 1377, + "name": "Package", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1303, + "src": "2241:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Package_$1303_storage_ptr_$", + "typeString": "type(struct SubscriptionPolicy.Package storage pointer)" + } + }, + "id": 1380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2241:24:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_memory_ptr", + "typeString": "struct SubscriptionPolicy.Package memory" + } + }, + "src": "2221:44:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_storage", + "typeString": "struct SubscriptionPolicy.Package storage ref" + } + }, + "id": 1382, + "nodeType": "ExpressionStatement", + "src": "2221:44:7" + } + ] + }, + "baseFunctions": [50260], + "functionSelector": "d1f57894", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1348, + "kind": "modifierInvocation", + "modifierName": { + "id": 1347, + "name": "onlyPolicyAuthorizer", + "nameLocations": ["1961:20:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50865, + "src": "1961:20:7" + }, + "nodeType": "ModifierInvocation", + "src": "1961:20:7" + }, + { + "id": 1350, + "kind": "modifierInvocation", + "modifierName": { + "id": 1349, + "name": "initializer", + "nameLocations": ["1982:11:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50878, + "src": "1982:11:7" + }, + "nodeType": "ModifierInvocation", + "src": "1982:11:7" + } + ], + "name": "initialize", + "nameLocation": "1904:10:7", + "parameters": { + "id": 1346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1343, + "mutability": "mutable", + "name": "holder", + "nameLocation": "1923:6:7", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "1915:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1915:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1345, + "mutability": "mutable", + "name": "init", + "nameLocation": "1946:4:7", + "nodeType": "VariableDeclaration", + "scope": 1384, + "src": "1931:19:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1344, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1931:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1914:37:7" + }, + "returnParameters": { + "id": 1351, + "nodeType": "ParameterList", + "parameters": [], + "src": "1994:0:7" + }, + "scope": 1647, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 1457, + "nodeType": "FunctionDefinition", + "src": "2427:933:7", + "nodes": [], + "body": { + "id": 1456, + "nodeType": "Block", + "src": "2580:780:7", + "nodes": [], + "statements": [ + { + "assignments": [1401], + "declarations": [ + { + "constant": false, + "id": 1401, + "mutability": "mutable", + "name": "pkg", + "nameLocation": "2605:3:7", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "2590:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_memory_ptr", + "typeString": "struct SubscriptionPolicy.Package" + }, + "typeName": { + "id": 1400, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1399, + "name": "Package", + "nameLocations": ["2590:7:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1303, + "src": "2590:7:7" + }, + "referencedDeclaration": 1303, + "src": "2590:7:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_storage_ptr", + "typeString": "struct SubscriptionPolicy.Package" + } + }, + "visibility": "internal" + } + ], + "id": 1405, + "initialValue": { + "baseExpression": { + "id": 1402, + "name": "_packages", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1308, + "src": "2611:9:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$", + "typeString": "mapping(address => struct SubscriptionPolicy.Package storage ref)" + } + }, + "id": 1404, + "indexExpression": { + "id": 1403, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1386, + "src": "2621:6:7", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2611:17:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_storage", + "typeString": "struct SubscriptionPolicy.Package storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2590:38:7" + }, + { + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1409, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1406, + "name": "pkg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "2642:3:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_memory_ptr", + "typeString": "struct SubscriptionPolicy.Package memory" + } + }, + "id": 1407, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2646:11:7", + "memberName": "pricePerDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 1300, + "src": "2642:15:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2661:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2642:20:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 1415, + "nodeType": "IfStatement", + "src": "2638:213:7", + "trueBody": { + "id": 1414, + "nodeType": "Block", + "src": "2664:187:7", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "hexValue": "496e76616c6964206e6f7420696e697469616c697a656420686f6c64657220636f6e646974696f6e73", + "id": 1411, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2796:43:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1aec205e23794276aa0afcfadd0b767e900e2e41565fc044513d6e45af83bcbd", + "typeString": "literal_string \"Invalid not initialized holder conditions\"" + }, + "value": "Invalid not initialized holder conditions" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_1aec205e23794276aa0afcfadd0b767e900e2e41565fc044513d6e45af83bcbd", + "typeString": "literal_string \"Invalid not initialized holder conditions\"" + } + ], + "id": 1410, + "name": "InvalidEnforcement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50819, + "src": "2777:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$", + "typeString": "function (string memory) pure returns (error)" + } + }, + "id": 1412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2777:63:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 1413, + "nodeType": "RevertStatement", + "src": "2770:70:7" + } + ] + } + }, + { + "assignments": [1417], + "declarations": [ + { + "constant": false, + "id": 1417, + "mutability": "mutable", + "name": "paidAmount", + "nameLocation": "2869:10:7", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "2861:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1416, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2861:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1420, + "initialValue": { + "expression": { + "id": 1418, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1389, + "src": "2882:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$51199_calldata_ptr", + "typeString": "struct T.Agreement calldata" + } + }, + "id": 1419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2892:5:7", + "memberName": "total", + "nodeType": "MemberAccess", + "referencedDeclaration": 51191, + "src": "2882:15:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2861:36:7" + }, + { + "assignments": [1422], + "declarations": [ + { + "constant": false, + "id": 1422, + "mutability": "mutable", + "name": "partiesLen", + "nameLocation": "2915:10:7", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "2907:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1421, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2907:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1426, + "initialValue": { + "expression": { + "expression": { + "id": 1423, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1389, + "src": "2928:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$51199_calldata_ptr", + "typeString": "struct T.Agreement calldata" + } + }, + "id": 1424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2938:7:7", + "memberName": "parties", + "nodeType": "MemberAccess", + "referencedDeclaration": 51196, + "src": "2928:17:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", + "typeString": "address[] calldata" + } + }, + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2946:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2928:24:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2907:45:7" + }, + { + "assignments": [1428], + "declarations": [ + { + "constant": false, + "id": 1428, + "mutability": "mutable", + "name": "pricePerDay", + "nameLocation": "2970:11:7", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "2962:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1427, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2962:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1431, + "initialValue": { + "expression": { + "id": 1429, + "name": "pkg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1401, + "src": "2984:3:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_memory_ptr", + "typeString": "struct SubscriptionPolicy.Package memory" + } + }, + "id": 1430, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2988:11:7", + "memberName": "pricePerDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 1300, + "src": "2984:15:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2962:37:7" + }, + { + "assignments": [1433], + "declarations": [ + { + "constant": false, + "id": 1433, + "mutability": "mutable", + "name": "duration", + "nameLocation": "3097:8:7", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "3089:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1432, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3089:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1439, + "initialValue": { + "arguments": [ + { + "id": 1435, + "name": "paidAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1417, + "src": "3130:10:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1436, + "name": "pricePerDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1428, + "src": "3142:11:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1437, + "name": "partiesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1422, + "src": "3155:10:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "id": 1434, + "name": "_verifyDaysFromAmount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1596, + "src": "3108:21:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (uint256,uint256,uint256) pure returns (uint256)" + } + }, + "id": 1438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3108:58:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3089:77:7" + }, + { + "assignments": [1441], + "declarations": [ + { + "constant": false, + "id": 1441, + "mutability": "mutable", + "name": "subExpire", + "nameLocation": "3250:9:7", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "3242:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1440, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3242:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1449, + "initialValue": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1442, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "3262:5:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1443, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3268:9:7", + "memberName": "timestamp", + "nodeType": "MemberAccess", + "src": "3262:15:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "components": [ + { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1444, + "name": "duration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1433, + "src": "3281:8:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "hexValue": "31", + "id": 1445, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3292:6:7", + "subdenomination": "days", + "typeDescriptions": { + "typeIdentifier": "t_rational_86400_by_1", + "typeString": "int_const 86400" + }, + "value": "1" + }, + "src": "3281:17:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1447, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3280:19:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "3262:37:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3242:57:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1451, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1386, + "src": "3324:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1452, + "name": "agreement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1389, + "src": "3332:9:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$51199_calldata_ptr", + "typeString": "struct T.Agreement calldata" + } + }, + { + "id": 1453, + "name": "subExpire", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1441, + "src": "3343:9:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { + "typeIdentifier": "t_struct$_Agreement_$51199_calldata_ptr", + "typeString": "struct T.Agreement calldata" + }, + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "id": 1450, + "name": "_commit", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51083, + "src": "3316:7:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_struct$_Agreement_$51199_memory_ptr_$_t_uint256_$returns$_t_array$_t_uint256_$dyn_memory_ptr_$", + "typeString": "function (address,struct T.Agreement memory,uint256) returns (uint256[] memory)" + } + }, + "id": 1454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3316:37:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[] memory" + } + }, + "functionReturnParameters": 1398, + "id": 1455, + "nodeType": "Return", + "src": "3309:44:7" + } + ] + }, + "baseFunctions": [50272], + "functionSelector": "464c0aeb", + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1392, + "kind": "modifierInvocation", + "modifierName": { + "id": 1391, + "name": "onlyPolicyManager", + "nameLocations": ["2523:17:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50845, + "src": "2523:17:7" + }, + "nodeType": "ModifierInvocation", + "src": "2523:17:7" + }, + { + "id": 1394, + "kind": "modifierInvocation", + "modifierName": { + "id": 1393, + "name": "initialized", + "nameLocations": ["2541:11:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 50890, + "src": "2541:11:7" + }, + "nodeType": "ModifierInvocation", + "src": "2541:11:7" + } + ], + "name": "enforce", + "nameLocation": "2436:7:7", + "parameters": { + "id": 1390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1386, + "mutability": "mutable", + "name": "holder", + "nameLocation": "2461:6:7", + "nodeType": "VariableDeclaration", + "scope": 1457, + "src": "2453:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2453:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1389, + "mutability": "mutable", + "name": "agreement", + "nameLocation": "2498:9:7", + "nodeType": "VariableDeclaration", + "scope": 1457, + "src": "2477:30:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$51199_calldata_ptr", + "typeString": "struct T.Agreement" + }, + "typeName": { + "id": 1388, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1387, + "name": "T.Agreement", + "nameLocations": ["2477:1:7", "2479:9:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51199, + "src": "2477:11:7" + }, + "referencedDeclaration": 51199, + "src": "2477:11:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Agreement_$51199_storage_ptr", + "typeString": "struct T.Agreement" + } + }, + "visibility": "internal" + } + ], + "src": "2443:70:7" + }, + "returnParameters": { + "id": 1398, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1397, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1457, + "src": "2562:16:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 1395, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2562:7:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "id": 1396, + "nodeType": "ArrayTypeName", + "src": "2562:9:7", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "2561:18:7" + }, + "scope": 1647, + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "id": 1505, + "nodeType": "FunctionDefinition", + "src": "3449:527:7", + "nodes": [], + "body": { + "id": 1504, + "nodeType": "Block", + "src": "3545:431:7", + "nodes": [], + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 1468, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "3640:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_bytes_calldata_ptr", "typeString": "bytes calldata" } + ], + "id": 1467, + "name": "_isHolderAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1646, + "src": "3623:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bool_$", + "typeString": "function (bytes calldata) pure returns (bool)" + } + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3623:26:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 1486, + "nodeType": "IfStatement", + "src": "3619:186:7", + "trueBody": { + "id": 1485, + "nodeType": "Block", + "src": "3651:154:7", + "statements": [ + { + "assignments": [1471], + "declarations": [ + { + "constant": false, + "id": 1471, + "mutability": "mutable", + "name": "holder", + "nameLocation": "3705:6:7", + "nodeType": "VariableDeclaration", + "scope": 1485, + "src": "3697:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1470, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3697:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1479, + "initialValue": { + "arguments": [ + { + "id": 1474, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "3725:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 1476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3736:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1475, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3736:7:7", + "typeDescriptions": {} + } + } + ], + "id": 1477, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3735:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + ], + "expression": { + "id": 1472, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3714:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 1473, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3718:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "3714:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3714:31:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3697:48:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1481, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1460, + "src": "3778:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1482, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1471, + "src": "3787:6:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 1480, + "name": "isCompliant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51009, + "src": "3766:11:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 1483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3766:28:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "functionReturnParameters": 1466, + "id": 1484, + "nodeType": "Return", + "src": "3759:35:7" + } + ] + } + }, + { + "assignments": [1488], + "declarations": [ + { + "constant": false, + "id": 1488, + "mutability": "mutable", + "name": "assetId", + "nameLocation": "3871:7:7", + "nodeType": "VariableDeclaration", + "scope": 1504, + "src": "3863:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1487, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3863:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1496, + "initialValue": { + "arguments": [ + { + "id": 1491, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1462, + "src": "3892:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 1493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3903:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3903:7:7", + "typeDescriptions": {} + } + } + ], + "id": 1494, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "3902:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" } + ], + "expression": { + "id": 1489, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3881:3:7", + "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } + }, + "id": 1490, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3885:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "3881:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3881:31:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3863:49:7" + }, + { + "expression": { + "arguments": [ + { + "id": 1498, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1460, + "src": "3941:7:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 1500, + "name": "assetId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1488, + "src": "3960:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" } + ], + "id": 1499, + "name": "getHolder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51023, + "src": "3950:9:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_uint256_$returns$_t_address_$", + "typeString": "function (uint256) view returns (address)" + } + }, + "id": 1501, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3950:18:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_address", "typeString": "address" }, + { "typeIdentifier": "t_address", "typeString": "address" } + ], + "id": 1497, + "name": "isCompliant", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51009, + "src": "3929:11:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_bool_$", + "typeString": "function (address,address) view returns (bool)" + } + }, + "id": 1502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3929:40:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "functionReturnParameters": 1466, + "id": 1503, + "nodeType": "Return", + "src": "3922:47:7" + } + ] + }, + "baseFunctions": [50282], + "documentation": { + "id": 1458, + "nodeType": "StructuredDocumentation", + "src": "3366:78:7", + "text": "@notice Verifies if an account has access to holder's content or asset id." + }, + "functionSelector": "cfdce1a7", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isAccessAllowed", + "nameLocation": "3458:15:7", + "parameters": { + "id": 1463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1460, + "mutability": "mutable", + "name": "account", + "nameLocation": "3482:7:7", + "nodeType": "VariableDeclaration", + "scope": 1505, + "src": "3474:15:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, + "typeName": { + "id": 1459, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3474:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1462, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "3506:8:7", + "nodeType": "VariableDeclaration", + "scope": 1505, + "src": "3491:23:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1461, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3491:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3473:42:7" + }, + "returnParameters": { + "id": 1466, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1465, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1505, + "src": "3539:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 1464, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3539:4:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + } + ], + "src": "3538:6:7" + }, + "scope": 1647, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 1553, + "nodeType": "FunctionDefinition", + "src": "4066:604:7", + "nodes": [], + "body": { + "id": 1552, + "nodeType": "Block", + "src": "4152:518:7", + "nodes": [], + "statements": [ + { + "condition": { + "id": 1517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4345:27:7", + "subExpression": { + "arguments": [ + { + "id": 1515, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1508, + "src": "4363:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + ], + "id": 1514, + "name": "_isHolderAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1646, + "src": "4346:16:7", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_calldata_ptr_$returns$_t_bool_$", + "typeString": "function (bytes calldata) pure returns (bool)" + } + }, + "id": 1516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4346:26:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 1522, + "nodeType": "IfStatement", + "src": "4341:95:7", + "trueBody": { + "id": 1521, + "nodeType": "Block", + "src": "4374:62:7", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1518, + "name": "InvalidNotSupportedOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50806, + "src": "4395:28:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 1519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4395:30:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 1520, + "nodeType": "RevertStatement", + "src": "4388:37:7" + } + ] + } + }, + { + "assignments": [1524], + "declarations": [ + { + "constant": false, + "id": 1524, + "mutability": "mutable", + "name": "holder", + "nameLocation": "4454:6:7", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "4446:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1523, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4446:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1532, + "initialValue": { + "arguments": [ + { + "id": 1527, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1508, + "src": "4474:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + { + "components": [ + { + "id": 1529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4485:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1528, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4485:7:7", + "typeDescriptions": {} + } + } + ], + "id": 1530, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "4484:9:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + }, + { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" } + ], + "expression": { + "id": 1525, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4463:3:7", + "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } + }, + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4467:6:7", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "4463:10:7", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4463:31:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4446:48:7" + }, + { + "assignments": [1535], + "declarations": [ + { + "constant": false, + "id": 1535, + "mutability": "mutable", + "name": "pkg", + "nameLocation": "4519:3:7", + "nodeType": "VariableDeclaration", + "scope": 1552, + "src": "4504:18:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_memory_ptr", + "typeString": "struct SubscriptionPolicy.Package" + }, + "typeName": { + "id": 1534, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1533, + "name": "Package", + "nameLocations": ["4504:7:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1303, + "src": "4504:7:7" + }, + "referencedDeclaration": 1303, + "src": "4504:7:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_storage_ptr", + "typeString": "struct SubscriptionPolicy.Package" + } + }, + "visibility": "internal" + } + ], + "id": 1539, + "initialValue": { + "baseExpression": { + "id": 1536, + "name": "_packages", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1308, + "src": "4525:9:7", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Package_$1303_storage_$", + "typeString": "mapping(address => struct SubscriptionPolicy.Package storage ref)" + } + }, + "id": 1538, + "indexExpression": { + "id": 1537, + "name": "holder", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1524, + "src": "4535:6:7", + "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4525:17:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_storage", + "typeString": "struct SubscriptionPolicy.Package storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4504:38:7" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 1542, + "name": "pkg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1535, + "src": "4603:3:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_memory_ptr", + "typeString": "struct SubscriptionPolicy.Package memory" + } + }, + "id": 1543, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4607:11:7", + "memberName": "pricePerDay", + "nodeType": "MemberAccess", + "referencedDeclaration": 1300, + "src": "4603:15:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 1544, + "name": "pkg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1535, + "src": "4620:3:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Package_$1303_memory_ptr", + "typeString": "struct SubscriptionPolicy.Package memory" + } + }, + "id": 1545, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4624:8:7", + "memberName": "currency", + "nodeType": "MemberAccess", + "referencedDeclaration": 1302, + "src": "4620:12:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "expression": { + "id": 1546, + "name": "T", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51233, + "src": "4634:1:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_T_$51233_$", + "typeString": "type(library T)" + } + }, + "id": 1547, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4636:9:7", + "memberName": "RateBasis", + "nodeType": "MemberAccess", + "referencedDeclaration": 51211, + "src": "4634:11:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_RateBasis_$51211_$", + "typeString": "type(enum T.RateBasis)" + } + }, + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4646:5:7", + "memberName": "DAILY", + "nodeType": "MemberAccess", + "referencedDeclaration": 51209, + "src": "4634:17:7", + "typeDescriptions": { + "typeIdentifier": "t_enum$_RateBasis_$51211", + "typeString": "enum T.RateBasis" + } + }, + { + "hexValue": "697066733a2f2f", + "id": 1549, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4653:9:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe", + "typeString": "literal_string \"ipfs://\"" + }, + "value": "ipfs://" + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + { "typeIdentifier": "t_address", "typeString": "address" }, + { + "typeIdentifier": "t_enum$_RateBasis_$51211", + "typeString": "enum T.RateBasis" + }, + { + "typeIdentifier": "t_stringliteral_66f0790b1cbe0dcac007f07341b00cafe2bda254914729058b5209e04b702afe", + "typeString": "literal_string \"ipfs://\"" + } + ], + "expression": { + "id": 1540, + "name": "T", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 51233, + "src": "4595:1:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_T_$51233_$", + "typeString": "type(library T)" + } + }, + "id": 1541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4597:5:7", + "memberName": "Terms", + "nodeType": "MemberAccess", + "referencedDeclaration": 51222, + "src": "4595:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Terms_$51222_storage_ptr_$", + "typeString": "type(struct T.Terms storage pointer)" + } + }, + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4595:68:7", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_memory_ptr", + "typeString": "struct T.Terms memory" + } + }, + "functionReturnParameters": 1513, + "id": 1551, + "nodeType": "Return", + "src": "4588:75:7" + } + ] + }, + "baseFunctions": [50291], + "documentation": { + "id": 1506, + "nodeType": "StructuredDocumentation", + "src": "3982:79:7", + "text": "@notice Retrieves the terms associated with a specific criteria and policy." + }, + "functionSelector": "a3937111", + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "resolveTerms", + "nameLocation": "4075:12:7", + "parameters": { + "id": 1509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1508, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "4103:8:7", + "nodeType": "VariableDeclaration", + "scope": 1553, + "src": "4088:23:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1507, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4088:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4087:25:7" + }, + "returnParameters": { + "id": 1513, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1512, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1553, + "src": "4136:14:7", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_memory_ptr", + "typeString": "struct T.Terms" + }, + "typeName": { + "id": 1511, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1510, + "name": "T.Terms", + "nameLocations": ["4136:1:7", "4138:5:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51222, + "src": "4136:7:7" + }, + "referencedDeclaration": 51222, + "src": "4136:7:7", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Terms_$51222_storage_ptr", + "typeString": "struct T.Terms" + } + }, + "visibility": "internal" + } + ], + "src": "4135:16:7" + }, + "scope": 1647, + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "id": 1596, + "nodeType": "FunctionDefinition", + "src": "4676:669:7", + "nodes": [], + "body": { + "id": 1595, + "nodeType": "Block", + "src": "4825:520:7", + "nodes": [], + "statements": [ + { + "assignments": [1565], + "declarations": [ + { + "constant": false, + "id": 1565, + "mutability": "mutable", + "name": "paymentPerAccount", + "nameLocation": "4918:17:7", + "nodeType": "VariableDeclaration", + "scope": 1595, + "src": "4910:25:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1564, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4910:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1569, + "initialValue": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1566, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "4938:6:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 1567, + "name": "partiesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "4947:10:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "4938:19:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4910:47:7" + }, + { + "assignments": [1571], + "declarations": [ + { + "constant": false, + "id": 1571, + "mutability": "mutable", + "name": "subscriptionDuration", + "nameLocation": "5023:20:7", + "nodeType": "VariableDeclaration", + "scope": 1595, + "src": "5015:28:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5015:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1575, + "initialValue": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1572, + "name": "paymentPerAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1565, + "src": "5046:17:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "id": 1573, + "name": "pricePerDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "5066:11:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "5046:31:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5015:62:7" + }, + { + "assignments": [1577], + "declarations": [ + { + "constant": false, + "id": 1577, + "mutability": "mutable", + "name": "total", + "nameLocation": "5150:5:7", + "nodeType": "VariableDeclaration", + "scope": 1595, + "src": "5142:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5142:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1584, + "initialValue": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1578, + "name": "subscriptionDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1571, + "src": "5159:20:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1579, + "name": "pricePerDay", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "5182:11:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5159:34:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1581, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "5158:36:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1582, + "name": "partiesLen", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1559, + "src": "5197:10:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "5158:49:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5142:65:7" + }, + { + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1585, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1555, + "src": "5221:6:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1586, + "name": "total", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1577, + "src": "5230:5:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "src": "5221:14:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 1592, + "nodeType": "IfStatement", + "src": "5217:84:7", + "trueBody": { + "errorCall": { + "arguments": [ + { + "hexValue": "496e73756666696369656e742066756e647320666f7220737562736372697074696f6e", + "id": 1589, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5263:37:7", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_672f704359c96e0312355040ab5c89b621a6d70e08076807a34681fa7dc8d2e7", + "typeString": "literal_string \"Insufficient funds for subscription\"" + }, + "value": "Insufficient funds for subscription" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_672f704359c96e0312355040ab5c89b621a6d70e08076807a34681fa7dc8d2e7", + "typeString": "literal_string \"Insufficient funds for subscription\"" + } + ], + "id": 1588, + "name": "InvalidEnforcement", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50819, + "src": "5244:18:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_string_memory_ptr_$returns$_t_error_$", + "typeString": "function (string memory) pure returns (error)" + } + }, + "id": 1590, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5244:57:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 1591, + "nodeType": "RevertStatement", + "src": "5237:64:7" + } + }, + { + "expression": { + "id": 1593, + "name": "subscriptionDuration", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1571, + "src": "5318:20:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "functionReturnParameters": 1563, + "id": 1594, + "nodeType": "Return", + "src": "5311:27:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_verifyDaysFromAmount", + "nameLocation": "4685:21:7", + "parameters": { + "id": 1560, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1555, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4724:6:7", + "nodeType": "VariableDeclaration", + "scope": 1596, + "src": "4716:14:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1554, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4716:7:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1557, + "mutability": "mutable", + "name": "pricePerDay", + "nameLocation": "4748:11:7", + "nodeType": "VariableDeclaration", + "scope": 1596, + "src": "4740:19:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1556, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4740:7:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1559, + "mutability": "mutable", + "name": "partiesLen", + "nameLocation": "4777:10:7", + "nodeType": "VariableDeclaration", + "scope": 1596, + "src": "4769:18:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1558, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4769:7:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "4706:87:7" + }, + "returnParameters": { + "id": 1563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1562, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1596, + "src": "4816:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "typeName": { + "id": 1561, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4816:7:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "visibility": "internal" + } + ], + "src": "4815:9:7" + }, + "scope": 1647, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "id": 1646, + "nodeType": "FunctionDefinition", + "src": "5351:1087:7", + "nodes": [], + "body": { + "id": 1645, + "nodeType": "Block", + "src": "5430:1008:7", + "nodes": [], + "statements": [ + { + "condition": { + "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, + "id": 1606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1603, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1598, + "src": "6193:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6202:6:7", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "6193:15:7", + "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "3332", + "id": 1605, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6212:2:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "src": "6193:21:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "id": 1610, + "nodeType": "IfStatement", + "src": "6189:64:7", + "trueBody": { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1607, + "name": "InvalidNotSupportedOperation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 50806, + "src": "6223:28:7", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$_t_error_$", + "typeString": "function () pure returns (error)" + } + }, + "id": 1608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6223:30:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_error", "typeString": "error" } + }, + "id": 1609, + "nodeType": "RevertStatement", + "src": "6216:37:7" + } + }, + { + "assignments": [1612], + "declarations": [ + { + "constant": false, + "id": 1612, + "mutability": "mutable", + "name": "last20Valid", + "nameLocation": "6268:11:7", + "nodeType": "VariableDeclaration", + "scope": 1645, + "src": "6263:16:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 1611, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6263:4:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + } + ], + "id": 1625, + "initialValue": { + "commonType": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" }, + "id": 1624, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "baseExpression": { + "id": 1615, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1598, + "src": "6290:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "endExpression": { + "hexValue": "3332", + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6302:2:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + }, + "id": 1618, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "6290:15:7", + "startExpression": { + "hexValue": "3132", + "id": 1616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6299:2:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + ], + "id": 1614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6282:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes20_$", + "typeString": "type(bytes20)" + }, + "typeName": { + "id": 1613, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "6282:7:7", + "typeDescriptions": {} + } + }, + "id": 1619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6282:24:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1622, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6318:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } + ], + "id": 1621, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6310:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes20_$", + "typeString": "type(bytes20)" + }, + "typeName": { + "id": 1620, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "6310:7:7", + "typeDescriptions": {} + } + }, + "id": 1623, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6310:10:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bytes20", "typeString": "bytes20" } + }, + "src": "6282:38:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6263:57:7" + }, + { + "assignments": [1627], + "declarations": [ + { + "constant": false, + "id": 1627, + "mutability": "mutable", + "name": "first12Valid", + "nameLocation": "6335:12:7", + "nodeType": "VariableDeclaration", + "scope": 1645, + "src": "6330:17:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 1626, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6330:4:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + } + ], + "id": 1640, + "initialValue": { + "commonType": { "typeIdentifier": "t_bytes12", "typeString": "bytes12" }, + "id": 1639, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "baseExpression": { + "id": 1630, + "name": "criteria", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1598, + "src": "6358:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "endExpression": { + "hexValue": "3132", + "id": 1632, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6369:2:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_12_by_1", + "typeString": "int_const 12" + }, + "value": "12" + }, + "id": 1633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexRangeAccess", + "src": "6358:14:7", + "startExpression": { + "hexValue": "30", + "id": 1631, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6367:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_calldata_ptr_slice", + "typeString": "bytes calldata slice" + } + ], + "id": 1629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6350:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes12_$", + "typeString": "type(bytes12)" + }, + "typeName": { + "id": 1628, + "name": "bytes12", + "nodeType": "ElementaryTypeName", + "src": "6350:7:7", + "typeDescriptions": {} + } + }, + "id": 1634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6350:23:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bytes12", "typeString": "bytes12" } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6385:1:7", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" } + ], + "id": 1636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6377:7:7", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes12_$", + "typeString": "type(bytes12)" + }, + "typeName": { + "id": 1635, + "name": "bytes12", + "nodeType": "ElementaryTypeName", + "src": "6377:7:7", + "typeDescriptions": {} + } + }, + "id": 1638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6377:10:7", + "tryCall": false, + "typeDescriptions": { "typeIdentifier": "t_bytes12", "typeString": "bytes12" } + }, + "src": "6350:37:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6330:57:7" + }, + { + "expression": { + "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1641, + "name": "last20Valid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1612, + "src": "6404:11:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 1642, + "name": "first12Valid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1627, + "src": "6419:12:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "src": "6404:27:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "functionReturnParameters": 1602, + "id": 1644, + "nodeType": "Return", + "src": "6397:34:7" + } + ] + }, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isHolderAddress", + "nameLocation": "5360:16:7", + "parameters": { + "id": 1599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1598, + "mutability": "mutable", + "name": "criteria", + "nameLocation": "5392:8:7", + "nodeType": "VariableDeclaration", + "scope": 1646, + "src": "5377:23:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1597, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5377:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5376:25:7" + }, + "returnParameters": { + "id": 1602, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1601, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1646, + "src": "5424:4:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, + "typeName": { + "id": 1600, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5424:4:7", + "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } + }, + "visibility": "internal" + } + ], + "src": "5423:6:7" + }, + "scope": 1647, + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1296, + "name": "BasePolicy", + "nameLocations": ["312:10:7"], + "nodeType": "IdentifierPath", + "referencedDeclaration": 51139, + "src": "312:10:7" + }, + "id": 1297, + "nodeType": "InheritanceSpecifier", + "src": "312:10:7" + } + ], + "canonicalName": "SubscriptionPolicy", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1295, + "nodeType": "StructuredDocumentation", + "src": "184:97:7", + "text": "@title SubscriptionPolicy\n @notice Implements a subscription-based content access policy." + }, + "fullyImplemented": true, + "linearizedBaseContracts": [1647, 51139, 46322, 46334, 50308, 45854], + "name": "SubscriptionPolicy", + "nameLocation": "290:18:7", + "scope": 1648, + "usedErrors": [45799, 50803, 50806, 50811, 50814, 50819, 50822, 50827], + "usedEvents": [50800] + } + ], + "license": "MIT" + }, + "id": 7 +} diff --git a/src/hooks/use-authorize-policy.ts b/src/hooks/use-authorize-policy.ts index 640f188dd..8643d147d 100644 --- a/src/hooks/use-authorize-policy.ts +++ b/src/hooks/use-authorize-policy.ts @@ -5,26 +5,19 @@ import { useState } from 'react'; import { encodeFunctionData } from 'viem'; // LOCAL IMPORTS -import { useWeb3Auth } from '@src/hooks/use-web3-auth.ts'; import RightsPolicyAuthorizerAbi from '@src/config/abi/RightsPolicyAuthorizer.json'; import { GLOBAL_CONSTANTS } from '@src/config-global.ts'; -import {useSelector} from "react-redux"; +import { useSelector } from 'react-redux'; +import { useWeb3Session } from '@src/hooks/use-web3-session.ts'; +import { ERRORS } from '@notifications/errors.ts'; // ---------------------------------------------------------------------- - -// Define the shape of the error object -interface AuthorizeError { - message: string; - code?: number; - [key: string]: any; // For additional error properties -} - // Define the return type of the useAuthorizePolicy hook interface useAuthorizePolicyHook { data?: any; authorize: (params: AuthorizePolicyParams) => Promise; loading: boolean; - error?: AuthorizeError | null; + error?: keyof typeof ERRORS | null; } // Parameters to be passed to the subscribe function @@ -38,9 +31,9 @@ interface AuthorizePolicyParams { export const useAuthorizePolicy = (): useAuthorizePolicyHook => { const [data, setData] = useState(); const [loading, setLoading] = useState(false); - const [error, setError] = useState(null); + const [error, setError] = useState(null); const sessionData = useSelector((state: any) => state.auth.session); - const { web3Auth } = useWeb3Auth(); + const { bundlerClient, smartAccount } = useWeb3Session(); /** * Creates the flash policy agreement data. @@ -65,21 +58,14 @@ export const useAuthorizePolicy = (): useAuthorizePolicyHook => { setError(null); try { - // Retrieve the account abstraction provider, bundler client, and smart account - const accountAbstractionProvider = web3Auth.options.accountAbstractionProvider; - // @ts-ignore - const bundlerClient = accountAbstractionProvider.bundlerClient; - // @ts-ignore - const smartAccount = accountAbstractionProvider.smartAccount; - if (!sessionData?.authenticated) { - setError({ message: 'Please login to authorize policy' }); + setError(ERRORS.AUTHORIZATION_POLICY_ERROR); setLoading(false); return; } if (!bundlerClient) { - setError({ message: 'Bundler client not available' }); + setError(ERRORS.BUNDLER_UNAVAILABLE); setLoading(false); return; } @@ -114,7 +100,7 @@ export const useAuthorizePolicy = (): useAuthorizePolicyHook => { setData(receipt); setLoading(false); } catch (err: any) { - setError({ message: err.message || 'An error occurred', ...err }); + setError(ERRORS.UNKNOWN_ERROR); setLoading(false); } }; diff --git a/src/hooks/use-deposit-metamask.ts b/src/hooks/use-deposit-metamask.ts index 8abdda307..664c91a33 100644 --- a/src/hooks/use-deposit-metamask.ts +++ b/src/hooks/use-deposit-metamask.ts @@ -5,28 +5,23 @@ import LedgerVaultAbi from '@src/config/abi/LedgerVault.json'; import MMCAbi from '@src/config/abi/MMC.json'; import { GLOBAL_CONSTANTS } from '@src/config-global'; import { publicClient } from '@src/clients/viem/publicClient'; -import { useSnackbar } from 'notistack'; - -// AND HERE -interface VaultError { - message: string; - code?: number; - [key: string]: any; -} +import { ERRORS } from '@notifications/errors.ts'; +import { notifyInfo } from '@notifications/internal-notifications.ts'; +import { INFO } from '@notifications/info.ts'; // SAME HERE interface DepositParams { recipient: string; // The address receiving the deposit - amount: number; // Amount in "human" format (not in Wei) + amount: number; // Amount in "human" format (not in Wei) } // TODO this could be handled in one interface in a type.tsx file -// is duplicated in use-deposit, this MUST be reusable +// is duplicated in use-deposit, this MUST be reusable interface UseDepositHook { data?: any; deposit: (params: DepositParams) => Promise; loading: boolean; - error?: VaultError | null; + error?: keyof typeof ERRORS | null; } /** @@ -37,8 +32,7 @@ interface UseDepositHook { export const useDepositMetamask = (): UseDepositHook => { const [data, setData] = useState(null); const [loading, setLoading] = useState(false); - const [error, setError] = useState(null); - const { enqueueSnackbar } = useSnackbar(); + const [error, setError] = useState(null); const deposit = async ({ recipient, amount }: DepositParams) => { setLoading(true); @@ -55,10 +49,7 @@ export const useDepositMetamask = (): UseDepositHook => { const weiAmount = parseUnits(amount.toString(), 18); // Notify the user that we are sending approve transaction to the network - enqueueSnackbar('Sending approve transaction to the network...', { - variant: 'info', - autoHideDuration: 3000, - }); + notifyInfo(INFO.APPROVE_SENDING_CONFIRMATION, { options: { autoHideDuration: 3000 } }); // 4) First transaction: approve const approveTxHash = await walletClient.writeContract({ @@ -70,10 +61,7 @@ export const useDepositMetamask = (): UseDepositHook => { }); // Notify the user that we are now waiting for the approve transaction to be confirmed - enqueueSnackbar('Approve transaction broadcasted. Waiting for confirmation (1/2)...', { - variant: 'info', - autoHideDuration: 7000, - }); + notifyInfo(INFO.APPROVE_WAITING_CONFIRMATION, { options: { autoHideDuration: 7000 } }); // Wait for the approve transaction to be mined const approveReceipt = await publicClient.waitForTransactionReceipt({ @@ -81,10 +69,7 @@ export const useDepositMetamask = (): UseDepositHook => { }); // Notify the user that we are now sending the deposit transaction - enqueueSnackbar('Sending deposit transaction to the network...', { - variant: 'info', - autoHideDuration: 3000, - }); + notifyInfo(INFO.DEPOSIT_SENDING_CONFIRMATION, { options: { autoHideDuration: 3000 } }); // 5) Second transaction: deposit const depositTxHash = await walletClient.writeContract({ @@ -96,10 +81,7 @@ export const useDepositMetamask = (): UseDepositHook => { }); // Notify the user that we are now waiting for the deposit transaction to be confirmed - enqueueSnackbar('Deposit transaction broadcasted. Waiting for confirmation (2/2)...', { - variant: 'info', - autoHideDuration: 7000, - }); + notifyInfo(INFO.DEPOSIT_WAITING_CONFIRMATION, { options: { autoHideDuration: 7000 } }); // Wait for the deposit transaction to be mined const depositReceipt = await publicClient.waitForTransactionReceipt({ @@ -115,7 +97,8 @@ export const useDepositMetamask = (): UseDepositHook => { }); } catch (err: any) { // If something fails (either approve or deposit), set an error - setError({ message: err.message || 'An error occurred', ...err }); + setError(ERRORS.UNKNOWN_ERROR); + throw err; } finally { // Reset loading state setLoading(false); diff --git a/src/hooks/use-deposit.ts b/src/hooks/use-deposit.ts index 1564a1de1..27675f8fd 100644 --- a/src/hooks/use-deposit.ts +++ b/src/hooks/use-deposit.ts @@ -1,35 +1,29 @@ import { useState } from 'react'; import { useSelector } from 'react-redux'; import { encodeFunctionData, parseUnits } from 'viem'; -import { useWeb3Auth } from '@src/hooks/use-web3-auth.ts'; import LedgerVaultAbi from '@src/config/abi/LedgerVault.json'; import MMCAbi from '@src/config/abi/MMC.json'; import { GLOBAL_CONSTANTS } from '@src/config-global'; - -interface VaultError { - message: string; - code?: number; - [key: string]: any; -} +import { useWeb3Session } from '@src/hooks/use-web3-session.ts'; +import { ERRORS } from '@notifications/errors.ts'; interface DepositParams { recipient: string; // address - amount: number; // plain number + amount: number; // plain number } export interface UseDepositHook { data?: any; deposit: (params: DepositParams) => Promise; loading: boolean; - error?: VaultError | null; + error?: keyof typeof ERRORS | null; } export const useDeposit = (): UseDepositHook => { const [data, setData] = useState(null); const [loading, setLoading] = useState(false); - const [error, setError] = useState(null); - - const { web3Auth } = useWeb3Auth(); + const [error, setError] = useState(null); + const { bundlerClient, smartAccount } = useWeb3Session(); const sessionData = useSelector((state: any) => state.auth.session); const approveMMC = (amount: number): string => { @@ -65,26 +59,14 @@ export const useDeposit = (): UseDepositHook => { setError(null); try { - // TODO can be abstracted this logic to get this data in a hook? - // i can see this code repeated on all te hooks - // const [bundler, smart, provider] = useWeb3Session() - - - const accountAbstractionProvider = web3Auth.options.accountAbstractionProvider; - // @ts-ignore - const bundlerClient = accountAbstractionProvider.bundlerClient; - // @ts-ignore - const smartAccount = accountAbstractionProvider.smartAccount; - if (!sessionData?.authenticated) { - setError({ message: 'Please login to deposit funds' }); + setError(ERRORS.DEPOSIT_FAILED_ERROR); setLoading(false); return; } if (!bundlerClient) { - // TODO improve the message to send back to user - setError({ message: 'Bundler client not available' }); + setError(ERRORS.BUNDLER_UNAVAILABLE); setLoading(false); return; } @@ -120,9 +102,7 @@ export const useDeposit = (): UseDepositHook => { setData(receipt); setLoading(false); } catch (err: any) { - // TODO bad idea send internal error to user - console.log(err) - setError({ message: err.message || 'An error occurred', ...err }); + setError(ERRORS.UNKNOWN_ERROR); setLoading(false); } }; diff --git a/src/hooks/use-get-attestation.ts b/src/hooks/use-get-attestation.ts index 92ea5b997..a5fcc5b2e 100644 --- a/src/hooks/use-get-attestation.ts +++ b/src/hooks/use-get-attestation.ts @@ -3,7 +3,7 @@ import { Address } from 'viem'; import { publicClient } from '@src/clients/viem/publicClient'; import { GLOBAL_CONSTANTS } from '@src/config-global'; import SubscriptionPolicyAbi from '@src/config/abi/SubscriptionPolicy.json'; -import {useSelector} from "react-redux"; +import { useSelector } from 'react-redux'; interface AttestationError { message: string; diff --git a/src/hooks/use-get-authorized-holder-policies.ts b/src/hooks/use-get-authorized-holder-policies.ts index 5a01ac7c6..c29a6b05b 100644 --- a/src/hooks/use-get-authorized-holder-policies.ts +++ b/src/hooks/use-get-authorized-holder-policies.ts @@ -19,7 +19,7 @@ interface PolicyTerms { interface Policy { policy: string; - terms: PolicyTerms + terms: PolicyTerms; } interface UseGetAuthorizedHolderPoliciesHook { @@ -53,12 +53,12 @@ export const useGetAuthorizedHolderPolicies = ( try { // Call the contract method - const policies: any = await publicClient.readContract({ + const policies: any = (await publicClient.readContract({ address: GLOBAL_CONSTANTS.POLICIES_AGG_ADDRESS, abi: PoliciesAggAbi.abi, functionName: 'getHolderWidePolicies', args: [holder], - }) as Policy[]; + })) as Policy[]; // Store the response in state setAuthorizedHolderPolicies(policies); diff --git a/src/hooks/use-get-policy-terms.ts b/src/hooks/use-get-policy-terms.ts index 14479e2fc..a86bb42ca 100644 --- a/src/hooks/use-get-policy-terms.ts +++ b/src/hooks/use-get-policy-terms.ts @@ -96,12 +96,7 @@ export const useGetPolicyTerms = ( } finally { setFetching(false); } - }, [ - policyAddress, - holderAddress, - authorizedHolderPolicies, - errorPolicies, - ]); + }, [policyAddress, holderAddress, authorizedHolderPolicies, errorPolicies]); // Recompute whenever the authorizedHolderPolicies or errors change useEffect(() => { @@ -127,7 +122,7 @@ export const useGetPolicyTerms = ( return { terms, loading: loadingPolicies, // Reflect the loading state of fetching authorized policies - fetching, // Reflect the local fetching/checking state + fetching, // Reflect the local fetching/checking state error, refetch, }; diff --git a/src/hooks/use-get-smart-wallet-transactions-ok.ts b/src/hooks/use-get-smart-wallet-transactions-ok.ts deleted file mode 100644 index 4797ebe41..000000000 --- a/src/hooks/use-get-smart-wallet-transactions-ok.ts +++ /dev/null @@ -1,106 +0,0 @@ -import { useEffect, useState } from 'react' -import axios from 'axios' -import { Address } from 'viem'; -import { GLOBAL_CONSTANTS } from '@src/config-global.ts'; - -interface SmartWalletTransactionParams { - chainShortName?: string; // Blockchain network abbreviation (e.g., 'eth') - address: Address; // Address to query - protocolType?: string; // Token protocol type (default: 'token_20') - tokenContractAddress?: string; // Optional token contract address - startBlockHeight?: string; // Optional starting block height - endBlockHeight?: string; // Optional ending block height - isFromOrTo?: 'from' | 'to'; // Filter transactions by 'from' or 'to' - page?: number; // Optional page number - limit?: number; // Number of results per request (default: 20, max: 50) -} - -interface UseGetSmartWalletTransactionsReturn { - data: any; - isLoading: boolean; - error: string | null; - refetch: () => Promise; -} - -export function useGetSmartWalletTransactions({ - address, - chainShortName = 'AMOY_TESTNET', - protocolType = 'token_20', - tokenContractAddress = GLOBAL_CONSTANTS.MMC_ADDRESS, - startBlockHeight, - endBlockHeight, - isFromOrTo, - page = 1, - limit = 20, - }: SmartWalletTransactionParams): UseGetSmartWalletTransactionsReturn { - const [data, setData] = useState(null); - const [isLoading, setIsLoading] = useState(false); - const [error, setError] = useState(null); - - // Create an axios instance - const axiosInstance = axios.create({ - headers: { - 'Content-Type': 'application/json;charset=utf-8', - Accept: 'application/json', - 'OK-ACCESS-KEY': GLOBAL_CONSTANTS.OKLINK_API_KEY, - }, - timeout: 5000, - validateStatus: (status) => status < 600, - }); - - // Fetch transactions using GET request - const fetchTransactions = async () => { - setIsLoading(true); - setError(null); - - try { - // Build query string - const queryParams = new URLSearchParams({ - chainShortName, - address, - protocolType, - ...(tokenContractAddress && { tokenContractAddress }), - ...(startBlockHeight && { startBlockHeight }), - ...(endBlockHeight && { endBlockHeight }), - ...(isFromOrTo && { isFromOrTo }), - page: page.toString(), - limit: limit.toString(), - }).toString(); - - const url = `https://www.oklink.com/api/v5/explorer/address/token-transaction-list?${queryParams}`; - const response = await axiosInstance.get(url); - - console.log('response', response); - - // Handle response - if (response.data?.code === '0') { - setData(response.data.data?.[0]); - } else { - setError(response.data?.msg || 'Unknown error'); - } - } catch (err: any) { - setError(err?.message || 'Unknown error'); - } finally { - setIsLoading(false); - } - }; - - // Fetch data on parameter change - useEffect(() => { - if (!address || !chainShortName) return; - fetchTransactions(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [chainShortName, address, protocolType, tokenContractAddress, startBlockHeight, endBlockHeight, isFromOrTo, page, limit]); - - // Refetch function - const refetch = async () => { - await fetchTransactions(); - }; - - return { - data, - isLoading, - error, - refetch, - }; -} diff --git a/src/hooks/use-get-smart-wallet-transactions.ts b/src/hooks/use-get-smart-wallet-transactions.ts index 6368fa2c6..2a3203ca7 100644 --- a/src/hooks/use-get-smart-wallet-transactions.ts +++ b/src/hooks/use-get-smart-wallet-transactions.ts @@ -41,7 +41,6 @@ const useGetSmartWalletTransactions = () => { // Function to fetch historical logs const fetchLogs = async () => { - console.log('Fetching logs for address:', sessionData?.address); if (!sessionData?.address) { setLoading(false); return; @@ -162,10 +161,7 @@ const useGetSmartWalletTransactions = () => { throw new Error('Invalid event in ABI'); } const inputs = event.inputs - .map( - (input: any) => - `${input.type}${input.indexed ? ' indexed' : ''} ${input.name}` - ) + .map((input: any) => `${input.type}${input.indexed ? ' indexed' : ''} ${input.name}`) .join(', '); return `event ${event.name}(${inputs})`; }; @@ -173,6 +169,11 @@ const useGetSmartWalletTransactions = () => { // Effect to fetch historical logs when the address changes useEffect(() => { fetchLogs(); + + // Disable loader if data is already available + if (transactions.length) { + setLoading(false); + } }, [sessionData?.address]); // Effect to handle real-time events from blockchainEvents diff --git a/src/hooks/use-get-vault-balance.ts b/src/hooks/use-get-vault-balance.ts index 929e370ce..3aff44829 100644 --- a/src/hooks/use-get-vault-balance.ts +++ b/src/hooks/use-get-vault-balance.ts @@ -10,7 +10,6 @@ export function useGetVaultBalance(address?: Address) { const blockchainEvents = useSelector((state: any) => state.blockchainEvents.events); const fetchBalance = useCallback(async () => { - console.log('Fetching balance for address:', address); if (!address) return; try { diff --git a/src/hooks/use-has-access.ts b/src/hooks/use-has-access.ts index 77ac30f90..5649d2942 100644 --- a/src/hooks/use-has-access.ts +++ b/src/hooks/use-has-access.ts @@ -3,7 +3,7 @@ import { Address } from 'viem'; import { publicClient } from '@src/clients/viem/publicClient'; import AccessAggAbi from '@src/config/abi/AccessAgg.json'; import { GLOBAL_CONSTANTS } from '@src/config-global.ts'; -import {useSelector} from "react-redux"; +import { useSelector } from 'react-redux'; interface HasAccessError { message: string; diff --git a/src/hooks/use-is-policy-authorized.ts b/src/hooks/use-is-policy-authorized.ts index c3b7b8248..6ac0110b0 100644 --- a/src/hooks/use-is-policy-authorized.ts +++ b/src/hooks/use-is-policy-authorized.ts @@ -84,17 +84,13 @@ export const useIsPolicyAuthorized = ( } catch (err: any) { console.error('Error checking policy authorization:', err); setIsAuthorized(undefined); - setError({ message: err?.message || 'An error occurred while checking policy authorization.' }); + setError({ + message: err?.message || 'An error occurred while checking policy authorization.', + }); } finally { setFetching(false); } - }, [ - policy, - holder, - userAddress, - authorizedHolderPolicies, - errorPolicies, - ]); + }, [policy, holder, userAddress, authorizedHolderPolicies, errorPolicies]); // Whenever authorizedHolderPolicies or errorPolicies change, verify again useEffect(() => { @@ -110,7 +106,7 @@ export const useIsPolicyAuthorized = ( return { isAuthorized, loading: loadingPolicies, // Indicates if we are still fetching the list of policies - fetching, // Indicates if we are checking authorization in that list + fetching, // Indicates if we are checking authorization in that list error, refetch, }; diff --git a/src/hooks/use-notification-payload.ts b/src/hooks/use-notification-payload.ts index d0a6c6cf9..52b721dbb 100644 --- a/src/hooks/use-notification-payload.ts +++ b/src/hooks/use-notification-payload.ts @@ -40,7 +40,9 @@ export const useNotificationPayload = (sessionData: ProfileSession | undefined) to: { id: toProfile.id, displayName: toProfile.displayName, - avatar: toProfile.avatar ?? `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${toProfile.id}`, + avatar: + toProfile.avatar ?? + `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${toProfile.id}`, }, content, }, diff --git a/src/hooks/use-notifications.ts b/src/hooks/use-notifications.ts index 29261f331..2bf05bf24 100644 --- a/src/hooks/use-notifications.ts +++ b/src/hooks/use-notifications.ts @@ -19,7 +19,9 @@ export function useNotifications(): UseNotificationsReturn { const { data: sessionData }: ReadResult = useSession(); const dispatch = useDispatch(); // @ts-ignore - const notifications: NotificationColumnsProps[] = useSelector((state) => state.notifications.notifications); + const notifications: NotificationColumnsProps[] = useSelector( + (state) => state.notifications.notifications + ); async function getNotifications(id: string) { const { data, error } = await supabase @@ -36,15 +38,12 @@ export function useNotifications(): UseNotificationsReturn { } async function markAsRead(id: string) { - const { error } = await supabase - .from('notifications') - .update({ read: true }) - .eq('id', id); + const { error } = await supabase.from('notifications').update({ read: true }).eq('id', id); if (error) { console.error('Error marking notification as read:', error); } else { - const updatedNotifications = notifications.map(notification => + const updatedNotifications = notifications.map((notification) => notification.id === id ? { ...notification, read: true } : notification ); dispatch(setNotifications(updatedNotifications)); @@ -54,7 +53,7 @@ export function useNotifications(): UseNotificationsReturn { async function sendNotification(receiver_id: string, sender_id: string, payload: any) { const { error } = await supabase .from('notifications') - .insert([{ receiver_id, sender_id, payload}]); + .insert([{ receiver_id, sender_id, payload }]); if (error) { console.error('Error sending notification:', error); @@ -70,22 +69,22 @@ export function useNotifications(): UseNotificationsReturn { if (error) { console.error('Error marking all notifications as read:', error); } else { - const updatedNotifications = notifications.map(notification => ({ ...notification, read: true })); + const updatedNotifications = notifications.map((notification) => ({ + ...notification, + read: true, + })); dispatch(setNotifications(updatedNotifications)); } } // async deleteNotification(id: string) async function deleteNotification(id: string) { - const { error } = await supabase - .from('notifications') - .delete() - .eq('id', id); + const { error } = await supabase.from('notifications').delete().eq('id', id); if (error) { console.error('Error deleting notification:', error); } else { - const updatedNotifications = notifications.filter(notification => notification.id !== id); + const updatedNotifications = notifications.filter((notification) => notification.id !== id); dispatch(setNotifications(updatedNotifications)); } } @@ -96,6 +95,6 @@ export function useNotifications(): UseNotificationsReturn { markAllAsRead, markAsRead, sendNotification, - deleteNotification + deleteNotification, }; } diff --git a/src/hooks/use-subscribe.ts b/src/hooks/use-subscribe.ts index 60882b7da..b80915a74 100644 --- a/src/hooks/use-subscribe.ts +++ b/src/hooks/use-subscribe.ts @@ -8,11 +8,12 @@ import { ethers } from 'ethers'; import { encodeFunctionData } from 'viem'; // LOCAL IMPORTS -import { useWeb3Auth } from '@src/hooks/use-web3-auth.ts'; import AccessWorkflowAbi from '@src/config/abi/AccessWorkflow.json'; import LedgerVaultabi from '@src/config/abi/LedgerVault.json'; import { GLOBAL_CONSTANTS } from '@src/config-global.ts'; -import {useSelector} from "react-redux"; +import { useSelector } from 'react-redux'; +import { useWeb3Session } from '@src/hooks/use-web3-session.ts'; +import { ERRORS } from '@notifications/errors.ts'; // ---------------------------------------------------------------------- @@ -21,19 +22,12 @@ interface SubscribeData { receipt?: any; // The subscribe receipt, to get the transaction hash use receipt.transactionHash } -// Define the shape of the error object -interface SubscribeError { - message: string; - code?: number; - [key: string]: any; // For additional error properties -} - // Define the return type of the useSubscribe hook interface UseSubscribeHook { data?: SubscribeData; subscribe: (params: SubscribeParams) => Promise; loading: boolean; - error?: SubscribeError | null; + error?: keyof typeof ERRORS | null; } // Parameters to be passed to the subscribe function @@ -47,14 +41,14 @@ interface SubscribeParams { export const useSubscribe = (): UseSubscribeHook => { const [data, setData] = useState(); const [loading, setLoading] = useState(false); - const [error, setError] = useState(null); + const [error, setError] = useState(null); const sessionData = useSelector((state: any) => state.auth.session); - const { web3Auth } = useWeb3Auth(); + const { bundlerClient, smartAccount } = useWeb3Session(); const transferToAccessAgreement = (approvalAmount: bigint): string => { return encodeFunctionData({ abi: LedgerVaultabi.abi, - functionName: 'transfer', + functionName: 'transfer', // reserve args: [ GLOBAL_CONSTANTS.ACCESS_WORKFLOW_ADDRESS, approvalAmount, @@ -91,21 +85,14 @@ export const useSubscribe = (): UseSubscribeHook => { setError(null); try { - // Retrieve the account abstraction provider, bundler client, and smart account - const accountAbstractionProvider = web3Auth.options.accountAbstractionProvider; - // @ts-ignore - const bundlerClient = accountAbstractionProvider.bundlerClient; - // @ts-ignore - const smartAccount = accountAbstractionProvider.smartAccount; - if (!sessionData?.authenticated) { - setError({ message: 'Please login to subscribe' }); + setError(ERRORS.SUBSCRIBE_LOGIN_ERROR); setLoading(false); return; } if (!bundlerClient) { - setError({ message: 'Bundler client not available' }); + setError(ERRORS.BUNDLER_UNAVAILABLE); setLoading(false); return; } @@ -154,9 +141,9 @@ export const useSubscribe = (): UseSubscribeHook => { setData(receipt); setLoading(false); } catch (err: any) { - console.log('err:') - console.log(err) - // setError({ message: err.message || 'An error occurred', ...err }); + console.log('err:'); + console.log(err); + setError(ERRORS.UNKNOWN_ERROR); setLoading(false); } }; diff --git a/src/hooks/use-transaction-data.ts b/src/hooks/use-transaction-data.ts index 8c569b999..387a80c24 100644 --- a/src/hooks/use-transaction-data.ts +++ b/src/hooks/use-transaction-data.ts @@ -23,7 +23,7 @@ export type TransactionType = { message: string; rawDescription: string; }; - }, + }; type: string; amount: number; address: string; @@ -36,13 +36,13 @@ export type TableRowTransactionType = { id: string; name: string; avatarUrl: string; - amount:string | null; + amount: string | null; type: string; date: bigint; status: string; message: string; category: string; -} +}; export type TransactionData = { date: string; @@ -85,24 +85,27 @@ export const useTransactionData = (): TransactionsDataResponseHook => { setRawData(processedTransactions); - const groupedData = transactions.reduce((acc: Record, transaction) => { - const date = new Date(transaction.created_at).toISOString().split('T')[0]; - if (!acc[date]) { - acc[date] = { date, income: 0, expenses: 0 }; - } - if (transaction.receiver_id === sessionData.profile.id) { - acc[date].income += transaction.payload.amount; - } - if (transaction.sender_id === sessionData.profile.id) { - acc[date].expenses += transaction.payload.amount; - } - return acc; - }, {}); + const groupedData = transactions.reduce( + (acc: Record, transaction) => { + const date = new Date(transaction.created_at).toISOString().split('T')[0]; + if (!acc[date]) { + acc[date] = { date, income: 0, expenses: 0 }; + } + if (transaction.receiver_id === sessionData.profile.id) { + acc[date].income += transaction.payload.amount; + } + if (transaction.sender_id === sessionData.profile.id) { + acc[date].expenses += transaction.payload.amount; + } + return acc; + }, + {} + ); setData(Object.values(groupedData)); }; - fetchData().then(r => console.log(r)); + fetchData().then((r) => console.log(r)); }, [sessionData]); return { data, rawData }; diff --git a/src/hooks/use-transfer.ts b/src/hooks/use-transfer.ts index 5859dbe8d..3c90e13e5 100644 --- a/src/hooks/use-transfer.ts +++ b/src/hooks/use-transfer.ts @@ -1,15 +1,10 @@ import { useState } from 'react'; import { useSelector } from 'react-redux'; import { encodeFunctionData, parseUnits } from 'viem'; -import { useWeb3Auth } from '@src/hooks/use-web3-auth.ts'; import LedgerVaultAbi from '@src/config/abi/LedgerVault.json'; import { GLOBAL_CONSTANTS } from '@src/config-global'; - -interface VaultError { - message: string; - code?: number; - [key: string]: any; -} +import { useWeb3Session } from '@src/hooks/use-web3-session.ts'; +import { ERRORS } from '@notifications/errors.ts'; interface TransferParams { recipient: string; @@ -20,16 +15,16 @@ interface UseTransferHook { data?: any; transfer: (params: TransferParams) => Promise; loading: boolean; - error?: VaultError | null; + error?: keyof typeof ERRORS | null; } export const useTransfer = (): UseTransferHook => { const [data, setData] = useState(null); const [loading, setLoading] = useState(false); - const [error, setError] = useState(null); + const [error, setError] = useState(null); const sessionData = useSelector((state: any) => state.auth.session); - const { web3Auth } = useWeb3Auth(); + const { bundlerClient, smartAccount } = useWeb3Session(); const initializeTransfer = ({ recipient, amount }: TransferParams) => { const weiAmount = parseUnits(amount.toString(), 18); @@ -46,20 +41,14 @@ export const useTransfer = (): UseTransferHook => { setError(null); try { - const accountAbstractionProvider = web3Auth.options.accountAbstractionProvider; - // @ts-ignore - const bundlerClient = accountAbstractionProvider.bundlerClient; - // @ts-ignore - const smartAccount = accountAbstractionProvider.smartAccount; - if (!sessionData?.authenticated) { - setError({ message: 'Please login to transfer funds' }); + setError(ERRORS.TRANSFER_LOGIN_FIRST_ERROR); setLoading(false); return; } if (!bundlerClient) { - setError({ message: 'Bundler client not available' }); + setError(ERRORS.BUNDLER_UNAVAILABLE); setLoading(false); return; } @@ -86,7 +75,7 @@ export const useTransfer = (): UseTransferHook => { setData(receipt); setLoading(false); } catch (err: any) { - setError({ message: err.message || 'An error occurred', ...err }); + setError(ERRORS.UNKNOWN_ERROR); setLoading(false); } }; diff --git a/src/hooks/use-web3-session.ts b/src/hooks/use-web3-session.ts new file mode 100644 index 000000000..68f6b6337 --- /dev/null +++ b/src/hooks/use-web3-session.ts @@ -0,0 +1,34 @@ +import { useMemo } from 'react'; +import { useWeb3Auth } from '@src/hooks/use-web3-auth'; + +/** + * Returns useful objects from the web3 session: + * - bundlerClient + * - smartAccount + * - provider + */ +export function useWeb3Session() { + const { web3Auth } = useWeb3Auth(); + const accountAbstractionProvider = web3Auth?.options?.accountAbstractionProvider; + + const bundlerClient = useMemo(() => { + // @ts-ignore + return accountAbstractionProvider?.bundlerClient || null; + }, [accountAbstractionProvider]); + + const smartAccount = useMemo(() => { + // @ts-ignore + return accountAbstractionProvider?.smartAccount || null; + }, [accountAbstractionProvider]); + + const provider = useMemo(() => { + // @ts-ignore + return accountAbstractionProvider?.provider || null; + }, [accountAbstractionProvider]); + + return { + bundlerClient, + smartAccount, + provider, + }; +} diff --git a/src/hooks/use-withdraw-metamask.ts b/src/hooks/use-withdraw-metamask.ts index 7eed4aeda..41f8789e7 100644 --- a/src/hooks/use-withdraw-metamask.ts +++ b/src/hooks/use-withdraw-metamask.ts @@ -1,27 +1,27 @@ import { useState } from 'react'; import { parseUnits } from 'viem'; + +// Project imports import { ConnectWalletClient } from '@src/clients/viem/walletClient'; import LedgerVaultAbi from '@src/config/abi/LedgerVault.json'; import { GLOBAL_CONSTANTS } from '@src/config-global'; import { publicClient } from '@src/clients/viem/publicClient'; -import { useSnackbar } from 'notistack'; -interface VaultError { - message: string; - code?: number; - [key: string]: any; -} +// Notifications +import { ERRORS } from '@notifications/errors.ts'; +import { notifyInfo } from '@notifications/internal-notifications.ts'; +import { INFO } from '@notifications/info.ts'; interface WithdrawParams { recipient: string; // Address receiving the funds - amount: number; // Amount in "human" format (not in Wei) + amount: number; // Amount in "human" format (not in Wei) } interface UseWithdrawHook { data?: any; withdraw: (params: WithdrawParams) => Promise; loading: boolean; - error?: VaultError | null; + error?: keyof typeof ERRORS | null; } /** @@ -32,8 +32,7 @@ interface UseWithdrawHook { export const useWithdrawMetamask = (): UseWithdrawHook => { const [data, setData] = useState(null); const [loading, setLoading] = useState(false); - const [error, setError] = useState(null); - const { enqueueSnackbar } = useSnackbar(); + const [error, setError] = useState(null); const withdraw = async ({ recipient, amount }: WithdrawParams) => { setLoading(true); @@ -50,9 +49,8 @@ export const useWithdrawMetamask = (): UseWithdrawHook => { const weiAmount = parseUnits(amount.toString(), 18); // Notify the user that we are sending the withdraw transaction - enqueueSnackbar('Sending withdraw transaction to the network...', { - variant: 'info', - autoHideDuration: 3000, + notifyInfo(INFO.WITHDRAW_SENDING_CONFIRMATION, { + options: { autoHideDuration: 3000 }, }); // 4) Send the withdraw transaction @@ -65,9 +63,8 @@ export const useWithdrawMetamask = (): UseWithdrawHook => { }); // Notify the user that we are waiting for confirmation - enqueueSnackbar('Withdraw transaction broadcasted. Waiting for confirmation...', { - variant: 'info', - autoHideDuration: 7000, + notifyInfo(INFO.WITHDRAW_WAITING_CONFIRMATION, { + options: { autoHideDuration: 7000 }, }); // Wait for the withdraw transaction to be mined @@ -82,7 +79,7 @@ export const useWithdrawMetamask = (): UseWithdrawHook => { }); } catch (err: any) { // If something fails, set an error - setError({ message: err.message || 'An error occurred', ...err }); + setError(ERRORS.UNKNOWN_ERROR); } finally { // Reset loading state setLoading(false); diff --git a/src/hooks/use-withdraw.ts b/src/hooks/use-withdraw.ts index 1c9a94032..66a26a5f0 100644 --- a/src/hooks/use-withdraw.ts +++ b/src/hooks/use-withdraw.ts @@ -1,35 +1,30 @@ import { useState } from 'react'; import { useSelector } from 'react-redux'; import { encodeFunctionData, parseUnits } from 'viem'; -import { useWeb3Auth } from '@src/hooks/use-web3-auth.ts'; import LedgerVaultAbi from '@src/config/abi/LedgerVault.json'; import { GLOBAL_CONSTANTS } from '@src/config-global'; - -interface VaultError { - message: string; - code?: number; - [key: string]: any; -} +import { useWeb3Session } from '@src/hooks/use-web3-session.ts'; +import { ERRORS } from '@notifications/errors.ts'; interface WithdrawParams { recipient: string; amount: number; } -interface UseWithdrawHook { +export interface UseWithdrawHook { data?: any; withdraw: (params: WithdrawParams) => Promise; loading: boolean; - error?: VaultError | null; + error?: keyof typeof ERRORS | null; } export const useWithdraw = (): UseWithdrawHook => { const [data, setData] = useState(null); const [loading, setLoading] = useState(false); - const [error, setError] = useState(null); + const [error, setError] = useState(null); const sessionData = useSelector((state: any) => state.auth.session); - const { web3Auth } = useWeb3Auth(); + const { bundlerClient, smartAccount } = useWeb3Session(); const initializeWithdraw = ({ recipient, amount }: WithdrawParams) => { const weiAmount = parseUnits(amount.toString(), 18); @@ -46,20 +41,14 @@ export const useWithdraw = (): UseWithdrawHook => { setError(null); try { - const accountAbstractionProvider = web3Auth.options.accountAbstractionProvider; - // @ts-ignore - const bundlerClient = accountAbstractionProvider.bundlerClient; - // @ts-ignore - const smartAccount = accountAbstractionProvider.smartAccount; - if (!sessionData?.authenticated) { - setError({ message: 'Please login to withdraw funds' }); + setError(ERRORS.FIRST_LOGIN_ERROR); setLoading(false); return; } if (!bundlerClient) { - setError({ message: 'Bundler client not available' }); + setError(ERRORS.BUNDLER_UNAVAILABLE); setLoading(false); return; } @@ -86,7 +75,7 @@ export const useWithdraw = (): UseWithdrawHook => { setData(receipt); setLoading(false); } catch (err: any) { - setError({ message: err.message || 'An error occurred', ...err }); + setError(ERRORS.UNKNOWN_ERROR); setLoading(false); } }; diff --git a/src/index.tsx b/src/index.tsx index 867a5dda9..1f35240d8 100644 --- a/src/index.tsx +++ b/src/index.tsx @@ -14,7 +14,7 @@ window.Buffer = Buffer; window.process = process; window.global = window; -const isDevelopment = GLOBAL_CONSTANTS.ENVIRONMENT === "development" +const isDevelopment = GLOBAL_CONSTANTS.ENVIRONMENT === 'development'; Sentry.init({ environment: GLOBAL_CONSTANTS.ENVIRONMENT, diff --git a/src/layouts/_common/account-popover.tsx b/src/layouts/_common/account-popover.tsx index 44196c64f..3ae680e66 100644 --- a/src/layouts/_common/account-popover.tsx +++ b/src/layouts/_common/account-popover.tsx @@ -27,10 +27,16 @@ import { varHover } from '@src/components/animate'; import { LoginModal } from '@src/components/login-modal'; import CustomPopover, { usePopover } from '@src/components/custom-popover'; import { useDispatch, useSelector } from 'react-redux'; -import {closeLoginModal, openLoginModal, setAuthLoading, setBalance, setSession} from '@redux/auth'; +import { + closeLoginModal, + openLoginModal, + setAuthLoading, + setBalance, + setSession, +} from '@redux/auth'; import { CircularProgress } from '@mui/material'; import { useWeb3Auth } from '@src/hooks/use-web3-auth.ts'; -import NeonPaper from "@src/sections/publication/NeonPaperContainer.tsx"; +import NeonPaper from '@src/sections/publication/NeonPaperContainer.tsx'; // ---------------------------------------------------------------------- @@ -48,21 +54,23 @@ export default function AccountPopover() { const router = useRouter(); const popover = usePopover(); const { web3Auth } = useWeb3Auth(); - const { isLoginModalOpen, isUpdatingMetadata, isSessionLoading } = useSelector((state: any) => state.auth); + const { isLoginModalOpen, isUpdatingMetadata, isSessionLoading } = useSelector( + (state: any) => state.auth + ); const { data, loading }: ReadResult = useSession(); const sessionData = useSelector((state: any) => state.auth.session); const { execute: logoutExecute } = useLogout(); useEffect(() => { - dispatch(setAuthLoading({ isSessionLoading: loading })) + dispatch(setAuthLoading({ isSessionLoading: loading })); }, [loading]); const parsedSessionData = JSON.stringify(data); useEffect(() => { - if(!isUpdatingMetadata){ - dispatch(setSession({ session: data })) + if (!isUpdatingMetadata) { + dispatch(setSession({ session: data })); } }, [parsedSessionData, isUpdatingMetadata]); @@ -80,7 +88,6 @@ export default function AccountPopover() { // Clear the balance for logged-out users dispatch(setBalance({ balance: 0 })); - } catch (err) { console.error('Error during logout:', err); } @@ -112,37 +119,37 @@ export default function AccountPopover() { - alpha(theme.palette.grey[500], 0.08), - ...(popover.open && { - background: (theme) => - `linear-gradient(135deg, ${theme.palette.primary.light} 0%, ${theme.palette.primary.main} 100%)`, - }), - }} - > - `solid 2px ${theme.palette.background.default}`, + width: 40, + height: 40, + background: (theme) => alpha(theme.palette.grey[500], 0.08), + ...(popover.open && { + background: (theme) => + `linear-gradient(135deg, ${theme.palette.primary.light} 0%, ${theme.palette.primary.main} 100%)`, + }), }} - /> - + > + `solid 2px ${theme.palette.background.default}`, + }} + /> + ) : ( <> diff --git a/src/layouts/_common/header-balance.tsx b/src/layouts/_common/header-balance.tsx index 48922313b..dbf1a63a6 100644 --- a/src/layouts/_common/header-balance.tsx +++ b/src/layouts/_common/header-balance.tsx @@ -19,8 +19,8 @@ export default function HeaderBalance() { const router = useRouter(); const handleGoFinance = () => { - router.push(paths.dashboard.finance) - } + router.push(paths.dashboard.finance); + }; return ( ); diff --git a/src/sections/finance/components/finance-contacts.tsx b/src/sections/finance/components/finance-contacts.tsx index 38f2e2da7..9d1920ed8 100644 --- a/src/sections/finance/components/finance-contacts.tsx +++ b/src/sections/finance/components/finance-contacts.tsx @@ -1,3 +1,7 @@ +// React and libraries imports +import React from 'react'; +import { useDispatch } from 'react-redux'; + // @mui import Stack from '@mui/material/Stack'; import CardHeader from '@mui/material/CardHeader'; @@ -8,7 +12,7 @@ import IconButton from '@mui/material/IconButton'; import ListItemText from '@mui/material/ListItemText'; import Box from '@mui/material/Box'; -// components +// Project components import Iconify from '@src/components/iconify'; import Carousel, { useCarousel } from '@src/components/carousel/index'; import NavigationArrows from '@src/components/carousel/NavigationArrows'; @@ -19,9 +23,7 @@ import { useRouter } from '@src/routes/hooks'; // lens import { Profile } from '@lens-protocol/api-bindings'; -import { useDispatch } from "react-redux"; import { storeAddress, toggleRainbow } from '@redux/address'; -import React from "react"; // ---------------------------------------------------------------------- @@ -42,20 +44,19 @@ export default function FinanceContactsCarousel({ const router = useRouter(); const dispatch = useDispatch(); - function scrollToSmoothly(pos: number, time: number) { let currentPos = window.scrollY; let start: number | null = null; if (time == null) time = 500; // eslint-disable-next-line @typescript-eslint/no-unused-expressions - pos = +pos, time = +time; + (pos = +pos), (time = +time); window.requestAnimationFrame(function step(currentTime) { start = !start ? currentTime : start; let progress = currentTime - start; if (currentPos < pos) { - window.scrollTo(0, ((pos - currentPos) * progress / time) + currentPos); + window.scrollTo(0, ((pos - currentPos) * progress) / time + currentPos); } else { - window.scrollTo(0, currentPos - ((currentPos - pos) * progress / time)); + window.scrollTo(0, currentPos - ((currentPos - pos) * progress) / time); } if (progress < time) { window.requestAnimationFrame(step); @@ -70,11 +71,11 @@ export default function FinanceContactsCarousel({ dispatch(storeAddress({ address, profileId })); // Scroll to top the window with a smooth animation - scrollToSmoothly(0, 1000) + scrollToSmoothly(0, 1000); setTimeout(() => { dispatch(toggleRainbow()); - }, 1400) - } + }, 1400); + }; const goToProfile = (id: string) => { router.push(paths.dashboard.user.root(id)); @@ -100,9 +101,7 @@ export default function FinanceContactsCarousel({ - } + action={} /> {/* Main carousel container */} @@ -131,7 +130,11 @@ type SlideContactsProps = { }; function SlideContacts({ chunk, goToProfile, onClickArrow }: SlideContactsProps) { - const handleArrowClick = (event: React.MouseEvent, address: string, profileId: string) => { + const handleArrowClick = ( + event: React.MouseEvent, + address: string, + profileId: string + ) => { event.stopPropagation(); onClickArrow(address, profileId); }; @@ -159,7 +162,9 @@ function SlideContacts({ chunk, goToProfile, onClickArrow }: SlideContactsProps) - handleArrowClick(event, profile.ownedBy.address, profile.id)}> + handleArrowClick(event, profile.ownedBy.address, profile.id)} + > diff --git a/src/sections/finance/components/finance-deposit-from-metamask.tsx b/src/sections/finance/components/finance-deposit-from-metamask.tsx index 417b315f5..71f1bef8b 100644 --- a/src/sections/finance/components/finance-deposit-from-metamask.tsx +++ b/src/sections/finance/components/finance-deposit-from-metamask.tsx @@ -1,166 +1,86 @@ -import "viem/window"; -import { Address } from 'viem'; -import { useSnackbar } from 'notistack'; -import { FC, PropsWithChildren, useEffect, useState, useCallback } from "react"; +// React and libraries imports +import { FC, useEffect, useState } from 'react'; import { useSelector } from 'react-redux'; -import Box from "@mui/material/Box"; -import Button from "@mui/material/Button"; -import Stack from "@mui/material/Stack"; -import Divider from "@mui/material/Divider"; -import Iconify from "@src/components/iconify"; +import { Address } from 'viem'; + +// @MUI Imports +import Button from '@mui/material/Button'; -import { ConnectWalletClient } from "@src/clients/viem/walletClient"; -import { formatBalanceNumber } from "@src/utils/format-number.ts"; -import TextMaxLine from "@src/components/text-max-line"; -import { InputAmount } from "@src/components/input-amount.tsx"; -import { useGetMmcContractBalance } from '@src/hooks/use-get-mmc-contract-balance.ts'; -import NeonPaper from '@src/sections/publication/NeonPaperContainer.tsx'; -import { useDepositMetamask } from "@src/hooks/use-deposit-metamask.ts"; -import { truncateAddress } from '@src/utils/wallet.ts'; -import FinanceDialogsActions from "@src/sections/finance/components/finance-dialogs-actions.tsx"; -import { useResponsive } from "@src/hooks/use-responsive.ts"; +// Project Imports +import Iconify from '@src/components/iconify'; +import { connectToMetaMask } from '@src/utils/metamask'; +import { useDepositMetamask } from '@src/hooks/use-deposit-metamask'; +import { LoadingScreen } from '@src/components/loading-screen'; +import FinanceDeposit from './finance-deposit'; +import { ERRORS } from '@notifications/errors.ts'; +import { notifyError } from '@notifications/internal-notifications.ts'; +import { Box } from '@mui/system'; interface FinanceDepositFromMetamaskProps { onClose: () => void; } -// TODO please finance-deposit.tsx const FinanceDepositFromMetamask: FC = ({ onClose }) => { - const [address, setAddress] = useState
(); - const { balance } = useGetMmcContractBalance(address); - const [amount, setAmount] = useState(0); - const [loading, setLoading] = useState(false); const sessionData = useSelector((state: any) => state.auth.session); - const { enqueueSnackbar } = useSnackbar(); - const { - deposit: depositWithMetamask, - loading: depositLoading, - error, - } = useDepositMetamask(); - useEffect(() => { - if (error) { - enqueueSnackbar(`An error occurred during transaction.`, { variant: "error" }); - } - }, [error]); + const [address, setAddress] = useState
(); + const [connecting, setConnecting] = useState(false); + + // Specific hook for Metamask + const depositHook = useDepositMetamask(); + // Try reconnecting if the user connected MetaMask before useEffect(() => { - handleConnectMetamask(); + const walletConnected = localStorage.getItem('walletConnected'); + if (walletConnected === 'true') { + handleConnectMetaMask(); + } }, []); - async function handleConnectMetamask() { + const handleConnectMetaMask = async () => { + setConnecting(true); try { - const walletClient = await ConnectWalletClient(); - const [addr] = await walletClient.requestAddresses(); - setAddress(addr); - } catch (error) { - alert(`Transaction failed: ${error}`); + const walletAddress = await connectToMetaMask(); + setAddress(walletAddress); + localStorage.setItem('walletConnected', 'true'); + } catch (err) { + notifyError(ERRORS.METAMASK_CONNECTING_ERROR); + } finally { + setConnecting(false); } + }; + + if (connecting) { + return ( + + + + ); } - const handleConfirmDeposit = useCallback(async () => { - if (amount > 0 && amount <= (balance ?? 0)) { - try { - setLoading(true); - await depositWithMetamask({ recipient: sessionData?.address, amount }); - enqueueSnackbar(`The deposit was successful`, { variant: "success" }); - onClose(); - } catch (err: any) { - enqueueSnackbar(`Deposit failed: ${err?.message}`, { variant: "error" }); - } finally { - setLoading(false); - } - } else { - enqueueSnackbar("Invalid deposit amount", { variant: "warning" }); - } - }, [sessionData?.address, amount, balance]); - - const RainbowEffect = loading || depositLoading ? NeonPaper : Box; - const mdUp = useResponsive('up', 'md'); + // If the wallet is NOT connected, show a button + if (!address) { + return ( + + ); + } + // If the wallet IS connected, render the deposit component return ( - - {address ? ( - <> - - - Connected Wallet - - {truncateAddress(address)} - - - - - - - Balance - - {formatBalanceNumber(balance ?? 0)} MMC - - - - - - - Enter the amount to deposit - setAmount(Number(e.target.value))} - /> - - - - - - - ) : ( - - )} - + ); -} - -export const BoxRow: FC = ({ children }) => ( - - {children} - -) +}; export default FinanceDepositFromMetamask; diff --git a/src/sections/finance/components/finance-deposit-from-smart-account.tsx b/src/sections/finance/components/finance-deposit-from-smart-account.tsx index 3c2fd9768..82790847b 100644 --- a/src/sections/finance/components/finance-deposit-from-smart-account.tsx +++ b/src/sections/finance/components/finance-deposit-from-smart-account.tsx @@ -1,125 +1,27 @@ -// TODO Please keep ordered the dependencies -import { useSnackbar } from "notistack"; -import { useSelector } from "react-redux"; -import { FC, useEffect, useState, useCallback } from 'react'; +// React and libraries imports +import { FC } from 'react'; +import { useSelector } from 'react-redux'; -import Box from "@mui/material/Box"; -import Stack from "@mui/material/Stack"; -import Divider from "@mui/material/Divider"; -import TextMaxLine from "@src/components/text-max-line"; -import NeonPaper from "@src/sections/publication/NeonPaperContainer.tsx"; -import FinanceDialogsActions from "@src/sections/finance/components/finance-dialogs-actions.tsx"; - -import { formatBalanceNumber } from "@src/utils/format-number.ts"; -import { InputAmount } from "@src/components/input-amount.tsx"; -import { BoxRow } from "@src/sections/finance/components/finance-deposit-from-metamask.tsx"; -import { useGetMmcContractBalance } from "@src/hooks/use-get-mmc-contract-balance.ts"; -import { useResponsive } from "@src/hooks/use-responsive.ts"; -import { useDeposit } from "@src/hooks/use-deposit.ts"; -import { truncateAddress } from '@src/utils/wallet.ts'; +// Project components +import { useDeposit } from '@src/hooks/use-deposit'; +import FinanceDeposit from './finance-deposit'; interface FinanceDepositFromSmartAccountProps { onClose: () => void; } -// TODO please finance-deposit.tsx const FinanceDepositFromSmartAccount: FC = ({ onClose }) => { - // TODO Use this component as generic finance deposit and create new sub components for metamask & smart account - // TODO Please keep declaration on top - const [amount, setAmount] = useState(0); - const [loading, setLoading] = useState(false); - const { enqueueSnackbar } = useSnackbar(); - const sessionData = useSelector((state: any) => state.auth.session); - const { deposit, loading: depositLoading, error } = useDeposit(); - const { balance } = useGetMmcContractBalance(sessionData?.address); - - // TODO we can have a list of errors centralized in a library to throw, in favor of reutilization - const errorDueInvalidAmount = () => enqueueSnackbar("Invalid deposit amount.", { variant: "warning" }); - const errorDuringDeposit = () => enqueueSnackbar(`Oops! Something went wrong with your deposit. Please try again.`, { variant: "error" }); - - const RainbowEffect = loading || depositLoading ? NeonPaper : Box; - const mdUp = useResponsive('up', 'md'); - - useEffect(() => { - if (error) errorDuringDeposit() - }, [error]); - - const handleConfirmDeposit = useCallback(async () => { - // fail fast - // TODO validation formatUint(amount) > balance - if (amount == 0 || amount >= (balance ?? 0)) - return errorDueInvalidAmount(); - - try { - setLoading(true); - // TODO deposit can return a OK? - await deposit({ recipient: sessionData?.address, amount }); - enqueueSnackbar(`The deposit was successful`, { variant: "success" }); - onClose(); - } catch (err: any) { - errorDuringDeposit(); - } finally { - setLoading(false); - } - - }, [sessionData?.address, amount, balance]); - + const depositHook = useDeposit(); + const userAddress = sessionData?.address; return ( - <> - - - Connected Wallet - - {truncateAddress(sessionData?.address)} - - - - - - - Balance - - {formatBalanceNumber(balance ?? 0)} MMC - - - - - - - Amount to deposit - setAmount(Number(e.target.value))} - /> - - - - - + ); }; diff --git a/src/sections/finance/components/finance-deposit-from-stripe.tsx b/src/sections/finance/components/finance-deposit-from-stripe.tsx index 4ad65bcb1..7374ea854 100644 --- a/src/sections/finance/components/finance-deposit-from-stripe.tsx +++ b/src/sections/finance/components/finance-deposit-from-stripe.tsx @@ -1,9 +1,42 @@ -import Box from "@mui/material/Box"; +// @mui +import Box from '@mui/material/Box'; + +// Project components +import TextMaxLine from '@src/components/text-max-line'; +import { ComingSoonIllustration } from '@src/assets/illustrations'; const FinanceDepositFromStripe = () => { return ( - + + + + + This feature is coming soon. + + + We’re working hard to bring this section to life. Check back soon! + + + + ); -} +}; -export default FinanceDepositFromStripe +export default FinanceDepositFromStripe; diff --git a/src/sections/finance/components/finance-deposit-modal.tsx b/src/sections/finance/components/finance-deposit-modal.tsx index 15f366fb6..a090c690c 100644 --- a/src/sections/finance/components/finance-deposit-modal.tsx +++ b/src/sections/finance/components/finance-deposit-modal.tsx @@ -2,16 +2,16 @@ import { FC, useState } from 'react'; // MUI IMPORTS -import Tab from "@mui/material/Tab"; -import DialogTitle from "@mui/material/DialogTitle"; -import Tabs, {tabsClasses} from "@mui/material/Tabs"; -import Dialog, {DialogProps} from "@mui/material/Dialog"; +import Tab from '@mui/material/Tab'; +import DialogTitle from '@mui/material/DialogTitle'; +import Tabs, { tabsClasses } from '@mui/material/Tabs'; +import Dialog, { DialogProps } from '@mui/material/Dialog'; // LOCAL IMPORTS import Iconify from '@src/components/iconify'; -import FinanceDepositFromStripe from "@src/sections/finance/components/finance-deposit-from-stripe.tsx"; -import FinanceDepositFromMetamask from "@src/sections/finance/components/finance-deposit-from-metamask.tsx"; -import FinanceDepositFromSmartAccount from "@src/sections/finance/components/finance-deposit-from-smart-account.tsx"; +import FinanceDepositFromStripe from '@src/sections/finance/components/finance-deposit-from-stripe.tsx'; +import FinanceDepositFromMetamask from '@src/sections/finance/components/finance-deposit-from-metamask.tsx'; +import FinanceDepositFromSmartAccount from '@src/sections/finance/components/finance-deposit-from-smart-account.tsx'; // ---------------------------------------------------------------------- @@ -22,9 +22,19 @@ interface FinanceDepositModalProps extends DialogProps { // ---------------------------------------------------------------------- const TABS = [ - { value: 'fiat', label: 'Stripe', disabled: true, icon: }, - { value: 'metamask', label: 'Metamask', disabled: false, icon: }, - { value: 'smartAccount', label: 'Smart Account', disabled: false, icon: }, + { value: 'fiat', label: 'Stripe', disabled: false, icon: }, + { + value: 'metamask', + label: 'Metamask', + disabled: false, + icon: , + }, + { + value: 'smartAccount', + label: 'Smart Account', + disabled: false, + icon: , + }, ]; // ---------------------------------------------------------------------- @@ -48,7 +58,7 @@ export const FinanceDepositModal: FC = ({ open, onClos width: 1, zIndex: 9, borderBottom: '1px solid rgba(255, 255, 255, 0.08)', - [`& .${tabsClasses.flexContainer}`]: { justifyContent: 'center' }, + [`& .${tabsClasses.flexContainer}`]: { justifyContent: { xs: 'left', md: 'center' } }, }} > {TABS.map((tab) => ( @@ -62,9 +72,9 @@ export const FinanceDepositModal: FC = ({ open, onClos ))} - {currentTab === 'fiat' && ()} - {currentTab === 'metamask' && ()} - {currentTab === 'smartAccount' && ()} + {currentTab === 'fiat' && } + {currentTab === 'metamask' && } + {currentTab === 'smartAccount' && } ); -} +}; diff --git a/src/sections/finance/components/finance-deposit.tsx b/src/sections/finance/components/finance-deposit.tsx index a60bcb226..0b5c39f3a 100644 --- a/src/sections/finance/components/finance-deposit.tsx +++ b/src/sections/finance/components/finance-deposit.tsx @@ -1,92 +1,126 @@ -// TODO Please keep ordered the dependencies -import { useSnackbar } from "notistack"; -import { useSelector } from "react-redux"; -import { FC, useEffect, useState, useCallback } from 'react'; - -import Box from "@mui/material/Box"; -import Stack from "@mui/material/Stack"; -import Divider from "@mui/material/Divider"; -import TextMaxLine from "@src/components/text-max-line"; -import NeonPaper from "@src/sections/publication/NeonPaperContainer.tsx"; -import FinanceDialogsActions from "@src/sections/finance/components/finance-dialogs-actions.tsx"; - -import { formatBalanceNumber } from "@src/utils/format-number.ts"; -import { InputAmount } from "@src/components/input-amount.tsx"; -import { BoxRow } from "@src/sections/finance/components/finance-deposit-from-metamask.tsx"; -import { useGetMmcContractBalance } from "@src/hooks/use-get-mmc-contract-balance.ts"; -import { useResponsive } from "@src/hooks/use-responsive.ts"; -import { UseDepositHook } from "@src/hooks/use-deposit.ts"; -import { truncateAddress } from '@src/utils/wallet.ts'; - -interface FinanceDepositFromSmartAccountProps { - useDeposit:() => UseDepositHook; +// React and libraries imports +import { FC, useCallback, useEffect, useState } from 'react'; +import { Address } from 'viem'; + +// @mui components +import Box from '@mui/material/Box'; +import Stack from '@mui/material/Stack'; +import Divider from '@mui/material/Divider'; + +// Project components +import NeonPaper from '@src/sections/publication/NeonPaperContainer'; +import FinanceDialogsActions from '@src/sections/finance/components/finance-dialogs-actions'; +import TextMaxLine from '@src/components/text-max-line'; +import { InputAmount } from '@src/components/input-amount'; +import { formatBalanceNumber } from '@src/utils/format-number'; +import { useResponsive } from '@src/hooks/use-responsive'; +import { useGetMmcContractBalance } from '@src/hooks/use-get-mmc-contract-balance'; +import BoxRow from '@src/sections/finance/components/box-row.tsx'; +import { UseDepositHook } from '@src/hooks/use-deposit'; +import { truncateAddress } from '@src/utils/wallet'; + +// Notifications +import { notifyError, notifySuccess, notifyWarning } from '@notifications/internal-notifications'; +import { WARNING } from '@notifications/warnings'; +import { SUCCESS } from '@notifications/success'; +import { ERRORS } from '@notifications/errors.ts'; + +interface FinanceDepositProps { + /** + * The currently connected address (Metamask or SmartWallet). + * If undefined, we assume no wallet is connected. + */ + address?: Address; + + /** + * The address that receives the deposit (e.g. the user's session address). + */ + recipient?: string; + + /** + * The deposit hook you already have. + * Could be useDeposit() or useDepositMetamask(), etc. + */ + depositHook: UseDepositHook; + + /** + * Callback for closing the modal / dialog. + */ onClose: () => void; } -const FinanceDepositFromSmartAccount: FC = ({ onClose, useDeposit }) => { - // TODO Use this component as generic finance deposit and create new sub components for metamask & smart account - // TODO Please keep declaration on top +/** + * Generic component that holds the UI for depositing funds. + * It requires: + * - `address` (the connected wallet) + * - `recipient` (the address to receive funds) + * - `depositHook` (generic or Metamask deposit hook) + * - `onClose` + */ +const FinanceDeposit: FC = ({ address, recipient, depositHook, onClose }) => { const [amount, setAmount] = useState(0); - const [loading, setLoading] = useState(false); - const { enqueueSnackbar } = useSnackbar(); + const [localLoading, setLocalLoading] = useState(false); - const sessionData = useSelector((state: any) => state.auth.session); - const { deposit, loading: depositLoading, error } = useDeposit(); - const { balance } = useGetMmcContractBalance(sessionData?.address); + const { deposit, loading: depositLoading, error } = depositHook; - // TODO we can have a list of errors centralized in a library to throw, in favor of reutilization - const errorDueInvalidAmount = () => enqueueSnackbar("Invalid deposit amount.", { variant: "warning" }); - const errorDuringDeposit = () => enqueueSnackbar(`Oops! Something went wrong with your deposit. Please try again.`, { variant: "error" }); - - const RainbowEffect = loading || depositLoading ? NeonPaper : Box; - const mdUp = useResponsive('up', 'md'); - // TODO any extra connection like: - // useEffect(() => { - // handleConnectMetamask(); - // }, []); - // could be handled in the specific component + // Retrieve the balance using the "address" (the connected one) + const { balance } = useGetMmcContractBalance(address); useEffect(() => { - if (error) errorDuringDeposit() + if (error) { + notifyError(error as ERRORS); + } }, [error]); - - const handleConfirmDeposit = useCallback(async () => { - // fail fast - // TODO validation formatUint(amount) > balance - if (amount == 0 || amount >= (balance ?? 0)) - return errorDueInvalidAmount(); + // Validation and deposit + const handleConfirmDeposit = useCallback(async () => { + if (!address) { + // If there's no connected address, we can't deposit + notifyWarning(WARNING.NO_WALLET_CONNECTED); + return; + } + // Validate amount > 0 and <= balance + if (amount <= 0 || amount > (balance ?? 0)) { + notifyWarning(WARNING.INVALID_DEPOSIT_AMOUNT); + return; + } try { - setLoading(true); - // TODO deposit can return a OK? - await deposit({ recipient: sessionData?.address, amount }); - enqueueSnackbar(`The deposit was successful`, { variant: "success" }); + setLocalLoading(true); + await deposit({ recipient: recipient ?? address, amount }); + notifySuccess(SUCCESS.DEPOSIT_SUCCESSFULLY); onClose(); - } catch (err: any) { - errorDuringDeposit(); + } catch (err) { + notifyWarning(WARNING.NO_WALLET_AUTHORIZATION); } finally { - setLoading(false); + setLocalLoading(false); } + }, [address, recipient, amount, balance, deposit, onClose]); - }, [sessionData?.address, amount, balance]); + // NeonPaper effect if currently loading + const isBusy = localLoading || depositLoading; + const RainbowEffect = isBusy ? NeonPaper : Box; + const mdUp = useResponsive('up', 'md'); + // If there's no address, we could show a fallback, + // but here we'll show the same UI (balance: 0, etc.) + // or a warning when confirming. It's up to you. return ( <> Connected Wallet - {truncateAddress(sessionData?.address)} + {address ? truncateAddress(address) : 'No wallet connected'} @@ -96,17 +130,18 @@ const FinanceDepositFromSmartAccount: FC = Balance {formatBalanceNumber(balance ?? 0)} MMC - + Amount to deposit setAmount(Number(e.target.value))} @@ -116,7 +151,7 @@ const FinanceDepositFromSmartAccount: FC = = ); }; -export default FinanceDepositFromSmartAccount; +export default FinanceDeposit; diff --git a/src/sections/finance/components/finance-dialogs-actions.tsx b/src/sections/finance/components/finance-dialogs-actions.tsx index 071604713..1bb4bab86 100644 --- a/src/sections/finance/components/finance-dialogs-actions.tsx +++ b/src/sections/finance/components/finance-dialogs-actions.tsx @@ -1,7 +1,12 @@ -import DialogActions from "@mui/material/DialogActions"; -import LoadingButton from "@mui/lab/LoadingButton"; -import FinanceChangeWallet from "@src/sections/finance/components/finance-change-wallet.tsx"; -import {Address} from "viem"; +// React and libraries imports +import { Address } from 'viem'; + +// @mui components +import DialogActions from '@mui/material/DialogActions'; +import LoadingButton from '@mui/lab/LoadingButton'; + +// Project imports +import FinanceChangeWallet from '@src/sections/finance/components/finance-change-wallet.tsx'; type FinanceDialogsActionsProps = { rainbowComponent: any; @@ -13,28 +18,40 @@ type FinanceDialogsActionsProps = { onConfirmAction: () => void; onCloseAction?: () => void; onChangeWallet?: (address: Address) => void; -} +}; -const FinanceDialogsActions = ({rainbowComponent: RainbowEffect, onConfirmAction, loading, actionLoading, amount, balance, label, onChangeWallet }: FinanceDialogsActionsProps) => { +const FinanceDialogsActions = ({ + rainbowComponent: RainbowEffect, + onConfirmAction, + loading, + actionLoading, + amount, + balance, + label, + onChangeWallet, +}: FinanceDialogsActionsProps) => { return ( - { - onChangeWallet && ( - - ) - } - {/**/} - + {onChangeWallet && } + (balance ?? 0)} loading={loading || actionLoading} - >{label} + > + {label} - ) -} + ); +}; export default FinanceDialogsActions; diff --git a/src/sections/finance/components/finance-earn-tokens.tsx b/src/sections/finance/components/finance-earn-tokens.tsx new file mode 100644 index 000000000..5b0269326 --- /dev/null +++ b/src/sections/finance/components/finance-earn-tokens.tsx @@ -0,0 +1,148 @@ +import 'viem/window'; +import { FC } from 'react'; + +// @mui +import Stack from '@mui/material/Stack'; +import { CardProps } from '@mui/material/Card'; +import Button from '@mui/material/Button'; +import Typography from '@mui/material/Typography'; + +// theme +import { bgGradient } from '@src/theme/css'; +import Iconify from '@src/components/iconify'; +import { alpha, useTheme } from '@mui/material/styles'; +// @ts-ignore +import Earn from '@src/assets/illustrations/earn.svg'; +import Image from '@src/components/image'; + +interface FinanceEarnTokensProps extends CardProps { + lgUp: boolean; +} + +const FinanceEarnTokens: FC = ({ sx, lgUp, ...other }) => { + const theme = useTheme(); + + const handleClick = () => { + window.open('https://tropee.com/watchit', '_BLANK'); + }; + + return ( + + <> + + + + ¡Complete some tasks and win! + + + Earn{' '} + + MMC + + tokens + + + + Invite your family and friends and claims your rewards. + + + + + {'Earn + + + + + ); +}; + +export default FinanceEarnTokens; diff --git a/src/sections/finance/components/finance-external-wallet.tsx b/src/sections/finance/components/finance-external-wallet.tsx index baefa6f64..941e79c78 100644 --- a/src/sections/finance/components/finance-external-wallet.tsx +++ b/src/sections/finance/components/finance-external-wallet.tsx @@ -1,11 +1,14 @@ +// React and libraries imports +import React from 'react'; + // @mui +import { Box } from '@mui/system'; import { useTheme, alpha } from '@mui/material/styles'; import Typography from '@mui/material/Typography'; import Stack, { StackProps } from '@mui/material/Stack'; + // theme import { bgGradient } from '@src/theme/css'; -import React from "react"; -import {Box} from "@mui/system"; // ---------------------------------------------------------------------- @@ -18,88 +21,107 @@ interface Props extends StackProps { action?: React.ReactNode; } -export default function FinanceExternalWallet({connectedWallet, title, description, info, action, img, ...other }: Props) { +export default function FinanceExternalWallet({ + connectedWallet, + title, + description, + info, + action, + img, + ...other +}: Props) { const theme = useTheme(); return ( <> - - - {title} - + + + {title} + + + {connectedWallet ? ( + + {description}{' '} + + MMC + + + ) : ( + action && action + )} - { connectedWallet ? ( - {description} MMC + {info} - ) : action && action } - - - {info} - - {connectedWallet ? (action && action) : null } + {connectedWallet ? action && action : null} + + {img && ( + + {img} + + )} - - {img && ( - - {img} - - )} - ); } diff --git a/src/sections/finance/components/finance-invite-friends.tsx b/src/sections/finance/components/finance-invite-friends.tsx index 58fdb3d8f..037e7a75a 100644 --- a/src/sections/finance/components/finance-invite-friends.tsx +++ b/src/sections/finance/components/finance-invite-friends.tsx @@ -1,15 +1,22 @@ +// React and libraries imports import React, { useState } from 'react'; +import { useSelector } from 'react-redux'; + +// @MUI components import { useTheme } from '@mui/material/styles'; import Stack from '@mui/material/Stack'; import Button from '@mui/material/Button'; import InputBase from '@mui/material/InputBase'; import Box, { BoxProps } from '@mui/material/Box'; import Typography from '@mui/material/Typography'; + +// Project components import { bgGradient } from '@src/theme/css'; import { COLORS } from '@src/layouts/config-layout.ts'; import { supabase } from '@src/utils/supabase'; -import { useSelector } from 'react-redux'; -import { useSnackbar } from 'notistack'; +import { notifyError, notifySuccess } from '@notifications/internal-notifications.ts'; +import { SUCCESS } from '@notifications/success.ts'; +import { ERRORS } from '@notifications/errors.ts'; interface Props extends BoxProps { img?: string; @@ -19,15 +26,14 @@ interface Props extends BoxProps { } export default function FinanceInviteFriends({ - img, - price, - title, - description, - sx, - ...other - }: Props) { + img, + price, + title, + description, + sx, + ...other +}: Props) { const theme = useTheme(); - const { enqueueSnackbar } = useSnackbar(); const sessionData = useSelector((state: any) => state.auth.session); const [email, setEmail] = useState(''); @@ -50,7 +56,7 @@ export default function FinanceInviteFriends({ const handleInviteClick = () => { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(email)) { - enqueueSnackbar('Invalid email address', { variant: 'error' }); + notifyError(ERRORS.INVITATION_EMAIL_ERROR); return; } const payload = { @@ -58,16 +64,14 @@ export default function FinanceInviteFriends({ from: { id: sessionData?.profile?.id, displayName: sessionData?.profile?.metadata?.displayName, - avatar: (sessionData?.profile?.metadata?.picture as any)?.optimized?.uri + avatar: (sessionData?.profile?.metadata?.picture as any)?.optimized?.uri, }, - } + }, }; storeEmailData(email, payload).then(() => { - enqueueSnackbar('Invitation sent successfully', { variant: 'success' }) + notifySuccess(SUCCESS.INVITATIONS_SUCCESSFULLY); setEmail(''); }); - - }; return ( @@ -109,13 +113,23 @@ export default function FinanceInviteFriends({ alignItems="flex-end" justifyContent="center" > - {price} + + {price} + MMC - {description} + + {description} + + } diff --git a/src/sections/finance/components/finance-overlay-loader.tsx b/src/sections/finance/components/finance-overlay-loader.tsx new file mode 100644 index 000000000..f2a465f16 --- /dev/null +++ b/src/sections/finance/components/finance-overlay-loader.tsx @@ -0,0 +1,30 @@ +// @MUI Imports +import Box from '@mui/material/Box'; + +// Project imports +import { LoadingScreen } from '@src/components/loading-screen'; +import { COLORS } from '@src/layouts/config-layout.ts'; + +const FinanceOverlayLoader = () => { + return ( + + + + ); +}; + +export default FinanceOverlayLoader; diff --git a/src/sections/finance/components/finance-quick-actions.tsx b/src/sections/finance/components/finance-quick-actions.tsx deleted file mode 100644 index 152a9ddd3..000000000 --- a/src/sections/finance/components/finance-quick-actions.tsx +++ /dev/null @@ -1,138 +0,0 @@ -import "viem/window"; -// @mui -import Stack from '@mui/material/Stack'; -import { CardProps } from '@mui/material/Card'; -import Button from "@mui/material/Button"; - -// theme -import { bgGradient } from '@src/theme/css'; -// components -import Iconify from '@src/components/iconify'; -import FinanceExternalWallet from './finance-external-wallet.tsx'; -import SeoIllustration from "@src/assets/illustrations/seo-illustration.tsx"; -// ---------------------------------------------------------------------- - -// Import necessary hooks and clients -import { useState, useEffect, FC } from 'react'; -import { ConnectWalletClient } from '@src/clients/viem/walletClient'; -import { useGetVaultBalance } from '@src/hooks/use-get-vault-balance'; // Ensure correct path -import { useSnackbar } from 'notistack'; - -const FinanceQuickActions: FC = ({ sx, ...other }) => { - const [connectedWallet, setConnectedWallet] = useState(false); - const [walletAddress, setWalletAddress] = useState(null); - const { balance } = useGetVaultBalance(walletAddress as any); - const { enqueueSnackbar } = useSnackbar(); - - // Function to connect to MetaMask - const connectWallet = async () => { - try { - const walletClient = await ConnectWalletClient(); - const [address] = await walletClient.requestAddresses(); - if (address) { - setWalletAddress(address); - setConnectedWallet(true); - enqueueSnackbar('MetaMask connected successfully!', { variant: 'success', autoHideDuration: 3000 }); - } - } catch (error: any) { - console.error('Error connecting to wallet:', error); - enqueueSnackbar(`Failed to connect wallet: ${error.message}`, { variant: 'error', autoHideDuration: 5000 }); - } - }; - - // Function to handle wallet changes (User can interchange wallets using MetaMask extension) - const handleChangeWallet = async () => { - setConnectedWallet(false); - - window?.ethereum?.request({ - method: "wallet_requestPermissions", - params: [{ - eth_accounts: {} - }] - }).then(() => window?.ethereum?.request({method: 'eth_requestAccounts'}).then((accounts: string[]) => { - setWalletAddress(accounts[0]); - setConnectedWallet(true); - })).catch((error: any) => { - console.error('Error changing wallet:', error); - enqueueSnackbar(`Failed to change wallet: ${error.message}`, {variant: 'error', autoHideDuration: 5000}); - }) - } - - - // Automatically attempt to connect wallet on component mount - useEffect(() => { - (async () => { - try { - const walletClient = await ConnectWalletClient(); - const [address] = await walletClient.requestAddresses(); - if (address) { - setWalletAddress(address); - setConnectedWallet(true); - } - } catch (error) { - console.log('Wallet not connected'); - } - })(); - }, []); - - // Determine title and info based on connection status - const title = connectedWallet ? "Balance's Vault Metamask." : 'Connect external wallet'; - const info = connectedWallet - ? 'MetaMask connected. If you wish to change, click the button below.' - : 'You can connect your MetaMask wallet to view your vault balance.'; - - // Format the balance for display - const totalOptions = { minimumFractionDigits: 1, maximumFractionDigits: 3 }; - const formattedTotal = balance !== null ? new Intl.NumberFormat('en-US', totalOptions).format(balance) : '0'; - - return ( - - } - action={ - <> - {connectedWallet ? ( - - ) : ( - - )} - - } - /> - - ); -}; - -export default FinanceQuickActions; diff --git a/src/sections/finance/components/finance-quick-transfer-modal.tsx b/src/sections/finance/components/finance-quick-transfer-modal.tsx index 4a2f17814..e41f7aa03 100644 --- a/src/sections/finance/components/finance-quick-transfer-modal.tsx +++ b/src/sections/finance/components/finance-quick-transfer-modal.tsx @@ -1,5 +1,7 @@ -import { useState, useEffect } from 'react'; -// @mui +import { useEffect, useState } from 'react'; +import { useSelector } from 'react-redux'; + +// MUI components import Stack from '@mui/material/Stack'; import Button from '@mui/material/Button'; import Avatar from '@mui/material/Avatar'; @@ -9,26 +11,33 @@ import DialogTitle from '@mui/material/DialogTitle'; import ListItemText from '@mui/material/ListItemText'; import DialogActions from '@mui/material/DialogActions'; import Dialog, { DialogProps } from '@mui/material/Dialog'; -// hooks -import { useSelector} from "react-redux"; -import {truncateAddress} from "@src/utils/wallet.ts"; -import {Profile} from "@lens-protocol/api-bindings"; -import NeonPaper from "@src/sections/publication/NeonPaperContainer.tsx"; -import LoadingButton from "@mui/lab/LoadingButton"; +import { truncateAddress } from '@src/utils/wallet.ts'; + +// LENS +import { Profile } from '@lens-protocol/api-bindings'; + +// Project components +import NeonPaper from '@src/sections/publication/NeonPaperContainer.tsx'; +import LoadingButton from '@mui/lab/LoadingButton'; import { supabase } from '@src/utils/supabase'; -import {useNotificationPayload} from "@src/hooks/use-notification-payload.ts"; -import {useNotifications} from "@src/hooks/use-notifications.ts"; -import {useSnackbar} from "notistack"; +import { useNotificationPayload } from '@src/hooks/use-notification-payload.ts'; +import { useNotifications } from '@src/hooks/use-notifications.ts'; import { InputAmountProps } from '@src/components/input-amount.tsx'; - import { useTransfer } from '@src/hooks/use-transfer.ts'; + +// Notifications +import { notifyError, notifySuccess } from '@notifications/internal-notifications.ts'; +import { SUCCESS } from '@notifications/success.ts'; +import { ERRORS } from '@notifications/errors.ts'; + type TConfirmTransferDialogProps = InputAmountProps & DialogProps; interface ConfirmTransferDialogProps extends TConfirmTransferDialogProps { contactInfo?: Profile; address?: string; onClose: VoidFunction; - amount: number + onFinish: VoidFunction; + amount: number; } function FinanceQuickTransferModal({ @@ -36,29 +45,56 @@ function FinanceQuickTransferModal({ amount, contactInfo, onClose, - address + onFinish, + address, }: ConfirmTransferDialogProps) { const sessionData = useSelector((state: any) => state.auth.session); const { generatePayload } = useNotificationPayload(sessionData); const { sendNotification } = useNotifications(); - const { enqueueSnackbar } = useSnackbar(); const [message, setMessage] = useState(''); - const isSame = contactInfo?.ownedBy?.address === address; - const defaultImage = `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${address}`; - const defaultName = 'Destination wallet'; + const { transfer, loading: transferLoading, error } = useTransfer(); + // Check if we have a valid profile or not + const hasProfile = !!contactInfo; + + // Check if the passed address matches the profile's address + const isSame = + hasProfile && contactInfo?.ownedBy?.address?.toLowerCase() === address?.toLowerCase(); + + // If no valid profile, show "Destination wallet", else use profile’s displayName + const displayName = hasProfile + ? contactInfo?.metadata?.displayName || contactInfo?.handle?.localName + : 'Destination wallet'; + + // For the avatar, if no valid profile or if the address doesn't match, use a dicebear fallback + const avatarSrc = + hasProfile && isSame + ? (contactInfo?.metadata?.picture as any)?.optimized?.uri || + `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${contactInfo?.id}` + : `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${address}`; + + // For the secondary text under the name, if we have a valid profile that matches, use its address + // otherwise show the typed address + const secondaryText = hasProfile && isSame ? contactInfo?.ownedBy?.address : address; + useEffect(() => { - if (error) enqueueSnackbar(error.message, { variant: 'error' }); + if (error) { + notifyError(error as ERRORS); + } }, [error]); - async function storeTransactionInSupabase(receiver_id?: string, sender_id?: string, payload?: any) { - const { error } = await supabase + async function storeTransactionInSupabase( + receiver_id?: string, + sender_id?: string, + payload?: any + ) { + const { error: supaError } = await supabase .from('transactions') .insert([{ receiver_id, sender_id, payload }]); - if (error) { - console.error('Error storing transaction:', error); + if (supaError) { + console.error('Error storing transaction:', supaError); } else { console.log('Transaction stored successfully'); } @@ -68,15 +104,22 @@ function FinanceQuickTransferModal({ await transfer({ amount, recipient: address ?? '' }); const senderId = sessionData?.profile?.id ?? address; - const notificationPayload = generatePayload('TRANSFER', { - id: isSame ? (contactInfo?.id ?? '') : (address ?? ''), - displayName: isSame ? (contactInfo?.metadata?.displayName ?? 'no name') : 'External wallet', - avatar: (contactInfo?.metadata?.picture as any)?.optimized?.uri ?? '', - }, { - rawDescription: `${sessionData?.profile?.metadata?.displayName ?? address} sent you ${amount} MMC`, - message, - }); + // Build the notification payload + const notificationPayload = generatePayload( + 'TRANSFER', + { + id: isSame ? (contactInfo?.id ?? '') : (address ?? ''), + displayName: isSame ? (contactInfo?.metadata?.displayName ?? 'No name') : 'External wallet', + avatar: (contactInfo?.metadata?.picture as any)?.optimized?.uri ?? '', + }, + { + rawDescription: `${sessionData?.profile?.metadata?.displayName ?? address} sent you ${amount} MMC`, + message, + } + ); + + // Store transaction in supabase await storeTransactionInSupabase(contactInfo?.id ?? address, senderId, { address: contactInfo?.ownedBy?.address ?? address, amount, @@ -84,48 +127,62 @@ function FinanceQuickTransferModal({ ...notificationPayload, }); - await sendNotification(contactInfo?.id ?? address ?? '', sessionData?.profile?.id, notificationPayload); - - enqueueSnackbar('The transfer has been sent to ' + (isSame ? contactInfo?.metadata?.displayName : truncateAddress(address ?? '')) , { variant: 'success' }) + // Send notification to lens profile or address + await sendNotification( + contactInfo?.id ?? address ?? '', + sessionData?.profile?.id, + notificationPayload + ); - onClose(); + notifySuccess(SUCCESS.TRANSFER_CREATED_SUCCESSFULLY, { + destination: isSame ? contactInfo?.metadata?.displayName : truncateAddress(address ?? ''), + }); + onFinish(); }; const RainbowEffect = transferLoading ? NeonPaper : Box; + return ( Transfer to - + - + - + + setMessage(e.target.value)} - fullWidth multiline rows={3} placeholder="Write a message..." /> + fullWidth + multiline + rows={3} + placeholder="Write a message..." + /> - + { return ethers.isAddress(address); }; // ---------------------------------------------------------------------- -export default function FinanceQuickTransfer({ title, subheader,sx, list, ...other }: Props) { +export default function FinanceQuickTransfer({ + title, + subheader, + sx, + list: initialList, + ...other +}: Props) { const theme = useTheme(); const dispatch = useDispatch(); - const storedAddress = useSelector((state: any) => state.address) - const showRainbow = useSelector((state: any) => state.address.showRainbow) + + // Session / Redux states + const storedAddress = useSelector((state: any) => state.address); + const showRainbow = useSelector((state: any) => state.address.showRainbow); const balance = useSelector((state: any) => state.auth.balance); + + // Local states const [walletAddress, setWalletAddress] = useState(storedAddress.address ?? ''); const [addressError, setAddressError] = useState(false); const [currentIndex, setCurrentIndex] = useState(0); const [addressFiltered, setAddressFiltered] = useState(false); + const [initialized, setInitialized] = useState(false); + const [list, setList] = useState(initialList ?? []); + const [amount, setAmount] = useState(0); + + const confirm = useBoolean(); const MAX_AMOUNT = balance; + + // This gets the current profile in the carousel + const getContactInfo: Profile | undefined = list?.find((_, index) => index === currentIndex); + + // Callback to handle a profile selection from the search modal + const handleSelectProfile = (profile: Profile) => { + setList((prev) => { + // 1) Add the profile if it's not already there + const exists = prev.find((p) => p.id === profile.id); + const newList = exists ? prev : [...prev, profile]; + + // 2) Find the index of that profile in the new list + const updatedIndex = newList.findIndex((p) => p.id === profile.id); + const finalIndex = updatedIndex !== -1 ? updatedIndex : newList.length - 1; + + // 3) Move the carousel right now + carousel.setCurrentIndex(finalIndex); + + // 4) Update the wallet address & Redux + setWalletAddress(profile.ownedBy?.address ?? ''); + dispatch(storeAddress({ address: profile.ownedBy?.address, profileId: profile.id })); + + // Return the updated array + return newList; + }); + }; + + // Carousel config const carousel = useCarousel({ centerMode: true, swipeToSlide: true, - focusOnSelect: true, + infinite: true, centerPadding: '0px', rows: 1, - // @ts-ignore - slidesToShow: list?.length > 7 ? 7 : list?.length ?? 1, + slidesToShow: list?.length > 7 ? 7 : (list?.length ?? 1), responsive: [ { - // Down 1600 breakpoint: 1600, settings: { slidesToShow: 5, }, }, { - // Down 1400 breakpoint: 1400, settings: { slidesToShow: 3, }, }, { - // Down 900 breakpoint: theme.breakpoints.values.md, settings: { slidesToShow: 5, }, }, { - // Down 400 breakpoint: 400, settings: { slidesToShow: 3, @@ -97,11 +135,8 @@ export default function FinanceQuickTransfer({ title, subheader,sx, list, ...oth }, ], }); - const [amount, setAmount] = useState(0); - const confirm = useBoolean(); - const [initialized, setInitialized] = useState(false); - const getContactInfo: Profile | undefined= list?.find((_, index) => index === carousel.currentIndex); + // Initialize the carousel index useEffect(() => { if (!initialized && list?.length && carousel.carouselRef.current) { carousel.setCurrentIndex(list?.length > 5 ? 2 : 0); @@ -109,87 +144,121 @@ export default function FinanceQuickTransfer({ title, subheader,sx, list, ...oth } }, [list, carousel, initialized]); + // Whenever the carousel index changes, update the wallet address in state useEffect(() => { const currentProfile = list?.[carousel.currentIndex]; if (currentProfile?.ownedBy?.address) { setWalletAddress(currentProfile.ownedBy.address); - dispatch(storeAddress({ address: currentProfile.ownedBy.address, profileId: currentProfile.id })) + dispatch( + storeAddress({ address: currentProfile.ownedBy.address, profileId: currentProfile.id }) + ); + } + }, [carousel.currentIndex, list, dispatch]); + + // Merge initialList into local list when it changes + useEffect(() => { + if (initialList && initialList.length > 0) { + setList((prev) => { + // Combine the current local list + the new initialList + const combined = [...prev, ...initialList]; + + // Filter duplicates (by id) + return combined.filter( + (profile, index, arr) => arr.findIndex((p) => p.id === profile.id) === index + ); + }); } - }, [carousel.currentIndex, list]); + }, [initialList]); + // Handle changes in the input field for the wallet address const handleInputChange = (event: React.ChangeEvent) => { const value = event.target.value; setWalletAddress(value); - dispatch(storeAddress({ address: value, profileId: getContactInfo?.id ?? ''})) + dispatch(storeAddress({ address: value, profileId: getContactInfo?.id ?? '' })); + // If it's a valid address, let the next effect handle searching in the list if (isValidAddress(value)) { - setAddressFiltered(true); + setAddressFiltered(true); // We set a flag that we typed a valid address dispatch(toggleRainbow()); setAddressError(false); } else { setAddressError(true); } + // Rainbow effect trigger setTimeout(() => { dispatch(toggleRainbow()); - },1400) + }, 1400); }; + // Handle changes in the slider const handleChangeSlider = useCallback((_event: Event, newValue: number | number[]) => { setAmount(newValue as number); }, []); - const handleChangeInput = useCallback((_event: React.ChangeEvent) => { - setAmount(Number(_event.target.value)); + // Handle changes in the input for the amount + const handleChangeInput = useCallback((event: React.ChangeEvent) => { + setAmount(Number(event.target.value)); }, []); + // Validate the amount on blur const handleBlur = useCallback(() => { if (amount < 0) { setAmount(0); } else if (amount > MAX_AMOUNT) { setAmount(MAX_AMOUNT); } - }, [amount]); + }, [amount, MAX_AMOUNT]); + // Called after finishing a transfer const handleTransferFinish = () => { - setAmount(0) - setWalletAddress('') + setAmount(0); + setWalletAddress(''); confirm.onFalse?.(); - dispatch(storeAddress({ address: '', profileId: ''})) - } + dispatch(storeAddress({ address: '', profileId: '' })); + }; + // If the stored address changes or if we typed a valid custom address, check if it exists in the carousel useEffect(() => { - const index = list?.findIndex((profile) => profile.ownedBy?.address === storedAddress?.address && profile.id === storedAddress.profileId); - - if (index !== -1) { - setCurrentIndex(index ?? 0) - } - - // Verify is only the address is stored(changed) - if (addressFiltered) { - //find in list only filtering the address - const profile = list?.findIndex((profile) => profile.ownedBy?.address === storedAddress?.address); - - // If the address is found, set the current index - if (profile !== -1) { - setCurrentIndex(profile ?? 0) - } + // Attempt to match the stored address + profileId + const index = list?.findIndex( + (profile) => + profile.ownedBy?.address?.toLowerCase() === storedAddress?.address?.toLowerCase() && + profile.id === storedAddress.profileId + ); + + if (index !== -1 && index !== undefined) { + setCurrentIndex(index); + } - // Reset the filter - setAddressFiltered(false); + // If the user typed in an address, check if it's in the list by address only + if (addressFiltered) { + const profileIndex = list?.findIndex( + (profile) => + profile.ownedBy?.address?.toLowerCase() === storedAddress?.address?.toLowerCase() + ); + + if (profileIndex !== -1 && profileIndex !== undefined) { + setCurrentIndex(profileIndex); + } else { + // If it doesn't exist, deselect the carousel by using -1 + setCurrentIndex(-1); } + setAddressFiltered(false); + } + }, [storedAddress, addressFiltered, list]); - }, [storedAddress]); - - + // If rainbow effect is off, forcibly move the carousel to currentIndex useEffect(() => { - if (!showRainbow) { - if (carousel.carouselRef.current) { - carousel.carouselRef.current.slickGoTo(currentIndex); - } + if (!showRainbow && carousel.carouselRef.current && currentIndex !== -1) { + carousel.carouselRef.current.slickGoTo(currentIndex); } - }, [showRainbow]); + }, [showRainbow, currentIndex, carousel]); + + // We pick the contactInfo to pass to the modal. If currentIndex is -1, there's no matched profile + const contactInfoToPass = currentIndex === -1 ? undefined : getContactInfo; + // Render the wallet address input const renderWalletInput = ( ); + // Render the carousel of profiles const renderCarousel = ( {list?.map((profile, index) => ( - + ); + // Format balance to 3 decimals const balanceOptions = { minimumFractionDigits: 1, maximumFractionDigits: 3 }; const formattedBalance = new Intl.NumberFormat('en-US', balanceOptions).format(balance); + // Render the input for the amount and the slider const renderInput = ( - - - - - - - {renderWalletInput} - - {!!list?.length ? renderCarousel : undefined} - - {renderInput} + + } + /> + + {/* Content */} + + {renderWalletInput} + {!!list?.length && renderCarousel} + {renderInput} + - + {/* Final confirm & transfer modal */} diff --git a/src/sections/finance/components/finance-search-profile-modal.tsx b/src/sections/finance/components/finance-search-profile-modal.tsx new file mode 100644 index 000000000..700fe0d9c --- /dev/null +++ b/src/sections/finance/components/finance-search-profile-modal.tsx @@ -0,0 +1,158 @@ +import { useState, useCallback } from 'react'; +import { + Box, + Dialog, + ListItemButton, + ListItemText, + Avatar, + CircularProgress, + IconButton, +} from '@mui/material'; +import Iconify from '@src/components/iconify'; +import { Profile } from '@lens-protocol/api-bindings'; +import { useSearchProfiles } from '@lens-protocol/react-web'; +import Typography from '@mui/material/Typography'; +import Label from '@src/components/label'; +import { dialogClasses } from '@mui/material/Dialog'; +import InputBase from '@mui/material/InputBase'; +import InputAdornment from '@mui/material/InputAdornment'; +import Scrollbar from '@src/components/scrollbar/scrollbar.tsx'; +import SearchNotFound from '@src/components/search-not-found'; +import { useTheme } from '@mui/material/styles'; +import { useBoolean } from '@src/hooks/use-boolean.ts'; + +interface FinanceSearchProfileModalProps { + onSelectProfile: (profile: Profile) => void; +} + +export default function FinanceSearchProfileModal({ + onSelectProfile, +}: FinanceSearchProfileModalProps) { + const open = useBoolean(); + const [searchQuery, setSearchQuery] = useState(''); + const theme = useTheme(); + const { data: profiles, loading } = useSearchProfiles({ + query: searchQuery, + }); + + const handleSearchChange = useCallback((event: React.ChangeEvent) => { + setSearchQuery(event.target.value); + }, []); + + const handleClose = () => { + open.onFalse(); + setSearchQuery(''); + }; + + const handleSelectProfile = (profile: Profile) => { + onSelectProfile(profile); + handleClose(); + }; + + const renderItems = () => { + if (!searchQuery && !profiles?.length) { + return ( + + You can search for profiles to transfer here. + + ); + } + + return ( + <> + {profiles && + profiles.map((profile: Profile) => { + const avatarSrc = + (profile?.metadata?.picture as any)?.optimized?.uri ?? + `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${profile.id}`; + + return ( + handleSelectProfile(profile)}> + + + + ); + })} + + ); + }; + + const renderButton = ( + + + + ); + + const notFound = searchQuery && !profiles?.length; + + return ( + <> + {renderButton} + + + + + + } + endAdornment={} + inputProps={{ sx: { typography: 'h6' } }} + /> + + + {loading && ( + + + + )} + {notFound && !loading && } + {!notFound && !loading && renderItems()} + + + + ); +} diff --git a/src/sections/finance/components/finance-transactions-history.tsx b/src/sections/finance/components/finance-transactions-history.tsx index d6262ccc8..4834a188f 100644 --- a/src/sections/finance/components/finance-transactions-history.tsx +++ b/src/sections/finance/components/finance-transactions-history.tsx @@ -1,4 +1,4 @@ -import React, {useState, useCallback } from 'react'; +import React, { useState, useCallback } from 'react'; // @mui import { alpha } from '@mui/material/styles'; import Tab from '@mui/material/Tab'; @@ -8,7 +8,7 @@ import TableBody from '@mui/material/TableBody'; import TableContainer from '@mui/material/TableContainer'; // _mock -import {TRANSACTIONS_TYPES} from '@src/types/transaction'; +import { TRANSACTIONS_TYPES } from '@src/types/transaction'; // components import Label from '@src/components/label'; import Scrollbar from '@src/components/scrollbar'; @@ -26,11 +26,10 @@ import { import { IOrderTableFilters, IOrderTableFilterValue } from '@src/types/transaction'; // import FinanceTransactionTableRow from '@src/sections/finance/components/finance-transactions-table-row'; -import FinanceTransactionsTableFiltersResult from '@src/sections/finance/components/finance-transactions-table-filters-result'; -import {ProcessedTransactionData} from "@src/utils/finance-graphs/groupedTransactions.ts"; +import useGetSmartWalletTransactions from '@src/hooks/use-get-smart-wallet-transactions'; +import { processTransactionData } from '@src/utils/finance-graphs/groupedTransactions'; +import FinanceOverlayLoader from '@src/sections/finance/components/finance-overlay-loader.tsx'; -// ---------------------------------------------------------------------- -// REmove last 2 elements from the array TRANSACTIONS_TYPES const STATUS_OPTIONS = [{ value: 'all', label: 'All' }, ...TRANSACTIONS_TYPES.slice(0, -2)]; const TABLE_HEAD = [ @@ -40,22 +39,30 @@ const TABLE_HEAD = [ ]; const defaultFilters: IOrderTableFilters = { - status: 'all' + status: 'all', }; -type TransactionsProcessedData = { - transactionData: ProcessedTransactionData[]; -} +// ---------------------------------------------------------------------- + +export default function FinanceTransactionsHistory() { + const { transactions, loading } = useGetSmartWalletTransactions(); + let transactionData = processTransactionData(transactions); + const table = useTable({ + defaultOrder: 'desc', + defaultOrderBy: 'createdAt', + }); + + transactionData = transactionData.map((item) => ({ + ...item, + createdAt: Number(item.timestamp) * 1000, + })); -export default function FinanceTransactionsHistory({ transactionData }: TransactionsProcessedData) { - const table = useTable({ defaultOrderBy: 'name' }); - const [tableData, _setTableData] = useState(transactionData); const [filters, setFilters] = useState(defaultFilters); const dataFiltered = applyFilter({ inputData: transactionData, comparator: getComparator(table.order, table.orderBy), - filters + filters, }); const denseHeight = table.dense ? 52 : 72; @@ -73,10 +80,6 @@ export default function FinanceTransactionsHistory({ transactionData }: Transact [table] ); - const handleResetFilters = useCallback(() => { - setFilters(defaultFilters); - }, []); - const handleFilterStatus = useCallback( (_event: React.SyntheticEvent, newValue: string) => { handleFilters('status', newValue); @@ -86,100 +89,97 @@ export default function FinanceTransactionsHistory({ transactionData }: Transact return ( <> - `inset 0 -2px 0 0 ${alpha(theme.palette.grey[500], 0.08)}`, - }} - > - {Array.isArray(transactionData) && STATUS_OPTIONS.map((tab) => ( - - - {tab.value === 'all' && transactionData.length} - {tab.value === 'transferFrom' && transactionData.filter((t) => t.type.toLowerCase() === 'transferfrom' || t.type.toLowerCase() === 'withdraw').length} - {tab.value === 'transferTo' && transactionData.filter((t) => t.type.toLowerCase() === 'transferto' || t.type.toLowerCase() === 'deposit').length} - - - } - /> - ))} - - - {canReset && ( - `inset 0 -2px 0 0 ${alpha(theme.palette.grey[500], 0.08)}`, + }} + > + {Array.isArray(transactionData) && + STATUS_OPTIONS.map((tab) => ( + + {tab.value === 'all' && transactionData.length} + {tab.value === 'transferFrom' && + transactionData.filter( + (t) => + t.type.toLowerCase() === 'transferto' || t.type.toLowerCase() === 'withdraw' + ).length} + {tab.value === 'transferTo' && + transactionData.filter( + (t) => + t.type.toLowerCase() === 'transferfrom' || + t.type.toLowerCase() === 'deposit' + ).length} + + } + /> + ))} + + + + {loading && } + + + - )} - - - -
- - - - {dataFiltered - .slice( - table.page * table.rowsPerPage, - table.page * table.rowsPerPage + table.rowsPerPage - ) - .map((row) => ( - - ))} - - + {dataFiltered + .slice( + table.page * table.rowsPerPage, + table.page * table.rowsPerPage + table.rowsPerPage + ) + .map((row) => ( + + ))} - - -
-
-
- - + + + + + + + + + ); } @@ -189,14 +189,12 @@ export default function FinanceTransactionsHistory({ transactionData }: Transact function applyFilter({ inputData, comparator, - filters + filters, }: { - inputData: ProcessedTransactionData[]; + inputData: any[]; comparator: (a: any, b: any) => number; filters: IOrderTableFilters; }) { - - //Verify if the input data is an array; otherwise, return an empty array if (!Array.isArray(inputData)) { return []; } @@ -211,17 +209,21 @@ function applyFilter({ return a[1] - b[1]; }); - inputData = stabilizedThis.map((el) => el[0]); + let filteredData = stabilizedThis.map((el) => el[0]); if (status !== 'all') { - if(status === 'transferFrom') { - inputData = inputData.filter((t) => t.type.toLowerCase() === 'transferfrom' || t.type.toLowerCase() === 'withdraw'); + if (status === 'transferFrom') { + filteredData = filteredData.filter( + (t) => t.type.toLowerCase() === 'transferto' || t.type.toLowerCase() === 'withdraw' + ); } - if(status === 'transferTo') { - inputData = inputData.filter((t) => t.type.toLowerCase() === 'transferto' || t.type.toLowerCase() === 'deposit'); + if (status === 'transferTo') { + filteredData = filteredData.filter( + (t) => t.type.toLowerCase() === 'transferfrom' || t.type.toLowerCase() === 'deposit' + ); } } - return inputData; + return filteredData; } diff --git a/src/sections/finance/components/finance-transactions-table-filters-result.tsx b/src/sections/finance/components/finance-transactions-table-filters-result.tsx index 73efa8f6e..f446d231b 100644 --- a/src/sections/finance/components/finance-transactions-table-filters-result.tsx +++ b/src/sections/finance/components/finance-transactions-table-filters-result.tsx @@ -45,7 +45,11 @@ export default function FinanceTransactionsTableFiltersResult({ {filters.status !== 'all' && ( - + )} @@ -66,7 +70,7 @@ const parseFilterLabel = (type: string): string => { if (type === 'transferTo') return 'Incomes'; if (type === 'transferFrom') return 'Outcomes'; return type; -} +}; // ---------------------------------------------------------------------- diff --git a/src/sections/finance/components/finance-transactions-table-row.tsx b/src/sections/finance/components/finance-transactions-table-row.tsx index 2ccafeeff..af05f2f37 100644 --- a/src/sections/finance/components/finance-transactions-table-row.tsx +++ b/src/sections/finance/components/finance-transactions-table-row.tsx @@ -6,9 +6,9 @@ import TableRow from '@mui/material/TableRow'; import TableCell from '@mui/material/TableCell'; import ListItemText from '@mui/material/ListItemText'; // components -import {TableRowTransactionType } from "@src/hooks/use-transaction-data.ts"; -import {truncateAddress} from "@src/utils/wallet.ts"; -import Typography from "@mui/material/Typography"; +import { TableRowTransactionType } from '@src/hooks/use-transaction-data.ts'; +import { truncateAddress } from '@src/utils/wallet.ts'; +import Typography from '@mui/material/Typography'; // ---------------------------------------------------------------------- @@ -17,19 +17,13 @@ type Props = { selected: boolean; }; -export default function FinanceTransactionTableRow({ - row, - selected -}: Props) { - const { date, name, amount, type, avatarUrl, message, category } = row; - - console.log('TYPE:', type); +export default function FinanceTransactionTableRow({ row, selected }: Props) { + const { date, name, amount, avatarUrl, message, category } = row; const dateObject = new Date(Number(date) * 1000); const dateLbl = format(dateObject, 'dd/MM/yyyy'); const timeLbl = format(dateObject, 'p'); - const renderPrimary = ( @@ -59,16 +53,12 @@ export default function FinanceTransactionTableRow({ - - {category === 'income' ? '': '-'} {amount} MMC + + {category === 'income' ? '' : '-'} {amount} MMC ); - return ( - <> - {renderPrimary} - - ); + return <>{renderPrimary}; } diff --git a/src/sections/finance/components/finance-transfer-accounts.tsx b/src/sections/finance/components/finance-transfer-accounts.tsx deleted file mode 100644 index 7676a942c..000000000 --- a/src/sections/finance/components/finance-transfer-accounts.tsx +++ /dev/null @@ -1,295 +0,0 @@ -import React, { useState, useCallback, FC } from 'react'; -// @mui -import Stack from '@mui/material/Stack'; -import Button from '@mui/material/Button'; -import TextField from '@mui/material/TextField'; -import Box from '@mui/material/Box'; -import DialogTitle from '@mui/material/DialogTitle'; -import Card from '@mui/material/Card'; -import DialogActions from '@mui/material/DialogActions'; -import Dialog, { DialogProps } from '@mui/material/Dialog'; -// hooks -import { useBoolean } from '@src/hooks/use-boolean'; -// components -import { useSelector } from "react-redux"; -import NeonPaper from "@src/sections/publication/NeonPaperContainer.tsx"; -import LoadingButton from "@mui/lab/LoadingButton"; -import { useSnackbar } from "notistack"; -import { InputAmount, InputAmountProps } from '@src/components/input-amount.tsx'; -import IconButton from "@mui/material/IconButton"; -import Tooltip from "@mui/material/Tooltip"; -import Iconify from "@src/components/iconify"; -import Slider from "@mui/material/Slider"; -import { Divider, useTheme } from '@mui/material'; -import Scrollbar from '@src/components/scrollbar'; -import FinanceWalletTransferWidgetHorizontal from "@src/sections/finance/components/finance-wallet-transfer-widget-horizontal.tsx"; -import Typography from "@mui/material/Typography"; - -// ---------------------------------------------------------------------- - -type ButtonSwapProps = { - icon: string; - tooltip?: string; - onClick?: VoidFunction; - flipIcon?: boolean; -} - -const ButtonSwap: FC = ({ onClick, tooltip, icon, flipIcon }) => { - return ( - - - - - - - - ); -} - -// ---------------------------------------------------------------------- -export default function FinanceTransferAccounts() { - const sessionData = useSelector((state: any) => state.auth.session); - - const balanceETH = useSelector((state: any) => state.auth.balance); - const watchitBalance = balanceETH + 1000; // Just for testing purposes - - const confirm = useBoolean(); - - const [maxBalance, setMaxBalance] = useState(balanceETH); - const [fromWallet, setFromWallet] = useState(sessionData?.address); - const [toWallet, setToWallet] = useState('0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB'); - const [labelFrom, setLabelFrom] = useState('From ETH Wallet'); - const [labelTo, setLabelTo] = useState('To Watchit Wallet'); - - const handleTransferFinish = () => { - confirm.onFalse?.(); - } - - const handleOpenModal = () => { - confirm.onTrue?.(); - }; - - const handleSwapWallets = () => { - // Swap the wallets - setFromWallet(toWallet); - setToWallet(fromWallet); - - // Swap the labels - setLabelFrom((prevLabel) => (prevLabel === 'From ETH Wallet' ? 'From Watchit Wallet' : 'From ETH Wallet')); - setLabelTo((prevLabel) => (prevLabel === 'To Watchit Wallet' ? 'To ETH Wallet' : 'To Watchit Wallet')); - - // Swap the max balance - setMaxBalance(() => (labelTo === 'To Watchit Wallet' ? watchitBalance : balanceETH)); - }; - - return ( - <> - - - - - - ); -} - -// ---------------------------------------------------------------------- - -type TConfirmTransferDialogProps = InputAmountProps & DialogProps; - -interface ConfirmTransferDialogProps extends TConfirmTransferDialogProps { - address?: string; - onClose: VoidFunction; - fromWallet: string; - toWallet: string; - labelFrom: string; - labelTo: string; - onSwapWallets: VoidFunction; - balanceETH: number; - balanceWatchit: number; -} - -function ConfirmTransferDialog({ - open, - onClose, - fromWallet, - toWallet, - labelFrom, - labelTo, - max, - onSwapWallets, - balanceETH, - balanceWatchit, - }: ConfirmTransferDialogProps) { - const { enqueueSnackbar } = useSnackbar(); - const [loading, setLoading] = useState(false); - const [amount, setAmount] = useState(0); - - const handleConfirmTransfer = async () => { - setLoading(true); - setTimeout(() => { - // Notification for the user from wallet to wallet - enqueueSnackbar(`The transfer was successful ${labelFrom.toLowerCase()} to ${labelTo.toLowerCase()}`, { variant: 'success' }); - onClose(); - setLoading(false); - }, 2000); - }; - - const handleInputChange = (_event: React.ChangeEvent) => { - // const value = event.target.value; - }; - - const handleChangeSlider = useCallback((_event: Event, newValue: number | number[]) => { - setAmount(newValue as number); - }, []); - - const handleChangeInput = useCallback((_event: React.ChangeEvent) => { - setAmount(Number(_event.target.value)); - }, []); - - const handleBlur = useCallback(() => { - if (amount < 0) { - setAmount(0); - } else if (amount > max) { - setAmount(max); - } - }, [amount]); - - const RainbowEffect = loading ? NeonPaper : Box; - - const renderFromWalletInput = ( - - - - ); - const renderToWalletInput = ( - - - - ); - - const theme = useTheme(); - - return ( - - Transfer between your wallets - - - - } - sx={{ py: 4 }} - > - - - - - - - - - - {renderFromWalletInput} - - {renderToWalletInput} - - - - - - - - - - - - - - Max: {max} MMC - - - - - - - Confirm & Transfer - - - - - ); -} diff --git a/src/sections/finance/components/finance-wallet-transfer-widget-horizontal.tsx b/src/sections/finance/components/finance-wallet-transfer-widget-horizontal.tsx index dbd3901dc..377c04026 100644 --- a/src/sections/finance/components/finance-wallet-transfer-widget-horizontal.tsx +++ b/src/sections/finance/components/finance-wallet-transfer-widget-horizontal.tsx @@ -14,7 +14,12 @@ type Props = { color?: string; }; -export default function FinanceWalletTransferWidgetHorizontal({ title, icon, color, value }: Props) { +export default function FinanceWalletTransferWidgetHorizontal({ + title, + icon, + color, + value, +}: Props) { return ( { - if (error) enqueueSnackbar(error.message, { variant: 'error' }); + if (error) notifyError(error as ERRORS); }, [error]); const chartOptions = useChart({ @@ -107,11 +110,11 @@ export default function FinanceWidgetSummary({ const handleFinishDeposit = () => { confirmDeposit.onFalse?.(); - } + }; const handleFinishWithdraw = () => { confirmWithdraw.onFalse?.(); - } + }; const handleDepositOpenModal = () => { confirmDeposit.onTrue?.(); @@ -121,7 +124,6 @@ export default function FinanceWidgetSummary({ confirmWithdraw.onTrue?.(); }; - return ( + ); + } - - + return ( + ); }; diff --git a/src/sections/finance/components/finance-withdraw-from-smart-account.tsx b/src/sections/finance/components/finance-withdraw-from-smart-account.tsx index 337b5bb32..f734892e3 100644 --- a/src/sections/finance/components/finance-withdraw-from-smart-account.tsx +++ b/src/sections/finance/components/finance-withdraw-from-smart-account.tsx @@ -1,130 +1,26 @@ -import Stack from "@mui/material/Stack"; -import TextMaxLine from "@src/components/text-max-line"; -import { formatBalanceNumber } from "@src/utils/format-number.ts"; -import Divider from "@mui/material/Divider"; -import { InputAmount } from "@src/components/input-amount.tsx"; -import { BoxRow } from "@src/sections/finance/components/finance-deposit-from-metamask.tsx"; -import NeonPaper from "@src/sections/publication/NeonPaperContainer.tsx"; -import Box from "@mui/material/Box"; -import { useSnackbar } from "notistack"; -import React, { FC, useEffect, useState } from 'react'; -import {useWithdraw} from "@src/hooks/use-withdraw.ts"; -import {useGetBalance} from "@src/hooks/use-get-balance.ts"; -import TextField from "@mui/material/TextField"; -import {isValidAddress} from "@src/sections/finance/components/finance-quick-transfer.tsx"; -import FinanceDialogsActions from "@src/sections/finance/components/finance-dialogs-actions.tsx"; -import {useResponsive} from "@src/hooks/use-responsive.ts"; +import { FC } from 'react'; +import { useWithdraw } from '@src/hooks/use-withdraw'; +import { useGetBalance } from '@src/hooks/use-get-balance'; +import { useSelector } from 'react-redux'; +import FinanceWithdraw from './finance-withdraw'; -interface FinanceDepositFromSmartAccountProps { +interface FinanceWithdrawFromSmartAccountProps { onClose: () => void; } -const FinanceWithdrawFromSmartAccount: FC = ({ onClose }) => { - const [amount, setAmount] = useState(0); - const [loading, setLoading] = useState(false); +const FinanceWithdrawFromSmartAccount: FC = ({ onClose }) => { + const sessionData = useSelector((state: any) => state.auth.session); + const userAddress = sessionData?.address; const { balance } = useGetBalance(); - const { enqueueSnackbar } = useSnackbar(); - const { withdraw, loading: withdrawLoading, error } = useWithdraw(); - const [destinationAddress, setDestinationAddress] = useState(''); - const [addressError, setAddressError] = useState(false); - - - useEffect(() => { - if (error) { - enqueueSnackbar(`Deposit failed: ${error?.message}`, { variant: "error" }); - } - }, [enqueueSnackbar, error]); - - const handleConfirmWithdraw = async () => { - if (amount > 0 && amount <= (balance ?? 0)) { - try { - setLoading(true); - await withdraw({amount: amount, recipient: destinationAddress}); - enqueueSnackbar(`The withdraw was successful`, { variant: "success" }); - onClose(); - } catch (err: any) { - enqueueSnackbar(`Withdraw failed: ${err?.message}`, { variant: "error" }); - } finally { - setLoading(false); - } - } else { - enqueueSnackbar("Invalid withdraw amount", { variant: "warning" }); - } - }; - - const handleInputChange = (event: React.ChangeEvent) => { - const value = event.target.value; - setDestinationAddress(value); - - - if (isValidAddress(value)) { - setAddressError(false); - } else { - setAddressError(true); - } - }; - - const RainbowEffect = loading || withdrawLoading ? NeonPaper : Box; - - const mdUp = useResponsive('up', 'md'); + const withdrawHook = useWithdraw(); return ( - <> - - - - - - Balance - - {formatBalanceNumber(balance ?? 0)} MMC - - - - - - - - Amount to withdraw - setAmount(Number(e.target.value))} - /> - - - - - - - + ); }; diff --git a/src/sections/finance/components/finance-withdraw-modal.tsx b/src/sections/finance/components/finance-withdraw-modal.tsx index ac1fd2d88..478d9f610 100644 --- a/src/sections/finance/components/finance-withdraw-modal.tsx +++ b/src/sections/finance/components/finance-withdraw-modal.tsx @@ -1,23 +1,33 @@ // REACT IMPORTS -import {FC, useState} from 'react'; +import { FC, useState } from 'react'; // MUI IMPORTS -import DialogTitle from "@mui/material/DialogTitle"; +import DialogTitle from '@mui/material/DialogTitle'; -import Dialog, {DialogProps} from "@mui/material/Dialog"; +import Dialog, { DialogProps } from '@mui/material/Dialog'; // LOCAL IMPORTS -import FinanceWithdrawFromSmartAccount from "@src/sections/finance/components/finance-withdraw-from-smart-account"; -import Iconify from "@src/components/iconify"; -import Tabs, {tabsClasses} from "@mui/material/Tabs"; -import Tab from "@mui/material/Tab"; -import FinanceWithdrawFromMetamask from "@src/sections/finance/components/finance-withdraw-from-metamask.tsx"; +import FinanceWithdrawFromSmartAccount from '@src/sections/finance/components/finance-withdraw-from-smart-account'; +import Iconify from '@src/components/iconify'; +import Tabs, { tabsClasses } from '@mui/material/Tabs'; +import Tab from '@mui/material/Tab'; +import FinanceWithdrawFromMetamask from '@src/sections/finance/components/finance-withdraw-from-metamask.tsx'; const TABS = [ - { value: 'metamask', label: 'Metamask', disabled: false, icon: }, - { value: 'smartAccount', label: 'Smart Account', disabled: false, icon: }, + { + value: 'metamask', + label: 'Metamask', + disabled: false, + icon: , + }, + { + value: 'smartAccount', + label: 'Smart Account', + disabled: false, + icon: , + }, ]; // ---------------------------------------------------------------------- @@ -47,7 +57,7 @@ export const FinanceWithdrawModal: FC = ({ open, onClo width: 1, zIndex: 9, borderBottom: '1px solid rgba(255, 255, 255, 0.08)', - [`& .${tabsClasses.flexContainer}`]: { justifyContent: 'center' }, + [`& .${tabsClasses.flexContainer}`]: { justifyContent: { xs: 'left', md: 'center' } }, }} > {TABS.map((tab) => ( @@ -61,9 +71,8 @@ export const FinanceWithdrawModal: FC = ({ open, onClo ))} - {currentTab === 'metamask' && ()} - {currentTab === 'smartAccount' && ()} - + {currentTab === 'metamask' && } + {currentTab === 'smartAccount' && }
); -} +}; diff --git a/src/sections/finance/components/finance-withdraw.tsx b/src/sections/finance/components/finance-withdraw.tsx new file mode 100644 index 000000000..521bea870 --- /dev/null +++ b/src/sections/finance/components/finance-withdraw.tsx @@ -0,0 +1,147 @@ +import { FC, useCallback, useEffect, useState } from 'react'; +import { Address } from 'viem'; + +// @mui +import Box from '@mui/material/Box'; +import Stack from '@mui/material/Stack'; +import Divider from '@mui/material/Divider'; +import TextField from '@mui/material/TextField'; + +// Project components +import NeonPaper from '@src/sections/publication/NeonPaperContainer'; +import FinanceDialogsActions from '@src/sections/finance/components/finance-dialogs-actions'; +import TextMaxLine from '@src/components/text-max-line'; +import { InputAmount } from '@src/components/input-amount'; +import { formatBalanceNumber } from '@src/utils/format-number'; +import { useResponsive } from '@src/hooks/use-responsive'; +import BoxRow from '@src/sections/finance/components/box-row'; +import { isValidAddress } from '@src/sections/finance/components/finance-quick-transfer'; +import { UseWithdrawHook } from '@src/hooks/use-withdraw.ts'; + +// Notifications +import { notifyError, notifySuccess, notifyWarning } from '@notifications/internal-notifications'; +import { ERRORS } from '@notifications/errors'; +import { WARNING } from '@notifications/warnings'; +import { SUCCESS } from '@notifications/success'; + +interface FinanceWithdrawProps { + address?: Address; // The connected wallet address + withdrawHook: UseWithdrawHook; // Generic withdraw hook + balance: number | null; // Current user balance + onClose: () => void; // Callback to close the modal/dialog +} + +const FinanceWithdraw: FC = ({ address, withdrawHook, balance, onClose }) => { + const [amount, setAmount] = useState(0); + const [destinationAddress, setDestinationAddress] = useState(''); + const [addressError, setAddressError] = useState(false); + const [localLoading, setLocalLoading] = useState(false); + + const { withdraw, loading: withdrawLoading, error } = withdrawHook; + + const mdUp = useResponsive('up', 'md'); + const RainbowEffect = localLoading || withdrawLoading ? NeonPaper : Box; + + useEffect(() => { + if (error) { + notifyError(ERRORS.WITHDRAW_FAILED_ERROR); + } + }, [error]); + + const handleConfirmWithdraw = useCallback(async () => { + if (!destinationAddress || addressError) { + notifyWarning(WARNING.INVALID_WALLET_ADDRESS); + return; + } + if (amount <= 0 || amount > (balance ?? 0)) { + notifyWarning(WARNING.INVALID_WITHDRAW_AMOUNT); + return; + } + try { + setLocalLoading(true); + await withdraw({ amount, recipient: destinationAddress }); + notifySuccess(SUCCESS.WITHDRAW_SUCCESSFULLY); + onClose(); + } catch (err: any) { + notifyError(ERRORS.WITHDRAW_FAILED_ERROR); + } finally { + setLocalLoading(false); + } + }, [amount, destinationAddress, balance, withdraw, addressError, onClose]); + + const handleInputChange = (event: React.ChangeEvent) => { + const value = event.target.value; + setDestinationAddress(value); + setAddressError(!isValidAddress(value)); + }; + + return ( + <> + + + Connected Wallet + + {address ? address : 'No wallet connected'} + + + + + + + Balance + + {formatBalanceNumber(balance ?? 0)} MMC + + + + + + + Amount to withdraw + setAmount(Number(e.target.value))} + /> + + + + + + + + ); +}; + +export default FinanceWithdraw; diff --git a/src/sections/finance/index.tsx b/src/sections/finance/index.tsx index 670cc796f..b8caedb13 100644 --- a/src/sections/finance/index.tsx +++ b/src/sections/finance/index.tsx @@ -1,106 +1,131 @@ import Stack from '@mui/material/Stack'; import Container from '@mui/material/Container'; import Grid from '@mui/material/Unstable_Grid2'; - -// import FinanceContacts from '@src/sections/finance/components/finance-contacts.tsx'; import FinanceQuickTransfer from '@src/sections/finance/components/finance-quick-transfer.tsx'; import FinanceInviteFriends from '@src/sections/finance/components/finance-invite-friends.tsx'; import FinanceWidgetSummary from '@src/sections/finance/components/finance-widget-summary.tsx'; import FinanceBalanceStatistics from '@src/sections/finance/components/finance-balance-statistics.tsx'; - -import { useSelector } from "react-redux"; -import { useProfileFollowing } from "@lens-protocol/react"; -import { useTransactionData } from "@src/hooks/use-transaction-data"; -import { - groupedTransactionData, - processDayData, ProcessedTransactionData, - processTransactionData -} from "@src/utils/finance-graphs/groupedTransactions.ts"; -import Typography from "@mui/material/Typography"; -// import FinanceQuickActions from "@src/sections/finance/components/finance-quick-actions.tsx"; -import useGetSmartWalletTransactions from "@src/hooks/use-get-smart-wallet-transactions.ts"; -import FinanceTransactionsHistory from "@src/sections/finance/components/finance-transactions-history.tsx"; - -// ---------------------------------------------------------------------- - -type UseGetSmartWalletTransactionsReturn = ReturnType; +import { useSelector } from 'react-redux'; +import { useProfileFollowing } from '@lens-protocol/react'; +import Typography from '@mui/material/Typography'; +import FinanceTransactionsHistory from '@src/sections/finance/components/finance-transactions-history.tsx'; +import useGetSmartWalletTransactions from '@src/hooks/use-get-smart-wallet-transactions.ts'; +import { useEffect, useState } from 'react'; +import Tabs, { tabsClasses } from '@mui/material/Tabs'; +import Tab from '@mui/material/Tab'; +import Iconify from '@src/components/iconify'; +import { useResponsive } from '@src/hooks/use-responsive.ts'; +import FinanceEarnTokens from '@src/sections/finance/components/finance-earn-tokens.tsx'; // ---------------------------------------------------------------------- export default function OverviewBankingView() { + const lgUp = useResponsive('up', 'lg'); + const mdUp = useResponsive('up', 'md'); const { balance: balanceFromRedux } = useSelector((state: any) => state.auth); const sessionData = useSelector((state: any) => state.auth.session); - - const { data: transactionsData } = useTransactionData() + const { transactions, loading } = useGetSmartWalletTransactions(); + const [widgetSeriesData, setWidgetSeriesData] = useState<{ x: string; y: number }[]>([]); + const [percent, setPercent] = useState(0); const { data: following } = useProfileFollowing({ // @ts-ignore for: sessionData?.profile?.id, }); - // remove the last element as it is the current day - const processedData = groupedTransactionData(transactionsData); - const daySeriesData = processDayData(processedData); - // Get the difference between daySeriesData[1] and daySeriesData[0] in y value to calculate the percent - const percent = (daySeriesData[1]?.y - daySeriesData[0]?.y) / daySeriesData[0]?.y * 100; - const { transactions }: UseGetSmartWalletTransactionsReturn = useGetSmartWalletTransactions(); - const processedTransactions: ProcessedTransactionData[] = processTransactionData(transactions) + useEffect(() => { + if (!transactions || loading) return; + + const { daySeriesData, calculatedPercent } = groupTransactionsForWidget(transactions); + + setWidgetSeriesData(daySeriesData); + setPercent(calculatedPercent); + }, [transactions, loading]); return ( - + - + 0 ? 'eva:diagonal-arrow-right-up-fill' : 'eva:diagonal-arrow-left-down-fill'} + icon={ + percent > 0 + ? 'eva:diagonal-arrow-right-up-fill' + : 'eva:diagonal-arrow-left-down-fill' + } percent={percent} total={balanceFromRedux} chart={{ - series: daySeriesData, + series: widgetSeriesData, }} /> - {/* */} + {!mdUp ? : null} + {lgUp ? : null} - - - - - - - - Recent Transactions - - + {following?.length && !lgUp ? ( + + ) : undefined} + + {lgUp ? ( + <> + + + + + + + + Recent Transactions + + + + ) : ( + + )} - - - - + + - {following?.length ? ( + {following?.length && lgUp ? ( ) : undefined} + {!lgUp ? : null} + ); } + +export function groupTransactionsForWidget(transactions: any[]) { + if (!transactions?.length) { + return { daySeriesData: [], calculatedPercent: 0 }; + } + + let grouped: Record = {}; + + transactions.forEach((tx) => { + const timestamp = Number(tx.timestamp) * 1000; + const dateKey = new Date(timestamp).toISOString().slice(0, 10); + const amount = parseFloat(tx.formattedAmount); + const eventType = tx.event; + + if (!grouped[dateKey]) grouped[dateKey] = 0; + + if (eventType === 'deposit' || eventType === 'transferTo') { + grouped[dateKey] += amount; + } else if (eventType === 'withdraw' || eventType === 'transferFrom') { + grouped[dateKey] -= amount; + } + }); + + const daySeriesData = Object.keys(grouped) + .sort() + .map((day) => ({ + x: day, + y: grouped[day], + })); + + let calculatedPercent = 0; + if (daySeriesData.length > 1) { + const first = daySeriesData[0].y; + const second = daySeriesData[1].y; + calculatedPercent = ((second - first) / Math.abs(first)) * 100; + } + + return { daySeriesData, calculatedPercent }; +} + +const TabsComponent = () => { + const [currentTab, setCurrentTab] = useState('graph'); + + const handleChangeTab = (_event: any, newValue: any) => { + setCurrentTab(newValue); + }; + + const TABS = [ + { value: 'graph', label: 'Statistics', icon: }, + { value: 'table', label: 'Transactions', icon: }, + ]; + + return ( + <> + + {TABS.map((tab) => ( + + ))} + + {currentTab === 'graph' && ( + <> + + + + + + + )} + {currentTab === 'table' && ( + <> + + Recent Transactions{' '} + + + + )} + + ); +}; diff --git a/src/sections/publication/NeonPaperContainer.tsx b/src/sections/publication/NeonPaperContainer.tsx index 7419a1bcf..4e5cb43f3 100644 --- a/src/sections/publication/NeonPaperContainer.tsx +++ b/src/sections/publication/NeonPaperContainer.tsx @@ -1,9 +1,9 @@ -import {FC, ReactNode} from "react"; +import { FC, ReactNode } from 'react'; import { Paper, styled } from '@mui/material'; -import {PaperProps} from "@mui/material/Paper"; -import {SxProps, Theme} from "@mui/material/styles"; -import {COLORS} from "@src/layouts/config-layout.ts"; +import { PaperProps } from '@mui/material/Paper'; +import { SxProps, Theme } from '@mui/material/styles'; +import { COLORS } from '@src/layouts/config-layout.ts'; interface NeonPaperProps { children: ReactNode; @@ -16,8 +16,17 @@ interface NeonPaperProps { } const NeonPaperContainer = styled(Paper, { - shouldForwardProp: (prop) => prop !== 'colors' && prop !== 'animationSpeed' && prop !== 'borderRadius' && prop !== 'padding', -})(({ colors, animationSpeed, padding, borderRadius, width }) => ({ + shouldForwardProp: (prop) => + prop !== 'colors' && prop !== 'animationSpeed' && prop !== 'borderRadius' && prop !== 'padding', +})< + PaperProps & { + colors?: string[]; + animationSpeed?: string; + padding?: string; + borderRadius?: string; + width?: string; + } +>(({ colors, animationSpeed, padding, borderRadius, width }) => ({ '--gradient-pos-x': '50%', '--gradient-pos-y': '50%', '--border-radius': `${borderRadius || '10px'}`, @@ -68,10 +77,24 @@ ${colors?.join(', ') || '#1e87ff, #5c13c4, #ff0033, #ffda00, #64bc26, #1e87ff'} }, })); -const defaultColors = ['rgba(30,135,255,0.5)', 'rgba(92,19,196,0.5)', 'rgba(255,0,51,0.5)', 'rgba(255,218,0,0.5)', 'rgba(100,188,38,0.5)', 'rgba(30,135,255,0.5)'] -const defaultAnimationSpeed = '2s' +const defaultColors = [ + 'rgba(30,135,255,0.5)', + 'rgba(92,19,196,0.5)', + 'rgba(255,0,51,0.5)', + 'rgba(255,218,0,0.5)', + 'rgba(100,188,38,0.5)', + 'rgba(30,135,255,0.5)', +]; +const defaultAnimationSpeed = '2s'; -const NeonPaper: FC = ({ children, colors = defaultColors, animationSpeed = defaultAnimationSpeed, padding='0.7rem', borderRadius='10px', width='100%' }) => { +const NeonPaper: FC = ({ + children, + colors = defaultColors, + animationSpeed = defaultAnimationSpeed, + padding = '0.7rem', + borderRadius = '10px', + width = '100%', +}) => { return ( import('@mui/material/Popover')); @@ -61,7 +57,7 @@ type Props = { }; export default function PublicationCommentItem({ comment, hasReply, canReply }: Props) { - const isPendingComment = !!comment?.uri + const isPendingComment = !!comment?.uri; const ContentContainer = isPendingComment ? NeonPaperContainer : Paper; @@ -91,24 +87,28 @@ export default function PublicationCommentItem({ comment, hasReply, canReply }: publication: comment, }).then(() => { // Send notification to the author of the comment - const notificationPayload = generatePayload('LIKE', { - id: comment?.by?.id, - displayName: comment?.by?.metadata?.displayName ?? 'no name', - avatar: comment?.by?.metadata?.avatar, - }, { - root_id: comment?.commentOn?.root?.id ?? comment?.commentOn?.id, - parent_id: comment?.commentOn?.id, - comment_id: comment?.id, - rawDescription: `${sessionData?.profile?.metadata?.displayName} liked your comment`, - }); + const notificationPayload = generatePayload( + 'LIKE', + { + id: comment?.by?.id, + displayName: comment?.by?.metadata?.displayName ?? 'no name', + avatar: comment?.by?.metadata?.avatar, + }, + { + root_id: comment?.commentOn?.root?.id ?? comment?.commentOn?.id, + parent_id: comment?.commentOn?.id, + comment_id: comment?.id, + rawDescription: `${sessionData?.profile?.metadata?.displayName} liked your comment`, + } + ); - if (!hasLiked){ + if (!hasLiked) { dispatch(incrementCounterLikes(comment.id)); } else { dispatch(decrementCounterLikes(comment.id)); } - if(!hasLiked && comment?.by?.id !== sessionData?.profile?.id) { + if (!hasLiked && comment?.by?.id !== sessionData?.profile?.id) { sendNotification(comment?.by?.id, sessionData?.profile?.id, notificationPayload); } }); @@ -135,7 +135,6 @@ export default function PublicationCommentItem({ comment, hasReply, canReply }: } }, [comment?.stats?.upvotes, comment.id, dispatch]); - return ( - {sessionData?.authenticated && comment?.by?.id === sessionData?.profile?.id && !isPendingComment && ( - - )} + {sessionData?.authenticated && + comment?.by?.id === sessionData?.profile?.id && + !isPendingComment && ( + + )} {/* Suspense para Popover */} }> @@ -236,14 +237,16 @@ export default function PublicationCommentItem({ comment, hasReply, canReply }: sx={{ mb: 0.5 }} alignItems={{ sm: 'center' }} justifyContent="flex-start" - direction={ 'row' } + direction={'row'} gap={1} > {comment?.by?.handle?.localName} - { - isPendingComment ? 'Sending ...' : comment?.createdAt ? timeAgo(new Date(comment.createdAt)) : 'Just now' - } + {isPendingComment + ? 'Sending ...' + : comment?.createdAt + ? timeAgo(new Date(comment.createdAt)) + : 'Just now'} @@ -253,84 +256,94 @@ export default function PublicationCommentItem({ comment, hasReply, canReply }: - - - {canReply && ( - - )} - - - + {likes} + + + )} + + {canReply && ( + + )} + {showComments && ( <> {sessionData?.authenticated ? ( - + ) : ( state.comments.pendingComments); const { data: comments, error, loading, execute } = useLazyPublications(); - const { hiddenComments, refetchTriggerByPublication } = useSelector((state: any) => state.comments); + const { hiddenComments, refetchTriggerByPublication } = useSelector( + (state: any) => state.comments + ); const refetchTrigger = refetchTriggerByPublication[id] || 0; useEffect(() => { @@ -26,24 +28,28 @@ export default function PostCommentList({ publicationId: id, showReplies }: Prop commentOn: { id: publicationId(id), }, - } + }, }); if (result.isFailure()) { console.log('Error trying to get comments'); return; } - })() + })(); }, [refetchTrigger]); if (error) return

Error loading comments: {error.message}

; // Join the comments with the pending comments but append the pending comments at the beginning of the list - const commentsWithPending = pendingComments[id] ? [...pendingComments[id], ...(comments ?? [])] : comments; + const commentsWithPending = pendingComments[id] + ? [...pendingComments[id], ...(comments ?? [])] + : comments; const commentsFiltered = (commentsWithPending ?? []) - .filter((comment) => !hiddenComments.some((hiddenComment: any) => hiddenComment.id === comment.id)) - .filter((comment) => !comment.isHidden) + .filter( + (comment) => !hiddenComments.some((hiddenComment: any) => hiddenComment.id === comment.id) + ) + .filter((comment) => !comment.isHidden); return ( <> diff --git a/src/sections/publication/publication-details-comment-form.tsx b/src/sections/publication/publication-details-comment-form.tsx index 40cb8f145..fc2cfffde 100644 --- a/src/sections/publication/publication-details-comment-form.tsx +++ b/src/sections/publication/publication-details-comment-form.tsx @@ -21,10 +21,10 @@ import Iconify from '@src/components/iconify'; import { ReadResult } from '@lens-protocol/react/dist/declarations/src/helpers/reads'; import { uploadMetadataToIPFS } from '@src/utils/ipfs'; import uuidv4 from '@src/utils/uuidv4.ts'; -import {useDispatch, useSelector} from 'react-redux'; -import {useNotifications} from "@src/hooks/use-notifications.ts"; +import { useDispatch, useSelector } from 'react-redux'; +import { useNotifications } from '@src/hooks/use-notifications.ts'; import { useNotificationPayload } from '@src/hooks/use-notification-payload.ts'; -import {AnyPublication} from "@lens-protocol/api-bindings"; +import { AnyPublication } from '@lens-protocol/api-bindings'; // Define the props types type MovieCommentFormProps = { @@ -34,7 +34,7 @@ type MovieCommentFormProps = { id: string; displayName: string; avatar?: string; - } + }; }; /** @@ -86,7 +86,11 @@ const MovieCommentForm = ({ commentOn, owner, root }: MovieCommentFormProps) => id: uuid, attributes: [ { type: MetadataAttributeType.STRING, key: 'publication', value: commentOn }, - { type: MetadataAttributeType.STRING, key: 'creator', value: sessionData?.profile?.handle?.localName }, + { + type: MetadataAttributeType.STRING, + key: 'creator', + value: sessionData?.profile?.handle?.localName, + }, { type: MetadataAttributeType.STRING, key: 'app', value: 'watchit' }, ], content: data.comment, @@ -95,12 +99,15 @@ const MovieCommentForm = ({ commentOn, owner, root }: MovieCommentFormProps) => name: `Comment by ${sessionData?.profile?.handle?.localName}`, attributes: [ { display_type: MarketplaceMetadataAttributeDisplayType.STRING, value: commentOn }, - { display_type: MarketplaceMetadataAttributeDisplayType.STRING, value: sessionData?.profile?.handle?.localName }, + { + display_type: MarketplaceMetadataAttributeDisplayType.STRING, + value: sessionData?.profile?.handle?.localName, + }, { display_type: MarketplaceMetadataAttributeDisplayType.STRING, value: 'watchit' }, ], description: data.comment, external_url: `https://watchit.movie/comment/${uuid}`, - } + }, }); // Create a pending comment object @@ -113,7 +120,7 @@ const MovieCommentForm = ({ commentOn, owner, root }: MovieCommentFormProps) => }, // @ts-ignore operations: { - hasUpvoted: false + hasUpvoted: false, }, by: sessionData?.profile, createdAt: new Date().toISOString(), diff --git a/src/sections/publication/publication-new-wizard-summary.tsx b/src/sections/publication/publication-new-wizard-summary.tsx index 028d36e90..48019fb6c 100644 --- a/src/sections/publication/publication-new-wizard-summary.tsx +++ b/src/sections/publication/publication-new-wizard-summary.tsx @@ -14,10 +14,8 @@ export default function ReviewFinalizeForm({ onSubmit, onBack, data }: any) { Review Information - {/* Aquí puedes mostrar un resumen de todos los datos capturados en los pasos anteriores */} Title: {data.title} Description: {data.description} - {/* Agrega más campos según tus necesidades */}
diff --git a/src/sections/publication/publication-new-wizard.tsx b/src/sections/publication/publication-new-wizard.tsx index 08b997b27..6f128c2c8 100644 --- a/src/sections/publication/publication-new-wizard.tsx +++ b/src/sections/publication/publication-new-wizard.tsx @@ -14,7 +14,7 @@ import PublicationNewWizardSteps from './publication-new-wizard-steps.tsx'; import { useSettingsContext } from '@src/components/settings'; // @ts-ignore import { ReadResult } from '@lens-protocol/react/dist/declarations/src/helpers/reads'; -import {useSelector} from "react-redux"; +import { useSelector } from 'react-redux'; const steps = ['Movie Information', 'Media Assets & Technical Details', 'Distribution & Rights']; diff --git a/src/sections/publication/publication-replies-list.tsx b/src/sections/publication/publication-replies-list.tsx index 2245e5929..ff7bcd66e 100644 --- a/src/sections/publication/publication-replies-list.tsx +++ b/src/sections/publication/publication-replies-list.tsx @@ -12,7 +12,9 @@ type Props = { const RepliesList = ({ parentCommentId }: Props) => { const { data: replies, error, loading, execute } = useLazyPublications(); - const { hiddenComments, refetchTriggerByPublication, pendingComments } = useSelector((state: any) => state.comments); + const { hiddenComments, refetchTriggerByPublication, pendingComments } = useSelector( + (state: any) => state.comments + ); const refetchTrigger = refetchTriggerByPublication[parentCommentId] || 0; useEffect(() => { @@ -22,14 +24,14 @@ const RepliesList = ({ parentCommentId }: Props) => { commentOn: { id: publicationId(parentCommentId), }, - } + }, }); if (result.isFailure()) { console.log('Error trying to get replies'); return; } - })() + })(); }, [refetchTrigger]); if (error) return

Error loading replies: {error.message}

; @@ -40,7 +42,9 @@ const RepliesList = ({ parentCommentId }: Props) => { : replies; const repliesFiltered = (repliesWithPending ?? []) - .filter((comment) => !hiddenComments.some((hiddenComment: any) => hiddenComment.id === comment.id)) + .filter( + (comment) => !hiddenComments.some((hiddenComment: any) => hiddenComment.id === comment.id) + ) .filter((comment) => !comment.isHidden); return ( @@ -55,7 +59,7 @@ const RepliesList = ({ parentCommentId }: Props) => { marginBottom: '16px', marginRight: '16px', alignSelf: 'flex-end', - marginLeft: 'auto' + marginLeft: 'auto', }} /> )} diff --git a/src/sections/publication/view/publication-details-view.tsx b/src/sections/publication/view/publication-details-view.tsx index 7b5ebf4e5..b0f68cd91 100644 --- a/src/sections/publication/view/publication-details-view.tsx +++ b/src/sections/publication/view/publication-details-view.tsx @@ -30,15 +30,11 @@ import PublicationDetailMain from '@src/components/publication-detail-main.tsx'; import { useHasAccess } from '@src/hooks/use-has-access.ts'; import { SubscribeProfileModal } from '@src/components/subscribe-profile-modal.tsx'; import LoadingButton from '@mui/lab/LoadingButton'; -import {useDispatch, useSelector} from 'react-redux'; +import { useDispatch, useSelector } from 'react-redux'; import { openLoginModal } from '@redux/auth'; // @ts-ignore import { ReadResult } from '@lens-protocol/react/dist/declarations/src/helpers/reads'; -import { - appId, - PublicationType, - usePublications, -} from '@lens-protocol/react-web'; +import { appId, PublicationType, usePublications } from '@lens-protocol/react-web'; const MAX_LINES = 5; @@ -123,25 +119,26 @@ export default function PublicationDetailsView({ id }: Props) { if (loading || accessLoading) return ; - if (data.isHidden) return ( - - - Publication is hidden - - - ); + if (data.isHidden) + return ( + + + Publication is hidden + + + ); return ( <> diff --git a/src/sections/user/profile-cover.tsx b/src/sections/user/profile-cover.tsx index c62fbe577..25440ef67 100644 --- a/src/sections/user/profile-cover.tsx +++ b/src/sections/user/profile-cover.tsx @@ -12,7 +12,7 @@ interface ProfileCoverProps { } export default function ProfileCover({ profile }: ProfileCoverProps) { - const coverImage = profile?.metadata?.coverPicture?.optimized?.uri + const coverImage = profile?.metadata?.coverPicture?.optimized?.uri; return ( { // ---------------------------------------------------------------------- -const ProfileHeader = ({ profile: profileData, children }: PropsWithChildren) => { +const ProfileHeader = ({ + profile: profileData, + children, +}: PropsWithChildren) => { const dispatch = useDispatch(); - const { enqueueSnackbar } = useSnackbar(); const navRef = useRef(null); const navRefSocial = useRef(null); const navRefSettings = useRef(null); @@ -117,7 +122,8 @@ const ProfileHeader = ({ profile: profileData, children }: PropsWithChildren { try { - await navigator.clipboard.writeText(urlToShare.replace('profileId', 'profile/' + profile?.id)); - enqueueSnackbar('Link copied to clipboard!', { variant: 'success' }) + await navigator.clipboard.writeText( + urlToShare.replace('profileId', 'profile/' + profile?.id) + ); + notifySuccess(SUCCESS.LINK_COPIED_TO_CLIPBOARD); } catch (err) { - enqueueSnackbar('Failed to copy link.', { variant: 'error' }) + notifyError(ERRORS.LINK_COPIED_ERROR); } }; @@ -221,7 +229,7 @@ const ProfileHeader = ({ profile: profileData, children }: PropsWithChildren @@ -245,7 +253,9 @@ const ProfileHeader = ({ profile: profileData, children }: PropsWithChildren - ) : <>} + ) : ( + <> + )} (null); const minibarState = useSelector((state: any) => state.minibar.state); @@ -126,8 +126,7 @@ export default function ProfileHome({ } }; - const shouldShowButton = - publications.length > publicationsToShow.length || isShowingAll; + const shouldShowButton = publications.length > publicationsToShow.length || isShowingAll; // Gap between items const gap = 10; @@ -192,14 +191,14 @@ export default function ProfileHome({ )} - {(shouldShowButton && isShowingAll && publicationsToShow.length) ? ( + {shouldShowButton && isShowingAll && publicationsToShow.length ? ( - ): null} + ) : null} ); } diff --git a/src/sections/user/view/user-profile-view.tsx b/src/sections/user/view/user-profile-view.tsx index 74d4d516e..dafe3ec1d 100644 --- a/src/sections/user/view/user-profile-view.tsx +++ b/src/sections/user/view/user-profile-view.tsx @@ -6,7 +6,7 @@ import Tabs, { tabsClasses } from '@mui/material/Tabs'; // components import { useSettingsContext } from '@src/components/settings'; -import {useLazyProfile, useProfileFollowers, useProfileFollowing} from '@lens-protocol/react'; +import { useLazyProfile, useProfileFollowers, useProfileFollowing } from '@lens-protocol/react'; import { appId, ProfileId, PublicationType, usePublications } from '@lens-protocol/react-web'; import ProfileHome from '../profile-home'; import ProfileFollowers from '../profile-followers'; @@ -19,7 +19,7 @@ import { LoadingScreen } from '@src/components/loading-screen'; import { useSelector, useDispatch } from 'react-redux'; // @ts-ignore import { RootState } from '@src/redux/store'; -import {setFollowers, setFollowings} from "@redux/followers"; +import { setFollowers, setFollowings } from '@redux/followers'; // ---------------------------------------------------------------------- @@ -49,21 +49,17 @@ const UserProfileView = ({ id }: any) => { of: profile?.id, }); - const { data: following } = useProfileFollowing({ - // @ts-ignore - for: profile?.id, - }); - + // @ts-ignore + for: profile?.id, + }); - useEffect(() => { + useEffect(() => { (async () => { if (id !== profile?.id || !called) await execute({ forProfileId: id as ProfileId }); })(); }, [profile?.id, id]); - - useEffect(() => { if (profile) { dispatch(setFollowers(followers ?? [])); @@ -76,7 +72,6 @@ const UserProfileView = ({ id }: any) => { } }, [profile, following, dispatch]); - const followersStore = useSelector((state: RootState) => state.followers.followers); const followingsStore = useSelector((state: RootState) => state.followers.followings); @@ -127,7 +122,13 @@ const UserProfileView = ({ id }: any) => { {currentTab === 'publications' && profile && ( - + )} {currentTab === 'followers' && profile && ( diff --git a/src/types/transaction.ts b/src/types/transaction.ts index 67111bf14..2502d64a3 100644 --- a/src/types/transaction.ts +++ b/src/types/transaction.ts @@ -10,5 +10,3 @@ export const TRANSACTIONS_TYPES = [ { value: 'deposit', label: 'Deposit' }, { value: 'withdraw', label: 'Withdraw' }, ]; - - diff --git a/src/utils/events.ts b/src/utils/events.ts index c9b650681..e9702d253 100644 --- a/src/utils/events.ts +++ b/src/utils/events.ts @@ -1,4 +1,4 @@ -import { Dispatch } from "redux"; +import { Dispatch } from 'redux'; import { appendNotification } from '@src/redux/notifications'; export namespace Events { @@ -26,7 +26,6 @@ export namespace Events { } } }; - // @TODO: Add more event handlers when needed // @ts-ignore export const Transaction = (payload: any) => {}; // @ts-ignore diff --git a/src/utils/finance-graphs/groupedTransactions.ts b/src/utils/finance-graphs/groupedTransactions.ts index 2947f379b..5abf460c9 100644 --- a/src/utils/finance-graphs/groupedTransactions.ts +++ b/src/utils/finance-graphs/groupedTransactions.ts @@ -1,5 +1,5 @@ -import {TransactionData} from '@src/hooks/use-transaction-data'; -import {TransactionLog} from "@src/hooks/use-get-smart-wallet-transactions.ts"; +import { TransactionData } from '@src/hooks/use-transaction-data'; +import { TransactionLog } from '@src/hooks/use-get-smart-wallet-transactions.ts'; type GroupedData = { type: string; data: { @@ -39,57 +39,58 @@ export const groupedTransactionData = (data: TransactionData[]): GroupedData[] = if (!dayData[date]) dayData[date] = { income: 0, expenses: 0 }; dayData[date].income += income; dayData[date].expenses += expenses; - } + } }); return [ { type: 'Week', data: [ - { name: 'Income', data: Object.values(weekData).map(d => d.income) }, - { name: 'Expenses', data: Object.values(weekData).map(d => d.expenses) }, + { name: 'Income', data: Object.values(weekData).map((d) => d.income) }, + { name: 'Expenses', data: Object.values(weekData).map((d) => d.expenses) }, ], categories: Object.keys(weekData), }, { type: 'Month', data: [ - { name: 'Income', data: Object.values(monthData).map(d => d.income) }, - { name: 'Expenses', data: Object.values(monthData).map(d => d.expenses) }, + { name: 'Income', data: Object.values(monthData).map((d) => d.income) }, + { name: 'Expenses', data: Object.values(monthData).map((d) => d.expenses) }, ], categories: Object.keys(monthData), }, { type: 'Year', data: [ - { name: 'Income', data: Object.values(yearData).map(d => d.income) }, - { name: 'Expenses', data: Object.values(yearData).map(d => d.expenses) }, + { name: 'Income', data: Object.values(yearData).map((d) => d.income) }, + { name: 'Expenses', data: Object.values(yearData).map((d) => d.expenses) }, ], categories: Object.keys(yearData), }, { type: 'Day', data: [ - { name: 'Income', data: Object.values(dayData).map(d => d.income) }, - { name: 'Expenses', data: Object.values(dayData).map(d => d.expenses) }, + { name: 'Income', data: Object.values(dayData).map((d) => d.income) }, + { name: 'Expenses', data: Object.values(dayData).map((d) => d.expenses) }, ], categories: Object.keys(dayData), }, ]; }; - // Helper function to get the week number of a date const getWeek = (date: string): string => { const d = new Date(date); const yearStart = new Date(d.getFullYear(), 0, 1); - const weekNumber = Math.ceil(((d.getTime() - yearStart.getTime()) / 86400000 + yearStart.getDay() + 1) / 7); + const weekNumber = Math.ceil( + ((d.getTime() - yearStart.getTime()) / 86400000 + yearStart.getDay() + 1) / 7 + ); return `${d.getFullYear()}-W${weekNumber}`; }; // Helper function to process day data to the desired format -export const processDayData = (groupedData: GroupedData[]): { x: string, y: number }[] => { - const dayData = groupedData.find(group => group.type === 'Day'); +export const processDayData = (groupedData: GroupedData[]): { x: string; y: number }[] => { + const dayData = groupedData.find((group) => group.type === 'Day'); if (!dayData) return []; return dayData.categories.map((date, index) => { @@ -100,7 +101,6 @@ export const processDayData = (groupedData: GroupedData[]): { x: string, y: numb }); }; - export type ProcessedTransactionData = { id: string; name: string; @@ -110,13 +110,15 @@ export type ProcessedTransactionData = { category: string; date: bigint; status: string; + timestamp?: number; amount: string | null; }; export const processTransactionData = (data: TransactionLog[]): ProcessedTransactionData[] => { return data?.map((transaction, _index) => ({ id: transaction.transactionHash, - name: transaction.event === 'transferFrom' ? transaction.args.origin : transaction.args.recipient, + name: + transaction.event === 'transferFrom' ? transaction.args.origin : transaction.args.recipient, avatarUrl: `https://api.dicebear.com/9.x/bottts-neutral/svg?seed=${transaction.event === 'transferFrom' ? transaction.args.origin : transaction.args.recipient}`, type: transaction.event, message: parseTransactionTypeLabel(transaction.event), @@ -129,9 +131,9 @@ export const processTransactionData = (data: TransactionLog[]): ProcessedTransac const parseTransactionTypeLabel = (type: string): string => { switch (type) { - case 'transferFrom': - return 'Sent money to'; case 'transferTo': + return 'Sent money to'; + case 'transferFrom': return 'Received money from'; case 'deposit': return 'Deposited'; @@ -143,14 +145,13 @@ const parseTransactionTypeLabel = (type: string): string => { } }; - // Incomes or outcomes depending on the transaction type const parseTransactionType = (type: string): string => { switch (type) { case 'transferFrom': - return 'outcome'; - case 'transferTo': return 'income'; + case 'transferTo': + return 'outcome'; case 'deposit': return 'income'; case 'withdraw': @@ -159,4 +160,4 @@ const parseTransactionType = (type: string): string => { default: return type; } -} +}; diff --git a/src/utils/insert-movies-supabase.ts b/src/utils/insert-movies-supabase.ts index a5517d066..268679ce7 100644 --- a/src/utils/insert-movies-supabase.ts +++ b/src/utils/insert-movies-supabase.ts @@ -1,37 +1,38 @@ -import {supabase} from "@src/utils/supabase.ts"; +import { supabase } from '@src/utils/supabase.ts'; -const InsertMoviesSupabase: ({publications}: { publications: any }) => Promise = async ({ publications}) => { +const InsertMoviesSupabase: ({ publications }: { publications: any }) => Promise = async ({ + publications, +}) => { + if (publications) { + for (const publication of publications) { + if (!publication.isHidden) { + const { title, content: description } = publication.metadata; + const post_id = publication.id; - if (publications) { - for (const publication of publications) { - if(!publication.isHidden) { - const { title, content: description} = publication.metadata; - const post_id = publication.id; + // Check if the publication already exists + const { data: existingPublications, error: selectError } = await supabase + .from('publications') + .select('id') + .eq('post_id', post_id); - // Check if the publication already exists - const { data: existingPublications, error: selectError } = await supabase - .from('publications') - .select('id') - .eq('post_id', post_id); - - if (selectError) { - console.error('Error checking existing publication:', selectError); - continue; - } + if (selectError) { + console.error('Error checking existing publication:', selectError); + continue; + } - // If the publication does not exist, insert it - if (existingPublications.length === 0) { - const { error: insertError } = await supabase - .from('publications') - .insert([{ title, description, post_id}]); + // If the publication does not exist, insert it + if (existingPublications.length === 0) { + const { error: insertError } = await supabase + .from('publications') + .insert([{ title, description, post_id }]); - if (insertError) { - console.error('Error inserting publication:', insertError); - } + if (insertError) { + console.error('Error inserting publication:', insertError); } } } } -} + } +}; export default InsertMoviesSupabase; diff --git a/src/utils/ipfs.ts b/src/utils/ipfs.ts index fc07326b5..c2beb6255 100644 --- a/src/utils/ipfs.ts +++ b/src/utils/ipfs.ts @@ -114,7 +114,11 @@ export const uploadMetadataToIPFS = async (metadata: any): Promise => { * @param delayMs - Delay in milliseconds between retries. * @returns {Promise} - Resolves to true if data is accessible, otherwise throws an error. */ -export const verifyIpfsData = async (uri: string, retries = 16, delayMs = 2000): Promise => { +export const verifyIpfsData = async ( + uri: string, + retries = 16, + delayMs = 2000 +): Promise => { const gateway = 'https://gw.ipfs-lens.dev/ipfs/'; // Use only lens's gateway const hash = uri.replace('ipfs://', ''); diff --git a/src/utils/metamask.ts b/src/utils/metamask.ts new file mode 100644 index 000000000..3b3b9aa1a --- /dev/null +++ b/src/utils/metamask.ts @@ -0,0 +1,31 @@ +import { MetaMaskSDK } from '@metamask/sdk'; +import { GLOBAL_CONSTANTS } from '@src/config-global'; +import { Address } from 'viem'; + +/** + * Connects to MetaMask and retrieves the wallet address. + * @returns A promise resolving to the connected wallet address. + */ +export const connectToMetaMask = async (): Promise
=> { + const MMSDK = new MetaMaskSDK({ + infuraAPIKey: GLOBAL_CONSTANTS.INFURA_API_KEY, + dappMetadata: { + name: 'WatchitApp', + url: window.location.href, + }, + openDeeplink: (url) => { + // @ts-ignore + const isMM = window.ethereum?.isMetaMask; + + if (typeof window.ethereum === 'undefined' || !isMM) { + window.location.href = 'https://metamask.app.link'; + } else { + window.location.href = url; + } + }, + }); + + await MMSDK.init(); + const accounts = await MMSDK.connect(); + return accounts[0] as Address; +}; diff --git a/src/utils/notifications/errors.ts b/src/utils/notifications/errors.ts new file mode 100644 index 000000000..fe4ce3f40 --- /dev/null +++ b/src/utils/notifications/errors.ts @@ -0,0 +1,106 @@ +/** + * Enum of our known error names. + */ +export enum ERRORS { + NOT_LOGGED_IN = 'NOT_LOGGED_IN', + BUNDLER_UNAVAILABLE = 'BUNDLER_UNAVAILABLE', + UNKNOWN_ERROR = 'UNKNOWN_ERROR', + METAMASK_CONNECTING_ERROR = 'METAMASK_CONNECTING_ERROR', + WITHDRAW_FAILED_ERROR = 'WITHDRAW_FAILED_ERROR', + DEPOSIT_ERROR = 'DEPOSIT_ERROR', + INVITATION_EMAIL_ERROR = 'INVITATION_EMAIL_ERROR', + LINK_COPIED_ERROR = 'LINK_COPIED_ERROR', + FAILED_CHANGE_WALLET_ERROR = 'FAILED_CHANGE_WALLET_ERROR', + UPDATING_PROFILE_ERROR = 'UPDATING_PROFILE_ERROR', + CREATING_PROFILE_ERROR = 'CREATING_PROFILE_ERROR', + BROADCASTING_TRANSACTION_ERROR = 'BROADCASTING_TRANSACTION_ERROR', + PENDING_SIGNING_REQUEST_ERROR = 'PENDING_SIGNING_REQUEST_ERROR', + INSUFFICIENT_ALLOWANCE_ERROR = 'INSUFFICIENT_ALLOWANCE_ERROR', + INSUFFICIENT_FUNDS_ERROR = 'INSUFFICIENT_FUNDS_ERROR', + WALLET_CONNECTION_ERROR = 'WALLET_CONNECTION_ERROR', + PREMATURE_ACTION_ERROR = 'PREMATURE_ACTION_ERROR', + + // Login error + LOGIN_FAILED_ERROR = 'LOGIN_FAILED_ERROR', + FIRST_LOGIN_ERROR = 'FIRST_LOGIN_ERROR', + + // Deposit error + DEPOSIT_FAILED_ERROR = 'DEPOSIT_FAILED_ERROR', + DEPOSIT_WENT_WRONG_ERROR = 'DEPOSIT_WENT_WRONG_ERROR', + + // Authorization error + AUTHORIZATION_POLICY_ERROR = 'AUTHORIZATION_POLICY_ERROR', + + // Transfer error + TRANSFER_LOGIN_FIRST_ERROR = 'TRANSFER_LOGIN_FIRST_ERROR', + + // Subscribe error + SUBSCRIBE_LOGIN_ERROR = 'SUBSCRIBE_LOGIN_ERROR', + SUBSCRIBE_MINIMUN_DAYS_ERROR = 'SUBSCRIBE_MINIMUN_DAYS_ERROR', + INSUFICIENT_BALANCE_ERROR = 'INSUFICIENT_BALANCE_ERROR', + FAILED_JOIN_PROFILE_ERROR = 'FAILED_JOIN_PROFILE_ERROR', + + // Follow/ unfollow + FOLLOW_UNFOLLOW_OCCURRED_ERROR = 'FOLLOW_UNFOLLOW_OCCURRED_ERROR', + + // METAMASK + METAMASK_CONNECTING_FAILED_ERROR = 'METAMASK_CONNECTING_FAILED_ERROR', + METAMASK_CHANGE_WALLET_ERROR = 'METAMASK_CHANGE_WALLET_ERROR', +} + +/** + * Error messages dictionary mapping our ERROR_NAMES to user-facing strings. + */ +export const ERROR_MESSAGES: Record = { + [ERRORS.NOT_LOGGED_IN]: 'Please log in to continue.', + [ERRORS.UNKNOWN_ERROR]: 'An unknown error has occurred.', + [ERRORS.METAMASK_CONNECTING_ERROR]: 'Error connecting to MetaMask.', + [ERRORS.WITHDRAW_FAILED_ERROR]: 'Error while trying the withdrawal.', + [ERRORS.DEPOSIT_ERROR]: 'Error while trying to complete the deposit.', + [ERRORS.INVITATION_EMAIL_ERROR]: 'Error while trying to send the invitation email.', + [ERRORS.LINK_COPIED_ERROR]: 'Error while trying to copy the link.', + [ERRORS.FAILED_CHANGE_WALLET_ERROR]: 'Error while trying to change the wallet.', + [ERRORS.CREATING_PROFILE_ERROR]: 'Error creating profile.', + [ERRORS.UPDATING_PROFILE_ERROR]: 'Error updating profile metadata.', + + [ERRORS.BROADCASTING_TRANSACTION_ERROR]: 'There was an error broadcasting the transaction.', + [ERRORS.PENDING_SIGNING_REQUEST_ERROR]: 'There is a pending signing request in your wallet.', + [ERRORS.INSUFFICIENT_ALLOWANCE_ERROR]: + 'You must approve the contract to spend at least {symbol} {amount}', + [ERRORS.INSUFFICIENT_FUNDS_ERROR]: + 'You do not have enough funds to pay for this follow fee {symbol} {amount}', + [ERRORS.WALLET_CONNECTION_ERROR]: 'There was an error connecting to your wallet.', + [ERRORS.PREMATURE_ACTION_ERROR]: 'There is a pending unfollow request for this profile.', + + // Login error + [ERRORS.LOGIN_FAILED_ERROR]: 'The login process failed. Please try again later.', + + // Withdraw error + [ERRORS.FIRST_LOGIN_ERROR]: 'You must login first to withdraw funds.', + [ERRORS.BUNDLER_UNAVAILABLE]: 'Your session is expired. Please re-login to continue.', + + // Deposit error + [ERRORS.DEPOSIT_FAILED_ERROR]: 'Please login to deposit funds.', + [ERRORS.DEPOSIT_WENT_WRONG_ERROR]: + 'Oops! Something went wrong with your deposit. Please try again.', + + // Authorization error + [ERRORS.AUTHORIZATION_POLICY_ERROR]: 'Please login to authorize policy', + + // Transfer error + [ERRORS.TRANSFER_LOGIN_FIRST_ERROR]: 'Please login to transfer funds.', + + // Subscribe error + [ERRORS.SUBSCRIBE_LOGIN_ERROR]: 'Please login to subscribe.', + [ERRORS.SUBSCRIBE_MINIMUN_DAYS_ERROR]: + 'Please enter a valid number of days (minimum {minDays} days).', + [ERRORS.INSUFICIENT_BALANCE_ERROR]: 'Insufficient balance to complete the action.', + [ERRORS.FAILED_JOIN_PROFILE_ERROR]: 'Failed to join the profile.', + + // Follow/ unfollow + [ERRORS.FOLLOW_UNFOLLOW_OCCURRED_ERROR]: 'An error occurred while processing the action.', + + // METAMASK + [ERRORS.METAMASK_CONNECTING_FAILED_ERROR]: 'Failed to connect wallet', + [ERRORS.METAMASK_CHANGE_WALLET_ERROR]: 'Failed to change wallet', +}; diff --git a/src/utils/notifications/info.ts b/src/utils/notifications/info.ts new file mode 100644 index 000000000..50d670ebd --- /dev/null +++ b/src/utils/notifications/info.ts @@ -0,0 +1,29 @@ +/** + * Enum of our known info names. + */ +export enum INFO { + DEFAULT = 'DEFAULT', + WITHDRAW_WAITING_CONFIRMATION = 'WITHDRAW_WAITING_CONFIRMATION', + WITHDRAW_SENDING_CONFIRMATION = 'WITHDRAW_SENDING_CONFIRMATION', + APPROVE_SENDING_CONFIRMATION = 'APPROVE_SENDING_CONFIRMATION', + APPROVE_WAITING_CONFIRMATION = 'APPROVE_WAITING_CONFIRMATION', + DEPOSIT_SENDING_CONFIRMATION = 'DEPOSIT_SENDING_CONFIRMATION', + DEPOSIT_WAITING_CONFIRMATION = 'DEPOSIT_WAITING_CONFIRMATION', +} + +/** + * Info messages dictionary mapping our INFO_MESSAGES to user-facing strings. + */ +export const INFO_MESSAGES: Record = { + [INFO.DEFAULT]: 'Default info message.', + // Withdraw + [INFO.WITHDRAW_WAITING_CONFIRMATION]: + 'Withdraw transaction broadcasted. Waiting for confirmation...', + [INFO.WITHDRAW_SENDING_CONFIRMATION]: 'Sending withdraw transaction to the network...', + [INFO.DEPOSIT_SENDING_CONFIRMATION]: 'Sending deposit transaction to the network...', + [INFO.APPROVE_SENDING_CONFIRMATION]: 'Sending approve transaction to the network...', + [INFO.APPROVE_WAITING_CONFIRMATION]: + 'Approve transaction broadcasted. Waiting for confirmation (1/2)...', + [INFO.DEPOSIT_WAITING_CONFIRMATION]: + 'Deposit transaction broadcasted. Waiting for confirmation (2/2)...', +}; diff --git a/src/utils/notifications/internal-notifications.ts b/src/utils/notifications/internal-notifications.ts new file mode 100644 index 000000000..c00520c6c --- /dev/null +++ b/src/utils/notifications/internal-notifications.ts @@ -0,0 +1,123 @@ +import { ERROR_MESSAGES, ERRORS } from '@src/utils/notifications/errors.ts'; +import { SUCCESS_MESSAGES, SUCCESS } from '@src/utils/notifications/success.ts'; +import { WARNING_MESSAGES, WARNING } from '@src/utils/notifications/warnings.ts'; +import { INFO, INFO_MESSAGES } from '@notifications/info.ts'; + +type NotificationType = 'error' | 'success' | 'warning' | 'info'; + +let globalEnqueueSnackbar: ((message: string, options?: object) => void) | null = null; + +/** + * Allows us to set the globalEnqueueSnackbar function from our App (or any top-level component). + * Must be called at least once (e.g., in App.tsx) so that notify methods works. + */ +export function setGlobalNotifier(enqueueSnackbarFn: (message: string, options?: object) => void) { + globalEnqueueSnackbar = enqueueSnackbarFn; +} + +/** + * Replaces placeholders of type {variable} in a string, with + * the values indicated in `data`. + * + * Ex: + * template: "Sent money to {user}, total: {amount}" + * data: { user: 'Jacob', amount: '100 USDC' } + * -> "Sent money to Jacob, total: 100 USDC" + */ +function replaceTemplateTags(message: string, data: Record): string { + return message.replace(/{(\w+)}/g, (_substring, key) => { + return data[key] !== undefined ? data[key] : `{${key}}`; + }); +} + +const notify = ( + typeNotification: NotificationType, + text: ERRORS | SUCCESS | WARNING | INFO, + data?: Record, + fallbackMessage?: string, + options?: any +) => { + if (!globalEnqueueSnackbar) { + console.error('No globalEnqueueSnackbar is set. Cannot notify messages.'); + return; + } + + let message: string; + switch (typeNotification) { + case 'error': + message = + ERROR_MESSAGES[text as ERRORS] || fallbackMessage || ERROR_MESSAGES[ERRORS.UNKNOWN_ERROR]; + break; + case 'success': + message = SUCCESS_MESSAGES[text as SUCCESS] || fallbackMessage || 'Operation successful.'; + break; + case 'warning': + message = WARNING_MESSAGES[text as WARNING] || fallbackMessage || 'Warning.'; + break; + + case 'info': + message = INFO_MESSAGES[text as INFO] || fallbackMessage || 'Information.'; + break; + + default: + console.error('Unknown notification type'); + return; + } + + if (data) { + message = replaceTemplateTags(message, data); + } + + globalEnqueueSnackbar(message, { variant: typeNotification, ...options }); +}; + +/** + * Global function to notify an error by ERROR_NAMES. + * If no message is found in the dictionary, it uses 'UNKNOWN_ERROR'. + */ +export function notifyError( + errorName: ERRORS, + data?: Record, + fallbackMessage?: string +) { + notify('error', errorName, data, fallbackMessage || 'An unknown error has occurred.'); +} + +/** + * Global function to notify a success by SUCCESS_NAMES. + * If no message is found in the dictionary, it uses 'Operation successful.'. + */ +export function notifySuccess( + successName: SUCCESS, + data?: Record, + fallbackMessage?: string, + options?: any +) { + notify('success', successName, data, fallbackMessage || 'Operation successful.', options); +} + +/** + * Global function to notify a warning by WARNING_NAMES. + * If no message is found in the dictionary, it uses 'Warning.'. + */ +export function notifyWarning( + warningName: WARNING, + data?: Record, + fallbackMessage?: string, + options?: any +) { + notify('warning', warningName, data, fallbackMessage || 'Warning.', options); +} + +/** + * Global function to notify a info by INFO_NAMES. + * If no message is found in the dictionary, it uses 'Warning.'. + */ +export function notifyInfo( + infoName: INFO, + data?: Record, + fallbackMessage?: string, + options?: any +) { + notify('info', infoName, data, fallbackMessage || 'Information.', options); +} diff --git a/src/utils/notifications/success.ts b/src/utils/notifications/success.ts new file mode 100644 index 000000000..ca9b0c443 --- /dev/null +++ b/src/utils/notifications/success.ts @@ -0,0 +1,43 @@ +/** + * Enum of our known success texts. + */ +export enum SUCCESS { + FALLBACK = 'FALLBACK', + DEPOSIT_SUCCESSFULLY = 'DEPOSIT_SUCCESSFULLY', + WITHDRAW_SUCCESSFULLY = 'WITHDRAW_SUCCESSFULLY', + INVITATIONS_SUCCESSFULLY = 'INVITATIONS_SUCCESSFULLY', + LINK_COPIED_TO_CLIPBOARD = 'LINK_COPIED_TO_CLIPBOARD', + WALLET_CHANGED_SUCCESFULLY = 'WALLET_CHANGED_SUCCESFULLY', + PROFILE_METADATA_UPDATED = 'PROFILE_METADATA_UPDATED', + JOINING_PRICE_SUCCESSFULLY = 'JOINING_PRICE_SUCCESSFULLY', + PROFILE_UPDATED_SUCCESSFULLY = 'PROFILE_UPDATED_SUCCESSFULLY', + PROFILE_CREATED_SUCCESSFULLY = 'PROFILE_CREATED_SUCCESSFULLY', + TRANSFER_CREATED_SUCCESSFULLY = 'TRANSFER_CREATED_SUCCESSFULLY', + FOLLOW_UNFOLLOW_SUCCESSFULLY = 'FOLLOW_UNFOLLOW_SUCCESSFULLY', + PROFILE_JOINED_SUCCESSFULLY = 'PROFILE_JOINED_SUCCESSFULLY', + + // Metamask + METAMASK_CONNECTED_SUCCESSFULLY = 'METAMASK_CONNECTED_SUCCESSFULLY', +} + +/** + * Error messages dictionary mapping our ERROR_NAMES to user-facing strings. + */ +export const SUCCESS_MESSAGES: Record = { + [SUCCESS.FALLBACK]: 'Fallback.', + [SUCCESS.DEPOSIT_SUCCESSFULLY]: 'The deposit was successful.', + [SUCCESS.WITHDRAW_SUCCESSFULLY]: 'The withdraw was successful.', + [SUCCESS.INVITATIONS_SUCCESSFULLY]: 'The email invitation was sent successfully.', + [SUCCESS.LINK_COPIED_TO_CLIPBOARD]: 'Link copied to clipboard!.', + [SUCCESS.WALLET_CHANGED_SUCCESFULLY]: 'Wallet changed successfully!.', + [SUCCESS.PROFILE_METADATA_UPDATED]: 'Profile metadata updated successfully.', + [SUCCESS.JOINING_PRICE_SUCCESSFULLY]: 'Joining price set successfully!.', + [SUCCESS.PROFILE_CREATED_SUCCESSFULLY]: 'Profile created successfully.', + [SUCCESS.PROFILE_UPDATED_SUCCESSFULLY]: 'Profile updated successfully.', + [SUCCESS.TRANSFER_CREATED_SUCCESSFULLY]: 'Transfer sent to {destination}.', + [SUCCESS.FOLLOW_UNFOLLOW_SUCCESSFULLY]: 'Successfully {profileName} {actionLbl}.', + [SUCCESS.PROFILE_JOINED_SUCCESSFULLY]: 'Successfully joined the profile.', + + // Metamask + [SUCCESS.METAMASK_CONNECTED_SUCCESSFULLY]: 'MetaMask connected successfully!', +}; diff --git a/src/utils/notifications/warnings.ts b/src/utils/notifications/warnings.ts new file mode 100644 index 000000000..3d0cb68ec --- /dev/null +++ b/src/utils/notifications/warnings.ts @@ -0,0 +1,21 @@ +/** + * Enum of our known warning text. + */ +export enum WARNING { + NO_WALLET_AUTHORIZATION = 'NO_WALLET_AUTHORIZATION', + NO_WALLET_CONNECTED = 'NO_WALLET_CONNECTED', + INVALID_DEPOSIT_AMOUNT = 'INVALID_DEPOSIT_AMOUNT', + INVALID_WITHDRAW_AMOUNT = 'INVALID_WITHDRAW_AMOUNT', + INVALID_WALLET_ADDRESS = 'INVALID_WALLET_ADDRESS', +} + +/** + * Error messages dictionary mapping our ERROR_NAMES to user-facing strings. + */ +export const WARNING_MESSAGES: Record = { + [WARNING.NO_WALLET_AUTHORIZATION]: 'No wallet authorization received.', + [WARNING.NO_WALLET_CONNECTED]: 'No wallet connected.', + [WARNING.INVALID_DEPOSIT_AMOUNT]: 'Invalid deposit amount.', + [WARNING.INVALID_WITHDRAW_AMOUNT]: 'Invalid withdraw amount.', + [WARNING.INVALID_WALLET_ADDRESS]: 'Invalid wallet address.', +}; diff --git a/src/utils/subscribe-notifications-supabase.ts b/src/utils/subscribe-notifications-supabase.ts index 9bb481c70..a529c925b 100644 --- a/src/utils/subscribe-notifications-supabase.ts +++ b/src/utils/subscribe-notifications-supabase.ts @@ -1,18 +1,30 @@ import { supabase } from '@src/utils/supabase'; import { Dispatch } from 'redux'; -import {Events} from "@src/utils/events.ts"; +import { Events } from '@src/utils/events.ts'; -export function subscribeToNotifications(profileId: string, dispatch?: Dispatch, tables: string[] = ['notifications']) { +export function subscribeToNotifications( + profileId: string, + dispatch?: Dispatch, + tables: string[] = ['notifications'] +) { const channel = supabase.channel('changes'); - tables.forEach(table => { + tables.forEach((table) => { channel - .on('postgres_changes', { event: 'INSERT', schema: 'public', table, filter: `receiver_id=eq.${profileId}` }, payload => { - Events.Handlers(payload, profileId, dispatch); - }) - .on('postgres_changes', { event: 'UPDATE', schema: 'public', table, filter: `receiver_id=eq.${profileId}` }, payload => { - Events.Handlers(payload, profileId, dispatch); - }); + .on( + 'postgres_changes', + { event: 'INSERT', schema: 'public', table, filter: `receiver_id=eq.${profileId}` }, + (payload) => { + Events.Handlers(payload, profileId, dispatch); + } + ) + .on( + 'postgres_changes', + { event: 'UPDATE', schema: 'public', table, filter: `receiver_id=eq.${profileId}` }, + (payload) => { + Events.Handlers(payload, profileId, dispatch); + } + ); }); channel.subscribe(); diff --git a/src/utils/supabase.ts b/src/utils/supabase.ts index d09f57f73..5525be85e 100644 --- a/src/utils/supabase.ts +++ b/src/utils/supabase.ts @@ -1,5 +1,5 @@ import { createClient } from '@supabase/supabase-js'; -import {GLOBAL_CONSTANTS} from "@src/config-global.ts"; +import { GLOBAL_CONSTANTS } from '@src/config-global.ts'; // Create a single supabase client for interacting with your database export const supabase = createClient( diff --git a/src/utils/text-transform.ts b/src/utils/text-transform.ts new file mode 100644 index 000000000..b668c3939 --- /dev/null +++ b/src/utils/text-transform.ts @@ -0,0 +1,11 @@ +/** + * Converts a PascalCase string to UPPER_SNAKE_CASE + * @param str - The string in PascalCase + * @returns The string in UPPER_SNAKE_CASE + */ +export const pascalToUpperSnake = (str: string): string => { + return str + .replace(/([A-Z])/g, '_$1') // Inserts an underscore before each uppercase letter + .toUpperCase() // Converts everything to uppercase + .replace(/^_/, ''); // Removes the initial underscore if it exists +}; diff --git a/tsconfig.app.json b/tsconfig.app.json index b0cd93530..c9723ab9b 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -28,6 +28,7 @@ "@types/*": ["./src/types/*"], "@public/*": ["./public/*"], "@redux/*": ["./src/redux/*"], + "@notifications/*": ["./src/utils/notifications/*"], "@web3auth/*-adapter": ["./packages/adapters/*-adapter"], "@web3auth/*-provider": ["./packages/providers/*-provider"], "@web3auth/*": ["./packages/*"], diff --git a/vite.config.ts b/vite.config.ts index 709b5aa2a..5f9f29826 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -30,6 +30,7 @@ export default defineConfig(({ mode }) => { '@types': path.resolve(__dirname, 'src/types'), '@public': path.resolve(__dirname, 'public'), '@redux': path.resolve(__dirname, 'src/redux'), + '@notifications': path.resolve(__dirname, 'src/utils/notifications'), 'enc-utils': path.resolve(__dirname, 'src/fixes/enc-utils.js'), 'bip39': path.resolve(__dirname, 'src/fixes/bip39.js'), },