@metamask/snaps-rpc-methods 9.1.2 → 9.1.3

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 (120) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/dist/{chunk-FMDV3RFT.js → chunk-2SFH57UV.js} +2 -2
  3. package/dist/chunk-2SFH57UV.js.map +1 -0
  4. package/dist/{chunk-AWQ6HTAL.mjs → chunk-33LLA2MH.mjs} +2 -2
  5. package/dist/chunk-33LLA2MH.mjs.map +1 -0
  6. package/dist/{chunk-UBPHGXCO.mjs → chunk-3WCLDJAS.mjs} +2 -2
  7. package/dist/chunk-3WCLDJAS.mjs.map +1 -0
  8. package/dist/{chunk-6TKD32TS.js → chunk-3WKIKYUH.js} +2 -2
  9. package/dist/chunk-3WKIKYUH.js.map +1 -0
  10. package/dist/{chunk-TUIJOZXZ.mjs → chunk-43UTAOW7.mjs} +3 -3
  11. package/dist/{chunk-VCGZNL35.mjs → chunk-57BL7O2P.mjs} +2 -2
  12. package/dist/chunk-57BL7O2P.mjs.map +1 -0
  13. package/dist/{chunk-OQOTJFFV.js → chunk-7HVABE5R.js} +2 -2
  14. package/dist/chunk-7HVABE5R.js.map +1 -0
  15. package/dist/{chunk-QAKSH24Z.js → chunk-B53MDMPL.js} +8 -8
  16. package/dist/{chunk-PCB6QOHL.mjs → chunk-DTZF746A.mjs} +2 -2
  17. package/dist/chunk-DTZF746A.mjs.map +1 -0
  18. package/dist/{chunk-3DHVA2FY.js → chunk-GE5XFDUE.js} +2 -2
  19. package/dist/chunk-GE5XFDUE.js.map +1 -0
  20. package/dist/{chunk-TOYWHUAS.mjs → chunk-HOECEYMT.mjs} +2 -2
  21. package/dist/chunk-HOECEYMT.mjs.map +1 -0
  22. package/dist/{chunk-2KTJCF3C.js → chunk-I3G6S6MJ.js} +1 -1
  23. package/dist/chunk-I3G6S6MJ.js.map +1 -0
  24. package/dist/chunk-IC5BIIRG.js +43 -0
  25. package/dist/chunk-KRSIAVUJ.js +115 -0
  26. package/dist/{chunk-ZPK4THX4.js → chunk-NE55M45Y.js} +1 -1
  27. package/dist/{chunk-ZPK4THX4.js.map → chunk-NE55M45Y.js.map} +1 -1
  28. package/dist/{chunk-ADXH5C3U.mjs → chunk-ODN35VOK.mjs} +2 -2
  29. package/dist/chunk-ODN35VOK.mjs.map +1 -0
  30. package/dist/{chunk-WFAY5FPP.mjs → chunk-OHEJDJNV.mjs} +1 -1
  31. package/dist/{chunk-WFAY5FPP.mjs.map → chunk-OHEJDJNV.mjs.map} +1 -1
  32. package/dist/{chunk-FR26QD3N.mjs → chunk-PCIEMFOB.mjs} +4 -4
  33. package/dist/{chunk-EKXDFYIX.mjs → chunk-PIAWDTWO.mjs} +1 -1
  34. package/dist/{chunk-EKXDFYIX.mjs.map → chunk-PIAWDTWO.mjs.map} +1 -1
  35. package/dist/{chunk-EEVEVBK6.mjs → chunk-PIRQCNBJ.mjs} +2 -2
  36. package/dist/chunk-PIRQCNBJ.mjs.map +1 -0
  37. package/dist/{chunk-IEUCBULU.js → chunk-PXU6PORA.js} +2 -2
  38. package/dist/chunk-PXU6PORA.js.map +1 -0
  39. package/dist/{chunk-VHY3NATP.js → chunk-QKZO7EUA.js} +1 -1
  40. package/dist/chunk-QKZO7EUA.js.map +1 -0
  41. package/dist/{chunk-CVK2TYJX.mjs → chunk-R4PZNFIL.mjs} +1 -1
  42. package/dist/{chunk-CVK2TYJX.mjs.map → chunk-R4PZNFIL.mjs.map} +1 -1
  43. package/dist/{chunk-PWUEAR4H.js → chunk-T56DKVFS.js} +2 -2
  44. package/dist/chunk-T56DKVFS.js.map +1 -0
  45. package/dist/{chunk-C6E6DI4I.mjs → chunk-TAXLFFV4.mjs} +9 -9
  46. package/dist/{chunk-LIWV3FMY.js → chunk-YT2Q3W5C.js} +2 -2
  47. package/dist/chunk-YT2Q3W5C.js.map +1 -0
  48. package/dist/{chunk-TEXEQGNZ.js → chunk-YZMFLB67.js} +2 -2
  49. package/dist/chunk-YZMFLB67.js.map +1 -0
  50. package/dist/{chunk-MVG4B2HM.mjs → chunk-ZH3FC55E.mjs} +2 -2
  51. package/dist/chunk-ZH3FC55E.mjs.map +1 -0
  52. package/dist/endowments/cronjob.js +2 -2
  53. package/dist/endowments/cronjob.mjs +1 -1
  54. package/dist/endowments/home-page.js +2 -2
  55. package/dist/endowments/home-page.mjs +1 -1
  56. package/dist/endowments/index.js +10 -10
  57. package/dist/endowments/index.mjs +9 -9
  58. package/dist/endowments/keyring.js +2 -2
  59. package/dist/endowments/keyring.mjs +1 -1
  60. package/dist/endowments/lifecycle-hooks.js +2 -2
  61. package/dist/endowments/lifecycle-hooks.mjs +1 -1
  62. package/dist/endowments/name-lookup.js +2 -2
  63. package/dist/endowments/name-lookup.mjs +1 -1
  64. package/dist/endowments/rpc.js +2 -2
  65. package/dist/endowments/rpc.mjs +1 -1
  66. package/dist/endowments/signature-insight.js +2 -2
  67. package/dist/endowments/signature-insight.mjs +1 -1
  68. package/dist/endowments/transaction-insight.js +2 -2
  69. package/dist/endowments/transaction-insight.mjs +1 -1
  70. package/dist/index.js +15 -15
  71. package/dist/index.mjs +14 -14
  72. package/dist/permissions.js +15 -15
  73. package/dist/permissions.mjs +14 -14
  74. package/dist/restricted/caveats/index.js +5 -5
  75. package/dist/restricted/caveats/index.mjs +4 -4
  76. package/dist/restricted/caveats/permittedCoinTypes.js +2 -2
  77. package/dist/restricted/caveats/permittedCoinTypes.mjs +1 -1
  78. package/dist/restricted/caveats/permittedDerivationPaths.js +2 -2
  79. package/dist/restricted/caveats/permittedDerivationPaths.mjs +1 -1
  80. package/dist/restricted/caveats/snapIds.js +2 -2
  81. package/dist/restricted/caveats/snapIds.mjs +1 -1
  82. package/dist/restricted/index.js +5 -5
  83. package/dist/restricted/index.mjs +4 -4
  84. package/dist/tsconfig.build.tsbuildinfo +1 -1
  85. package/dist/types/endowments/cronjob.d.ts +1 -1
  86. package/dist/types/endowments/home-page.d.ts +1 -1
  87. package/dist/types/endowments/index.d.ts +8 -8
  88. package/dist/types/endowments/keyring.d.ts +1 -1
  89. package/dist/types/endowments/lifecycle-hooks.d.ts +1 -1
  90. package/dist/types/endowments/name-lookup.d.ts +1 -1
  91. package/dist/types/endowments/rpc.d.ts +1 -1
  92. package/dist/types/endowments/signature-insight.d.ts +1 -1
  93. package/dist/types/endowments/transaction-insight.d.ts +1 -1
  94. package/package.json +5 -5
  95. package/dist/chunk-2KTJCF3C.js.map +0 -1
  96. package/dist/chunk-3DHVA2FY.js.map +0 -1
  97. package/dist/chunk-6TKD32TS.js.map +0 -1
  98. package/dist/chunk-ADXH5C3U.mjs.map +0 -1
  99. package/dist/chunk-AWQ6HTAL.mjs.map +0 -1
  100. package/dist/chunk-EEVEVBK6.mjs.map +0 -1
  101. package/dist/chunk-FMDV3RFT.js.map +0 -1
  102. package/dist/chunk-IEUCBULU.js.map +0 -1
  103. package/dist/chunk-JRSPKOFG.js +0 -115
  104. package/dist/chunk-LIWV3FMY.js.map +0 -1
  105. package/dist/chunk-LLH2T5NT.js +0 -43
  106. package/dist/chunk-MVG4B2HM.mjs.map +0 -1
  107. package/dist/chunk-OQOTJFFV.js.map +0 -1
  108. package/dist/chunk-PCB6QOHL.mjs.map +0 -1
  109. package/dist/chunk-PWUEAR4H.js.map +0 -1
  110. package/dist/chunk-TEXEQGNZ.js.map +0 -1
  111. package/dist/chunk-TOYWHUAS.mjs.map +0 -1
  112. package/dist/chunk-UBPHGXCO.mjs.map +0 -1
  113. package/dist/chunk-VCGZNL35.mjs.map +0 -1
  114. package/dist/chunk-VHY3NATP.js.map +0 -1
  115. /package/dist/{chunk-TUIJOZXZ.mjs.map → chunk-43UTAOW7.mjs.map} +0 -0
  116. /package/dist/{chunk-QAKSH24Z.js.map → chunk-B53MDMPL.js.map} +0 -0
  117. /package/dist/{chunk-LLH2T5NT.js.map → chunk-IC5BIIRG.js.map} +0 -0
  118. /package/dist/{chunk-JRSPKOFG.js.map → chunk-KRSIAVUJ.js.map} +0 -0
  119. /package/dist/{chunk-FR26QD3N.mjs.map → chunk-PCIEMFOB.mjs.map} +0 -0
  120. /package/dist/{chunk-C6E6DI4I.mjs.map → chunk-TAXLFFV4.mjs.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/restricted/caveats/permittedDerivationPaths.ts"],"names":[],"mappings":";AAKA,SAAS,gBAAgB,iBAAiB;AAE1C;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,oBAAoB;AAC7B,SAAS,OAAO,MAAM,YAAY;AAU3B,SAAS,qCACd,OACuC;AACvC,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,QACE,MAAM,eAAe;AAAA,QACrB;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAWO,SAAS,kBACd,OAC+B;AAC/B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,EACZ;AACF;AASO,SAAS,yBACd,QACkD;AAClD;AAAA,IACE;AAAA,IACA,KAAK,EAAE,OAAO,KAAK,MAAM,kBAAkB,GAAG,GAAG,QAAQ,EAAE,CAAC;AAAA,IAC5D;AAAA,IACA,UAAU;AAAA,EACZ;AACF;AAEO,IAAM,8CAGT;AAAA,EACF,CAAC,eAAe,wBAAwB,GAAG,OAAO,OAAO;AAAA,IACvD,MAAM,eAAe;AAAA,IACrB,WAAW,CACT,QACA,WACG;AACH,aAAO,OAAO,SAAS;AACrB,cAAM,EAAE,OAAO,IAAI;AACnB,0BAAkB,MAAM;AAExB,cAAM,OAAO,OAAO,MAAM;AAAA,UACxB,CAAC,eACC;AAAA,YACE,OAAO,KAAK,MAAM,GAAG,WAAW,KAAK,MAAM;AAAA,YAC3C,WAAW;AAAA,UACb,KAAK,WAAW,UAAU,OAAO;AAAA,QACrC;AAEA,YAAI,CAAC,MAAM;AACT,gBAAM,eAAe,aAAa;AAAA,YAChC,SACE;AAAA,UACJ,CAAC;AAAA,QACH;AAEA,eAAO,MAAM,OAAO,IAAI;AAAA,MAC1B;AAAA,IACF;AAAA,IACA,WAAW,CAAC,WAAW,yBAAyB,MAAM;AAAA,EACxD,CAAC;AACH","sourcesContent":["import type {\n Caveat,\n PermissionConstraint,\n RestrictedMethodCaveatSpecificationConstraint,\n} from '@metamask/permission-controller';\nimport { providerErrors, rpcErrors } from '@metamask/rpc-errors';\nimport type { Bip32Entropy } from '@metamask/snaps-utils';\nimport {\n SnapCaveatType,\n Bip32EntropyStruct,\n isEqual,\n} from '@metamask/snaps-utils';\nimport type { Json } from '@metamask/utils';\nimport { assertStruct } from '@metamask/utils';\nimport { array, size, type } from 'superstruct';\n\n/**\n * Map a raw value from the `initialPermissions` to a caveat specification.\n * Note that this function does not do any validation, that's handled by the\n * PermissionsController when the permission is requested.\n *\n * @param value - The raw value from the `initialPermissions`.\n * @returns The caveat specification.\n */\nexport function permittedDerivationPathsCaveatMapper(\n value: Json,\n): Pick<PermissionConstraint, 'caveats'> {\n return {\n caveats: [\n {\n type: SnapCaveatType.PermittedDerivationPaths,\n value,\n },\n ],\n };\n}\n\n/**\n * Validate a caveat path object. The object must consist of a `path` array and\n * a `curve` string. Paths must start with `m`, and must contain at\n * least two indices. If `ed25519` is used, this checks if all the path indices\n * are hardened.\n *\n * @param value - The value to validate.\n * @throws If the value is invalid.\n */\nexport function validateBIP32Path(\n value: unknown,\n): asserts value is Bip32Entropy {\n assertStruct(\n value,\n Bip32EntropyStruct,\n 'Invalid BIP-32 entropy path definition',\n rpcErrors.invalidParams,\n );\n}\n\n/**\n * Validate the path values associated with a caveat. This validates that the\n * value is a non-empty array with valid derivation paths and curves.\n *\n * @param caveat - The caveat to validate.\n * @throws If the value is invalid.\n */\nexport function validateBIP32CaveatPaths(\n caveat: Caveat<string, any>,\n): asserts caveat is Caveat<string, Bip32Entropy[]> {\n assertStruct(\n caveat,\n type({ value: size(array(Bip32EntropyStruct), 1, Infinity) }),\n 'Invalid BIP-32 entropy caveat',\n rpcErrors.internal,\n );\n}\n\nexport const PermittedDerivationPathsCaveatSpecification: Record<\n SnapCaveatType.PermittedDerivationPaths,\n RestrictedMethodCaveatSpecificationConstraint\n> = {\n [SnapCaveatType.PermittedDerivationPaths]: Object.freeze({\n type: SnapCaveatType.PermittedDerivationPaths,\n decorator: (\n method,\n caveat: Caveat<SnapCaveatType.PermittedDerivationPaths, Bip32Entropy[]>,\n ) => {\n return async (args) => {\n const { params } = args;\n validateBIP32Path(params);\n\n const path = caveat.value.find(\n (caveatPath) =>\n isEqual(\n params.path.slice(0, caveatPath.path.length),\n caveatPath.path,\n ) && caveatPath.curve === params.curve,\n );\n\n if (!path) {\n throw providerErrors.unauthorized({\n message:\n 'The requested path is not permitted. Allowed paths must be specified in the snap manifest.',\n });\n }\n\n return await method(args);\n };\n },\n validator: (caveat) => validateBIP32CaveatPaths(caveat),\n }),\n};\n"]}