@seams/wallet 0.21.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/THIRD_PARTY_NOTICES.md +5 -2
  2. package/dist/.build-inputs.sha256 +1 -1
  3. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/TransactionReceipt.js +107 -43
  4. package/dist/esm/core/signingEngine/uiConfirm/ui/preact/mountConfirmationSurface.js +1 -1
  5. package/dist/esm/core/signingEngine/uiConfirm/ui/transaction-receipt.js +36 -6
  6. package/dist/esm/core/ui/messages.js +9 -14
  7. package/dist/esm/externalNear/actions.js +26 -0
  8. package/dist/esm/externalNear/boundary.js +53 -0
  9. package/dist/esm/externalNear/controller.js +187 -0
  10. package/dist/esm/externalNear/hot.js +40 -0
  11. package/dist/esm/externalNear/index.js +3 -0
  12. package/dist/esm/externalNear/intear.js +109 -0
  13. package/dist/esm/externalNear/intearPopup.js +83 -0
  14. package/dist/esm/externalNear/meteor.js +121 -0
  15. package/dist/esm/externalNear/meteorRequest.js +117 -0
  16. package/dist/esm/externalNear/types.js +17 -0
  17. package/dist/esm/externalNear/wallets.js +33 -0
  18. package/dist/esm/node_modules/borsh/lib/esm/buffer.js +67 -0
  19. package/dist/esm/node_modules/borsh/lib/esm/deserialize.js +94 -0
  20. package/dist/esm/node_modules/borsh/lib/esm/index.js +13 -0
  21. package/dist/esm/node_modules/borsh/lib/esm/serialize.js +127 -0
  22. package/dist/esm/node_modules/borsh/lib/esm/types.js +19 -0
  23. package/dist/esm/node_modules/borsh/lib/esm/utils.js +104 -0
  24. package/dist/esm/plugins/plugin-utils.js +2 -5
  25. package/dist/esm/react/components/AccountMenuButton/ProfileDropdown.js +23 -9
  26. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.css +376 -84
  27. package/dist/esm/react/components/AccountMenuButton/TransactionSettingsSection.js +87 -167
  28. package/dist/esm/react/components/AccountMenuButton/WalletRegionSection.js +11 -9
  29. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.css +76 -74
  30. package/dist/esm/react/components/AccountMenuButton/WalletSettingsLayout.js +23 -22
  31. package/dist/esm/react/components/AccountMenuButton/Web3AuthProfileButton.css +1 -5
  32. package/dist/esm/react/components/AccountMenuButton/icons/MapPinIcon.js +12 -0
  33. package/dist/esm/react/components/AccountMenuButton/index.js +2 -1
  34. package/dist/esm/react/externalNear.css +90 -0
  35. package/dist/esm/react/externalNear.js +104 -0
  36. package/dist/esm/react/styles/styles.css +452 -162
  37. package/dist/{public/sdk/ConfirmationDrawer-B7RCp58z.js → esm/sdk/ConfirmationDrawer-Ck33ZmU-.js} +1 -1
  38. package/dist/esm/sdk/adapters-CgJpSAxH.js +2 -0
  39. package/dist/esm/sdk/appearance-token-vars-BA3KQyEE.js +2 -0
  40. package/dist/esm/sdk/{export-viewer-host-CVdpEuY6.js → export-viewer-host-C9n-62Pi.js} +1 -1
  41. package/dist/esm/sdk/{exportKeypairOperation-gVCqLrDl.js → exportKeypairOperation-Du9HKB8f.js} +1 -1
  42. package/dist/esm/sdk/host-C5KYWEcs.js +1 -0
  43. package/dist/esm/sdk/{localOnly-TXaYAZj-.js → localOnly-CvFSZFUy.js} +1 -1
  44. package/dist/esm/sdk/{mountExportPrivateKeySurface-DUnKOBQr.js → mountExportPrivateKeySurface-DdJHWwqY.js} +1 -1
  45. package/dist/esm/sdk/{mountRecoveryCodeBackupSurface-MGTl6FhG.js → mountRecoveryCodeBackupSurface-D3QFgMGE.js} +1 -1
  46. package/dist/{public/sdk/pendingWalletRecoveryCodeBackup-DWeemdJv.js → esm/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js} +1 -1
  47. package/dist/esm/sdk/{registration-DVX_lnP7.js → registration-CIxJvbTo.js} +1 -1
  48. package/dist/esm/sdk/{registration-DeCUrUR9.js → registration-CeOmKyCG.js} +1 -1
  49. package/dist/{public/sdk/runtime-auth-BAGyfscG.js → esm/sdk/runtime-auth-C0V-5znH.js} +1 -1
  50. package/dist/{public/sdk/runtime-device-link-DKkMLVor.js → esm/sdk/runtime-device-link-B1jpHQSF.js} +1 -1
  51. package/dist/{public/sdk/runtime-ecdsa-tempo-0TAVH1xg.js → esm/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js} +1 -1
  52. package/dist/esm/sdk/{runtime-email-otp-DoHa8Hif.js → runtime-email-otp-DXuxFOjL.js} +1 -1
  53. package/dist/esm/sdk/{runtime-export-CAt17IFH.js → runtime-export-Ba12ChDI.js} +1 -1
  54. package/dist/esm/sdk/{runtime-near-BQX9Jk9Z.js → runtime-near-DRrdWzmr.js} +1 -1
  55. package/dist/esm/sdk/{runtime-preferences-BuKTIpv6.js → runtime-preferences-BWyhRaBA.js} +1 -1
  56. package/dist/esm/sdk/{runtime-recovery-DyxJKKNw.js → runtime-recovery-DlJlaZlf.js} +1 -1
  57. package/dist/esm/sdk/{runtime-recovery-codes-CWmt0FDB.js → runtime-recovery-codes-CuqYWqK7.js} +1 -1
  58. package/dist/esm/sdk/{shared-BVps1f3F.js → shared-B95wnpoD.js} +1 -1
  59. package/dist/esm/sdk/transaction-activity-CpDMkSPm.js +1 -0
  60. package/dist/esm/sdk/tx-confirm-ui.js +186 -71
  61. package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
  62. package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
  63. package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
  64. package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
  65. package/dist/esm/sdk/wallet-ui.css +1 -1
  66. package/dist/{public/sdk/walletRecoveryAdminProof-CIoLawfC.js → esm/sdk/walletRecoveryAdminProof-CtH8_lph.js} +1 -1
  67. package/dist/public/headers.manifest.json +1 -1
  68. package/dist/{esm/sdk/ConfirmationDrawer-B7RCp58z.js → public/sdk/ConfirmationDrawer-Ck33ZmU-.js} +1 -1
  69. package/dist/public/sdk/adapters-CgJpSAxH.js +2 -0
  70. package/dist/public/sdk/appearance-token-vars-BA3KQyEE.js +2 -0
  71. package/dist/public/sdk/{export-viewer-host-CVdpEuY6.js → export-viewer-host-C9n-62Pi.js} +1 -1
  72. package/dist/public/sdk/{exportKeypairOperation-gVCqLrDl.js → exportKeypairOperation-Du9HKB8f.js} +1 -1
  73. package/dist/public/sdk/host-C5KYWEcs.js +1 -0
  74. package/dist/public/sdk/{localOnly-TXaYAZj-.js → localOnly-CvFSZFUy.js} +1 -1
  75. package/dist/public/sdk/{mountExportPrivateKeySurface-DUnKOBQr.js → mountExportPrivateKeySurface-DdJHWwqY.js} +1 -1
  76. package/dist/public/sdk/{mountRecoveryCodeBackupSurface-MGTl6FhG.js → mountRecoveryCodeBackupSurface-D3QFgMGE.js} +1 -1
  77. package/dist/{esm/sdk/pendingWalletRecoveryCodeBackup-DWeemdJv.js → public/sdk/pendingWalletRecoveryCodeBackup-LbstFwcY.js} +1 -1
  78. package/dist/public/sdk/{registration-DVX_lnP7.js → registration-CIxJvbTo.js} +1 -1
  79. package/dist/public/sdk/{registration-DeCUrUR9.js → registration-CeOmKyCG.js} +1 -1
  80. package/dist/{esm/sdk/runtime-auth-BAGyfscG.js → public/sdk/runtime-auth-C0V-5znH.js} +1 -1
  81. package/dist/{esm/sdk/runtime-device-link-DKkMLVor.js → public/sdk/runtime-device-link-B1jpHQSF.js} +1 -1
  82. package/dist/{esm/sdk/runtime-ecdsa-tempo-0TAVH1xg.js → public/sdk/runtime-ecdsa-tempo-CDSZ3pxS.js} +1 -1
  83. package/dist/public/sdk/{runtime-email-otp-DoHa8Hif.js → runtime-email-otp-DXuxFOjL.js} +1 -1
  84. package/dist/public/sdk/{runtime-export-CAt17IFH.js → runtime-export-Ba12ChDI.js} +1 -1
  85. package/dist/public/sdk/{runtime-near-BQX9Jk9Z.js → runtime-near-DRrdWzmr.js} +1 -1
  86. package/dist/public/sdk/{runtime-preferences-BuKTIpv6.js → runtime-preferences-BWyhRaBA.js} +1 -1
  87. package/dist/public/sdk/{runtime-recovery-DyxJKKNw.js → runtime-recovery-DlJlaZlf.js} +1 -1
  88. package/dist/public/sdk/{runtime-recovery-codes-CWmt0FDB.js → runtime-recovery-codes-CuqYWqK7.js} +1 -1
  89. package/dist/public/sdk/{shared-BVps1f3F.js → shared-B95wnpoD.js} +1 -1
  90. package/dist/public/sdk/transaction-activity-CpDMkSPm.js +1 -0
  91. package/dist/public/sdk/tx-confirm-ui.js +186 -71
  92. package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
  93. package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
  94. package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
  95. package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
  96. package/dist/public/sdk/wallet-ui.css +1 -1
  97. package/dist/{esm/sdk/walletRecoveryAdminProof-CIoLawfC.js → public/sdk/walletRecoveryAdminProof-CtH8_lph.js} +1 -1
  98. package/dist/public/wallet-assets.manifest.json +50 -51
  99. package/dist/public/wallet-service/index.html +4 -4
  100. package/dist/types/wallet/src/SeamsWeb/walletIframe/host/auth-menu/controller.d.ts +2 -0
  101. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-activity.d.ts +2 -2
  102. package/dist/types/wallet/src/core/signingEngine/uiConfirm/ui/transaction-receipt.d.ts +25 -6
  103. package/dist/types/wallet/src/core/ui/messages.d.ts +1 -1
  104. package/dist/types/wallet/src/externalNear/actions.d.ts +20 -0
  105. package/dist/types/wallet/src/externalNear/boundary.d.ts +7 -0
  106. package/dist/types/wallet/src/externalNear/controller.d.ts +23 -0
  107. package/dist/types/wallet/src/externalNear/hot.d.ts +13 -0
  108. package/dist/types/wallet/src/externalNear/index.d.ts +4 -0
  109. package/dist/types/wallet/src/externalNear/intear.d.ts +12 -0
  110. package/dist/types/wallet/src/externalNear/intearPopup.d.ts +25 -0
  111. package/dist/types/wallet/src/externalNear/meteor.d.ts +16 -0
  112. package/dist/types/wallet/src/externalNear/meteorRequest.d.ts +29 -0
  113. package/dist/types/wallet/src/externalNear/types.d.ts +67 -0
  114. package/dist/types/wallet/src/externalNear/wallets.d.ts +4 -0
  115. package/dist/types/wallet/src/plugins/plugin-utils.d.ts +1 -1
  116. package/dist/types/wallet/src/react/components/AccountMenuButton/icons/MapPinIcon.d.ts +2 -0
  117. package/dist/types/wallet/src/react/externalNear.d.ts +26 -0
  118. package/package.json +18 -1
  119. package/dist/esm/plugins/SeamsWeb/walletIframe/sanitization.js +0 -18
  120. package/dist/esm/react/components/AccountMenuButton/SegmentedControl.js +0 -77
  121. package/dist/esm/sdk/adapters-La60hveX.js +0 -2
  122. package/dist/esm/sdk/appearance-token-vars-Bu6YUWmf.js +0 -2
  123. package/dist/esm/sdk/host-Bz7mRJPZ.js +0 -1
  124. package/dist/esm/sdk/transaction-activity-D5f-Yn9t.js +0 -1
  125. package/dist/public/sdk/adapters-La60hveX.js +0 -2
  126. package/dist/public/sdk/appearance-token-vars-Bu6YUWmf.js +0 -2
  127. package/dist/public/sdk/host-Bz7mRJPZ.js +0 -1
  128. package/dist/public/sdk/transaction-activity-D5f-Yn9t.js +0 -1
  129. package/dist/types/wallet/src/react/components/AccountMenuButton/SegmentedControl.d.ts +0 -25
