@coinbase/cdp-core 0.0.124 → 0.0.126
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 +1 -1
- package/dist/esm/index.web10.js +4 -3
- package/dist/esm/index.web101.js +7 -6
- package/dist/esm/index.web102.js +11 -10
- package/dist/esm/index.web105.js +5 -4
- package/dist/esm/index.web106.js +8 -7
- 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.web122.js +7 -6
- package/dist/esm/index.web123.js +2 -2
- package/dist/esm/index.web126.js +1 -1
- package/dist/esm/index.web13.js +7 -7
- package/dist/esm/index.web130.js +4 -3
- package/dist/esm/index.web132.js +3 -2
- package/dist/esm/index.web134.js +1 -1
- package/dist/esm/index.web137.js +1 -1
- package/dist/esm/index.web138.js +1 -1
- package/dist/esm/index.web139.js +1 -1
- package/dist/esm/index.web142.js +12 -12
- package/dist/esm/index.web143.js +12 -12
- package/dist/esm/index.web144.js +1 -1
- package/dist/esm/index.web145.js +1 -1
- package/dist/esm/index.web147.js +1 -1
- package/dist/esm/index.web149.js +4 -4
- package/dist/esm/index.web152.js +1 -1
- package/dist/esm/index.web153.js +1 -1
- package/dist/esm/index.web154.js +5 -5
- package/dist/esm/index.web155.js +46 -11
- package/dist/esm/index.web156.js +4 -11
- package/dist/esm/index.web157.js +11 -53
- package/dist/esm/index.web158.js +11 -10
- package/dist/esm/index.web159.js +55 -2
- package/dist/esm/index.web160.js +11 -45
- package/dist/esm/index.web161.js +2 -14
- package/dist/esm/index.web162.js +45 -5
- package/dist/esm/index.web163.js +12 -46
- package/dist/esm/index.web164.js +2 -15
- package/dist/esm/index.web165.js +2 -29
- package/dist/esm/index.web166.js +15 -7
- package/dist/esm/index.web167.js +29 -3
- package/dist/esm/index.web168.js +7 -28
- package/dist/esm/index.web169.js +3 -8
- package/dist/esm/index.web170.js +29 -7
- package/dist/esm/index.web171.js +8 -80
- package/dist/esm/index.web172.js +7 -28
- package/dist/esm/index.web173.js +81 -3
- package/dist/esm/index.web174.js +19 -5
- package/dist/esm/index.web175.js +3 -4
- package/dist/esm/index.web176.js +5 -3
- package/dist/esm/index.web177.js +4 -19
- package/dist/esm/index.web178.js +6 -52
- package/dist/esm/index.web179.js +19 -17
- package/dist/esm/index.web180.js +57 -18
- package/dist/esm/index.web181.js +17 -8
- package/dist/esm/index.web182.js +19 -38
- package/dist/esm/index.web183.js +8 -7
- package/dist/esm/index.web184.js +40 -17
- package/dist/esm/index.web185.js +8 -2
- package/dist/esm/index.web186.js +21 -2
- package/dist/esm/index.web2.js +2 -2
- package/dist/esm/index.web20.js +1 -1
- package/dist/esm/index.web202.js +1 -1
- package/dist/esm/index.web204.js +1 -1
- package/dist/esm/index.web205.js +2 -2
- package/dist/esm/index.web207.js +1 -1
- package/dist/esm/index.web208.js +2 -2
- package/dist/esm/index.web21.js +1 -1
- package/dist/esm/index.web216.js +2 -2
- package/dist/esm/index.web219.js +1 -1
- package/dist/esm/index.web22.js +1 -1
- package/dist/esm/index.web220.js +1 -1
- package/dist/esm/index.web224.js +39 -2
- package/dist/esm/index.web225.js +2 -109
- package/dist/esm/index.web226.js +70 -2
- package/dist/esm/index.web227.js +33 -102
- package/dist/esm/index.web228.js +12 -76
- package/dist/esm/index.web229.js +7 -78
- package/dist/esm/index.web230.js +2 -21
- package/dist/esm/index.web231.js +361 -10
- package/dist/esm/index.web232.js +853 -20
- package/dist/esm/index.web233.js +2 -94
- package/dist/esm/index.web234.js +109 -21
- package/dist/esm/index.web235.js +2 -118
- package/dist/esm/index.web236.js +103 -38
- package/dist/esm/index.web237.js +79 -2
- package/dist/esm/index.web238.js +78 -69
- package/dist/esm/index.web239.js +20 -34
- package/dist/esm/index.web240.js +10 -15
- package/dist/esm/index.web241.js +20 -8
- package/dist/esm/index.web242.js +94 -2
- package/dist/esm/index.web243.js +21 -361
- package/dist/esm/index.web244.js +118 -853
- package/dist/esm/index.web245.js +14 -40
- package/dist/esm/index.web246.js +2 -21
- package/dist/esm/index.web247.js +20 -2
- package/dist/esm/index.web248.js +31 -18
- package/dist/esm/index.web249.js +6 -32
- package/dist/esm/index.web250.js +2 -7
- package/dist/esm/index.web251.js +2 -4
- package/dist/esm/index.web252.js +2 -18
- package/dist/esm/index.web253.js +4 -28
- package/dist/esm/index.web254.js +46 -7
- package/dist/esm/index.web255.js +18 -11
- package/dist/esm/index.web256.js +28 -13
- package/dist/esm/index.web257.js +8 -10
- package/dist/esm/index.web258.js +11 -17
- package/dist/esm/index.web259.js +12 -80
- package/dist/esm/index.web260.js +10 -2
- package/dist/esm/index.web261.js +17 -2
- package/dist/esm/index.web262.js +81 -2
- package/dist/esm/index.web264.js +78 -14
- package/dist/esm/index.web265.js +14 -78
- package/dist/esm/index.web29.js +3 -2
- package/dist/esm/index.web3.js +1 -1
- package/dist/esm/index.web30.js +3 -2
- package/dist/esm/index.web31.js +7 -6
- package/dist/esm/index.web32.js +6 -5
- package/dist/esm/index.web33.js +3 -2
- package/dist/esm/index.web34.js +9 -8
- package/dist/esm/index.web35.js +3 -2
- package/dist/esm/index.web36.js +3 -2
- package/dist/esm/index.web37.js +3 -2
- package/dist/esm/index.web39.js +3 -2
- package/dist/esm/index.web4.js +49 -48
- package/dist/esm/index.web40.js +10 -9
- package/dist/esm/index.web41.js +17 -14
- package/dist/esm/index.web43.js +9 -8
- package/dist/esm/index.web44.js +3 -2
- package/dist/esm/index.web47.js +1 -1
- package/dist/esm/index.web50.js +4 -3
- 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 +10 -9
- package/dist/esm/index.web67.js +7 -6
- package/dist/esm/index.web68.js +7 -6
- package/dist/esm/index.web69.js +8 -7
- package/dist/esm/index.web71.js +2 -2
- package/dist/esm/index.web72.js +2 -2
- package/dist/esm/index.web75.js +3 -2
- package/dist/esm/index.web76.js +3 -2
- package/dist/esm/index.web77.js +3 -2
- package/dist/esm/index.web79.js +5 -4
- package/dist/esm/index.web82.js +1 -1
- package/dist/esm/index.web83.js +33 -22
- package/dist/esm/index.web84.js +32 -21
- package/dist/esm/index.web85.js +15 -13
- package/dist/esm/index.web86.js +30 -24
- package/dist/esm/index.web88.js +69 -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 +65 -31
- package/dist/esm/index.web96.js +1 -1
- package/dist/esm/index.web98.js +6 -5
- package/dist/native/index.native100.js +11 -10
- package/dist/native/index.native101.js +11 -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 +3 -3
- package/dist/native/index.native12.js +4 -3
- package/dist/native/index.native120.js +7 -6
- package/dist/native/index.native121.js +2 -2
- package/dist/native/index.native124.js +1 -1
- package/dist/native/index.native125.js +3 -3
- package/dist/native/index.native127.js +4 -3
- package/dist/native/index.native129.js +3 -2
- package/dist/native/index.native131.js +1 -1
- package/dist/native/index.native134.js +1 -1
- package/dist/native/index.native135.js +1 -1
- package/dist/native/index.native136.js +1 -1
- package/dist/native/index.native137.js +12 -12
- package/dist/native/index.native138.js +16 -105
- package/dist/native/index.native139.js +18 -372
- package/dist/native/index.native140.js +50 -28
- package/dist/native/index.native141.js +105 -27
- package/dist/native/index.native142.js +76 -2
- package/dist/native/index.native143.js +349 -38
- package/dist/native/index.native144.js +28 -364
- package/dist/native/index.native145.js +28 -16
- package/dist/native/index.native146.js +2 -25
- package/dist/native/index.native147.js +63 -48
- package/dist/native/index.native148.js +360 -940
- package/dist/native/index.native149.js +945 -2
- package/dist/native/index.native15.js +7 -7
- package/dist/native/index.native150.js +2 -50
- package/dist/native/index.native151.js +49 -26
- package/dist/native/index.native152.js +27 -5
- package/dist/native/index.native153.js +5 -48
- package/dist/native/index.native154.js +47 -4
- package/dist/native/index.native155.js +53 -11
- package/dist/native/index.native156.js +10 -11
- package/dist/native/index.native157.js +2 -36
- package/dist/native/index.native158.js +43 -66
- package/dist/native/index.native159.js +13 -13
- package/dist/native/index.native160.js +4 -27
- package/dist/native/index.native161.js +12 -7
- package/dist/native/index.native162.js +11 -3
- package/dist/native/index.native163.js +2 -28
- package/dist/native/index.native164.js +2 -9
- package/dist/native/index.native165.js +36 -8
- package/dist/native/index.native166.js +64 -76
- package/dist/native/index.native167.js +61 -25
- package/dist/native/index.native168.js +14 -3
- package/dist/native/index.native169.js +19 -5
- package/dist/native/index.native170.js +7 -4
- package/dist/native/index.native171.js +3 -13
- package/dist/native/index.native172.js +25 -16
- package/dist/native/index.native173.js +8 -60
- package/dist/native/index.native174.js +7 -17
- package/dist/native/index.native175.js +78 -21
- package/dist/native/index.native176.js +28 -8
- package/dist/native/index.native177.js +3 -41
- package/dist/native/index.native178.js +15 -7
- package/dist/native/index.native179.js +4 -20
- package/dist/native/index.native180.js +14 -54
- package/dist/native/index.native181.js +19 -10
- package/dist/native/index.native182.js +62 -2
- package/dist/native/index.native183.js +18 -45
- package/dist/native/index.native184.js +23 -13
- package/dist/native/index.native185.js +9 -2
- package/dist/native/index.native186.js +43 -2
- package/dist/native/index.native187.js +7 -13
- package/dist/native/index.native188.js +19 -54
- package/dist/native/index.native189.js +13 -6
- package/dist/native/index.native190.js +54 -20
- package/dist/native/index.native191.js +6 -17
- package/dist/native/index.native192.js +20 -44
- package/dist/native/index.native193.js +17 -3
- package/dist/native/index.native194.js +45 -3
- package/dist/native/index.native195.js +3 -34
- package/dist/native/index.native196.js +3 -12
- package/dist/native/index.native197.js +34 -4
- package/dist/native/index.native198.js +11 -27
- package/dist/native/index.native199.js +4 -6
- package/dist/native/index.native2.js +2 -2
- package/dist/native/index.native200.js +25 -29
- package/dist/native/index.native201.js +6 -12
- package/dist/native/index.native202.js +31 -54
- package/dist/native/index.native203.js +11 -41
- package/dist/native/index.native204.js +54 -126
- package/dist/native/index.native205.js +38 -100
- package/dist/native/index.native206.js +127 -6
- package/dist/native/index.native207.js +105 -3
- package/dist/native/index.native208.js +6 -78
- package/dist/native/index.native209.js +3 -2
- package/dist/native/index.native210.js +79 -2
- package/dist/native/index.native211.js +2 -38
- package/dist/native/index.native212.js +2 -7
- package/dist/native/index.native213.js +32 -29
- package/dist/native/index.native214.js +6 -14
- package/dist/native/index.native215.js +30 -30
- package/dist/native/index.native216.js +14 -18
- package/dist/native/index.native217.js +34 -8
- package/dist/native/index.native218.js +17 -9
- package/dist/native/index.native219.js +8 -11
- package/dist/native/index.native22.js +1 -1
- package/dist/native/index.native220.js +10 -13
- package/dist/native/index.native221.js +11 -5
- package/dist/native/index.native222.js +14 -5
- package/dist/native/index.native223.js +5 -10
- package/dist/native/index.native224.js +5 -39
- package/dist/native/index.native225.js +11 -2
- package/dist/native/index.native226.js +20 -69
- package/dist/native/index.native227.js +10 -35
- package/dist/native/index.native228.js +19 -14
- package/dist/native/index.native229.js +94 -8
- package/dist/native/index.native23.js +1 -1
- package/dist/native/index.native230.js +21 -2
- package/dist/native/index.native231.js +110 -353
- package/dist/native/index.native232.js +105 -849
- package/dist/native/index.native233.js +2 -2
- package/dist/native/index.native234.js +2 -109
- package/dist/native/index.native235.js +8 -2
- package/dist/native/index.native236.js +2 -104
- package/dist/native/index.native237.js +353 -71
- package/dist/native/index.native238.js +852 -78
- package/dist/native/index.native239.js +38 -20
- package/dist/native/index.native24.js +1 -1
- package/dist/native/index.native240.js +2 -10
- package/dist/native/index.native241.js +70 -20
- package/dist/native/index.native242.js +34 -93
- package/dist/native/index.native243.js +14 -20
- package/dist/native/index.native244.js +98 -112
- package/dist/native/index.native245.js +79 -2
- package/dist/native/index.native246.js +79 -2
- package/dist/native/index.native247.js +21 -2
- package/dist/native/index.native248.js +2 -21
- package/dist/native/index.native249.js +20 -2
- package/dist/native/index.native250.js +31 -18
- package/dist/native/index.native251.js +6 -32
- package/dist/native/index.native252.js +46 -6
- package/dist/native/index.native253.js +10 -3
- package/dist/native/index.native254.js +3 -46
- package/dist/native/index.native255.js +2 -18
- package/dist/native/index.native256.js +2 -28
- package/dist/native/index.native257.js +2 -8
- package/dist/native/index.native258.js +18 -11
- package/dist/native/index.native259.js +28 -13
- package/dist/native/index.native260.js +8 -10
- package/dist/native/index.native261.js +11 -17
- package/dist/native/index.native262.js +12 -80
- package/dist/native/index.native263.js +10 -5
- package/dist/native/index.native264.js +13 -75
- package/dist/native/index.native265.js +80 -14
- package/dist/native/index.native266.js +7 -0
- package/dist/native/index.native267.js +17 -0
- package/dist/native/index.native268.js +81 -0
- package/dist/native/index.native3.js +1 -1
- package/dist/native/index.native31.js +3 -2
- package/dist/native/index.native32.js +6 -5
- package/dist/native/index.native33.js +3 -2
- package/dist/native/index.native34.js +6 -5
- package/dist/native/index.native35.js +3 -2
- package/dist/native/index.native36.js +3 -2
- package/dist/native/index.native37.js +3 -2
- package/dist/native/index.native38.js +3 -2
- package/dist/native/index.native39.js +6 -5
- package/dist/native/index.native41.js +3 -2
- package/dist/native/index.native42.js +3 -2
- package/dist/native/index.native43.js +15 -12
- package/dist/native/index.native45.js +6 -5
- package/dist/native/index.native46.js +11 -10
- package/dist/native/index.native49.js +1 -1
- package/dist/native/index.native52.js +10 -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 +7 -6
- package/dist/native/index.native69.js +6 -5
- package/dist/native/index.native70.js +3 -2
- package/dist/native/index.native71.js +7 -6
- package/dist/native/index.native73.js +2 -2
- package/dist/native/index.native74.js +2 -2
- package/dist/native/index.native77.js +3 -2
- package/dist/native/index.native78.js +3 -2
- package/dist/native/index.native79.js +3 -2
- package/dist/native/index.native81.js +5 -4
- package/dist/native/index.native84.js +1 -1
- package/dist/native/index.native85.js +31 -21
- package/dist/native/index.native86.js +30 -20
- 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 +65 -31
- package/dist/native/index.native94.js +1 -1
- package/dist/native/index.native96.js +6 -5
- package/dist/native/index.native99.js +10 -9
- 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 +1 -0
- 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/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 +1 -0
- 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.web10.js +4 -3
- package/dist/web/index.web101.js +7 -6
- package/dist/web/index.web102.js +11 -10
- package/dist/web/index.web105.js +5 -4
- package/dist/web/index.web106.js +8 -7
- 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.web122.js +7 -6
- package/dist/web/index.web123.js +2 -2
- package/dist/web/index.web126.js +1 -1
- package/dist/web/index.web13.js +7 -7
- package/dist/web/index.web130.js +4 -3
- package/dist/web/index.web132.js +3 -2
- package/dist/web/index.web134.js +1 -1
- package/dist/web/index.web137.js +1 -1
- package/dist/web/index.web138.js +1 -1
- package/dist/web/index.web139.js +1 -1
- package/dist/web/index.web142.js +12 -12
- package/dist/web/index.web143.js +12 -12
- package/dist/web/index.web144.js +1 -1
- package/dist/web/index.web145.js +1 -1
- package/dist/web/index.web147.js +1 -1
- package/dist/web/index.web149.js +4 -4
- package/dist/web/index.web152.js +1 -1
- package/dist/web/index.web153.js +1 -1
- package/dist/web/index.web154.js +5 -5
- package/dist/web/index.web155.js +46 -11
- package/dist/web/index.web156.js +4 -11
- package/dist/web/index.web157.js +11 -53
- package/dist/web/index.web158.js +11 -10
- package/dist/web/index.web159.js +55 -2
- package/dist/web/index.web160.js +11 -45
- package/dist/web/index.web161.js +2 -14
- package/dist/web/index.web162.js +45 -5
- package/dist/web/index.web163.js +12 -46
- package/dist/web/index.web164.js +2 -15
- package/dist/web/index.web165.js +2 -29
- package/dist/web/index.web166.js +15 -7
- package/dist/web/index.web167.js +29 -3
- package/dist/web/index.web168.js +7 -28
- package/dist/web/index.web169.js +3 -8
- package/dist/web/index.web170.js +29 -7
- package/dist/web/index.web171.js +8 -80
- package/dist/web/index.web172.js +7 -28
- package/dist/web/index.web173.js +81 -3
- package/dist/web/index.web174.js +19 -5
- package/dist/web/index.web175.js +3 -4
- package/dist/web/index.web176.js +5 -3
- package/dist/web/index.web177.js +4 -19
- package/dist/web/index.web178.js +6 -52
- package/dist/web/index.web179.js +19 -17
- package/dist/web/index.web180.js +57 -18
- package/dist/web/index.web181.js +17 -8
- package/dist/web/index.web182.js +19 -38
- package/dist/web/index.web183.js +8 -7
- package/dist/web/index.web184.js +40 -17
- package/dist/web/index.web185.js +8 -2
- package/dist/web/index.web186.js +21 -2
- package/dist/web/index.web2.js +2 -2
- package/dist/web/index.web20.js +1 -1
- package/dist/web/index.web202.js +1 -1
- package/dist/web/index.web204.js +1 -1
- package/dist/web/index.web205.js +2 -2
- package/dist/web/index.web207.js +1 -1
- package/dist/web/index.web208.js +2 -2
- package/dist/web/index.web21.js +1 -1
- package/dist/web/index.web216.js +2 -2
- package/dist/web/index.web219.js +1 -1
- package/dist/web/index.web22.js +1 -1
- package/dist/web/index.web220.js +1 -1
- package/dist/web/index.web224.js +39 -2
- package/dist/web/index.web225.js +2 -109
- package/dist/web/index.web226.js +70 -2
- package/dist/web/index.web227.js +33 -102
- package/dist/web/index.web228.js +12 -76
- package/dist/web/index.web229.js +7 -78
- package/dist/web/index.web230.js +2 -21
- package/dist/web/index.web231.js +361 -10
- package/dist/web/index.web232.js +853 -20
- package/dist/web/index.web233.js +2 -94
- package/dist/web/index.web234.js +109 -21
- package/dist/web/index.web235.js +2 -118
- package/dist/web/index.web236.js +103 -38
- package/dist/web/index.web237.js +79 -2
- package/dist/web/index.web238.js +78 -69
- package/dist/web/index.web239.js +20 -34
- package/dist/web/index.web240.js +10 -15
- package/dist/web/index.web241.js +20 -8
- package/dist/web/index.web242.js +94 -2
- package/dist/web/index.web243.js +21 -361
- package/dist/web/index.web244.js +118 -853
- package/dist/web/index.web245.js +14 -40
- package/dist/web/index.web246.js +2 -21
- package/dist/web/index.web247.js +20 -2
- package/dist/web/index.web248.js +31 -18
- package/dist/web/index.web249.js +6 -32
- package/dist/web/index.web250.js +2 -7
- package/dist/web/index.web251.js +2 -4
- package/dist/web/index.web252.js +2 -18
- package/dist/web/index.web253.js +4 -28
- package/dist/web/index.web254.js +46 -7
- package/dist/web/index.web255.js +18 -11
- package/dist/web/index.web256.js +28 -13
- package/dist/web/index.web257.js +8 -10
- package/dist/web/index.web258.js +11 -17
- package/dist/web/index.web259.js +12 -80
- package/dist/web/index.web260.js +10 -2
- package/dist/web/index.web261.js +17 -2
- package/dist/web/index.web262.js +81 -2
- package/dist/web/index.web264.js +78 -14
- package/dist/web/index.web265.js +14 -78
- package/dist/web/index.web29.js +3 -2
- package/dist/web/index.web3.js +1 -1
- package/dist/web/index.web30.js +3 -2
- package/dist/web/index.web31.js +7 -6
- package/dist/web/index.web32.js +6 -5
- package/dist/web/index.web33.js +3 -2
- package/dist/web/index.web34.js +9 -8
- package/dist/web/index.web35.js +3 -2
- package/dist/web/index.web36.js +3 -2
- package/dist/web/index.web37.js +3 -2
- package/dist/web/index.web39.js +3 -2
- package/dist/web/index.web4.js +49 -48
- package/dist/web/index.web40.js +10 -9
- package/dist/web/index.web41.js +17 -14
- package/dist/web/index.web43.js +9 -8
- package/dist/web/index.web44.js +3 -2
- package/dist/web/index.web47.js +1 -1
- package/dist/web/index.web50.js +4 -3
- 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 +10 -9
- package/dist/web/index.web67.js +7 -6
- package/dist/web/index.web68.js +7 -6
- package/dist/web/index.web69.js +8 -7
- package/dist/web/index.web71.js +2 -2
- package/dist/web/index.web72.js +2 -2
- package/dist/web/index.web75.js +3 -2
- package/dist/web/index.web76.js +3 -2
- package/dist/web/index.web77.js +3 -2
- package/dist/web/index.web79.js +5 -4
- package/dist/web/index.web82.js +1 -1
- package/dist/web/index.web83.js +33 -22
- package/dist/web/index.web84.js +32 -21
- package/dist/web/index.web85.js +15 -13
- package/dist/web/index.web86.js +30 -24
- package/dist/web/index.web88.js +69 -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 +65 -31
- package/dist/web/index.web96.js +1 -1
- package/dist/web/index.web98.js +6 -5
- 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 +1 -0
- 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 +7 -7
|
@@ -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
|
*/
|
|
@@ -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
|
*/
|
|
@@ -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';
|
|
@@ -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
|
*/
|
|
@@ -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
|
@@ -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';
|
|
@@ -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
package/dist/web/index.web10.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { setCookieDomain as p, configureCdpApiClient as C, setAuthManager as S, getProjectConfig as
|
|
1
|
+
import { setCookieDomain as p, configureCdpApiClient as C, setAuthManager as S, getProjectConfig as v, APIError as m, getMfaConfig as M } from "@coinbase/cdp-api-client";
|
|
2
2
|
import { Analytics as d } from "./index.web2.js";
|
|
3
3
|
import "./index.web3.js";
|
|
4
4
|
import { createAuthManager as w } from "./index.web129.js";
|
|
@@ -24,6 +24,7 @@ const H = async (t) => {
|
|
|
24
24
|
enabled: !1,
|
|
25
25
|
totpConfig: { enabled: !1 },
|
|
26
26
|
smsConfig: { enabled: !1 },
|
|
27
|
+
verificationScope: "session",
|
|
27
28
|
verificationWindowSeconds: 300,
|
|
28
29
|
promptEnrollmentOnLogin: !1,
|
|
29
30
|
requireVerificationOnLogin: !1,
|
|
@@ -89,7 +90,7 @@ const H = async (t) => {
|
|
|
89
90
|
}
|
|
90
91
|
let s = null;
|
|
91
92
|
try {
|
|
92
|
-
s = await
|
|
93
|
+
s = await v(t.projectId);
|
|
93
94
|
} catch (e) {
|
|
94
95
|
(!(e instanceof m) || e.statusCode !== 404) && console.warn("Failed to get project config", e);
|
|
95
96
|
}
|
|
@@ -98,7 +99,7 @@ const H = async (t) => {
|
|
|
98
99
|
O().ensureInitialized(),
|
|
99
100
|
(async () => {
|
|
100
101
|
try {
|
|
101
|
-
return await
|
|
102
|
+
return await M(t.projectId);
|
|
102
103
|
} catch (e) {
|
|
103
104
|
return (!(e instanceof m) || e.statusCode !== 404) && console.warn("Failed to get MFA config", e), null;
|
|
104
105
|
}
|
package/dist/web/index.web101.js
CHANGED
|
@@ -2,20 +2,21 @@ import { createStore as a } from "zustand";
|
|
|
2
2
|
import { subscribeWithSelector as c, persist as d, createJSONStorage as h } from "./index.web124.js";
|
|
3
3
|
import { EventEmitter as f } from "./index.web125.js";
|
|
4
4
|
import "./index.web126.js";
|
|
5
|
+
import { createProvider as u } from "./index.web127.js";
|
|
5
6
|
import "viem";
|
|
6
7
|
import "@coinbase/cdp-api-client";
|
|
7
|
-
import { getPlatformStorage as
|
|
8
|
-
import { createProvider as g } from "./index.web127.js";
|
|
8
|
+
import { getPlatformStorage as g } from "./index.web5.js";
|
|
9
9
|
import { onAuthStateChange as l } from "./index.web27.js";
|
|
10
10
|
import "./index.web2.js";
|
|
11
11
|
import "./index.web3.js";
|
|
12
12
|
import "jose";
|
|
13
13
|
import "./index.web110.js";
|
|
14
14
|
import "./index.web104.js";
|
|
15
|
+
import "./index.web113.js";
|
|
15
16
|
import "./index.web111.js";
|
|
16
17
|
import "@solana/web3.js";
|
|
17
18
|
import "bs58";
|
|
18
|
-
function
|
|
19
|
+
function k(e) {
|
|
19
20
|
if (e.chains.length === 0)
|
|
20
21
|
throw new Error("At least one chain must be configured");
|
|
21
22
|
if (!e.transports)
|
|
@@ -23,7 +24,7 @@ function j(e) {
|
|
|
23
24
|
const o = e.chains, s = e.transports;
|
|
24
25
|
if (o.length === 0)
|
|
25
26
|
throw new Error("No chains found in configuration");
|
|
26
|
-
const m = new f(), i =
|
|
27
|
+
const m = new f(), i = g(), p = {
|
|
27
28
|
getItem: (t) => i.getItem(t),
|
|
28
29
|
setItem: (t, r) => i.setItem(t, r),
|
|
29
30
|
removeItem: (t) => i.removeItem(t)
|
|
@@ -47,12 +48,12 @@ function j(e) {
|
|
|
47
48
|
return n.persist.rehydrate(), l((t) => {
|
|
48
49
|
n.getState().setUser(t);
|
|
49
50
|
}), {
|
|
50
|
-
provider:
|
|
51
|
+
provider: u(m, n, {
|
|
51
52
|
chains: o,
|
|
52
53
|
transports: s
|
|
53
54
|
})
|
|
54
55
|
};
|
|
55
56
|
}
|
|
56
57
|
export {
|
|
57
|
-
|
|
58
|
+
k as createCDPEmbeddedWallet
|
|
58
59
|
};
|
package/dist/web/index.web102.js
CHANGED
|
@@ -7,6 +7,7 @@ import "jose";
|
|
|
7
7
|
import "./index.web110.js";
|
|
8
8
|
import { getCurrentUser as u } from "./index.web21.js";
|
|
9
9
|
import "./index.web104.js";
|
|
10
|
+
import "./index.web113.js";
|
|
10
11
|
import "./index.web111.js";
|
|
11
12
|
import "@solana/web3.js";
|
|
12
13
|
import "bs58";
|
|
@@ -77,7 +78,7 @@ const p = /* @__PURE__ */ new Set([
|
|
|
77
78
|
"wallet_getCallsStatus",
|
|
78
79
|
"wallet_getCapabilities"
|
|
79
80
|
]);
|
|
80
|
-
function
|
|
81
|
+
function S(e, { chains: t }) {
|
|
81
82
|
const { method: r, params: o } = e;
|
|
82
83
|
if (typeof r != "string" || r.length === 0)
|
|
83
84
|
throw new c(
|
|
@@ -110,7 +111,7 @@ async function d() {
|
|
|
110
111
|
);
|
|
111
112
|
return e;
|
|
112
113
|
}
|
|
113
|
-
async function
|
|
114
|
+
async function R(e) {
|
|
114
115
|
const t = await d(), r = e.toLowerCase(), o = t.evmAccountObjects?.some(
|
|
115
116
|
(i) => i.address.toLowerCase() === r
|
|
116
117
|
), a = t.evmSmartAccountObjects?.some(
|
|
@@ -123,7 +124,7 @@ async function S(e) {
|
|
|
123
124
|
);
|
|
124
125
|
return t;
|
|
125
126
|
}
|
|
126
|
-
async function
|
|
127
|
+
async function g(e) {
|
|
127
128
|
const t = await d(), r = e.toLowerCase();
|
|
128
129
|
if (!t.evmAccountObjects?.some((o) => o.address.toLowerCase() === r))
|
|
129
130
|
throw new s(
|
|
@@ -132,7 +133,7 @@ async function R(e) {
|
|
|
132
133
|
);
|
|
133
134
|
return t;
|
|
134
135
|
}
|
|
135
|
-
async function
|
|
136
|
+
async function z(e) {
|
|
136
137
|
const t = await d(), r = e.toLowerCase();
|
|
137
138
|
if (!t.evmSmartAccountObjects?.some(
|
|
138
139
|
(o) => o.address.toLowerCase() === r
|
|
@@ -143,7 +144,7 @@ async function g(e) {
|
|
|
143
144
|
);
|
|
144
145
|
return t;
|
|
145
146
|
}
|
|
146
|
-
async function
|
|
147
|
+
async function U() {
|
|
147
148
|
const e = await d();
|
|
148
149
|
if (!e.evmSmartAccountObjects?.[0])
|
|
149
150
|
throw new s(
|
|
@@ -156,10 +157,10 @@ export {
|
|
|
156
157
|
s as EIP1193ProviderError,
|
|
157
158
|
c as RPCRequestError,
|
|
158
159
|
n as STANDARD_ERROR_CODES,
|
|
159
|
-
|
|
160
|
+
S as validateRequest,
|
|
160
161
|
d as validateUserConnected,
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
162
|
+
U as validateUserHasEvmSmartAccount,
|
|
163
|
+
R as validateUserOwnsAddress,
|
|
164
|
+
g as validateUserOwnsEOA,
|
|
165
|
+
z as validateUserOwnsSmartAccount
|
|
165
166
|
};
|