@@ -167,6 +167,7 @@ describe('KeyringRequestHandler', () => {
167167 request : {
168168 method : AccountCapability . GetUtxo ,
169169 params : {
170+ account : { address : account . address } ,
170171 outpoint : utxos [ 0 ] ?. outpoint ,
171172 } ,
172173 } ,
@@ -221,6 +222,7 @@ describe('KeyringRequestHandler', () => {
221222 request : {
222223 method : AccountCapability . SignPsbt ,
223224 params : {
225+ account : { address : account . address } ,
224226 psbt : TEMPLATE_PSBT ,
225227 feeRate : 3 ,
226228 options : {
@@ -253,6 +255,7 @@ describe('KeyringRequestHandler', () => {
253255 request : {
254256 method : AccountCapability . SignPsbt ,
255257 params : {
258+ account : { address : account . address } ,
256259 psbt : TEMPLATE_PSBT ,
257260 feeRate : 3 ,
258261 options : {
@@ -285,6 +288,7 @@ describe('KeyringRequestHandler', () => {
285288 request : {
286289 method : AccountCapability . SignPsbt ,
287290 params : {
291+ account : { address : account . address } ,
288292 psbt : TEMPLATE_PSBT ,
289293 feeRate : 3 ,
290294 options : {
@@ -317,6 +321,7 @@ describe('KeyringRequestHandler', () => {
317321 request : {
318322 method : AccountCapability . SignPsbt ,
319323 params : {
324+ account : { address : account . address } ,
320325 psbt : 'notAPsbt' ,
321326 options : {
322327 fill : true ,
@@ -350,6 +355,7 @@ describe('KeyringRequestHandler', () => {
350355 request : {
351356 method : AccountCapability . SignPsbt ,
352357 params : {
358+ account : { address : account . address } ,
353359 psbt : TEMPLATE_PSBT ,
354360 } ,
355361 } ,
@@ -363,6 +369,37 @@ describe('KeyringRequestHandler', () => {
363369 stack : expect . anything ( ) ,
364370 } ) ;
365371 } ) ;
372+
373+ it ( 'fails if missing account' , async ( ) => {
374+ const response = await snap . onKeyringRequest ( {
375+ origin : ORIGIN ,
376+ method : submitRequestMethod ,
377+ params : {
378+ id : account . id ,
379+ origin,
380+ scope : BtcScope . Regtest ,
381+ account : account . id ,
382+ request : {
383+ method : AccountCapability . SignPsbt ,
384+ params : {
385+ psbt : TEMPLATE_PSBT ,
386+ feeRate : 3 ,
387+ options : {
388+ fill : true ,
389+ broadcast : true ,
390+ } ,
391+ } ,
392+ } ,
393+ } as KeyringRequest ,
394+ } ) ;
395+
396+ expect ( response ) . toRespondWithError ( {
397+ code : - 32000 ,
398+ message :
399+ 'Invalid format: At path: account -- Expected an object, but received: undefined' ,
400+ stack : expect . anything ( ) ,
401+ } ) ;
402+ } ) ;
366403 } ) ;
367404
368405 describe ( 'fillPsbt' , ( ) => {
@@ -382,6 +419,7 @@ describe('KeyringRequestHandler', () => {
382419 request : {
383420 method : AccountCapability . FillPsbt ,
384421 params : {
422+ account : { address : account . address } ,
385423 psbt : TEMPLATE_PSBT ,
386424 feeRate : 3 ,
387425 } ,
@@ -409,6 +447,7 @@ describe('KeyringRequestHandler', () => {
409447 request : {
410448 method : AccountCapability . FillPsbt ,
411449 params : {
450+ account : { address : account . address } ,
412451 psbt : 'notAPsbt' ,
413452 } ,
414453 } ,
@@ -444,6 +483,7 @@ describe('KeyringRequestHandler', () => {
444483 request : {
445484 method : AccountCapability . ComputeFee ,
446485 params : {
486+ account : { address : account . address } ,
447487 psbt : TEMPLATE_PSBT ,
448488 feeRate : 3 ,
449489 } ,
@@ -471,6 +511,7 @@ describe('KeyringRequestHandler', () => {
471511 request : {
472512 method : AccountCapability . ComputeFee ,
473513 params : {
514+ account : { address : account . address } ,
474515 psbt : 'notAPsbt' ,
475516 } ,
476517 } ,
@@ -507,6 +548,7 @@ describe('KeyringRequestHandler', () => {
507548 request : {
508549 method : AccountCapability . SignPsbt ,
509550 params : {
551+ account : { address : account . address } ,
510552 psbt : TEMPLATE_PSBT ,
511553 feeRate : 3 ,
512554 options : {
@@ -533,6 +575,7 @@ describe('KeyringRequestHandler', () => {
533575 request : {
534576 method : AccountCapability . BroadcastPsbt ,
535577 params : {
578+ account : { address : account . address } ,
536579 psbt : result . psbt ,
537580 } ,
538581 } ,
@@ -559,6 +602,7 @@ describe('KeyringRequestHandler', () => {
559602 request : {
560603 method : AccountCapability . BroadcastPsbt ,
561604 params : {
605+ account : { address : account . address } ,
562606 psbt : 'notAPsbt' ,
563607 } ,
564608 } ,
@@ -590,6 +634,7 @@ describe('KeyringRequestHandler', () => {
590634 request : {
591635 method : AccountCapability . SendTransfer ,
592636 params : {
637+ account : { address : account . address } ,
593638 recipients : [
594639 {
595640 address : 'bcrt1qstku2y3pfh9av50lxj55arm8r5gj8tf2yv5nxz' ,
@@ -626,6 +671,7 @@ describe('KeyringRequestHandler', () => {
626671 request : {
627672 method : AccountCapability . SendTransfer ,
628673 params : {
674+ account : { address : account . address } ,
629675 recipients : [ { address : 'notAnAddress' , amount : '1000' } ] ,
630676 } ,
631677 } ,
@@ -654,6 +700,7 @@ describe('KeyringRequestHandler', () => {
654700 request : {
655701 method : AccountCapability . SignMessage ,
656702 params : {
703+ account : { address : account . address } ,
657704 message : 'Hello, world!' ,
658705 } ,
659706 } ,
0 commit comments