@metamask-previews/chain-agnostic-permission 0.7.1-preview-3636a128 → 0.8.0-preview-08a4995

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/dist/caip25Permission.cjs +4 -4
  3. package/dist/caip25Permission.cjs.map +1 -1
  4. package/dist/caip25Permission.mjs +2 -2
  5. package/dist/caip25Permission.mjs.map +1 -1
  6. package/dist/index.cjs +22 -22
  7. package/dist/index.cjs.map +1 -1
  8. package/dist/index.d.cts +3 -3
  9. package/dist/index.d.cts.map +1 -1
  10. package/dist/index.d.mts +3 -3
  11. package/dist/index.d.mts.map +1 -1
  12. package/dist/index.mjs +3 -3
  13. package/dist/index.mjs.map +1 -1
  14. package/dist/{adapters/caip-permission-adapter-accounts.cjs → operators/caip-permission-operator-accounts.cjs} +8 -1
  15. package/dist/{adapters/caip-permission-adapter-accounts.cjs.map → operators/caip-permission-operator-accounts.cjs.map} +1 -1
  16. package/dist/{adapters/caip-permission-adapter-accounts.d.cts → operators/caip-permission-operator-accounts.d.cts} +1 -1
  17. package/dist/operators/caip-permission-operator-accounts.d.cts.map +1 -0
  18. package/dist/{adapters/caip-permission-adapter-accounts.d.mts → operators/caip-permission-operator-accounts.d.mts} +1 -1
  19. package/dist/operators/caip-permission-operator-accounts.d.mts.map +1 -0
  20. package/dist/{adapters/caip-permission-adapter-accounts.mjs → operators/caip-permission-operator-accounts.mjs} +8 -1
  21. package/dist/operators/caip-permission-operator-accounts.mjs.map +1 -0
  22. package/dist/{adapters/caip-permission-adapter-permittedChains.cjs → operators/caip-permission-operator-permittedChains.cjs} +1 -1
  23. package/dist/operators/caip-permission-operator-permittedChains.cjs.map +1 -0
  24. package/dist/{adapters/caip-permission-adapter-permittedChains.d.cts → operators/caip-permission-operator-permittedChains.d.cts} +1 -1
  25. package/dist/operators/caip-permission-operator-permittedChains.d.cts.map +1 -0
  26. package/dist/{adapters/caip-permission-adapter-permittedChains.d.mts → operators/caip-permission-operator-permittedChains.d.mts} +1 -1
  27. package/dist/operators/caip-permission-operator-permittedChains.d.mts.map +1 -0
  28. package/dist/{adapters/caip-permission-adapter-permittedChains.mjs → operators/caip-permission-operator-permittedChains.mjs} +1 -1
  29. package/dist/operators/caip-permission-operator-permittedChains.mjs.map +1 -0
  30. package/dist/{adapters/caip-permission-adapter-session-scopes.cjs → operators/caip-permission-operator-session-scopes.cjs} +1 -1
  31. package/dist/operators/caip-permission-operator-session-scopes.cjs.map +1 -0
  32. package/dist/{adapters/caip-permission-adapter-session-scopes.d.cts → operators/caip-permission-operator-session-scopes.d.cts} +1 -1
  33. package/dist/operators/caip-permission-operator-session-scopes.d.cts.map +1 -0
  34. package/dist/{adapters/caip-permission-adapter-session-scopes.d.mts → operators/caip-permission-operator-session-scopes.d.mts} +1 -1
  35. package/dist/operators/caip-permission-operator-session-scopes.d.mts.map +1 -0
  36. package/dist/{adapters/caip-permission-adapter-session-scopes.mjs → operators/caip-permission-operator-session-scopes.mjs} +1 -1
  37. package/dist/operators/caip-permission-operator-session-scopes.mjs.map +1 -0
  38. package/package.json +2 -2
  39. package/dist/adapters/caip-permission-adapter-accounts.d.cts.map +0 -1
  40. package/dist/adapters/caip-permission-adapter-accounts.d.mts.map +0 -1
  41. package/dist/adapters/caip-permission-adapter-accounts.mjs.map +0 -1
  42. package/dist/adapters/caip-permission-adapter-permittedChains.cjs.map +0 -1
  43. package/dist/adapters/caip-permission-adapter-permittedChains.d.cts.map +0 -1
  44. package/dist/adapters/caip-permission-adapter-permittedChains.d.mts.map +0 -1
  45. package/dist/adapters/caip-permission-adapter-permittedChains.mjs.map +0 -1
  46. package/dist/adapters/caip-permission-adapter-session-scopes.cjs.map +0 -1
  47. package/dist/adapters/caip-permission-adapter-session-scopes.d.cts.map +0 -1
  48. package/dist/adapters/caip-permission-adapter-session-scopes.d.mts.map +0 -1
  49. package/dist/adapters/caip-permission-adapter-session-scopes.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"caip-permission-adapter-session-scopes.d.cts","sourceRoot":"","sources":["../../src/adapters/caip-permission-adapter-session-scopes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAGjB,wBAAwB;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,gCAA4B;AAQ7D,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,2BAAuB;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,2BACV,sBAAsB,yBAe/C,CAAC;AAyDF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,sBACR,KACjB,iBAAiB,EACjB,gBAAgB,GAAG,gBAAgB,CACpC;uCAIoC,WAAW,KAAK,MAAM,EAAE;4BAW9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,sBACrB,KACjB,iBAAiB,EACjB,gBAAgB,GAAG,gBAAgB,CACpC,UACO,WAAW,EAAE,KACpB,aAAa,EAef,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"caip-permission-adapter-session-scopes.d.mts","sourceRoot":"","sources":["../../src/adapters/caip-permission-adapter-session-scopes.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,WAAW,EAGjB,wBAAwB;AAEzB,OAAO,KAAK,EAAE,iBAAiB,EAAE,gCAA4B;AAQ7D,OAAO,KAAK,EACV,oBAAoB,EACpB,sBAAsB,EACvB,2BAAuB;AAGxB;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,2BACV,sBAAsB,yBAe/C,CAAC;AAyDF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,sBACR,KACjB,iBAAiB,EACjB,gBAAgB,GAAG,gBAAgB,CACpC;uCAIoC,WAAW,KAAK,MAAM,EAAE;4BAW9D,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,sBACrB,KACjB,iBAAiB,EACjB,gBAAgB,GAAG,gBAAgB,CACpC,UACO,WAAW,EAAE,KACpB,aAAa,EAef,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"caip-permission-adapter-session-scopes.mjs","sourceRoot":"","sources":["../../src/adapters/caip-permission-adapter-session-scopes.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type CaipAccountId,\n type CaipChainId,\n isCaipChainId,\n KnownCaipNamespace,\n} from '@metamask/utils';\n\nimport type { Caip25CaveatValue } from '../caip25Permission';\nimport {\n KnownNotifications,\n KnownRpcMethods,\n KnownWalletNamespaceRpcMethods,\n KnownWalletRpcMethods,\n} from '../scope/constants';\nimport { mergeNormalizedScopes } from '../scope/transform';\nimport type {\n InternalScopesObject,\n NormalizedScopesObject,\n} from '../scope/types';\nimport { parseScopeString } from '../scope/types';\n\n/**\n * Converts an NormalizedScopesObject to a InternalScopesObject.\n *\n * @param normalizedScopesObject - The NormalizedScopesObject to convert.\n * @returns An InternalScopesObject.\n */\nexport const getInternalScopesObject = (\n normalizedScopesObject: NormalizedScopesObject,\n) => {\n const internalScopes: InternalScopesObject = {};\n\n Object.entries(normalizedScopesObject).forEach(\n ([_scopeString, { accounts }]) => {\n const scopeString = _scopeString as keyof typeof normalizedScopesObject;\n\n internalScopes[scopeString] = {\n accounts,\n };\n },\n );\n\n return internalScopes;\n};\n\n/**\n * Converts an InternalScopesObject to a NormalizedScopesObject.\n *\n * @param internalScopesObject - The InternalScopesObject to convert.\n * @param hooks - An object containing the following properties:\n * @param hooks.getNonEvmSupportedMethods - A function that returns the supported methods for a non EVM scope.\n * @returns A NormalizedScopesObject.\n */\nconst getNormalizedScopesObject = (\n internalScopesObject: InternalScopesObject,\n {\n getNonEvmSupportedMethods,\n }: {\n getNonEvmSupportedMethods: (scope: CaipChainId) => string[];\n },\n) => {\n const normalizedScopes: NormalizedScopesObject = {};\n\n Object.entries(internalScopesObject).forEach(\n ([_scopeString, { accounts }]) => {\n const scopeString = _scopeString as keyof typeof internalScopesObject;\n const { namespace, reference } = parseScopeString(scopeString);\n let methods: string[] = [];\n let notifications: string[] = [];\n\n if (\n scopeString === KnownCaipNamespace.Wallet ||\n namespace === KnownCaipNamespace.Wallet\n ) {\n if (reference === KnownCaipNamespace.Eip155) {\n methods = KnownWalletNamespaceRpcMethods[reference];\n } else if (isCaipChainId(scopeString)) {\n methods = getNonEvmSupportedMethods(scopeString);\n } else {\n methods = KnownWalletRpcMethods;\n }\n } else if (namespace === KnownCaipNamespace.Eip155) {\n methods = KnownRpcMethods[namespace];\n notifications = KnownNotifications[namespace];\n } else {\n methods = getNonEvmSupportedMethods(scopeString);\n notifications = [];\n }\n\n normalizedScopes[scopeString] = {\n methods,\n notifications,\n accounts,\n };\n },\n );\n\n return normalizedScopes;\n};\n\n/**\n * Takes the scopes from an endowment:caip25 permission caveat value,\n * hydrates them with supported methods and notifications, and returns a NormalizedScopesObject.\n *\n * @param caip25CaveatValue - The CAIP-25 CaveatValue to convert.\n * @param hooks - An object containing the following properties:\n * @param hooks.getNonEvmSupportedMethods - A function that returns the supported methods for a non EVM scope.\n * @returns A NormalizedScopesObject.\n */\nexport const getSessionScopes = (\n caip25CaveatValue: Pick<\n Caip25CaveatValue,\n 'requiredScopes' | 'optionalScopes'\n >,\n {\n getNonEvmSupportedMethods,\n }: {\n getNonEvmSupportedMethods: (scope: CaipChainId) => string[];\n },\n) => {\n return mergeNormalizedScopes(\n getNormalizedScopesObject(caip25CaveatValue.requiredScopes, {\n getNonEvmSupportedMethods,\n }),\n getNormalizedScopesObject(caip25CaveatValue.optionalScopes, {\n getNonEvmSupportedMethods,\n }),\n );\n};\n\n/**\n * Get the permitted accounts for the given scopes.\n *\n * @param caip25CaveatValue - The CAIP-25 CaveatValue to get the permitted accounts for\n * @param scopes - The scopes to get the permitted accounts for\n * @returns An array of permitted accounts\n */\nexport const getPermittedAccountsForScopes = (\n caip25CaveatValue: Pick<\n Caip25CaveatValue,\n 'requiredScopes' | 'optionalScopes'\n >,\n scopes: CaipChainId[],\n): CaipAccountId[] => {\n const scopeAccounts: CaipAccountId[] = [];\n\n scopes.forEach((scope) => {\n const requiredScope = caip25CaveatValue.requiredScopes[scope];\n const optionalScope = caip25CaveatValue.optionalScopes[scope];\n if (requiredScope) {\n scopeAccounts.push(...requiredScope.accounts);\n }\n\n if (optionalScope) {\n scopeAccounts.push(...optionalScope.accounts);\n }\n });\n return [...new Set(scopeAccounts)];\n};\n"]}