@coinbase/cdp-core 0.0.124 → 0.0.125
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.
- package/README.md +37 -27
- package/dist/esm/index.web.js +233 -232
- package/dist/esm/index.web10.js +8 -7
- package/dist/esm/index.web101.js +22 -17
- package/dist/esm/index.web102.js +14 -10
- package/dist/esm/index.web105.js +14 -11
- package/dist/esm/index.web106.js +13 -10
- package/dist/esm/index.web107.js +1 -1
- package/dist/esm/index.web11.js +1 -1
- package/dist/esm/index.web111.js +1 -1
- package/dist/esm/index.web113.js +22 -20
- package/dist/esm/index.web114.js +19 -24
- package/dist/esm/index.web115.js +25 -15
- package/dist/esm/index.web116.js +13 -23
- package/dist/esm/index.web117.js +23 -20
- package/dist/esm/index.web12.js +1 -1
- package/dist/esm/index.web120.js +49 -41
- package/dist/esm/index.web121.js +83 -47
- package/dist/esm/index.web122.js +46 -80
- package/dist/esm/index.web123.js +37 -26
- package/dist/esm/index.web124.js +68 -155
- package/dist/esm/index.web125.js +10 -47
- package/dist/esm/index.web126.js +8 -29
- package/dist/esm/index.web127.js +117 -69
- package/dist/esm/index.web128.js +136 -10
- package/dist/esm/index.web129.js +69 -6
- package/dist/esm/index.web13.js +8 -8
- package/dist/esm/index.web130.js +27 -118
- package/dist/esm/index.web131.js +32 -136
- package/dist/esm/index.web132.js +24 -69
- package/dist/esm/index.web133.js +65 -27
- package/dist/esm/index.web134.js +23 -32
- package/dist/esm/index.web135.js +50 -23
- package/dist/esm/index.web136.js +18 -62
- package/dist/esm/index.web137.js +29 -24
- package/dist/esm/index.web138.js +29 -51
- package/dist/esm/index.web139.js +943 -19
- package/dist/esm/index.web140.js +2 -153
- package/dist/esm/index.web141.js +49 -376
- package/dist/esm/index.web142.js +26 -28
- package/dist/esm/index.web143.js +5 -29
- package/dist/esm/index.web144.js +50 -2
- package/dist/esm/index.web145.js +17 -65
- package/dist/esm/index.web146.js +30 -363
- package/dist/esm/index.web147.js +7 -16
- package/dist/esm/index.web148.js +3 -22
- package/dist/esm/index.web149.js +30 -49
- package/dist/esm/index.web15.js +1 -1
- package/dist/esm/index.web150.js +8 -944
- package/dist/esm/index.web151.js +8 -2
- package/dist/esm/index.web152.js +82 -49
- package/dist/esm/index.web153.js +31 -26
- package/dist/esm/index.web154.js +3 -4
- package/dist/esm/index.web155.js +18 -12
- package/dist/esm/index.web156.js +4 -11
- package/dist/esm/index.web157.js +17 -54
- package/dist/esm/index.web158.js +19 -10
- package/dist/esm/index.web159.js +65 -2
- package/dist/esm/index.web16.js +1 -1
- package/dist/esm/index.web160.js +19 -45
- package/dist/esm/index.web161.js +23 -13
- package/dist/esm/index.web162.js +9 -5
- package/dist/esm/index.web163.js +41 -43
- package/dist/esm/index.web164.js +7 -14
- package/dist/esm/index.web165.js +13 -21
- package/dist/esm/index.web166.js +2 -8
- package/dist/esm/index.web167.js +2 -4
- package/dist/esm/index.web168.js +38 -28
- package/dist/esm/index.web169.js +2 -9
- package/dist/esm/index.web17.js +1 -1
- package/dist/esm/index.web170.js +69 -7
- package/dist/esm/index.web171.js +32 -78
- package/dist/esm/index.web172.js +13 -27
- package/dist/esm/index.web173.js +7 -3
- package/dist/esm/index.web174.js +2 -16
- package/dist/esm/index.web175.js +360 -4
- package/dist/esm/index.web176.js +852 -14
- package/dist/esm/index.web177.js +3 -19
- package/dist/esm/index.web178.js +2 -62
- package/dist/esm/index.web179.js +2 -18
- package/dist/esm/index.web18.js +1 -1
- package/dist/esm/index.web180.js +2 -24
- package/dist/esm/index.web19.js +1 -1
- package/dist/esm/index.web2.js +2 -2
- package/dist/esm/index.web20.js +5 -5
- package/dist/esm/index.web21.js +1 -1
- package/dist/esm/index.web22.js +1 -1
- package/dist/esm/index.web29.js +5 -2
- package/dist/esm/index.web3.js +1 -1
- package/dist/esm/index.web30.js +10 -8
- package/dist/esm/index.web31.js +16 -13
- package/dist/esm/index.web32.js +10 -7
- package/dist/esm/index.web33.js +14 -11
- package/dist/esm/index.web34.js +14 -11
- package/dist/esm/index.web35.js +16 -14
- package/dist/esm/index.web36.js +6 -3
- package/dist/esm/index.web37.js +13 -10
- package/dist/esm/index.web39.js +5 -2
- package/dist/esm/index.web4.js +49 -48
- package/dist/esm/index.web40.js +18 -15
- package/dist/esm/index.web41.js +22 -17
- package/dist/esm/index.web43.js +13 -10
- package/dist/esm/index.web44.js +9 -6
- package/dist/esm/index.web46.js +114 -41
- package/dist/esm/index.web47.js +1 -1
- package/dist/esm/index.web50.js +13 -10
- package/dist/esm/index.web51.js +1 -1
- package/dist/esm/index.web53.js +2 -2
- package/dist/esm/index.web54.js +2 -2
- package/dist/esm/index.web55.js +2 -2
- package/dist/esm/index.web56.js +1 -1
- package/dist/esm/index.web61.js +1 -1
- package/dist/esm/index.web62.js +1 -1
- package/dist/esm/index.web63.js +1 -1
- package/dist/esm/index.web64.js +2 -2
- package/dist/esm/index.web65.js +2 -2
- package/dist/esm/index.web66.js +12 -9
- package/dist/esm/index.web67.js +10 -7
- package/dist/esm/index.web68.js +11 -8
- package/dist/esm/index.web69.js +12 -9
- package/dist/esm/index.web71.js +2 -2
- package/dist/esm/index.web72.js +39 -37
- package/dist/esm/index.web75.js +10 -7
- package/dist/esm/index.web76.js +5 -2
- package/dist/esm/index.web77.js +10 -7
- package/dist/esm/index.web79.js +5 -4
- package/dist/esm/index.web82.js +1 -1
- package/dist/esm/index.web83.js +33 -20
- package/dist/esm/index.web84.js +34 -21
- package/dist/esm/index.web85.js +15 -13
- package/dist/esm/index.web86.js +30 -24
- package/dist/esm/index.web88.js +71 -50
- package/dist/esm/index.web89.js +59 -44
- package/dist/esm/index.web9.js +1 -1
- package/dist/esm/index.web93.js +40 -32
- package/dist/esm/index.web94.js +66 -31
- package/dist/esm/index.web96.js +2 -2
- package/dist/esm/index.web98.js +24 -21
- package/dist/native/index.native.js +212 -211
- package/dist/native/index.native100.js +14 -10
- package/dist/native/index.native101.js +13 -10
- package/dist/native/index.native109.js +1 -1
- package/dist/native/index.native11.js +1 -1
- package/dist/native/index.native111.js +22 -20
- package/dist/native/index.native112.js +19 -24
- package/dist/native/index.native113.js +25 -15
- package/dist/native/index.native114.js +13 -23
- package/dist/native/index.native115.js +23 -20
- package/dist/native/index.native118.js +49 -41
- package/dist/native/index.native119.js +82 -47
- package/dist/native/index.native12.js +8 -7
- package/dist/native/index.native120.js +46 -79
- package/dist/native/index.native121.js +31 -26
- package/dist/native/index.native122.js +68 -155
- package/dist/native/index.native123.js +8 -47
- package/dist/native/index.native124.js +113 -17
- package/dist/native/index.native125.js +135 -71
- package/dist/native/index.native126.js +68 -6
- package/dist/native/index.native127.js +27 -117
- package/dist/native/index.native128.js +32 -136
- package/dist/native/index.native129.js +24 -68
- package/dist/native/index.native13.js +1 -1
- package/dist/native/index.native130.js +65 -27
- package/dist/native/index.native131.js +23 -32
- package/dist/native/index.native132.js +50 -23
- package/dist/native/index.native133.js +18 -62
- package/dist/native/index.native134.js +108 -23
- package/dist/native/index.native135.js +73 -48
- package/dist/native/index.native136.js +29 -21
- package/dist/native/index.native137.js +28 -152
- package/dist/native/index.native138.js +939 -100
- package/dist/native/index.native139.js +2 -377
- package/dist/native/index.native14.js +1 -1
- package/dist/native/index.native140.js +49 -28
- package/dist/native/index.native141.js +26 -28
- package/dist/native/index.native142.js +7 -2
- package/dist/native/index.native143.js +44 -62
- package/dist/native/index.native144.js +2 -365
- package/dist/native/index.native145.js +2 -17
- package/dist/native/index.native146.js +36 -23
- package/dist/native/index.native147.js +65 -48
- package/dist/native/index.native148.js +62 -943
- package/dist/native/index.native149.js +17 -2
- package/dist/native/index.native15.js +8 -8
- package/dist/native/index.native150.js +29 -48
- package/dist/native/index.native151.js +7 -26
- package/dist/native/index.native152.js +4 -5
- package/dist/native/index.native153.js +26 -43
- package/dist/native/index.native154.js +8 -4
- package/dist/native/index.native155.js +7 -12
- package/dist/native/index.native156.js +81 -11
- package/dist/native/index.native157.js +31 -36
- package/dist/native/index.native158.js +3 -67
- package/dist/native/index.native159.js +7 -3
- package/dist/native/index.native160.js +4 -27
- package/dist/native/index.native161.js +16 -7
- package/dist/native/index.native162.js +19 -3
- package/dist/native/index.native163.js +52 -16
- package/dist/native/index.native164.js +18 -8
- package/dist/native/index.native165.js +23 -7
- package/dist/native/index.native166.js +8 -79
- package/dist/native/index.native167.js +33 -16
- package/dist/native/index.native168.js +7 -3
- package/dist/native/index.native169.js +20 -14
- package/dist/native/index.native17.js +1 -1
- package/dist/native/index.native170.js +7 -4
- package/dist/native/index.native171.js +2 -14
- package/dist/native/index.native172.js +358 -17
- package/dist/native/index.native173.js +852 -60
- package/dist/native/index.native174.js +38 -17
- package/dist/native/index.native175.js +2 -24
- package/dist/native/index.native176.js +69 -8
- package/dist/native/index.native177.js +34 -41
- package/dist/native/index.native178.js +14 -7
- package/dist/native/index.native179.js +2 -21
- package/dist/native/index.native18.js +1 -1
- package/dist/native/index.native180.js +2 -55
- package/dist/native/index.native181.js +2 -11
- package/dist/native/index.native182.js +11 -2
- package/dist/native/index.native183.js +4 -45
- package/dist/native/index.native19.js +1 -1
- package/dist/native/index.native2.js +2 -2
- package/dist/native/index.native20.js +1 -1
- package/dist/native/index.native21.js +1 -1
- package/dist/native/index.native22.js +5 -5
- package/dist/native/index.native23.js +1 -1
- package/dist/native/index.native24.js +1 -1
- package/dist/native/index.native3.js +1 -1
- package/dist/native/index.native31.js +5 -2
- package/dist/native/index.native32.js +9 -7
- package/dist/native/index.native33.js +10 -7
- package/dist/native/index.native34.js +10 -7
- package/dist/native/index.native35.js +11 -8
- package/dist/native/index.native36.js +12 -9
- package/dist/native/index.native37.js +13 -11
- package/dist/native/index.native38.js +5 -2
- package/dist/native/index.native39.js +14 -11
- package/dist/native/index.native41.js +5 -2
- package/dist/native/index.native42.js +12 -9
- package/dist/native/index.native43.js +21 -16
- package/dist/native/index.native45.js +14 -11
- package/dist/native/index.native46.js +13 -10
- package/dist/native/index.native48.js +114 -41
- package/dist/native/index.native49.js +1 -1
- package/dist/native/index.native52.js +12 -9
- package/dist/native/index.native53.js +1 -1
- package/dist/native/index.native55.js +2 -2
- package/dist/native/index.native56.js +2 -2
- package/dist/native/index.native57.js +2 -2
- package/dist/native/index.native58.js +1 -1
- package/dist/native/index.native63.js +1 -1
- package/dist/native/index.native64.js +1 -1
- package/dist/native/index.native65.js +1 -1
- package/dist/native/index.native66.js +2 -2
- package/dist/native/index.native67.js +2 -2
- package/dist/native/index.native68.js +12 -9
- package/dist/native/index.native69.js +11 -8
- package/dist/native/index.native70.js +11 -8
- package/dist/native/index.native71.js +13 -10
- package/dist/native/index.native73.js +2 -2
- package/dist/native/index.native74.js +39 -37
- package/dist/native/index.native77.js +9 -6
- package/dist/native/index.native78.js +5 -2
- package/dist/native/index.native79.js +8 -5
- package/dist/native/index.native81.js +5 -4
- package/dist/native/index.native84.js +1 -1
- package/dist/native/index.native85.js +33 -21
- package/dist/native/index.native86.js +33 -21
- package/dist/native/index.native87.js +15 -13
- package/dist/native/index.native88.js +30 -24
- package/dist/native/index.native90.js +46 -45
- package/dist/native/index.native92.js +40 -32
- package/dist/native/index.native93.js +66 -31
- package/dist/native/index.native94.js +2 -2
- package/dist/native/index.native96.js +24 -21
- package/dist/native/index.native99.js +19 -14
- package/dist/native-types/actions/fetchWithX402.d.ts +80 -13
- package/dist/native-types/actions/initiateMfaVerification.d.ts +10 -3
- package/dist/native-types/actions/submitMfaVerification.d.ts +6 -0
- package/dist/native-types/actions/verifyPasskey.d.ts +7 -1
- package/dist/native-types/auth/oAuthManager.d.ts +1 -1
- package/dist/native-types/errors.d.ts +3 -1
- package/dist/native-types/index.d.ts +2 -1
- package/dist/native-types/index.native.d.ts +1 -1
- package/dist/native-types/index.web.d.ts +1 -1
- package/dist/native-types/mfa/index.d.ts +1 -1
- package/dist/native-types/mfa/protectedActions.d.ts +34 -0
- package/dist/native-types/mfa/state.d.ts +21 -1
- package/dist/native-types/mfa/withMfa.d.ts +22 -3
- package/dist/native-types/version.d.ts +1 -1
- package/dist/types/actions/fetchWithX402.d.ts +80 -13
- package/dist/types/actions/initiateMfaVerification.d.ts +10 -3
- package/dist/types/actions/submitMfaVerification.d.ts +6 -0
- package/dist/types/actions/verifyPasskey.d.ts +7 -1
- package/dist/types/auth/oAuthManager.d.ts +1 -1
- package/dist/types/errors.d.ts +3 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.native.d.ts +1 -1
- package/dist/types/index.web.d.ts +1 -1
- package/dist/types/mfa/index.d.ts +1 -1
- package/dist/types/mfa/protectedActions.d.ts +34 -0
- package/dist/types/mfa/state.d.ts +21 -1
- package/dist/types/mfa/withMfa.d.ts +22 -3
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index.web.js +233 -232
- package/dist/web/index.web10.js +8 -7
- package/dist/web/index.web101.js +22 -17
- package/dist/web/index.web102.js +14 -10
- package/dist/web/index.web105.js +14 -11
- package/dist/web/index.web106.js +13 -10
- package/dist/web/index.web107.js +1 -1
- package/dist/web/index.web11.js +1 -1
- package/dist/web/index.web111.js +1 -1
- package/dist/web/index.web113.js +22 -20
- package/dist/web/index.web114.js +19 -24
- package/dist/web/index.web115.js +25 -15
- package/dist/web/index.web116.js +13 -23
- package/dist/web/index.web117.js +23 -20
- package/dist/web/index.web12.js +1 -1
- package/dist/web/index.web120.js +49 -41
- package/dist/web/index.web121.js +83 -47
- package/dist/web/index.web122.js +46 -80
- package/dist/web/index.web123.js +37 -26
- package/dist/web/index.web124.js +68 -155
- package/dist/web/index.web125.js +10 -47
- package/dist/web/index.web126.js +8 -29
- package/dist/web/index.web127.js +117 -69
- package/dist/web/index.web128.js +136 -10
- package/dist/web/index.web129.js +69 -6
- package/dist/web/index.web13.js +8 -8
- package/dist/web/index.web130.js +27 -118
- package/dist/web/index.web131.js +32 -136
- package/dist/web/index.web132.js +24 -69
- package/dist/web/index.web133.js +65 -27
- package/dist/web/index.web134.js +23 -32
- package/dist/web/index.web135.js +50 -23
- package/dist/web/index.web136.js +18 -62
- package/dist/web/index.web137.js +29 -24
- package/dist/web/index.web138.js +29 -51
- package/dist/web/index.web139.js +943 -19
- package/dist/web/index.web140.js +2 -153
- package/dist/web/index.web141.js +49 -376
- package/dist/web/index.web142.js +26 -28
- package/dist/web/index.web143.js +5 -29
- package/dist/web/index.web144.js +50 -2
- package/dist/web/index.web145.js +17 -65
- package/dist/web/index.web146.js +30 -363
- package/dist/web/index.web147.js +7 -16
- package/dist/web/index.web148.js +3 -22
- package/dist/web/index.web149.js +30 -49
- package/dist/web/index.web15.js +1 -1
- package/dist/web/index.web150.js +8 -944
- package/dist/web/index.web151.js +8 -2
- package/dist/web/index.web152.js +82 -49
- package/dist/web/index.web153.js +31 -26
- package/dist/web/index.web154.js +3 -4
- package/dist/web/index.web155.js +18 -12
- package/dist/web/index.web156.js +4 -11
- package/dist/web/index.web157.js +17 -54
- package/dist/web/index.web158.js +19 -10
- package/dist/web/index.web159.js +65 -2
- package/dist/web/index.web16.js +1 -1
- package/dist/web/index.web160.js +19 -45
- package/dist/web/index.web161.js +23 -13
- package/dist/web/index.web162.js +9 -5
- package/dist/web/index.web163.js +41 -43
- package/dist/web/index.web164.js +7 -14
- package/dist/web/index.web165.js +13 -21
- package/dist/web/index.web166.js +2 -8
- package/dist/web/index.web167.js +2 -4
- package/dist/web/index.web168.js +38 -28
- package/dist/web/index.web169.js +2 -9
- package/dist/web/index.web17.js +1 -1
- package/dist/web/index.web170.js +69 -7
- package/dist/web/index.web171.js +32 -78
- package/dist/web/index.web172.js +13 -27
- package/dist/web/index.web173.js +7 -3
- package/dist/web/index.web174.js +2 -16
- package/dist/web/index.web175.js +360 -4
- package/dist/web/index.web176.js +852 -14
- package/dist/web/index.web177.js +3 -19
- package/dist/web/index.web178.js +2 -62
- package/dist/web/index.web179.js +2 -18
- package/dist/web/index.web18.js +1 -1
- package/dist/web/index.web180.js +2 -24
- package/dist/web/index.web19.js +1 -1
- package/dist/web/index.web2.js +2 -2
- package/dist/web/index.web20.js +5 -5
- package/dist/web/index.web21.js +1 -1
- package/dist/web/index.web22.js +1 -1
- package/dist/web/index.web29.js +5 -2
- package/dist/web/index.web3.js +1 -1
- package/dist/web/index.web30.js +10 -8
- package/dist/web/index.web31.js +16 -13
- package/dist/web/index.web32.js +10 -7
- package/dist/web/index.web33.js +14 -11
- package/dist/web/index.web34.js +14 -11
- package/dist/web/index.web35.js +16 -14
- package/dist/web/index.web36.js +6 -3
- package/dist/web/index.web37.js +13 -10
- package/dist/web/index.web39.js +5 -2
- package/dist/web/index.web4.js +49 -48
- package/dist/web/index.web40.js +18 -15
- package/dist/web/index.web41.js +22 -17
- package/dist/web/index.web43.js +13 -10
- package/dist/web/index.web44.js +9 -6
- package/dist/web/index.web46.js +114 -41
- package/dist/web/index.web47.js +1 -1
- package/dist/web/index.web50.js +13 -10
- package/dist/web/index.web51.js +1 -1
- package/dist/web/index.web53.js +2 -2
- package/dist/web/index.web54.js +2 -2
- package/dist/web/index.web55.js +2 -2
- package/dist/web/index.web56.js +1 -1
- package/dist/web/index.web61.js +1 -1
- package/dist/web/index.web62.js +1 -1
- package/dist/web/index.web63.js +1 -1
- package/dist/web/index.web64.js +2 -2
- package/dist/web/index.web65.js +2 -2
- package/dist/web/index.web66.js +12 -9
- package/dist/web/index.web67.js +10 -7
- package/dist/web/index.web68.js +11 -8
- package/dist/web/index.web69.js +12 -9
- package/dist/web/index.web71.js +2 -2
- package/dist/web/index.web72.js +39 -37
- package/dist/web/index.web75.js +10 -7
- package/dist/web/index.web76.js +5 -2
- package/dist/web/index.web77.js +10 -7
- package/dist/web/index.web79.js +5 -4
- package/dist/web/index.web82.js +1 -1
- package/dist/web/index.web83.js +33 -20
- package/dist/web/index.web84.js +34 -21
- package/dist/web/index.web85.js +15 -13
- package/dist/web/index.web86.js +30 -24
- package/dist/web/index.web88.js +71 -50
- package/dist/web/index.web89.js +59 -44
- package/dist/web/index.web9.js +1 -1
- package/dist/web/index.web93.js +40 -32
- package/dist/web/index.web94.js +66 -31
- package/dist/web/index.web96.js +2 -2
- package/dist/web/index.web98.js +24 -21
- package/dist/web-types/actions/fetchWithX402.d.ts +80 -13
- package/dist/web-types/actions/initiateMfaVerification.d.ts +10 -3
- package/dist/web-types/actions/submitMfaVerification.d.ts +6 -0
- package/dist/web-types/actions/verifyPasskey.d.ts +7 -1
- package/dist/web-types/auth/oAuthManager.d.ts +1 -1
- package/dist/web-types/errors.d.ts +3 -1
- package/dist/web-types/index.d.ts +2 -1
- package/dist/web-types/index.native.d.ts +1 -1
- package/dist/web-types/index.web.d.ts +1 -1
- package/dist/web-types/mfa/index.d.ts +1 -1
- package/dist/web-types/mfa/protectedActions.d.ts +34 -0
- package/dist/web-types/mfa/state.d.ts +21 -1
- package/dist/web-types/mfa/withMfa.d.ts +22 -3
- package/dist/web-types/version.d.ts +1 -1
- package/package.json +24 -12
- package/dist/esm/index.web181.js +0 -11
- package/dist/esm/index.web182.js +0 -45
- package/dist/esm/index.web183.js +0 -10
- package/dist/esm/index.web184.js +0 -23
- package/dist/esm/index.web185.js +0 -4
- package/dist/esm/index.web186.js +0 -4
- package/dist/esm/index.web187.js +0 -16
- package/dist/esm/index.web188.js +0 -58
- package/dist/esm/index.web189.js +0 -9
- package/dist/esm/index.web190.js +0 -24
- package/dist/esm/index.web191.js +0 -20
- package/dist/esm/index.web192.js +0 -48
- package/dist/esm/index.web193.js +0 -6
- package/dist/esm/index.web194.js +0 -6
- package/dist/esm/index.web195.js +0 -37
- package/dist/esm/index.web196.js +0 -15
- package/dist/esm/index.web197.js +0 -7
- package/dist/esm/index.web198.js +0 -31
- package/dist/esm/index.web199.js +0 -9
- package/dist/esm/index.web200.js +0 -35
- package/dist/esm/index.web201.js +0 -15
- package/dist/esm/index.web202.js +0 -58
- package/dist/esm/index.web203.js +0 -45
- package/dist/esm/index.web204.js +0 -130
- package/dist/esm/index.web205.js +0 -107
- package/dist/esm/index.web206.js +0 -9
- package/dist/esm/index.web207.js +0 -5
- package/dist/esm/index.web208.js +0 -81
- package/dist/esm/index.web209.js +0 -4
- package/dist/esm/index.web210.js +0 -4
- package/dist/esm/index.web211.js +0 -40
- package/dist/esm/index.web212.js +0 -9
- package/dist/esm/index.web213.js +0 -37
- package/dist/esm/index.web214.js +0 -17
- package/dist/esm/index.web215.js +0 -37
- package/dist/esm/index.web216.js +0 -21
- package/dist/esm/index.web217.js +0 -11
- package/dist/esm/index.web218.js +0 -13
- package/dist/esm/index.web219.js +0 -14
- package/dist/esm/index.web220.js +0 -16
- package/dist/esm/index.web221.js +0 -8
- package/dist/esm/index.web222.js +0 -7
- package/dist/esm/index.web223.js +0 -13
- package/dist/esm/index.web224.js +0 -4
- package/dist/esm/index.web225.js +0 -111
- package/dist/esm/index.web226.js +0 -4
- package/dist/esm/index.web227.js +0 -106
- package/dist/esm/index.web228.js +0 -81
- package/dist/esm/index.web229.js +0 -81
- package/dist/esm/index.web230.js +0 -23
- package/dist/esm/index.web231.js +0 -12
- package/dist/esm/index.web232.js +0 -22
- package/dist/esm/index.web233.js +0 -96
- package/dist/esm/index.web234.js +0 -23
- package/dist/esm/index.web235.js +0 -120
- package/dist/esm/index.web236.js +0 -41
- package/dist/esm/index.web237.js +0 -4
- package/dist/esm/index.web238.js +0 -72
- package/dist/esm/index.web239.js +0 -37
- package/dist/esm/index.web240.js +0 -17
- package/dist/esm/index.web241.js +0 -10
- package/dist/esm/index.web242.js +0 -4
- package/dist/esm/index.web243.js +0 -363
- package/dist/esm/index.web244.js +0 -855
- package/dist/esm/index.web245.js +0 -49
- package/dist/esm/index.web246.js +0 -23
- package/dist/esm/index.web247.js +0 -4
- package/dist/esm/index.web248.js +0 -22
- package/dist/esm/index.web249.js +0 -35
- package/dist/esm/index.web250.js +0 -9
- package/dist/esm/index.web251.js +0 -6
- package/dist/esm/index.web252.js +0 -20
- package/dist/esm/index.web253.js +0 -30
- package/dist/esm/index.web254.js +0 -10
- package/dist/esm/index.web255.js +0 -13
- package/dist/esm/index.web256.js +0 -15
- package/dist/esm/index.web257.js +0 -12
- package/dist/esm/index.web258.js +0 -19
- package/dist/esm/index.web259.js +0 -83
- package/dist/esm/index.web260.js +0 -4
- package/dist/esm/index.web261.js +0 -4
- package/dist/esm/index.web262.js +0 -4
- package/dist/esm/index.web263.js +0 -7
- package/dist/esm/index.web264.js +0 -17
- package/dist/esm/index.web265.js +0 -81
- package/dist/native/index.native184.js +0 -16
- package/dist/native/index.native185.js +0 -4
- package/dist/native/index.native186.js +0 -4
- package/dist/native/index.native187.js +0 -16
- package/dist/native/index.native188.js +0 -58
- package/dist/native/index.native189.js +0 -9
- package/dist/native/index.native190.js +0 -24
- package/dist/native/index.native191.js +0 -20
- package/dist/native/index.native192.js +0 -48
- package/dist/native/index.native193.js +0 -6
- package/dist/native/index.native194.js +0 -6
- package/dist/native/index.native195.js +0 -37
- package/dist/native/index.native196.js +0 -15
- package/dist/native/index.native197.js +0 -7
- package/dist/native/index.native198.js +0 -31
- package/dist/native/index.native199.js +0 -9
- package/dist/native/index.native200.js +0 -35
- package/dist/native/index.native201.js +0 -15
- package/dist/native/index.native202.js +0 -58
- package/dist/native/index.native203.js +0 -45
- package/dist/native/index.native204.js +0 -130
- package/dist/native/index.native205.js +0 -107
- package/dist/native/index.native206.js +0 -9
- package/dist/native/index.native207.js +0 -5
- package/dist/native/index.native208.js +0 -81
- package/dist/native/index.native209.js +0 -4
- package/dist/native/index.native210.js +0 -4
- package/dist/native/index.native211.js +0 -40
- package/dist/native/index.native212.js +0 -9
- package/dist/native/index.native213.js +0 -37
- package/dist/native/index.native214.js +0 -17
- package/dist/native/index.native215.js +0 -37
- package/dist/native/index.native216.js +0 -21
- package/dist/native/index.native217.js +0 -11
- package/dist/native/index.native218.js +0 -13
- package/dist/native/index.native219.js +0 -14
- package/dist/native/index.native220.js +0 -16
- package/dist/native/index.native221.js +0 -8
- package/dist/native/index.native222.js +0 -7
- package/dist/native/index.native223.js +0 -13
- package/dist/native/index.native224.js +0 -41
- package/dist/native/index.native225.js +0 -4
- package/dist/native/index.native226.js +0 -72
- package/dist/native/index.native227.js +0 -37
- package/dist/native/index.native228.js +0 -17
- package/dist/native/index.native229.js +0 -10
- package/dist/native/index.native230.js +0 -4
- package/dist/native/index.native231.js +0 -363
- package/dist/native/index.native232.js +0 -855
- package/dist/native/index.native233.js +0 -4
- package/dist/native/index.native234.js +0 -111
- package/dist/native/index.native235.js +0 -4
- package/dist/native/index.native236.js +0 -106
- package/dist/native/index.native237.js +0 -81
- package/dist/native/index.native238.js +0 -81
- package/dist/native/index.native239.js +0 -23
- package/dist/native/index.native240.js +0 -12
- package/dist/native/index.native241.js +0 -22
- package/dist/native/index.native242.js +0 -96
- package/dist/native/index.native243.js +0 -23
- package/dist/native/index.native244.js +0 -120
- package/dist/native/index.native245.js +0 -4
- package/dist/native/index.native246.js +0 -4
- package/dist/native/index.native247.js +0 -4
- package/dist/native/index.native248.js +0 -23
- package/dist/native/index.native249.js +0 -4
- package/dist/native/index.native250.js +0 -22
- package/dist/native/index.native251.js +0 -35
- package/dist/native/index.native252.js +0 -9
- package/dist/native/index.native253.js +0 -6
- package/dist/native/index.native254.js +0 -49
- package/dist/native/index.native255.js +0 -20
- package/dist/native/index.native256.js +0 -30
- package/dist/native/index.native257.js +0 -10
- package/dist/native/index.native258.js +0 -13
- package/dist/native/index.native259.js +0 -15
- package/dist/native/index.native260.js +0 -12
- package/dist/native/index.native261.js +0 -19
- package/dist/native/index.native262.js +0 -83
- package/dist/native/index.native263.js +0 -7
- package/dist/native/index.native264.js +0 -81
- package/dist/native/index.native265.js +0 -17
- package/dist/web/index.web181.js +0 -11
- package/dist/web/index.web182.js +0 -45
- package/dist/web/index.web183.js +0 -10
- package/dist/web/index.web184.js +0 -23
- package/dist/web/index.web185.js +0 -4
- package/dist/web/index.web186.js +0 -4
- package/dist/web/index.web187.js +0 -16
- package/dist/web/index.web188.js +0 -58
- package/dist/web/index.web189.js +0 -9
- package/dist/web/index.web190.js +0 -24
- package/dist/web/index.web191.js +0 -20
- package/dist/web/index.web192.js +0 -48
- package/dist/web/index.web193.js +0 -6
- package/dist/web/index.web194.js +0 -6
- package/dist/web/index.web195.js +0 -37
- package/dist/web/index.web196.js +0 -15
- package/dist/web/index.web197.js +0 -7
- package/dist/web/index.web198.js +0 -31
- package/dist/web/index.web199.js +0 -9
- package/dist/web/index.web200.js +0 -35
- package/dist/web/index.web201.js +0 -15
- package/dist/web/index.web202.js +0 -58
- package/dist/web/index.web203.js +0 -45
- package/dist/web/index.web204.js +0 -130
- package/dist/web/index.web205.js +0 -107
- package/dist/web/index.web206.js +0 -9
- package/dist/web/index.web207.js +0 -5
- package/dist/web/index.web208.js +0 -81
- package/dist/web/index.web209.js +0 -4
- package/dist/web/index.web210.js +0 -4
- package/dist/web/index.web211.js +0 -40
- package/dist/web/index.web212.js +0 -9
- package/dist/web/index.web213.js +0 -37
- package/dist/web/index.web214.js +0 -17
- package/dist/web/index.web215.js +0 -37
- package/dist/web/index.web216.js +0 -21
- package/dist/web/index.web217.js +0 -11
- package/dist/web/index.web218.js +0 -13
- package/dist/web/index.web219.js +0 -14
- package/dist/web/index.web220.js +0 -16
- package/dist/web/index.web221.js +0 -8
- package/dist/web/index.web222.js +0 -7
- package/dist/web/index.web223.js +0 -13
- package/dist/web/index.web224.js +0 -4
- package/dist/web/index.web225.js +0 -111
- package/dist/web/index.web226.js +0 -4
- package/dist/web/index.web227.js +0 -106
- package/dist/web/index.web228.js +0 -81
- package/dist/web/index.web229.js +0 -81
- package/dist/web/index.web230.js +0 -23
- package/dist/web/index.web231.js +0 -12
- package/dist/web/index.web232.js +0 -22
- package/dist/web/index.web233.js +0 -96
- package/dist/web/index.web234.js +0 -23
- package/dist/web/index.web235.js +0 -120
- package/dist/web/index.web236.js +0 -41
- package/dist/web/index.web237.js +0 -4
- package/dist/web/index.web238.js +0 -72
- package/dist/web/index.web239.js +0 -37
- package/dist/web/index.web240.js +0 -17
- package/dist/web/index.web241.js +0 -10
- package/dist/web/index.web242.js +0 -4
- package/dist/web/index.web243.js +0 -363
- package/dist/web/index.web244.js +0 -855
- package/dist/web/index.web245.js +0 -49
- package/dist/web/index.web246.js +0 -23
- package/dist/web/index.web247.js +0 -4
- package/dist/web/index.web248.js +0 -22
- package/dist/web/index.web249.js +0 -35
- package/dist/web/index.web250.js +0 -9
- package/dist/web/index.web251.js +0 -6
- package/dist/web/index.web252.js +0 -20
- package/dist/web/index.web253.js +0 -30
- package/dist/web/index.web254.js +0 -10
- package/dist/web/index.web255.js +0 -13
- package/dist/web/index.web256.js +0 -15
- package/dist/web/index.web257.js +0 -12
- package/dist/web/index.web258.js +0 -19
- package/dist/web/index.web259.js +0 -83
- package/dist/web/index.web260.js +0 -4
- package/dist/web/index.web261.js +0 -4
- package/dist/web/index.web262.js +0 -4
- package/dist/web/index.web263.js +0 -7
- package/dist/web/index.web264.js +0 -17
- package/dist/web/index.web265.js +0 -81
|
@@ -5,6 +5,12 @@ import { MfaMethod } from '@coinbase/cdp-api-client';
|
|
|
5
5
|
export type MfaVerificationContext = {
|
|
6
6
|
/** The MFA methods the user has enrolled in. */
|
|
7
7
|
methods: MfaMethod[];
|
|
8
|
+
/**
|
|
9
|
+
* Opaque challenge handle from the `X-Mfa-Challenge-Id` response header,
|
|
10
|
+
* present when the project's `verificationScope` is `request`. Passed through
|
|
11
|
+
* unexamined to `initiateMfaVerification`/`submitMfaVerification`.
|
|
12
|
+
*/
|
|
13
|
+
challengeId?: string;
|
|
8
14
|
};
|
|
9
15
|
/**
|
|
10
16
|
* Listener function called when MFA verification is required.
|
|
@@ -96,10 +102,15 @@ export declare const hasRegisteredMfaListeners: () => boolean;
|
|
|
96
102
|
*
|
|
97
103
|
* @param {MfaMethod[]} methods - The MFA methods available for verification.
|
|
98
104
|
* @param {unknown} [trigger] - Optional opaque trigger value used by listener predicates.
|
|
105
|
+
* @param {object} [context] - Optional opaque request-scope context
|
|
106
|
+
* merged into the listener's {@link MfaVerificationContext}. Passed through unexamined.
|
|
107
|
+
* @param {string} [context.challengeId] - Opaque challenge handle, passed through unexamined.
|
|
99
108
|
* @returns {Promise<void>} A Promise that resolves when MFA is complete.
|
|
100
109
|
* @internal
|
|
101
110
|
*/
|
|
102
|
-
export declare const triggerMfaVerification: (methods: MfaMethod[], trigger?: unknown
|
|
111
|
+
export declare const triggerMfaVerification: (methods: MfaMethod[], trigger?: unknown, context?: {
|
|
112
|
+
challengeId?: string;
|
|
113
|
+
}) => Promise<void>;
|
|
103
114
|
/**
|
|
104
115
|
* Resolves the pending MFA verification Promise.
|
|
105
116
|
* Called internally after successful MFA submission.
|
|
@@ -115,6 +126,15 @@ export declare const resolvePendingMfaVerification: () => void;
|
|
|
115
126
|
* @internal
|
|
116
127
|
*/
|
|
117
128
|
export declare const rejectPendingMfaVerification: (error: Error) => void;
|
|
129
|
+
/**
|
|
130
|
+
* Returns the challenge handle for the pending verification, if the server
|
|
131
|
+
* minted one. MFA actions default to this so request-scope projects work
|
|
132
|
+
* without every UI having to thread the handle back from its listener.
|
|
133
|
+
*
|
|
134
|
+
* @returns {string | undefined} The pending challenge ID, or undefined under session scope.
|
|
135
|
+
* @internal
|
|
136
|
+
*/
|
|
137
|
+
export declare const getPendingMfaChallengeId: () => string | undefined;
|
|
118
138
|
/**
|
|
119
139
|
* Checks if there's a pending MFA verification.
|
|
120
140
|
*
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the project verifies MFA per request rather than per session.
|
|
3
|
+
*
|
|
4
|
+
* @returns True when the project's verification scope is `request`.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const isRequestScope: () => boolean;
|
|
1
8
|
/**
|
|
2
9
|
* Wraps an async operation to handle MFA verification automatically.
|
|
3
10
|
*
|
|
@@ -8,6 +15,13 @@
|
|
|
8
15
|
* If the operation fails with an `mfa_required` error from the API, it will also
|
|
9
16
|
* trigger the MFA handler and retry the operation after successful verification.
|
|
10
17
|
*
|
|
18
|
+
* The operation must issue exactly one protected request and must build it from values
|
|
19
|
+
* computed before the thunk runs. A request-scope approval is bound to a digest of the
|
|
20
|
+
* request that earned it and is spent once, so the retry is only allowed through as a
|
|
21
|
+
* byte-identical replay. A salt, timestamp or WebAuthn credential generated inside the
|
|
22
|
+
* thunk changes that digest and the server rejects the retry too. Two protected requests
|
|
23
|
+
* therefore need two wrappers, one each, not one wrapper around both.
|
|
24
|
+
*
|
|
11
25
|
* @param operation - The async operation to wrap.
|
|
12
26
|
* @returns The result of the operation.
|
|
13
27
|
* @internal
|
|
@@ -21,6 +35,12 @@ export declare function withMfa<T>(operation: () => Promise<T>): Promise<T>;
|
|
|
21
35
|
* MFA-protected action will trigger the registered MFA verification handler.
|
|
22
36
|
*
|
|
23
37
|
* Use this to pre-warn users or show UI hints before they start a sensitive flow.
|
|
38
|
+
* Do not use it to verify ahead of the action: MFA-protected actions prompt and
|
|
39
|
+
* retry on their own, and under `request` scope the challenge only exists once
|
|
40
|
+
* the action has been attempted.
|
|
41
|
+
*
|
|
42
|
+
* Under `request` scope this returns true for any enrolled user, because every
|
|
43
|
+
* protected call is verified individually.
|
|
24
44
|
*
|
|
25
45
|
* @returns True if MFA verification will be required for the next sensitive action.
|
|
26
46
|
*
|
|
@@ -28,11 +48,10 @@ export declare function withMfa<T>(operation: () => Promise<T>): Promise<T>;
|
|
|
28
48
|
* ```typescript
|
|
29
49
|
* import { isMfaRequired, signEvmHash } from '@coinbase/cdp-core';
|
|
30
50
|
* async function handleSign() {
|
|
31
|
-
* // prompt mfa before calling the sign hash function
|
|
32
51
|
* if (isMfaRequired()) {
|
|
33
|
-
*
|
|
52
|
+
* showHint("You'll be asked to verify before signing.");
|
|
34
53
|
* }
|
|
35
|
-
* await signEvmHash({ ... }); // MFA
|
|
54
|
+
* await signEvmHash({ ... }); // Prompts for MFA and retries automatically
|
|
36
55
|
* }
|
|
37
56
|
* ```
|
|
38
57
|
*/
|
|
@@ -1,19 +1,52 @@
|
|
|
1
|
-
import { EvmAddress } from '../types.js';
|
|
2
|
-
import {
|
|
1
|
+
import { EvmAddress, SolanaAddress } from '../types.js';
|
|
2
|
+
import { PaymentPolicy, x402Client } from '@x402/core/client';
|
|
3
|
+
import { wrapFetchWithPayment } from '@x402/fetch';
|
|
4
|
+
/**
|
|
5
|
+
* Opt-in/out per x402 payment scheme. `exact`, `upto`, and `authCapture` all
|
|
6
|
+
* default on.
|
|
7
|
+
*
|
|
8
|
+
* `authCapture` only applies to EVM (Base) — it's skipped for a Solana
|
|
9
|
+
* account regardless of this setting, matching `@x402/svm`'s current scheme
|
|
10
|
+
* coverage.
|
|
11
|
+
*/
|
|
12
|
+
export type X402SchemesConfig = {
|
|
13
|
+
/** Registers `ExactEvmScheme` / `ExactSvmScheme`. Defaults to `true`. */
|
|
14
|
+
exact?: boolean;
|
|
15
|
+
/** Registers `UptoEvmScheme` / `UptoSvmScheme` (usage-based billing). Defaults to `true`. */
|
|
16
|
+
upto?: boolean;
|
|
17
|
+
/** Registers `AuthCaptureEvmScheme` for EVM accounts. Defaults to `true`. */
|
|
18
|
+
authCapture?: boolean;
|
|
19
|
+
};
|
|
3
20
|
/**
|
|
4
21
|
* Options for the fetchWithX402 function.
|
|
5
22
|
*/
|
|
6
23
|
export type FetchWithX402Options = {
|
|
7
|
-
/**
|
|
8
|
-
|
|
9
|
-
|
|
24
|
+
/**
|
|
25
|
+
* The address of the account to use for the fetch function. Pins the
|
|
26
|
+
* network family — no fallback to the other network is attempted.
|
|
27
|
+
*
|
|
28
|
+
* Defaults to the signed-in user's smart account, then EOA, then Solana
|
|
29
|
+
* account: auto-detection falls back to the Solana account if no EVM
|
|
30
|
+
* account resolves.
|
|
31
|
+
*/
|
|
32
|
+
address?: EvmAddress | SolanaAddress | string;
|
|
33
|
+
/** Custom `fetch` implementation to wrap. Defaults to `globalThis.fetch`. */
|
|
10
34
|
fetch?: typeof globalThis.fetch;
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
35
|
+
/**
|
|
36
|
+
* CAIP-2 network id -> RPC URL overrides, e.g.
|
|
37
|
+
* `{ "eip155:84532": "https://sepolia.base.org" }`. Also registers payment
|
|
38
|
+
* schemes on any additional `eip155:*` / `solana:*` network supplied here,
|
|
39
|
+
* on top of the Base mainnet + Solana mainnet baseline that's always
|
|
40
|
+
* registered.
|
|
41
|
+
*/
|
|
42
|
+
rpcUrls?: Record<string, string>;
|
|
43
|
+
/**
|
|
44
|
+
* Policies registered on the underlying `x402Client`, e.g. to cap spend or
|
|
45
|
+
* restrict networks/assets.
|
|
46
|
+
*/
|
|
47
|
+
policies?: PaymentPolicy[];
|
|
48
|
+
/** Opt-in/out per payment scheme. See {@link X402SchemesConfig}. */
|
|
49
|
+
schemes?: X402SchemesConfig;
|
|
17
50
|
};
|
|
18
51
|
/**
|
|
19
52
|
* Return type for the fetchWithX402 function.
|
|
@@ -21,13 +54,38 @@ export type FetchWithX402Options = {
|
|
|
21
54
|
export type FetchWithX402ReturnType = {
|
|
22
55
|
/** The wrapped fetch function with payment handling. */
|
|
23
56
|
fetchWithPayment: ReturnType<typeof wrapFetchWithPayment>;
|
|
57
|
+
/** The lazily initialized `x402Client` for advanced configuration. */
|
|
58
|
+
client: Promise<x402Client>;
|
|
24
59
|
};
|
|
25
60
|
/**
|
|
26
|
-
*
|
|
61
|
+
* Imports an x402 peer dependency, adding installation guidance when the
|
|
62
|
+
* module can't be resolved. Runtime errors thrown by an already-installed
|
|
63
|
+
* module (e.g. a bug surfaced while evaluating it) are re-thrown as-is,
|
|
64
|
+
* since installation guidance would be misleading there.
|
|
65
|
+
*
|
|
66
|
+
* Exported (but not part of the public SDK surface — not re-exported from
|
|
67
|
+
* any index) so this classification can be unit tested directly without
|
|
68
|
+
* fighting test-mocking frameworks' own module-loading error handling.
|
|
69
|
+
*
|
|
70
|
+
* @param specifier - The module specifier being imported, for the error message.
|
|
71
|
+
* @param loader - Thunk performing the dynamic `import()`, so callers keep accurate typing.
|
|
72
|
+
* @returns The imported module's exports.
|
|
73
|
+
*/
|
|
74
|
+
export declare function importX402Dependency<T>(specifier: string, loader: () => Promise<T>): Promise<T>;
|
|
75
|
+
/**
|
|
76
|
+
* Provides a wrapped fetch function with x402 (v2) payment handling, backed
|
|
77
|
+
* by the current CDP embedded wallet user's EVM or Solana account.
|
|
78
|
+
*
|
|
79
|
+
* Builds an `x402Client` and registers payment schemes on it: for an EVM
|
|
80
|
+
* account, `exact`/`upto`/`authCapture` on Base; for a Solana account,
|
|
81
|
+
* `exact`/`upto` on Solana. See {@link X402SchemesConfig}.
|
|
27
82
|
*
|
|
28
83
|
* @param options - Configuration object for the fetch function
|
|
29
84
|
* @param options.address - The address to use for the fetch function
|
|
30
|
-
* @
|
|
85
|
+
* @param options.rpcUrls - CAIP-2 network id -> RPC URL overrides
|
|
86
|
+
* @param options.policies - Policies to register on the underlying `x402Client`
|
|
87
|
+
* @param options.schemes - Opt-in/out per payment scheme
|
|
88
|
+
* @returns A wrapped fetch function with payment handling, and the underlying `x402Client`
|
|
31
89
|
*
|
|
32
90
|
* @example
|
|
33
91
|
* ```tsx lines
|
|
@@ -36,5 +94,14 @@ export type FetchWithX402ReturnType = {
|
|
|
36
94
|
* method: "GET",
|
|
37
95
|
* });
|
|
38
96
|
* ```
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```tsx lines
|
|
100
|
+
* // Also register Base Sepolia (e.g. for local testing) and disable authCapture.
|
|
101
|
+
* const { fetchWithPayment } = fetchWithX402({
|
|
102
|
+
* rpcUrls: { "eip155:84532": "https://sepolia.base.org" },
|
|
103
|
+
* schemes: { authCapture: false },
|
|
104
|
+
* });
|
|
105
|
+
* ```
|
|
39
106
|
*/
|
|
40
107
|
export declare function fetchWithX402(options?: FetchWithX402Options): FetchWithX402ReturnType;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MfaMethod } from '@coinbase/cdp-api-client';
|
|
1
|
+
import { InitiateMfaVerificationResponseWrapper, MfaMethod } from '@coinbase/cdp-api-client';
|
|
2
2
|
/**
|
|
3
3
|
* Request parameters for initiating MFA verification.
|
|
4
4
|
*/
|
|
@@ -7,6 +7,12 @@ export type InitiateMfaVerificationOptions = {
|
|
|
7
7
|
mfaMethod: MfaMethod;
|
|
8
8
|
/** Optional idempotency key for safe retries. */
|
|
9
9
|
idempotencyKey?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Opaque challenge handle from the MFA listener's context, required when the
|
|
12
|
+
* project's `verificationScope` is `request`; ignored under `session`. Never
|
|
13
|
+
* inspected — pass through the value received from the listener unchanged.
|
|
14
|
+
*/
|
|
15
|
+
challengeId?: string;
|
|
10
16
|
};
|
|
11
17
|
/**
|
|
12
18
|
* Initiates an MFA verification flow for operations requiring MFA.
|
|
@@ -28,6 +34,7 @@ export type InitiateMfaVerificationOptions = {
|
|
|
28
34
|
* await initiateMfaVerification({ mfaMethod: "sms" });
|
|
29
35
|
* // SMS sent to user's phone - prompt for code
|
|
30
36
|
* ```
|
|
31
|
-
* @returns A promise that resolves
|
|
37
|
+
* @returns A promise that resolves with the initiate response (opaque under `session`
|
|
38
|
+
* scope, where it resolves to `{}`) once MFA initiation is successful.
|
|
32
39
|
*/
|
|
33
|
-
export declare const initiateMfaVerification: (options: InitiateMfaVerificationOptions) => Promise<void>;
|
|
40
|
+
export declare const initiateMfaVerification: (options: InitiateMfaVerificationOptions) => Promise<InitiateMfaVerificationResponseWrapper | void>;
|
|
@@ -8,6 +8,12 @@ export type SubmitMfaVerificationOptions = {
|
|
|
8
8
|
mfaCode: string;
|
|
9
9
|
/** Optional idempotency key for safe retries. */
|
|
10
10
|
idempotencyKey?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Opaque challenge handle from the MFA listener's context, required when the
|
|
13
|
+
* project's `verificationScope` is `request`; ignored under `session`. Never
|
|
14
|
+
* inspected — pass through the value received from the listener unchanged.
|
|
15
|
+
*/
|
|
16
|
+
challengeId?: string;
|
|
11
17
|
};
|
|
12
18
|
/**
|
|
13
19
|
* Submits an MFA code to complete the verification process.
|
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
export type VerifyPasskeyOptions = {
|
|
5
5
|
/** Optional idempotency key for safe retries. */
|
|
6
6
|
idempotencyKey?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Opaque challenge handle from the MFA listener's context, required when the
|
|
9
|
+
* project's `verificationScope` is `request`; ignored under `session`. Never
|
|
10
|
+
* inspected — pass through the value received from the listener unchanged.
|
|
11
|
+
*/
|
|
12
|
+
challengeId?: string;
|
|
7
13
|
};
|
|
8
14
|
/**
|
|
9
15
|
* Completes an MFA verification using an enrolled passkey (WebAuthn).
|
|
@@ -23,7 +29,7 @@ export type VerifyPasskeyOptions = {
|
|
|
23
29
|
* ```typescript
|
|
24
30
|
* await verifyPasskey();
|
|
25
31
|
* ```
|
|
26
|
-
* @returns A promise that resolves
|
|
32
|
+
* @returns A promise that resolves once MFA verification is complete.
|
|
27
33
|
* @throws {MfaError} With code `PASSKEY_NOT_SUPPORTED` when passkeys are not available in the current environment.
|
|
28
34
|
* @throws {MfaError} With code `CANCELLED` when the user dismisses the passkey prompt or it times out.
|
|
29
35
|
*/
|
package/dist/types/errors.d.ts
CHANGED
|
@@ -67,7 +67,9 @@ export type MfaErrorCode =
|
|
|
67
67
|
/** Passkeys (WebAuthn) are not supported in the current environment. */
|
|
68
68
|
| "PASSKEY_NOT_SUPPORTED"
|
|
69
69
|
/** This device already holds a passkey for this account, so it cannot enroll another. */
|
|
70
|
-
| "PASSKEY_ALREADY_ENROLLED"
|
|
70
|
+
| "PASSKEY_ALREADY_ENROLLED"
|
|
71
|
+
/** MFA cannot be verified ahead of time because the project verifies per request. */
|
|
72
|
+
| "REQUEST_SCOPE_UNSUPPORTED";
|
|
71
73
|
/**
|
|
72
74
|
* Error thrown when an MFA operation fails.
|
|
73
75
|
*/
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export { type SpendPermissionNetwork } from '@coinbase/cdp-api-client';
|
|
|
5
5
|
export { revokeSpendPermission, type RevokeSpendPermissionOptions, type RevokeSpendPermissionResult, } from './actions/revokeSpendPermission.js';
|
|
6
6
|
export { enableSpendPermissions, type EnableSpendPermissionsOptions, type EnableSpendPermissionsResult, type EnableSpendPermissionsNetwork, } from './actions/enableSpendPermissions.js';
|
|
7
7
|
export { getCurrentUserSync } from './actions/getCurrentUserSync.js';
|
|
8
|
-
export { fetchWithX402, type FetchWithX402Options, type FetchWithX402ReturnType, } from './actions/fetchWithX402.js';
|
|
8
|
+
export { fetchWithX402, type FetchWithX402Options, type FetchWithX402ReturnType, type X402SchemesConfig, } from './actions/fetchWithX402.js';
|
|
9
9
|
export { linkGoogle } from './actions/linkGoogle.js';
|
|
10
10
|
export { linkSms } from './actions/linkSms.js';
|
|
11
11
|
export { linkEmail } from './actions/linkEmail.js';
|
|
@@ -50,6 +50,7 @@ export { getMfaConfigState, getProjectConfigState } from './state.js';
|
|
|
50
50
|
export { recordMfaEnrollmentPrompted, type RecordMfaEnrollmentPromptedResult, } from './actions/recordMfaEnrollmentPrompted.js';
|
|
51
51
|
export { initiateMfaEnrollment, type InitiateMfaEnrollmentResult, type InitiateMfaOptions, type InitiateTotpMfaOptions, type InitiateSmsMfaOptions, type InitiateTotpMfaResult, type InitiateSmsMfaResult, } from './actions/initiateMfaEnrollment.js';
|
|
52
52
|
export { submitMfaEnrollment, type SubmitMfaEnrollmentOptions, type SubmitMfaEnrollmentResult, } from './actions/submitMfaEnrollment.js';
|
|
53
|
+
export { enrollPasskey, type EnrollPasskeyOptions, type EnrollPasskeyResult, } from './actions/enrollPasskey.js';
|
|
53
54
|
export { initiateMfaVerification, type InitiateMfaVerificationOptions, } from './actions/initiateMfaVerification.js';
|
|
54
55
|
export { submitMfaVerification, type SubmitMfaVerificationOptions, } from './actions/submitMfaVerification.js';
|
|
55
56
|
export { cancelMfaVerification } from './actions/cancelMfaVerification.js';
|
|
@@ -10,7 +10,7 @@ export { type SpendPermissionNetwork } from '@coinbase/cdp-api-client';
|
|
|
10
10
|
export { revokeSpendPermission, type RevokeSpendPermissionOptions, type RevokeSpendPermissionResult, } from './actions/revokeSpendPermission.js';
|
|
11
11
|
export { enableSpendPermissions, type EnableSpendPermissionsOptions, type EnableSpendPermissionsResult, type EnableSpendPermissionsNetwork, } from './actions/enableSpendPermissions.js';
|
|
12
12
|
export { getCurrentUserSync } from './actions/getCurrentUserSync.js';
|
|
13
|
-
export { fetchWithX402, type FetchWithX402Options, type FetchWithX402ReturnType, } from './actions/fetchWithX402.js';
|
|
13
|
+
export { fetchWithX402, type FetchWithX402Options, type FetchWithX402ReturnType, type X402SchemesConfig, } from './actions/fetchWithX402.js';
|
|
14
14
|
export { linkGoogle } from './actions/linkGoogle.js';
|
|
15
15
|
export { linkSms } from './actions/linkSms.js';
|
|
16
16
|
export { linkEmail } from './actions/linkEmail.js';
|
|
@@ -10,7 +10,7 @@ export { type SpendPermissionNetwork } from '@coinbase/cdp-api-client';
|
|
|
10
10
|
export { revokeSpendPermission, type RevokeSpendPermissionOptions, type RevokeSpendPermissionResult, } from './actions/revokeSpendPermission.js';
|
|
11
11
|
export { enableSpendPermissions, type EnableSpendPermissionsOptions, type EnableSpendPermissionsResult, type EnableSpendPermissionsNetwork, } from './actions/enableSpendPermissions.js';
|
|
12
12
|
export { getCurrentUserSync } from './actions/getCurrentUserSync.js';
|
|
13
|
-
export { fetchWithX402, type FetchWithX402Options, type FetchWithX402ReturnType, } from './actions/fetchWithX402.js';
|
|
13
|
+
export { fetchWithX402, type FetchWithX402Options, type FetchWithX402ReturnType, type X402SchemesConfig, } from './actions/fetchWithX402.js';
|
|
14
14
|
export { linkGoogle } from './actions/linkGoogle.js';
|
|
15
15
|
export { linkSms } from './actions/linkSms.js';
|
|
16
16
|
export { linkEmail } from './actions/linkEmail.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { hasPendingMfaVerification, resolvePendingMfaVerification, rejectPendingMfaVerification, triggerMfaVerification, type MfaListener, type MfaVerificationContext, } from './state.js';
|
|
2
2
|
export { getEnabledMfaMethods, getEnrolledMfaMethods, isEnrolledInMfa } from './utils.js';
|
|
3
|
-
export { withMfa, ensureMfaVerified, isMfaRequired } from './withMfa.js';
|
|
3
|
+
export { withMfa, ensureMfaVerified, isMfaRequired, isRequestScope } from './withMfa.js';
|
|
4
4
|
export { MFA_PROTECTED_ACTIONS, MFA_PROTECTED_FUNCTIONS, isMfaProtectedAction, type MfaProtectedAction, } from './protectedActions.js';
|
|
@@ -1,6 +1,23 @@
|
|
|
1
|
+
import { createDelegation } from '../actions/createDelegation.js';
|
|
2
|
+
import { createDelegationForAccount } from '../actions/createDelegationForAccount.js';
|
|
1
3
|
import { createEvmKeyExportIframe, createSolanaKeyExportIframe } from '../actions/createKeyExportIframe.js';
|
|
4
|
+
import { revokeDelegation } from '../actions/revokeDelegation.js';
|
|
5
|
+
import { revokeDelegationForAccount } from '../actions/revokeDelegationForAccount.js';
|
|
2
6
|
import { SignEvmHashOptions, SignEvmHashResult, SignEvmTransactionOptions, SignEvmTransactionResult, SignSolanaTransactionOptions, SignSolanaTransactionResult, SendEvmTransactionOptions, SendEvmTransactionResult, SendSolanaTransactionOptions, SendSolanaTransactionResult, SignEvmMessageOptions, SignSolanaMessageOptions, SignSolanaMessageResult, SignEvmTypedDataOptions, SignEvmTypedDataResult, SendUserOperationOptions, SendUserOperationResult, ExportEvmAccountOptions, ExportEvmAccountResult, ExportSolanaAccountOptions, ExportSolanaAccountResult } from '../types.js';
|
|
3
7
|
import { SignBitcoinHashOptions, SignBitcoinHashResult } from '../actions/signBitcoinHash.js';
|
|
8
|
+
import { AdjustBorrowPositionOptions, AdjustBorrowPositionResult } from '../actions/adjustBorrowPosition.js';
|
|
9
|
+
import { CloseBorrowPositionOptions, CloseBorrowPositionResult } from '../actions/closeBorrowPosition.js';
|
|
10
|
+
import { CreateBorrowPositionOptions, CreateBorrowPositionResult } from '../actions/createBorrowPosition.js';
|
|
11
|
+
import { CreateSpendPermissionOptions, CreateSpendPermissionResult } from '../actions/createSpendPermission.js';
|
|
12
|
+
import { EnableSpendPermissionsOptions, EnableSpendPermissionsResult } from '../actions/enableSpendPermissions.js';
|
|
13
|
+
import { ExecuteSwapOptions, ExecuteSwapResult } from '../actions/executeSwap.js';
|
|
14
|
+
import { RevokeSpendPermissionOptions, RevokeSpendPermissionResult } from '../actions/revokeSpendPermission.js';
|
|
15
|
+
import { SendEvmEoaUsdcOptions, SendEvmEoaUsdcResult } from '../actions/sendEvmEoaUsdc.js';
|
|
16
|
+
import { SendEvmSmartAccountUsdcOptions, SendEvmSmartAccountUsdcResult } from '../actions/sendEvmSmartAccountUsdc.js';
|
|
17
|
+
import { SendSolanaUsdcOptions, SendSolanaUsdcResult } from '../actions/sendSolanaUsdc.js';
|
|
18
|
+
import { EnrollPasskeyOptions, EnrollPasskeyResult } from '../actions/enrollPasskey.js';
|
|
19
|
+
import { InitiateMfaOptions, InitiateMfaEnrollmentResult } from '../actions/initiateMfaEnrollment.js';
|
|
20
|
+
import { SubmitMfaEnrollmentOptions, SubmitMfaEnrollmentResult } from '../actions/submitMfaEnrollment.js';
|
|
4
21
|
/**
|
|
5
22
|
* Map of MFA-protected functions to ensure type safety.
|
|
6
23
|
* If a function is renamed, the import will fail and this file won't compile.
|
|
@@ -22,6 +39,23 @@ export declare const MFA_PROTECTED_FUNCTIONS: {
|
|
|
22
39
|
readonly signBitcoinHash: (options: SignBitcoinHashOptions) => Promise< SignBitcoinHashResult>;
|
|
23
40
|
readonly createEvmKeyExportIframe: typeof createEvmKeyExportIframe;
|
|
24
41
|
readonly createSolanaKeyExportIframe: typeof createSolanaKeyExportIframe;
|
|
42
|
+
readonly adjustBorrowPosition: (options: AdjustBorrowPositionOptions) => Promise< AdjustBorrowPositionResult>;
|
|
43
|
+
readonly closeBorrowPosition: (options: CloseBorrowPositionOptions) => Promise< CloseBorrowPositionResult>;
|
|
44
|
+
readonly createBorrowPosition: (options: CreateBorrowPositionOptions) => Promise< CreateBorrowPositionResult>;
|
|
45
|
+
readonly createDelegation: typeof createDelegation;
|
|
46
|
+
readonly createDelegationForAccount: typeof createDelegationForAccount;
|
|
47
|
+
readonly createSpendPermission: (options: CreateSpendPermissionOptions) => Promise< CreateSpendPermissionResult>;
|
|
48
|
+
readonly enableSpendPermissions: (options: EnableSpendPermissionsOptions) => Promise< EnableSpendPermissionsResult>;
|
|
49
|
+
readonly executeSwap: (options: ExecuteSwapOptions) => Promise< ExecuteSwapResult>;
|
|
50
|
+
readonly revokeDelegation: typeof revokeDelegation;
|
|
51
|
+
readonly revokeDelegationForAccount: typeof revokeDelegationForAccount;
|
|
52
|
+
readonly revokeSpendPermission: (options: RevokeSpendPermissionOptions) => Promise< RevokeSpendPermissionResult>;
|
|
53
|
+
readonly sendEvmEoaUsdc: (options: SendEvmEoaUsdcOptions) => Promise< SendEvmEoaUsdcResult>;
|
|
54
|
+
readonly sendEvmSmartAccountUsdc: (options: SendEvmSmartAccountUsdcOptions) => Promise< SendEvmSmartAccountUsdcResult>;
|
|
55
|
+
readonly sendSolanaUsdc: (options: SendSolanaUsdcOptions) => Promise< SendSolanaUsdcResult>;
|
|
56
|
+
readonly enrollPasskey: (options?: EnrollPasskeyOptions) => Promise< EnrollPasskeyResult>;
|
|
57
|
+
readonly initiateMfaEnrollment: (options: InitiateMfaOptions) => Promise< InitiateMfaEnrollmentResult>;
|
|
58
|
+
readonly submitMfaEnrollment: (options: SubmitMfaEnrollmentOptions) => Promise< SubmitMfaEnrollmentResult>;
|
|
25
59
|
};
|
|
26
60
|
/**
|
|
27
61
|
* List of action names that require MFA verification when the user is enrolled.
|
|
@@ -5,6 +5,12 @@ import { MfaMethod } from '@coinbase/cdp-api-client';
|
|
|
5
5
|
export type MfaVerificationContext = {
|
|
6
6
|
/** The MFA methods the user has enrolled in. */
|
|
7
7
|
methods: MfaMethod[];
|
|
8
|
+
/**
|
|
9
|
+
* Opaque challenge handle from the `X-Mfa-Challenge-Id` response header,
|
|
10
|
+
* present when the project's `verificationScope` is `request`. Passed through
|
|
11
|
+
* unexamined to `initiateMfaVerification`/`submitMfaVerification`.
|
|
12
|
+
*/
|
|
13
|
+
challengeId?: string;
|
|
8
14
|
};
|
|
9
15
|
/**
|
|
10
16
|
* Listener function called when MFA verification is required.
|
|
@@ -96,10 +102,15 @@ export declare const hasRegisteredMfaListeners: () => boolean;
|
|
|
96
102
|
*
|
|
97
103
|
* @param {MfaMethod[]} methods - The MFA methods available for verification.
|
|
98
104
|
* @param {unknown} [trigger] - Optional opaque trigger value used by listener predicates.
|
|
105
|
+
* @param {object} [context] - Optional opaque request-scope context
|
|
106
|
+
* merged into the listener's {@link MfaVerificationContext}. Passed through unexamined.
|
|
107
|
+
* @param {string} [context.challengeId] - Opaque challenge handle, passed through unexamined.
|
|
99
108
|
* @returns {Promise<void>} A Promise that resolves when MFA is complete.
|
|
100
109
|
* @internal
|
|
101
110
|
*/
|
|
102
|
-
export declare const triggerMfaVerification: (methods: MfaMethod[], trigger?: unknown
|
|
111
|
+
export declare const triggerMfaVerification: (methods: MfaMethod[], trigger?: unknown, context?: {
|
|
112
|
+
challengeId?: string;
|
|
113
|
+
}) => Promise<void>;
|
|
103
114
|
/**
|
|
104
115
|
* Resolves the pending MFA verification Promise.
|
|
105
116
|
* Called internally after successful MFA submission.
|
|
@@ -115,6 +126,15 @@ export declare const resolvePendingMfaVerification: () => void;
|
|
|
115
126
|
* @internal
|
|
116
127
|
*/
|
|
117
128
|
export declare const rejectPendingMfaVerification: (error: Error) => void;
|
|
129
|
+
/**
|
|
130
|
+
* Returns the challenge handle for the pending verification, if the server
|
|
131
|
+
* minted one. MFA actions default to this so request-scope projects work
|
|
132
|
+
* without every UI having to thread the handle back from its listener.
|
|
133
|
+
*
|
|
134
|
+
* @returns {string | undefined} The pending challenge ID, or undefined under session scope.
|
|
135
|
+
* @internal
|
|
136
|
+
*/
|
|
137
|
+
export declare const getPendingMfaChallengeId: () => string | undefined;
|
|
118
138
|
/**
|
|
119
139
|
* Checks if there's a pending MFA verification.
|
|
120
140
|
*
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the project verifies MFA per request rather than per session.
|
|
3
|
+
*
|
|
4
|
+
* @returns True when the project's verification scope is `request`.
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export declare const isRequestScope: () => boolean;
|
|
1
8
|
/**
|
|
2
9
|
* Wraps an async operation to handle MFA verification automatically.
|
|
3
10
|
*
|
|
@@ -8,6 +15,13 @@
|
|
|
8
15
|
* If the operation fails with an `mfa_required` error from the API, it will also
|
|
9
16
|
* trigger the MFA handler and retry the operation after successful verification.
|
|
10
17
|
*
|
|
18
|
+
* The operation must issue exactly one protected request and must build it from values
|
|
19
|
+
* computed before the thunk runs. A request-scope approval is bound to a digest of the
|
|
20
|
+
* request that earned it and is spent once, so the retry is only allowed through as a
|
|
21
|
+
* byte-identical replay. A salt, timestamp or WebAuthn credential generated inside the
|
|
22
|
+
* thunk changes that digest and the server rejects the retry too. Two protected requests
|
|
23
|
+
* therefore need two wrappers, one each, not one wrapper around both.
|
|
24
|
+
*
|
|
11
25
|
* @param operation - The async operation to wrap.
|
|
12
26
|
* @returns The result of the operation.
|
|
13
27
|
* @internal
|
|
@@ -21,6 +35,12 @@ export declare function withMfa<T>(operation: () => Promise<T>): Promise<T>;
|
|
|
21
35
|
* MFA-protected action will trigger the registered MFA verification handler.
|
|
22
36
|
*
|
|
23
37
|
* Use this to pre-warn users or show UI hints before they start a sensitive flow.
|
|
38
|
+
* Do not use it to verify ahead of the action: MFA-protected actions prompt and
|
|
39
|
+
* retry on their own, and under `request` scope the challenge only exists once
|
|
40
|
+
* the action has been attempted.
|
|
41
|
+
*
|
|
42
|
+
* Under `request` scope this returns true for any enrolled user, because every
|
|
43
|
+
* protected call is verified individually.
|
|
24
44
|
*
|
|
25
45
|
* @returns True if MFA verification will be required for the next sensitive action.
|
|
26
46
|
*
|
|
@@ -28,11 +48,10 @@ export declare function withMfa<T>(operation: () => Promise<T>): Promise<T>;
|
|
|
28
48
|
* ```typescript
|
|
29
49
|
* import { isMfaRequired, signEvmHash } from '@coinbase/cdp-core';
|
|
30
50
|
* async function handleSign() {
|
|
31
|
-
* // prompt mfa before calling the sign hash function
|
|
32
51
|
* if (isMfaRequired()) {
|
|
33
|
-
*
|
|
52
|
+
* showHint("You'll be asked to verify before signing.");
|
|
34
53
|
* }
|
|
35
|
-
* await signEvmHash({ ... }); // MFA
|
|
54
|
+
* await signEvmHash({ ... }); // Prompts for MFA and retries automatically
|
|
36
55
|
* }
|
|
37
56
|
* ```
|
|
38
57
|
*/
|
package/dist/types/version.d.ts
CHANGED