@@ -1 +1 @@
1
- import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{o as e,s as t}from"./sessionObservationRevision-abErAhd6.js";import{a as n,n as r,r as i,t as a}from"./shared-BVps1f3F.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import{G as o,J as s,K as c,xt as l}from"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import{c as u}from"./sdkSentEvents-BzMVO1AR.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-Bu6YUWmf.js";function d(e,t,n,r){return n?(e.get(n)?.reject(Error(`A newer Email OTP method selection is required`)),new Promise((i,a)=>{let o=setTimeout(()=>f(e,n,Error(`Email OTP method selection timed out`)),9e5);e.set(n,{choices:r,resolve:e=>{clearTimeout(o),i(e)},reject:e=>{clearTimeout(o),a(e instanceof Error?e:Error(String(e)))}}),t.postProgress(n,{event:`wallet_device_link_email_otp_base_factor_selection_required_v1`,choices:r})})):Promise.reject(Error(`Device-link request id is required`))}function f(e,t,n){if(!t)return;let r=e.get(t);r&&(e.delete(t),r.reject(n))}function p(e,t){let n=e.get(t.scanRequestId);if(!n)throw Error(`Email OTP method selection is unavailable`);switch(t.action.kind){case`cancel`:e.delete(t.scanRequestId),n.reject(Error(`Device linking was cancelled`));return;case`select`:{let r=t.action.baseWalletAuthMethodId;if(!n.choices.some(e=>e.baseWalletAuthMethodId===r))throw Error(`The selected Email OTP method is unavailable for this linked device`);e.delete(t.scanRequestId),n.resolve(r);return}default:throw t.action,Error(`Unsupported Email OTP method selection action`)}}function m(e){switch(e.activation.kind){case`linked_device_target_passkey_activation_v1`:return{event:`wallet_device_link_target_factor_activation_v1`,activationId:e.activationId,activation:{kind:e.activation.kind}};case`linked_device_target_email_otp_activation_v1`:return{event:`wallet_device_link_target_factor_activation_v1`,activationId:e.activationId,activation:{kind:e.activation.kind,state:e.activation.state}};default:throw e.activation,Error(`Unsupported linked-device target-factor activation`)}}async function h(e){switch(e.action.kind){case`create_passkey`:if(e.active.activation.kind!==`linked_device_target_passkey_activation_v1`)throw Error(`linked-device Passkey activation is unavailable`);await e.active.activation.createPasskey();return;case`send_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.sendCode();return;case`resend_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.resendCode();return;case`submit_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.submitCode(e.action.otpCode);return;default:throw e.action,Error(`Unsupported linked-device target-factor action`)}}function g(e,t,n,r,i){e.current={activationId:r,activation:i},t.postProgress(n,m(e.current))}function _(e,t,n,r){t.postProgress(n,r);let i=u(r);(i.kind===`active`||i.kind===`failed`||i.kind===`invalid_active`||i.kind===`cancelled`)&&(e.current=null)}function v(n){let u={current:null},m=new Map;return{PM_START_DEVICE2_LINKING_FLOW:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_START_DEVICE2_LINKING_FLOW requires a payload`);let{ui:a,cameraId:o,options:s}=i,c;if(i.targetFactor.kind===`email_otp`){if(typeof i.targetEmail!=`string`)throw Error(`PM_START_DEVICE2_LINKING_FLOW requires targetEmail for Email OTP`);c={targetFactor:i.targetFactor,targetEmail:i.targetEmail}}else c={targetFactor:i.targetFactor};if(n.respondIfCancelled(e.requestId))return;let l=String(e.requestId||``).trim();if(!l)throw Error(`Device-link target-factor activation id is required`);let d=await t.devices.startLinking({...c,...a?{ui:a}:{},...o?{cameraId:o}:{},options:{...s||{},onEvent:_.bind(null,u,n,e.requestId),onTargetFactorRequired:g.bind(null,u,n,e.requestId,l)}});n.respondIfCancelled(e.requestId)||r(n,e.requestId,d)},PM_DEVICE_LINK_TARGET_FACTOR_ACTION:async e=>{let r=t(e.payload);if(!r)throw Error(`PM_DEVICE_LINK_TARGET_FACTOR_ACTION payload is invalid`);let i=u.current;if(!i||i.activationId!==r.activationId)throw Error(`linked-device target-factor activation is unavailable`);await h({active:i,action:r.action}),a(n,e.requestId)},PM_DEVICE_LINK_EMAIL_OTP_BASE_FACTOR_ACTION:async t=>{let r=e(t.payload);if(!r)throw Error(`Email OTP method selection payload is invalid`);p(m,r),a(n,t.requestId)},PM_CANCEL_DEVICE_LINKING:async e=>{let t=n.getWalletRuntime();if(!n.respondIfCancelled(e.requestId)){await t.devices.cancelLinking(),u.current=null;for(let e of[...m.keys()])f(m,e,Error(`Device linking was cancelled`));n.respondIfCancelled(e.requestId)||a(n,e.requestId)}},PM_SCAN_AND_LINK_DEVICE:async e=>{let t=n.getWalletRuntime(),{qrData:a,options:o}=e.payload;if(!n.respondIfCancelled(e.requestId))try{let s=await t.devices.approveLinking(l(a),{...i(n,e.requestId,o||{}),onEmailOtpBaseFactorRequired:t=>d(m,n,e.requestId,t)});if(n.respondIfCancelled(e.requestId))return;r(n,e.requestId,s)}finally{f(m,e.requestId,Error(`Device-link request ended before Email OTP method selection completed`))}},PM_HAS_PASSKEY:async e=>{let t=n.getWalletRuntime(),{walletId:i}=e.payload,a=await t.auth.hasPasskey(i);r(n,e.requestId,a)},PM_LIST_LINKED_DEVICES:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_LIST_LINKED_DEVICES requires a payload`);let a=o({kind:`linked_device_list_request_v1`,walletId:i.walletId,limit:i.limit,cursor:i.cursor}),s=await t.devices.list({walletId:String(a.walletId),limit:a.limit,cursor:a.cursor});r(n,e.requestId,c(s))},PM_REVOKE_LINKED_DEVICE:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_REVOKE_LINKED_DEVICE requires a payload`);if(n.respondIfCancelled(e.requestId))return;let a=await t.devices.remove({walletId:i.walletId,walletAuthMethodId:i.walletAuthMethodId});n.respondIfCancelled(e.requestId)||r(n,e.requestId,s(a))}}}async function y(e){await n(e,v)}export{y as handleWalletHostRuntimeRequest};
1
+ import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{o as e,s as t}from"./sessionObservationRevision-abErAhd6.js";import{a as n,n as r,r as i,t as a}from"./shared-B95wnpoD.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import{G as o,J as s,K as c,xt as l}from"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import{c as u}from"./sdkSentEvents-BzMVO1AR.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-BA3KQyEE.js";function d(e,t,n,r){return n?(e.get(n)?.reject(Error(`A newer Email OTP method selection is required`)),new Promise((i,a)=>{let o=setTimeout(()=>f(e,n,Error(`Email OTP method selection timed out`)),9e5);e.set(n,{choices:r,resolve:e=>{clearTimeout(o),i(e)},reject:e=>{clearTimeout(o),a(e instanceof Error?e:Error(String(e)))}}),t.postProgress(n,{event:`wallet_device_link_email_otp_base_factor_selection_required_v1`,choices:r})})):Promise.reject(Error(`Device-link request id is required`))}function f(e,t,n){if(!t)return;let r=e.get(t);r&&(e.delete(t),r.reject(n))}function p(e,t){let n=e.get(t.scanRequestId);if(!n)throw Error(`Email OTP method selection is unavailable`);switch(t.action.kind){case`cancel`:e.delete(t.scanRequestId),n.reject(Error(`Device linking was cancelled`));return;case`select`:{let r=t.action.baseWalletAuthMethodId;if(!n.choices.some(e=>e.baseWalletAuthMethodId===r))throw Error(`The selected Email OTP method is unavailable for this linked device`);e.delete(t.scanRequestId),n.resolve(r);return}default:throw t.action,Error(`Unsupported Email OTP method selection action`)}}function m(e){switch(e.activation.kind){case`linked_device_target_passkey_activation_v1`:return{event:`wallet_device_link_target_factor_activation_v1`,activationId:e.activationId,activation:{kind:e.activation.kind}};case`linked_device_target_email_otp_activation_v1`:return{event:`wallet_device_link_target_factor_activation_v1`,activationId:e.activationId,activation:{kind:e.activation.kind,state:e.activation.state}};default:throw e.activation,Error(`Unsupported linked-device target-factor activation`)}}async function h(e){switch(e.action.kind){case`create_passkey`:if(e.active.activation.kind!==`linked_device_target_passkey_activation_v1`)throw Error(`linked-device Passkey activation is unavailable`);await e.active.activation.createPasskey();return;case`send_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.sendCode();return;case`resend_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.resendCode();return;case`submit_email_otp`:if(e.active.activation.kind!==`linked_device_target_email_otp_activation_v1`)throw Error(`linked-device Email OTP activation is unavailable`);await e.active.activation.submitCode(e.action.otpCode);return;default:throw e.action,Error(`Unsupported linked-device target-factor action`)}}function g(e,t,n,r,i){e.current={activationId:r,activation:i},t.postProgress(n,m(e.current))}function _(e,t,n,r){t.postProgress(n,r);let i=u(r);(i.kind===`active`||i.kind===`failed`||i.kind===`invalid_active`||i.kind===`cancelled`)&&(e.current=null)}function v(n){let u={current:null},m=new Map;return{PM_START_DEVICE2_LINKING_FLOW:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_START_DEVICE2_LINKING_FLOW requires a payload`);let{ui:a,cameraId:o,options:s}=i,c;if(i.targetFactor.kind===`email_otp`){if(typeof i.targetEmail!=`string`)throw Error(`PM_START_DEVICE2_LINKING_FLOW requires targetEmail for Email OTP`);c={targetFactor:i.targetFactor,targetEmail:i.targetEmail}}else c={targetFactor:i.targetFactor};if(n.respondIfCancelled(e.requestId))return;let l=String(e.requestId||``).trim();if(!l)throw Error(`Device-link target-factor activation id is required`);let d=await t.devices.startLinking({...c,...a?{ui:a}:{},...o?{cameraId:o}:{},options:{...s||{},onEvent:_.bind(null,u,n,e.requestId),onTargetFactorRequired:g.bind(null,u,n,e.requestId,l)}});n.respondIfCancelled(e.requestId)||r(n,e.requestId,d)},PM_DEVICE_LINK_TARGET_FACTOR_ACTION:async e=>{let r=t(e.payload);if(!r)throw Error(`PM_DEVICE_LINK_TARGET_FACTOR_ACTION payload is invalid`);let i=u.current;if(!i||i.activationId!==r.activationId)throw Error(`linked-device target-factor activation is unavailable`);await h({active:i,action:r.action}),a(n,e.requestId)},PM_DEVICE_LINK_EMAIL_OTP_BASE_FACTOR_ACTION:async t=>{let r=e(t.payload);if(!r)throw Error(`Email OTP method selection payload is invalid`);p(m,r),a(n,t.requestId)},PM_CANCEL_DEVICE_LINKING:async e=>{let t=n.getWalletRuntime();if(!n.respondIfCancelled(e.requestId)){await t.devices.cancelLinking(),u.current=null;for(let e of[...m.keys()])f(m,e,Error(`Device linking was cancelled`));n.respondIfCancelled(e.requestId)||a(n,e.requestId)}},PM_SCAN_AND_LINK_DEVICE:async e=>{let t=n.getWalletRuntime(),{qrData:a,options:o}=e.payload;if(!n.respondIfCancelled(e.requestId))try{let s=await t.devices.approveLinking(l(a),{...i(n,e.requestId,o||{}),onEmailOtpBaseFactorRequired:t=>d(m,n,e.requestId,t)});if(n.respondIfCancelled(e.requestId))return;r(n,e.requestId,s)}finally{f(m,e.requestId,Error(`Device-link request ended before Email OTP method selection completed`))}},PM_HAS_PASSKEY:async e=>{let t=n.getWalletRuntime(),{walletId:i}=e.payload,a=await t.auth.hasPasskey(i);r(n,e.requestId,a)},PM_LIST_LINKED_DEVICES:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_LIST_LINKED_DEVICES requires a payload`);let a=o({kind:`linked_device_list_request_v1`,walletId:i.walletId,limit:i.limit,cursor:i.cursor}),s=await t.devices.list({walletId:String(a.walletId),limit:a.limit,cursor:a.cursor});r(n,e.requestId,c(s))},PM_REVOKE_LINKED_DEVICE:async e=>{let t=n.getWalletRuntime(),i=e.payload;if(!i)throw Error(`PM_REVOKE_LINKED_DEVICE requires a payload`);if(n.respondIfCancelled(e.requestId))return;let a=await t.devices.remove({walletId:i.walletId,walletAuthMethodId:i.walletAuthMethodId});n.respondIfCancelled(e.requestId)||r(n,e.requestId,s(a))}}}async function y(e){await n(e,v)}export{y as handleWalletHostRuntimeRequest};
@@ -1 +1 @@
1
- import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as e,n as t,o as n,t as r}from"./shared-BVps1f3F.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-Bu6YUWmf.js";function i(e){return{PM_SIGN_TEMPO:async r=>{let i=e.getWalletRuntime(),{walletSession:a,request:o,chainTarget:s,options:c}=r.payload;if(e.respondIfCancelled(r.requestId))return;let l={confirmationConfig:c?.confirmationConfig,shouldAbort:()=>e.isCancelled(r.requestId),onEvent:t=>{e.postProgress(r.requestId,t)}},u;switch(r.payload.operationKind){case`tempo_transaction`:if(o.chain!==`tempo`)throw Error(`[wallet-iframe] Tempo operation requires a Tempo request`);if(s.kind!==`tempo`)throw Error(`[wallet-iframe] Tempo request requires a Tempo target`);u=await i.tempo.signTransaction({walletSession:a,request:o,chainTarget:s,options:l});break;case`evm_transaction`:if(o.chain!==`evm`)throw Error(`[wallet-iframe] EVM operation requires an EVM request`);if(s.kind!==`evm`)throw Error(`[wallet-iframe] EVM request requires an EVM target`);u=await i.evm.signTransaction({walletSession:a,request:o,chainTarget:s,options:l});break;case`tempo_fee_token_preference`:{if(o.chain!==`evm`||s.kind!==`tempo`)throw Error(`[wallet-iframe] Tempo fee-token operation requires an EVM request and Tempo target`);let e=n({request:o,chainTarget:s});u=await i.signTempoFeeTokenPreferenceInternal({walletSession:a,request:e,chainTarget:s,confirmationConfigOverride:l.confirmationConfig,shouldAbort:l.shouldAbort,onEvent:l.onEvent});break}default:throw Error(`[wallet-iframe] unsupported EVM-family signing operation`)}e.respondIfCancelled(r.requestId)||t(e,r.requestId,u)},PM_REPORT_TEMPO_BROADCAST_ACCEPTED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,txHash:o}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportBroadcastAccepted({walletSession:i,signedResult:a,txHash:o,options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_BROADCAST_REJECTED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,error:o}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportBroadcastRejected({walletSession:i,signedResult:a,...o?{error:o}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_FINALIZED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,txHash:o,receiptStatus:s}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportFinalized({walletSession:i,signedResult:a,...o?{txHash:o}:{},...s?{receiptStatus:s}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_DROPPED_OR_REPLACED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,reason:o,txHash:s}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportDroppedOrReplaced({walletSession:i,signedResult:a,reason:o,...s?{txHash:s}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_RECONCILE_TEMPO_NONCE_LANE:async n=>{let r=e.getWalletRuntime(),{walletSession:i,signedResult:a}=n.payload;if(e.respondIfCancelled(n.requestId))return;let o=await r.tempo.advanced.reconcileNonceLane({walletSession:i,signedResult:a,options:{onEvent:t=>e.postProgress(n.requestId,t)}});e.respondIfCancelled(n.requestId)||t(e,n.requestId,o)}}}async function a(t){await e(t,i)}export{a as handleWalletHostRuntimeRequest};
1
+ import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as e,n as t,o as n,t as r}from"./shared-B95wnpoD.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-BA3KQyEE.js";function i(e){return{PM_SIGN_TEMPO:async r=>{let i=e.getWalletRuntime(),{walletSession:a,request:o,chainTarget:s,options:c}=r.payload;if(e.respondIfCancelled(r.requestId))return;let l={confirmationConfig:c?.confirmationConfig,shouldAbort:()=>e.isCancelled(r.requestId),onEvent:t=>{e.postProgress(r.requestId,t)}},u;switch(r.payload.operationKind){case`tempo_transaction`:if(o.chain!==`tempo`)throw Error(`[wallet-iframe] Tempo operation requires a Tempo request`);if(s.kind!==`tempo`)throw Error(`[wallet-iframe] Tempo request requires a Tempo target`);u=await i.tempo.signTransaction({walletSession:a,request:o,chainTarget:s,options:l});break;case`evm_transaction`:if(o.chain!==`evm`)throw Error(`[wallet-iframe] EVM operation requires an EVM request`);if(s.kind!==`evm`)throw Error(`[wallet-iframe] EVM request requires an EVM target`);u=await i.evm.signTransaction({walletSession:a,request:o,chainTarget:s,options:l});break;case`tempo_fee_token_preference`:{if(o.chain!==`evm`||s.kind!==`tempo`)throw Error(`[wallet-iframe] Tempo fee-token operation requires an EVM request and Tempo target`);let e=n({request:o,chainTarget:s});u=await i.signTempoFeeTokenPreferenceInternal({walletSession:a,request:e,chainTarget:s,confirmationConfigOverride:l.confirmationConfig,shouldAbort:l.shouldAbort,onEvent:l.onEvent});break}default:throw Error(`[wallet-iframe] unsupported EVM-family signing operation`)}e.respondIfCancelled(r.requestId)||t(e,r.requestId,u)},PM_REPORT_TEMPO_BROADCAST_ACCEPTED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,txHash:o}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportBroadcastAccepted({walletSession:i,signedResult:a,txHash:o,options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_BROADCAST_REJECTED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,error:o}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportBroadcastRejected({walletSession:i,signedResult:a,...o?{error:o}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_FINALIZED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,txHash:o,receiptStatus:s}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportFinalized({walletSession:i,signedResult:a,...o?{txHash:o}:{},...s?{receiptStatus:s}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_REPORT_TEMPO_DROPPED_OR_REPLACED:async t=>{let n=e.getWalletRuntime(),{walletSession:i,signedResult:a,reason:o,txHash:s}=t.payload;e.respondIfCancelled(t.requestId)||(await n.tempo.advanced.reportDroppedOrReplaced({walletSession:i,signedResult:a,reason:o,...s?{txHash:s}:{},options:{onEvent:n=>e.postProgress(t.requestId,n)}}),!e.respondIfCancelled(t.requestId)&&r(e,t.requestId))},PM_RECONCILE_TEMPO_NONCE_LANE:async n=>{let r=e.getWalletRuntime(),{walletSession:i,signedResult:a}=n.payload;if(e.respondIfCancelled(n.requestId))return;let o=await r.tempo.advanced.reconcileNonceLane({walletSession:i,signedResult:a,options:{onEvent:t=>e.postProgress(n.requestId,t)}});e.respondIfCancelled(n.requestId)||t(e,n.requestId,o)}}}async function a(t){await e(t,i)}export{a as handleWalletHostRuntimeRequest};
@@ -1 +1 @@
1
- import"./activeWalletSession-BtEHhe99.js";import{r as e}from"./secureRandomId-8LSc91aN.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as t,n,p as r,r as i}from"./shared-BVps1f3F.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-Bu6YUWmf.js";import{t as a}from"./recoveryAuthorization-BplZWc-N.js";function o(e){let t=s(e);if(t.method===`email`)return{method:`email`,walletId:c(t,`walletId`),email:c(t,`email`)};if(t.method!==`google`)throw Error(`Email code method is invalid`);let n=s(t.target);if(n.kind!==`wallet`&&n.kind!==`discoverable`)throw Error(`Email code wallet target is invalid`);return{method:`google`,idToken:c(t,`idToken`),target:n.kind===`wallet`?{kind:`wallet`,walletId:c(n,`walletId`)}:{kind:`discoverable`}}}function s(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function c(e,t){let n=typeof e[t]==`string`?e[t].trim():``;if(!n)throw Error(`Missing ${t}`);return n}function l(e,t){return(typeof e[t]==`string`?e[t].trim():``)||void 0}function u(e){let t=s(e);if(Object.prototype.hasOwnProperty.call(t,`walletSessionToken`))throw Error(`wallet iframe requests must not carry walletSessionToken`)}function d(e){let t=s(e),n=[`challengeId`,`challenge_id`,`otpCode`,`otp_code`,`otpDelivery`,`otp_delivery`,`delivery`,`resend`].find(e=>Object.prototype.hasOwnProperty.call(t,e));if(n)throw Error(`Google Email OTP registration message must not include ${n}`)}const f=new Map;function p(){return e(`google-email-otp`,16,`Google Email OTP wallet auth flow handles`)}function m(e){let t=p();return f.set(t,{flow:e,expiresAtMs:e.expiresAtMs}),e.mode===`register`?{kind:e.kind,state:`registration_ready`,flowHandleId:t,flowId:e.flowId,requestedMode:e.requestedMode,mode:`register`,walletId:e.walletId,emailHint:e.emailHint,prompt:e.prompt,expiresAtMs:e.expiresAtMs}:{kind:e.kind,state:`challenge_sent`,flowHandleId:t,flowId:e.flowId,requestedMode:e.requestedMode,mode:`login`,walletId:e.walletId,emailHint:e.emailHint,prompt:e.prompt,delivery:e.delivery,expiresAtMs:e.expiresAtMs}}function h(e){return e.ok?{ok:!0,value:m(e.value)}:e}function g(e){return e.ok?{ok:!0,value:m(e.value)}:e}function _(e){return e.ok?{ok:!0,value:{walletId:e.value.walletId,mode:`register`,session:e.value.session,registration:e.value.registration}}:e}function v(e){return c(s(e),`flowHandleId`)}function y(e,t){let n=c(t,`flowId`),r=c(t,`walletId`),i=c(t,`mode`);if(e.flowId!==n)throw Error(`Google Email OTP wallet auth flow handle does not match flow id`);if(String(e.walletId)!==r)throw Error(`Google Email OTP wallet auth flow handle does not match wallet`);if(e.mode!==i)throw Error(`Google Email OTP wallet auth flow handle does not match mode`)}function b(e){let t=s(e),n=v(t),r=f.get(n);if(!r)throw Error(`Google Email OTP wallet auth flow handle is not active`);if(Date.now()>r.expiresAtMs)throw f.delete(n),r.flow.cancel().catch(()=>void 0),Error(`Google Email OTP wallet auth flow handle expired`);return y(r.flow,t),r.flow}function x(e){let t=v(s(e)),n=b(e);return f.delete(t),n}function S(e){let t=s(e),n=c(t,`operation`);if(n!==`credentials_list`&&n!==`credential_label`&&n!==`recovery_rotate`&&n!==`recovery_read`&&n!==`recovery_status`&&n!==`recovery_backup_acknowledge`)throw Error(`Wallet custody Email OTP challenge operation is invalid`);let r=s(t.payload);if(Object.keys(r).length===0&&t.payload===void 0)throw Error(`Wallet custody Email OTP challenge payload is required`);return{walletId:c(t,`walletId`),providerSubjectId:c(t,`providerSubjectId`),operation:n,payload:r,...l(t,`requestOrigin`)?{requestOrigin:l(t,`requestOrigin`)}:{}}}function C(e){let t=s(e);if(Object.keys(t).sort().join(`,`)!==`authorization,walletId`)throw Error(`Wallet recovery rotation request has unexpected fields`);let n=s(t.authorization);if(Object.keys(n).length!==1)throw Error(`Wallet recovery rotation authorization has unexpected fields`);if(n.kind===`existing_passkey`)return{walletId:c(t,`walletId`),authorization:{kind:`existing_passkey`}};if(n.kind===`email_otp`)return{walletId:c(t,`walletId`),authorization:{kind:`email_otp`}};throw Error(`Wallet recovery rotation authorization is invalid`)}function w(e){let t=s(e.diagnostics);Reflect.set(globalThis,`__SEAMS_EMAIL_OTP_UNLOCK_DIAGNOSTICS`,t.emailOtpUnlockTimings===!0),Reflect.set(globalThis,`__SEAMS_REGISTRATION_BENCHMARK_DIAGNOSTICS`,t.registrationBenchmarkTimings===!0),delete e.diagnostics}function T(e){return{PM_REDEEM_HOSTED_WALLET_SEAMS_SESSION:async t=>{let i=await r(t.payload,t.payload.relayUrl);n(e,t.requestId,{kind:`redeemed_hosted_wallet_seams_session`,expiresAtMs:i.expiresAtMs})},PM_REQUEST_EMAIL_OTP_CHALLENGE:async t=>{let r=e.getWalletRuntime();u(t.payload);let a=o(t.payload),s=await r.auth.requestEmailCode(i(e,t.requestId,a));n(e,t.requestId,h(s))},PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH:async t=>{let r=e.getWalletRuntime(),a=s(t.payload);w(a),a.mode===`register`&&d(a);let o=i(e,t.requestId,a),c=await r.auth.startGoogleSignIn(o);n(e,t.requestId,h(c))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND:async t=>{let r=b(t.payload);if(r.mode!==`login`)throw Error(`Google Email OTP wallet auth resend requires a login flow`);let i=await r.resend();i.ok&&x(t.payload),n(e,t.requestId,h(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID:async t=>{let r=b(t.payload);if(r.mode!==`register`)throw Error(`Google Email OTP wallet auth reroll requires a registration flow`);d(t.payload);let i=await r.rerollWalletId();i.ok&&x(t.payload),n(e,t.requestId,g(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT:async t=>{let r=b(t.payload);if(r.mode!==`login`)throw Error(`Google Email OTP wallet auth submit requires a login flow`);let i=s(t.payload),a=await r.submit({otpCode:c(i,`otpCode`)});a.ok&&x(t.payload),n(e,t.requestId,a)},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION:async t=>{let r=b(t.payload);if(r.mode!==`register`)throw Error(`Google Email OTP wallet auth completion requires a registration flow`);d(t.payload);let i=await r.completeRegistration();i.ok&&x(t.payload),n(e,t.requestId,_(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL:async t=>{await b(t.payload).cancel(),x(t.payload),n(e,t.requestId,void 0)},PM_GET_WALLET_RECOVERY_CODE_STATUS:async t=>{u(t.payload);let r=await e.getWalletRuntime().recovery.getCodeStatus(a(t.payload));n(e,t.requestId,r)},PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE:async t=>{u(t.payload);let r=await e.getWalletRuntime().recovery.requestWalletCustodyEmailOtpChallenge(S(t.payload));n(e,t.requestId,r)},PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP:async t=>{u(t.payload);let r=await e.getWalletRuntime().recovery.confirmBackup(a(t.payload));n(e,t.requestId,r)},PM_ROTATE_WALLET_RECOVERY_CODES:async t=>{u(t.payload);let r=await e.getWalletRuntime().recovery.rotateCodes(C(t.payload));n(e,t.requestId,r)}}}async function E(e){await t(e,T)}export{E as handleWalletHostRuntimeRequest};
1
+ import"./activeWalletSession-BtEHhe99.js";import{r as e}from"./secureRandomId-8LSc91aN.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as t,n,p as r,r as i}from"./shared-B95wnpoD.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-BA3KQyEE.js";import{t as a}from"./recoveryAuthorization-BplZWc-N.js";function o(e){let t=s(e);if(t.method===`email`)return{method:`email`,walletId:c(t,`walletId`),email:c(t,`email`)};if(t.method!==`google`)throw Error(`Email code method is invalid`);let n=s(t.target);if(n.kind!==`wallet`&&n.kind!==`discoverable`)throw Error(`Email code wallet target is invalid`);return{method:`google`,idToken:c(t,`idToken`),target:n.kind===`wallet`?{kind:`wallet`,walletId:c(n,`walletId`)}:{kind:`discoverable`}}}function s(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function c(e,t){let n=typeof e[t]==`string`?e[t].trim():``;if(!n)throw Error(`Missing ${t}`);return n}function l(e,t){return(typeof e[t]==`string`?e[t].trim():``)||void 0}function u(e){let t=s(e);if(Object.prototype.hasOwnProperty.call(t,`walletSessionToken`))throw Error(`wallet iframe requests must not carry walletSessionToken`)}function d(e){let t=s(e),n=[`challengeId`,`challenge_id`,`otpCode`,`otp_code`,`otpDelivery`,`otp_delivery`,`delivery`,`resend`].find(e=>Object.prototype.hasOwnProperty.call(t,e));if(n)throw Error(`Google Email OTP registration message must not include ${n}`)}const f=new Map;function p(){return e(`google-email-otp`,16,`Google Email OTP wallet auth flow handles`)}function m(e){let t=p();return f.set(t,{flow:e,expiresAtMs:e.expiresAtMs}),e.mode===`register`?{kind:e.kind,state:`registration_ready`,flowHandleId:t,flowId:e.flowId,requestedMode:e.requestedMode,mode:`register`,walletId:e.walletId,emailHint:e.emailHint,prompt:e.prompt,expiresAtMs:e.expiresAtMs}:{kind:e.kind,state:`challenge_sent`,flowHandleId:t,flowId:e.flowId,requestedMode:e.requestedMode,mode:`login`,walletId:e.walletId,emailHint:e.emailHint,prompt:e.prompt,delivery:e.delivery,expiresAtMs:e.expiresAtMs}}function h(e){return e.ok?{ok:!0,value:m(e.value)}:e}function g(e){return e.ok?{ok:!0,value:m(e.value)}:e}function _(e){return e.ok?{ok:!0,value:{walletId:e.value.walletId,mode:`register`,session:e.value.session,registration:e.value.registration}}:e}function v(e){return c(s(e),`flowHandleId`)}function y(e,t){let n=c(t,`flowId`),r=c(t,`walletId`),i=c(t,`mode`);if(e.flowId!==n)throw Error(`Google Email OTP wallet auth flow handle does not match flow id`);if(String(e.walletId)!==r)throw Error(`Google Email OTP wallet auth flow handle does not match wallet`);if(e.mode!==i)throw Error(`Google Email OTP wallet auth flow handle does not match mode`)}function b(e){let t=s(e),n=v(t),r=f.get(n);if(!r)throw Error(`Google Email OTP wallet auth flow handle is not active`);if(Date.now()>r.expiresAtMs)throw f.delete(n),r.flow.cancel().catch(()=>void 0),Error(`Google Email OTP wallet auth flow handle expired`);return y(r.flow,t),r.flow}function x(e){let t=v(s(e)),n=b(e);return f.delete(t),n}function S(e){let t=s(e),n=c(t,`operation`);if(n!==`credentials_list`&&n!==`credential_label`&&n!==`recovery_rotate`&&n!==`recovery_read`&&n!==`recovery_status`&&n!==`recovery_backup_acknowledge`)throw Error(`Wallet custody Email OTP challenge operation is invalid`);let r=s(t.payload);if(Object.keys(r).length===0&&t.payload===void 0)throw Error(`Wallet custody Email OTP challenge payload is required`);return{walletId:c(t,`walletId`),providerSubjectId:c(t,`providerSubjectId`),operation:n,payload:r,...l(t,`requestOrigin`)?{requestOrigin:l(t,`requestOrigin`)}:{}}}function C(e){let t=s(e);if(Object.keys(t).sort().join(`,`)!==`authorization,walletId`)throw Error(`Wallet recovery rotation request has unexpected fields`);let n=s(t.authorization);if(Object.keys(n).length!==1)throw Error(`Wallet recovery rotation authorization has unexpected fields`);if(n.kind===`existing_passkey`)return{walletId:c(t,`walletId`),authorization:{kind:`existing_passkey`}};if(n.kind===`email_otp`)return{walletId:c(t,`walletId`),authorization:{kind:`email_otp`}};throw Error(`Wallet recovery rotation authorization is invalid`)}function w(e){let t=s(e.diagnostics);Reflect.set(globalThis,`__SEAMS_EMAIL_OTP_UNLOCK_DIAGNOSTICS`,t.emailOtpUnlockTimings===!0),Reflect.set(globalThis,`__SEAMS_REGISTRATION_BENCHMARK_DIAGNOSTICS`,t.registrationBenchmarkTimings===!0),delete e.diagnostics}function T(e){return{PM_REDEEM_HOSTED_WALLET_SEAMS_SESSION:async t=>{let i=await r(t.payload,t.payload.relayUrl);n(e,t.requestId,{kind:`redeemed_hosted_wallet_seams_session`,expiresAtMs:i.expiresAtMs})},PM_REQUEST_EMAIL_OTP_CHALLENGE:async t=>{let r=e.getWalletRuntime();u(t.payload);let a=o(t.payload),s=await r.auth.requestEmailCode(i(e,t.requestId,a));n(e,t.requestId,h(s))},PM_BEGIN_GOOGLE_EMAIL_OTP_WALLET_AUTH:async t=>{let r=e.getWalletRuntime(),a=s(t.payload);w(a),a.mode===`register`&&d(a);let o=i(e,t.requestId,a),c=await r.auth.startGoogleSignIn(o);n(e,t.requestId,h(c))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_RESEND:async t=>{let r=b(t.payload);if(r.mode!==`login`)throw Error(`Google Email OTP wallet auth resend requires a login flow`);let i=await r.resend();i.ok&&x(t.payload),n(e,t.requestId,h(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_REROLL_WALLET_ID:async t=>{let r=b(t.payload);if(r.mode!==`register`)throw Error(`Google Email OTP wallet auth reroll requires a registration flow`);d(t.payload);let i=await r.rerollWalletId();i.ok&&x(t.payload),n(e,t.requestId,g(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_SUBMIT:async t=>{let r=b(t.payload);if(r.mode!==`login`)throw Error(`Google Email OTP wallet auth submit requires a login flow`);let i=s(t.payload),a=await r.submit({otpCode:c(i,`otpCode`)});a.ok&&x(t.payload),n(e,t.requestId,a)},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_COMPLETE_REGISTRATION:async t=>{let r=b(t.payload);if(r.mode!==`register`)throw Error(`Google Email OTP wallet auth completion requires a registration flow`);d(t.payload);let i=await r.completeRegistration();i.ok&&x(t.payload),n(e,t.requestId,_(i))},PM_GOOGLE_EMAIL_OTP_WALLET_AUTH_CANCEL:async t=>{await b(t.payload).cancel(),x(t.payload),n(e,t.requestId,void 0)},PM_GET_WALLET_RECOVERY_CODE_STATUS:async t=>{u(t.payload);let r=await e.getWalletRuntime().recovery.getCodeStatus(a(t.payload));n(e,t.requestId,r)},PM_REQUEST_WALLET_CUSTODY_EMAIL_OTP_CHALLENGE:async t=>{u(t.payload);let r=await e.getWalletRuntime().recovery.requestWalletCustodyEmailOtpChallenge(S(t.payload));n(e,t.requestId,r)},PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP:async t=>{u(t.payload);let r=await e.getWalletRuntime().recovery.confirmBackup(a(t.payload));n(e,t.requestId,r)},PM_ROTATE_WALLET_RECOVERY_CODES:async t=>{u(t.payload);let r=await e.getWalletRuntime().recovery.rotateCodes(C(t.payload));n(e,t.requestId,r)}}}async function E(e){await t(e,T)}export{E as handleWalletHostRuntimeRequest};
@@ -1 +1 @@
1
- import{h as e}from"./domainIds-C3fUa33Q.js";import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as t,n,t as r}from"./shared-BVps1f3F.js";import"./capabilityKinds-CqHVzVsJ.js";import{r as i}from"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import{s as a}from"./ecdsaChainTarget-svSlzhze.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import{N as o,P as s}from"./nearEd25519YaoSigningPreparation-BgCxoh9S.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-Bu6YUWmf.js";function c(t){switch(t.kind){case`ecdsa`:{let e=o(t.laneIdentity);if(String(e.signer.walletId)!==String(t.walletSession.walletId))throw Error(`[WalletIframe] key export lane wallet does not match wallet session`);if(!a(e.signer.chainTarget,t.chainTarget))throw Error(`[WalletIframe] key export lane chain target does not match request target`);return{kind:`ecdsa`,chainTarget:t.chainTarget,walletSession:t.walletSession,laneIdentity:e,options:t.options}}case`ed25519`:{let n=s(t.laneIdentity),r=e(t.materialActivation);if(!r.ok)throw Error(r.error.message);let i=n.signer;if(String(i.account.wallet.walletId)!==String(t.walletSession.walletId))throw Error(`[WalletIframe] Ed25519 export lane wallet does not match wallet session`);if(String(i.account.nearAccountId)!==String(t.nearAccount.accountId))throw Error(`[WalletIframe] Ed25519 export lane does not match the NEAR account`);return{kind:`ed25519`,nearAccount:t.nearAccount,walletSession:t.walletSession,laneIdentity:n,materialActivation:r.value,options:t.options}}}}function l(e){return{PM_RESOLVE_EXACT_KEY_EXPORT_LANE:async t=>{let r=await e.getWalletRuntime().keys.resolveExactKeyExportLane(t.payload);n(e,t.requestId,r)},PM_EXPORT_KEYPAIR_UI:async t=>{let n=e.getWalletRuntime(),a=t.payload;if(!e.respondIfCancelled(t.requestId)){try{let r=c(a);await n.keys.exportKeypairWithUI(r.kind===`ecdsa`?{kind:`ecdsa`,chainTarget:r.chainTarget,walletSession:r.walletSession,laneIdentity:r.laneIdentity,options:{...r.options,onEvent:n=>e.postProgress(t.requestId,n)}}:{kind:`ed25519`,nearAccount:r.nearAccount,walletSession:r.walletSession,laneIdentity:r.laneIdentity,materialActivation:r.materialActivation,options:{...r.options,onEvent:n=>e.postProgress(t.requestId,n)}})}catch(n){if(i(n)){if(e.respondIfCancelled(t.requestId))return;r(e,t.requestId);return}throw n}e.respondIfCancelled(t.requestId)||r(e,t.requestId)}}}}async function u(e){await t(e,l)}export{u as handleWalletHostRuntimeRequest};
1
+ import{h as e}from"./domainIds-C3fUa33Q.js";import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as t,n,t as r}from"./shared-B95wnpoD.js";import"./capabilityKinds-CqHVzVsJ.js";import{r as i}from"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import{s as a}from"./ecdsaChainTarget-svSlzhze.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import{N as o,P as s}from"./nearEd25519YaoSigningPreparation-BgCxoh9S.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-BA3KQyEE.js";function c(t){switch(t.kind){case`ecdsa`:{let e=o(t.laneIdentity);if(String(e.signer.walletId)!==String(t.walletSession.walletId))throw Error(`[WalletIframe] key export lane wallet does not match wallet session`);if(!a(e.signer.chainTarget,t.chainTarget))throw Error(`[WalletIframe] key export lane chain target does not match request target`);return{kind:`ecdsa`,chainTarget:t.chainTarget,walletSession:t.walletSession,laneIdentity:e,options:t.options}}case`ed25519`:{let n=s(t.laneIdentity),r=e(t.materialActivation);if(!r.ok)throw Error(r.error.message);let i=n.signer;if(String(i.account.wallet.walletId)!==String(t.walletSession.walletId))throw Error(`[WalletIframe] Ed25519 export lane wallet does not match wallet session`);if(String(i.account.nearAccountId)!==String(t.nearAccount.accountId))throw Error(`[WalletIframe] Ed25519 export lane does not match the NEAR account`);return{kind:`ed25519`,nearAccount:t.nearAccount,walletSession:t.walletSession,laneIdentity:n,materialActivation:r.value,options:t.options}}}}function l(e){return{PM_RESOLVE_EXACT_KEY_EXPORT_LANE:async t=>{let r=await e.getWalletRuntime().keys.resolveExactKeyExportLane(t.payload);n(e,t.requestId,r)},PM_EXPORT_KEYPAIR_UI:async t=>{let n=e.getWalletRuntime(),a=t.payload;if(!e.respondIfCancelled(t.requestId)){try{let r=c(a);await n.keys.exportKeypairWithUI(r.kind===`ecdsa`?{kind:`ecdsa`,chainTarget:r.chainTarget,walletSession:r.walletSession,laneIdentity:r.laneIdentity,options:{...r.options,onEvent:n=>e.postProgress(t.requestId,n)}}:{kind:`ed25519`,nearAccount:r.nearAccount,walletSession:r.walletSession,laneIdentity:r.laneIdentity,materialActivation:r.materialActivation,options:{...r.options,onEvent:n=>e.postProgress(t.requestId,n)}})}catch(n){if(i(n)){if(e.respondIfCancelled(t.requestId))return;r(e,t.requestId);return}throw n}e.respondIfCancelled(t.requestId)||r(e,t.requestId)}}}}async function u(e){await t(e,l)}export{u as handleWalletHostRuntimeRequest};
@@ -1 +1 @@
1
- import{_ as e,w as t}from"./chains-CPmd4s9f.js";import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as n,i as r,n as i,r as a}from"./shared-BVps1f3F.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import{c as o,n as s}from"./ecdsaChainTarget-svSlzhze.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import{l as c}from"./signNear-B_UcqMRf.js";import"./appearance-token-vars-Bu6YUWmf.js";function l(e){let t=o(e);return{walletId:t,walletSessionUserId:String(t)}}function u(n){if(n&&t(n))try{let t=e(n),r=n.nonceLease,i=n.serverDispatch;return c.fromPlain({transaction:n.transaction,signature:n.signature,borsh_bytes:t,...r?{nonceLease:r}:{},...i?{serverDispatch:i}:{}})}catch{return n}return n}function d(e){throw Error(`Unsupported registration auth method: ${String(e)}`)}function f(e){switch(e.kind){case`passkey`:return{kind:`passkey`,rpId:e.rpId,...e.authenticatorOptions===void 0?{}:{authenticatorOptions:e.authenticatorOptions}};case`email_otp`:switch(e.proofKind){case`otp_challenge`:return{kind:`email_otp`,proofKind:`otp_challenge`,email:e.email,providerSubject:e.providerSubject,otpCode:e.otpCode,...e.challengeId===void 0?{}:{challengeId:e.challengeId}};case`google_sso_registration`:return{kind:`email_otp`,proofKind:`google_sso_registration`,email:e.email,providerSubject:e.providerSubject,googleEmailOtpRegistrationAttemptId:e.googleEmailOtpRegistrationAttemptId,googleEmailOtpRegistrationOfferId:e.googleEmailOtpRegistrationOfferId,googleEmailOtpRegistrationCandidateId:e.googleEmailOtpRegistrationCandidateId};default:return d(e)}default:return d(e)}}function p(e){return{PM_REGISTER_WALLET:async t=>{let n=e.getWalletRuntime(),a=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=r(e,t.requestId,a.options||{}),s=await n.registration.registerWallet({authMethod:f(a.authMethod),wallet:a.wallet,signerSelection:a.signerSelection,options:{...o,...a.confirmationConfig?{confirmationConfig:a.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||(s.success&&await e.publishCurrentSession(),!e.respondIfCancelled(t.requestId)&&i(e,t.requestId,s))},PM_ADD_WALLET_SIGNER:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addSigner({walletId:r.walletId,rpId:r.rpId,signerSelection:r.signerSelection,options:{...o,...r.confirmationConfig?{confirmationConfig:r.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_ADD_PASSKEY:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addPasskey({walletId:r.walletId,rpId:r.rpId,options:{...o,...r.confirmationConfig?{confirmationConfig:r.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_ADD_EMAIL_OTP:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addEmail({walletId:r.walletId,emailAddress:r.emailAddress,options:o});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_REVOKE_AUTH_METHOD:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let a=await n.registration.removeAuthMethod({walletId:r.walletId,walletAuthMethodId:r.walletAuthMethodId});e.respondIfCancelled(t.requestId)||i(e,t.requestId,a)},PM_GET_NEAR_PROVISIONING_STATE:async t=>{let n=e.getWalletRuntime(),r=o(t.payload?.walletId),a=await n.registration.getNearAccountState({walletId:r});i(e,t.requestId,a)},PM_SIGN_TX_WITH_ACTIONS:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,transaction:c,options:u}=t.payload,d=await n.near.signTransaction({walletSession:l(r),nearAccount:s(o),transaction:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SIGN_AND_SEND_TX:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,transaction:c,options:u}=t.payload,d=await n.near.signAndSendTransaction({walletSession:l(r),nearAccount:s(o),receiverId:c.receiverId,actions:c.actions,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SEND_TRANSACTION:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,signedTransaction:c,options:d}=t.payload||{},f=await n.near.sendTransaction({walletSession:l(r),nearAccount:s(o),signedTransaction:u(c),options:{...a(e,t.requestId,d||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,f)},PM_SIGN_DELEGATE_ACTION:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,delegate:c,options:u}=t.payload,d=await n.near.signDelegateAction({walletSession:l(r),nearAccount:s(o),delegate:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SIGN_NEP413:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,params:c,options:u}=t.payload,d=await n.near.signMessage({walletSession:l(r),nearAccount:s(o),params:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)}}}async function m(e){await n(e,p)}export{m as handleWalletHostRuntimeRequest};
1
+ import{_ as e,w as t}from"./chains-CPmd4s9f.js";import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as n,i as r,n as i,r as a}from"./shared-B95wnpoD.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import{c as o,n as s}from"./ecdsaChainTarget-svSlzhze.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import{l as c}from"./signNear-B_UcqMRf.js";import"./appearance-token-vars-BA3KQyEE.js";function l(e){let t=o(e);return{walletId:t,walletSessionUserId:String(t)}}function u(n){if(n&&t(n))try{let t=e(n),r=n.nonceLease,i=n.serverDispatch;return c.fromPlain({transaction:n.transaction,signature:n.signature,borsh_bytes:t,...r?{nonceLease:r}:{},...i?{serverDispatch:i}:{}})}catch{return n}return n}function d(e){throw Error(`Unsupported registration auth method: ${String(e)}`)}function f(e){switch(e.kind){case`passkey`:return{kind:`passkey`,rpId:e.rpId,...e.authenticatorOptions===void 0?{}:{authenticatorOptions:e.authenticatorOptions}};case`email_otp`:switch(e.proofKind){case`otp_challenge`:return{kind:`email_otp`,proofKind:`otp_challenge`,email:e.email,providerSubject:e.providerSubject,otpCode:e.otpCode,...e.challengeId===void 0?{}:{challengeId:e.challengeId}};case`google_sso_registration`:return{kind:`email_otp`,proofKind:`google_sso_registration`,email:e.email,providerSubject:e.providerSubject,googleEmailOtpRegistrationAttemptId:e.googleEmailOtpRegistrationAttemptId,googleEmailOtpRegistrationOfferId:e.googleEmailOtpRegistrationOfferId,googleEmailOtpRegistrationCandidateId:e.googleEmailOtpRegistrationCandidateId};default:return d(e)}default:return d(e)}}function p(e){return{PM_REGISTER_WALLET:async t=>{let n=e.getWalletRuntime(),a=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=r(e,t.requestId,a.options||{}),s=await n.registration.registerWallet({authMethod:f(a.authMethod),wallet:a.wallet,signerSelection:a.signerSelection,options:{...o,...a.confirmationConfig?{confirmationConfig:a.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||(s.success&&await e.publishCurrentSession(),!e.respondIfCancelled(t.requestId)&&i(e,t.requestId,s))},PM_ADD_WALLET_SIGNER:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addSigner({walletId:r.walletId,rpId:r.rpId,signerSelection:r.signerSelection,options:{...o,...r.confirmationConfig?{confirmationConfig:r.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_ADD_PASSKEY:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addPasskey({walletId:r.walletId,rpId:r.rpId,options:{...o,...r.confirmationConfig?{confirmationConfig:r.confirmationConfig}:{}}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_ADD_EMAIL_OTP:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let o=a(e,t.requestId,r.options||{}),s=await n.registration.addEmail({walletId:r.walletId,emailAddress:r.emailAddress,options:o});e.respondIfCancelled(t.requestId)||i(e,t.requestId,s)},PM_REVOKE_AUTH_METHOD:async t=>{let n=e.getWalletRuntime(),r=t.payload;if(e.respondIfCancelled(t.requestId))return;let a=await n.registration.removeAuthMethod({walletId:r.walletId,walletAuthMethodId:r.walletAuthMethodId});e.respondIfCancelled(t.requestId)||i(e,t.requestId,a)},PM_GET_NEAR_PROVISIONING_STATE:async t=>{let n=e.getWalletRuntime(),r=o(t.payload?.walletId),a=await n.registration.getNearAccountState({walletId:r});i(e,t.requestId,a)},PM_SIGN_TX_WITH_ACTIONS:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,transaction:c,options:u}=t.payload,d=await n.near.signTransaction({walletSession:l(r),nearAccount:s(o),transaction:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SIGN_AND_SEND_TX:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,transaction:c,options:u}=t.payload,d=await n.near.signAndSendTransaction({walletSession:l(r),nearAccount:s(o),receiverId:c.receiverId,actions:c.actions,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SEND_TRANSACTION:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,signedTransaction:c,options:d}=t.payload||{},f=await n.near.sendTransaction({walletSession:l(r),nearAccount:s(o),signedTransaction:u(c),options:{...a(e,t.requestId,d||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,f)},PM_SIGN_DELEGATE_ACTION:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,delegate:c,options:u}=t.payload,d=await n.near.signDelegateAction({walletSession:l(r),nearAccount:s(o),delegate:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)},PM_SIGN_NEP413:async t=>{let n=e.getWalletRuntime(),{walletId:r,nearAccountId:o,params:c,options:u}=t.payload,d=await n.near.signMessage({walletSession:l(r),nearAccount:s(o),params:c,options:{...a(e,t.requestId,u||{})}});e.respondIfCancelled(t.requestId)||i(e,t.requestId,d)}}}async function m(e){await n(e,p)}export{m as handleWalletHostRuntimeRequest};
@@ -1 +1 @@
1
- import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as e,n as t}from"./shared-BVps1f3F.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import{c as n}from"./ecdsaChainTarget-svSlzhze.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-Bu6YUWmf.js";function r(e){return{PM_SET_CONFIRM_BEHAVIOR:async r=>{let i=e.getWalletRuntime(),{behavior:a,walletId:o}=r.payload;o&&i.preferences.setCurrentWallet(n(o)),await i.preferences.setConfirmationBehavior(a),t(e,r.requestId,e.readPreferences())},PM_SET_CONFIRMATION_CONFIG:async r=>{let i=e.getWalletRuntime(),{walletId:a}=r.payload||{};a&&i.preferences.setCurrentWallet(n(a)),await i.preferences.setConfirmationConfig(r.payload?.config||{}),t(e,r.requestId,e.readPreferences())},PM_GET_CONFIRMATION_CONFIG:async n=>{let r=e.readPreferences();t(e,n.requestId,r)}}}async function i(t){await e(t,r)}export{i as handleWalletHostRuntimeRequest};
1
+ import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as e,n as t}from"./shared-B95wnpoD.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import{c as n}from"./ecdsaChainTarget-svSlzhze.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-BA3KQyEE.js";function r(e){return{PM_SET_CONFIRM_BEHAVIOR:async r=>{let i=e.getWalletRuntime(),{behavior:a,walletId:o}=r.payload;o&&i.preferences.setCurrentWallet(n(o)),await i.preferences.setConfirmationBehavior(a),t(e,r.requestId,e.readPreferences())},PM_SET_CONFIRMATION_CONFIG:async r=>{let i=e.getWalletRuntime(),{walletId:a}=r.payload||{};a&&i.preferences.setCurrentWallet(n(a)),await i.preferences.setConfirmationConfig(r.payload?.config||{}),t(e,r.requestId,e.readPreferences())},PM_GET_CONFIRMATION_CONFIG:async n=>{let r=e.readPreferences();t(e,n.requestId,r)}}}async function i(t){await e(t,r)}export{i as handleWalletHostRuntimeRequest};
@@ -1 +1 @@
1
- import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as e,n as t,r as n}from"./shared-BVps1f3F.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-Bu6YUWmf.js";function r(e){return{PM_SYNC_ACCOUNT_FLOW:async r=>{let i=e.getWalletRuntime(),{walletId:a}=r.payload||{};if(e.respondIfCancelled(r.requestId))return;let o=await i.recovery.syncAccount({...a?{walletId:a}:{},options:{...n(e,r.requestId,{})}});e.respondIfCancelled(r.requestId)||t(e,r.requestId,o)}}}async function i(t){await e(t,r)}export{i as handleWalletHostRuntimeRequest};
1
+ import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import"./signingSessionSeal-DqbjG8c8.js";import{a as e,n as t,r as n}from"./shared-B95wnpoD.js";import"./capabilityKinds-CqHVzVsJ.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import"./nearEd25519YaoMaterialActivation-BK8_DxHs.js";import"./signNear-B_UcqMRf.js";import"./appearance-token-vars-BA3KQyEE.js";function r(e){return{PM_SYNC_ACCOUNT_FLOW:async r=>{let i=e.getWalletRuntime(),{walletId:a}=r.payload||{};if(e.respondIfCancelled(r.requestId))return;let o=await i.recovery.syncAccount({...a?{walletId:a}:{},options:{...n(e,r.requestId,{})}});e.respondIfCancelled(r.requestId)||t(e,r.requestId,o)}}}async function i(t){await e(t,r)}export{i as handleWalletHostRuntimeRequest};
@@ -1 +1 @@
1
- import{j as e}from"./chains-CPmd4s9f.js";import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import{t}from"./configHelpers-D50F_Txb.js";import"./signingSessionSeal-DqbjG8c8.js";import"./capabilityKinds-CqHVzVsJ.js";import{t as n}from"./walletIframeIdentity-DJ0KOBHg.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import{r,t as i}from"./pendingWalletRecoveryCodeBackup-DWeemdJv.js";import{a,n as o}from"./walletRecoveryAdminProof-CIoLawfC.js";import{t as s}from"./recoveryAuthorization-BplZWc-N.js";function c(t){return e(t.state.configuration.kind===`configured`?t.state.configuration.config.network.relayer.url:void 0,`Recovery-code relayer URL`)}function l(t){return e(t.state.configuration.kind===`configured`?t.state.configuration.config.wallet.rpId:void 0,`Recovery-code RP ID`)}function u(e,t){e.post({type:`SURFACE_MEASUREMENT`,payload:t})}async function d(e,t,n){let[r,o]=await Promise.all([a({relayUrl:e,walletId:t,rpId:n}),i.has(t)]);return r.kind===`ready`?{...r,pendingLocalBackup:o}:r}async function f(e){let t=await i.read(e);if(!t)return null;if(t.kind!==`ready`)throw Error(`Recovery codes are awaiting a verified server issuance. Retry registration.`);return{kind:`wallet_recovery_code_backup_request_v1`,walletId:t.walletId,recoveryCodes:t.recoveryCodes,continuation:`pending_backup_must_finish`,issuedAtMs:t.issuedAtMs}}async function p(e){if(e.req.type!==`PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP`)throw Error(`Unsupported recovery-code request type: ${e.req.type}`);let a=n(e.req.requestId);if(e.respondIfCancelled(a))return;let{walletId:p,authorization:m}=s(e.req.payload);if(m.kind!==`passkey`)throw Error(`Email OTP recovery backup requires the wallet authentication runtime`);let h=c(e),g=l(e),_=await r({walletId:p,loadStatus:d.bind(null,h,p,g),loadPendingBackup:f.bind(null,p)},{kind:`wallet_iframe`,requestId:a,postMeasurement:u.bind(null,e)},{appearance:{locale:e.state.configuration.kind===`configured`?e.state.configuration.config.ui.appearance.locale:`en`,palette:`default`,theme:t({value:e.state.configuration.kind===`configured`?e.state.configuration.config.ui.appearance.theme:void 0,fallback:{id:`default`,mode:`dark`,colors:{}}})},shouldCancel:()=>e.isCancelled(a)});if(_.kind!==`wallet_recovery_codes_backed_up_v1`)throw Error(`Pending wallet recovery-code backup was not completed`);let v=await o({relayUrl:h,walletId:p,rpId:g,expectedIssuedAtMs:_.issuedAtMs});v.kind===`acknowledged`&&await i.deleteIssuedAtMs(p,_.issuedAtMs),e.post({type:`PM_RESULT`,requestId:a,payload:{ok:!0,result:v}})}export{p as handleWalletHostRuntimeRequest};
1
+ import{j as e}from"./chains-CPmd4s9f.js";import"./activeWalletSession-BtEHhe99.js";import"./walletDbName-BVZhb4xF.js";import{t}from"./configHelpers-D50F_Txb.js";import"./signingSessionSeal-DqbjG8c8.js";import"./capabilityKinds-CqHVzVsJ.js";import{t as n}from"./walletIframeIdentity-DJ0KOBHg.js";import"./errors-CI1xdN0d.js";import"./accountIds-BzZs7YoX.js";import"./registrationSignerPlan-B66FjqIp.js";import"./signerDomain-YEHkugWX.js";import"./registrationIntent-DW_kKWlx.js";import"./presignatures-DGLNs29C.js";import"./walletCapabilityBindings-CKOK39sP.js";import"./emailOtpEcdsaDerivationIdentity-DreNrM6n.js";import"./signerSlot-CpyIfl3J.js";import"./wallet-recovery-BEui57xM.js";import"./keccak-CaPOCznk.js";import{r,t as i}from"./pendingWalletRecoveryCodeBackup-LbstFwcY.js";import{a,n as o}from"./walletRecoveryAdminProof-CtH8_lph.js";import{t as s}from"./recoveryAuthorization-BplZWc-N.js";function c(t){return e(t.state.configuration.kind===`configured`?t.state.configuration.config.network.relayer.url:void 0,`Recovery-code relayer URL`)}function l(t){return e(t.state.configuration.kind===`configured`?t.state.configuration.config.wallet.rpId:void 0,`Recovery-code RP ID`)}function u(e,t){e.post({type:`SURFACE_MEASUREMENT`,payload:t})}async function d(e,t,n){let[r,o]=await Promise.all([a({relayUrl:e,walletId:t,rpId:n}),i.has(t)]);return r.kind===`ready`?{...r,pendingLocalBackup:o}:r}async function f(e){let t=await i.read(e);if(!t)return null;if(t.kind!==`ready`)throw Error(`Recovery codes are awaiting a verified server issuance. Retry registration.`);return{kind:`wallet_recovery_code_backup_request_v1`,walletId:t.walletId,recoveryCodes:t.recoveryCodes,continuation:`pending_backup_must_finish`,issuedAtMs:t.issuedAtMs}}async function p(e){if(e.req.type!==`PM_ACKNOWLEDGE_WALLET_RECOVERY_CODE_BACKUP`)throw Error(`Unsupported recovery-code request type: ${e.req.type}`);let a=n(e.req.requestId);if(e.respondIfCancelled(a))return;let{walletId:p,authorization:m}=s(e.req.payload);if(m.kind!==`passkey`)throw Error(`Email OTP recovery backup requires the wallet authentication runtime`);let h=c(e),g=l(e),_=await r({walletId:p,loadStatus:d.bind(null,h,p,g),loadPendingBackup:f.bind(null,p)},{kind:`wallet_iframe`,requestId:a,postMeasurement:u.bind(null,e)},{appearance:{locale:e.state.configuration.kind===`configured`?e.state.configuration.config.ui.appearance.locale:`en`,palette:`default`,theme:t({value:e.state.configuration.kind===`configured`?e.state.configuration.config.ui.appearance.theme:void 0,fallback:{id:`default`,mode:`dark`,colors:{}}})},shouldCancel:()=>e.isCancelled(a)});if(_.kind!==`wallet_recovery_codes_backed_up_v1`)throw Error(`Pending wallet recovery-code backup was not completed`);let v=await o({relayUrl:h,walletId:p,rpId:g,expectedIssuedAtMs:_.issuedAtMs});v.kind===`acknowledged`&&await i.deleteIssuedAtMs(p,_.issuedAtMs),e.post({type:`PM_RESULT`,requestId:a,payload:{ok:!0,result:v}})}export{p as handleWalletHostRuntimeRequest};