@coinbase/cdp-core 0.0.35 → 0.0.37
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 +52 -8
- package/dist/esm/index.native.js +38 -36
- package/dist/esm/index.native100.js +117 -41
- package/dist/esm/index.native101.js +77 -16
- package/dist/esm/index.native102.js +9 -27
- package/dist/esm/index.native103.js +5 -8
- package/dist/esm/index.native104.js +18 -11
- package/dist/esm/index.native105.js +28 -13
- package/dist/esm/index.native106.js +8 -10
- package/dist/esm/index.native107.js +11 -17
- package/dist/esm/index.native108.js +12 -80
- package/dist/esm/index.native109.js +8 -77
- package/dist/esm/index.native110.js +19 -0
- package/dist/esm/index.native111.js +83 -0
- package/dist/esm/index.native112.js +15 -0
- package/dist/esm/index.native113.js +38 -0
- package/dist/esm/index.native114.js +44 -0
- package/dist/esm/index.native115.js +81 -0
- package/dist/esm/index.native13.js +3 -9
- package/dist/esm/index.native2.js +4 -5
- package/dist/esm/index.native20.js +13 -13
- package/dist/esm/index.native21.js +3 -3
- package/dist/esm/index.native24.js +2 -2
- package/dist/esm/index.native25.js +940 -149
- package/dist/esm/index.native26.js +2 -48
- package/dist/esm/index.native27.js +43 -243
- package/dist/esm/index.native28.js +27 -55
- package/dist/esm/index.native29.js +158 -15
- package/dist/esm/index.native30.js +46 -21
- package/dist/esm/index.native31.js +243 -44
- package/dist/esm/index.native32.js +56 -9
- package/dist/esm/index.native33.js +15 -16
- package/dist/esm/index.native34.js +19 -42
- package/dist/esm/index.native35.js +50 -13
- package/dist/esm/index.native36.js +2 -56
- package/dist/esm/index.native37.js +2 -7
- package/dist/esm/index.native38.js +8 -21
- package/dist/esm/index.native39.js +17 -11
- package/dist/esm/index.native40.js +45 -3
- package/dist/esm/index.native41.js +13 -3
- package/dist/esm/index.native42.js +52 -31
- package/dist/esm/index.native43.js +6 -12
- package/dist/esm/index.native44.js +21 -4
- package/dist/esm/index.native45.js +11 -28
- package/dist/esm/index.native46.js +3 -6
- package/dist/esm/index.native47.js +3 -24
- package/dist/esm/index.native48.js +34 -16
- package/dist/esm/index.native49.js +11 -53
- package/dist/esm/index.native50.js +4 -23
- package/dist/esm/index.native51.js +28 -11
- package/dist/esm/index.native52.js +6 -27
- package/dist/esm/index.native53.js +22 -40
- package/dist/esm/index.native54.js +16 -55
- package/dist/esm/index.native55.js +53 -126
- package/dist/esm/index.native56.js +22 -11
- package/dist/esm/index.native57.js +11 -104
- package/dist/esm/index.native58.js +27 -6
- package/dist/esm/index.native59.js +43 -3
- package/dist/esm/index.native6.js +236 -199
- package/dist/esm/index.native60.js +55 -14
- package/dist/esm/index.native61.js +126 -41
- package/dist/esm/index.native62.js +10 -76
- package/dist/esm/index.native63.js +105 -2
- package/dist/esm/index.native64.js +7 -2
- package/dist/esm/index.native65.js +3 -13
- package/dist/esm/index.native66.js +14 -37
- package/dist/esm/index.native67.js +41 -5
- package/dist/esm/index.native68.js +76 -32
- package/dist/esm/index.native69.js +2 -9
- package/dist/esm/index.native70.js +2 -11
- package/dist/esm/index.native71.js +12 -11
- package/dist/esm/index.native72.js +36 -12
- package/dist/esm/index.native73.js +5 -17
- package/dist/esm/index.native74.js +34 -5
- package/dist/esm/index.native75.js +9 -5
- package/dist/esm/index.native76.js +10 -10
- package/dist/esm/index.native77.js +11 -54
- package/dist/esm/index.native78.js +13 -10
- package/dist/esm/index.native79.js +19 -2
- package/dist/esm/index.native8.js +48 -48
- package/dist/esm/index.native80.js +6 -45
- package/dist/esm/index.native81.js +4 -13
- package/dist/esm/index.native82.js +11 -2
- package/dist/esm/index.native83.js +51 -17
- package/dist/esm/index.native84.js +10 -19
- package/dist/esm/index.native85.js +2 -80
- package/dist/esm/index.native86.js +44 -103
- package/dist/esm/index.native87.js +13 -32
- package/dist/esm/index.native88.js +2 -7
- package/dist/esm/index.native89.js +21 -10
- package/dist/esm/index.native90.js +18 -19
- package/dist/esm/index.native91.js +80 -10
- package/dist/esm/index.native92.js +101 -17
- package/dist/esm/index.native93.js +30 -91
- package/dist/esm/index.native94.js +7 -21
- package/dist/esm/index.native95.js +20 -117
- package/dist/esm/index.native96.js +10 -79
- package/dist/esm/index.native97.js +20 -5
- package/dist/esm/index.native98.js +92 -11
- package/dist/esm/index.native99.js +20 -35
- package/dist/esm/index.web.js +35 -33
- package/dist/esm/index.web100.js +6 -12
- package/dist/esm/index.web101.js +10 -10
- package/dist/esm/index.web102.js +15 -14
- package/dist/esm/index.web103.js +25 -78
- package/dist/esm/index.web104.js +6 -11
- package/dist/esm/index.web105.js +10 -35
- package/dist/esm/index.web106.js +11 -40
- package/dist/esm/index.web107.js +8 -77
- package/dist/esm/index.web108.js +19 -0
- package/dist/esm/index.web109.js +83 -0
- package/dist/esm/index.web110.js +7 -0
- package/dist/esm/index.web111.js +15 -0
- package/dist/esm/index.web112.js +38 -0
- package/dist/esm/index.web113.js +44 -0
- package/dist/esm/index.web114.js +81 -0
- package/dist/esm/index.web12.js +3 -16
- package/dist/esm/index.web13.js +15 -17
- package/dist/esm/index.web14.js +15 -116
- package/dist/esm/index.web15.js +116 -12
- package/dist/esm/index.web16.js +15 -42
- package/dist/esm/index.web17.js +42 -20
- package/dist/esm/index.web18.js +20 -172
- package/dist/esm/index.web19.js +170 -39
- package/dist/esm/index.web20.js +41 -49
- package/dist/esm/index.web21.js +47 -70
- package/dist/esm/index.web22.js +69 -23
- package/dist/esm/index.web23.js +22 -156
- package/dist/esm/index.web24.js +13 -44
- package/dist/esm/index.web25.js +18 -245
- package/dist/esm/index.web26.js +51 -56
- package/dist/esm/index.web27.js +158 -15
- package/dist/esm/index.web28.js +46 -21
- package/dist/esm/index.web29.js +243 -44
- package/dist/esm/index.web3.js +7 -7
- package/dist/esm/index.web30.js +56 -9
- package/dist/esm/index.web31.js +950 -17
- package/dist/esm/index.web32.js +2 -46
- package/dist/esm/index.web33.js +49 -13
- package/dist/esm/index.web34.js +27 -55
- package/dist/esm/index.web35.js +12 -6
- package/dist/esm/index.web36.js +11 -21
- package/dist/esm/index.web37.js +2 -12
- package/dist/esm/index.web38.js +2 -4
- package/dist/esm/index.web39.js +54 -3
- package/dist/esm/index.web40.js +10 -34
- package/dist/esm/index.web41.js +2 -13
- package/dist/esm/index.web42.js +45 -5
- package/dist/esm/index.web43.js +13 -28
- package/dist/esm/index.web44.js +8 -6
- package/dist/esm/index.web45.js +17 -24
- package/dist/esm/index.web46.js +45 -16
- package/dist/esm/index.web47.js +13 -54
- package/dist/esm/index.web48.js +53 -21
- package/dist/esm/index.web49.js +6 -11
- package/dist/esm/index.web5.js +236 -199
- package/dist/esm/index.web50.js +21 -27
- package/dist/esm/index.web51.js +3 -42
- package/dist/esm/index.web52.js +3 -55
- package/dist/esm/index.web53.js +33 -126
- package/dist/esm/index.web54.js +9 -9
- package/dist/esm/index.web55.js +4 -104
- package/dist/esm/index.web56.js +28 -6
- package/dist/esm/index.web57.js +7 -3
- package/dist/esm/index.web58.js +24 -14
- package/dist/esm/index.web59.js +16 -42
- package/dist/esm/index.web6.js +3 -3
- package/dist/esm/index.web60.js +52 -76
- package/dist/esm/index.web61.js +24 -2
- package/dist/esm/index.web62.js +12 -2
- package/dist/esm/index.web63.js +27 -12
- package/dist/esm/index.web64.js +39 -34
- package/dist/esm/index.web65.js +54 -5
- package/dist/esm/index.web66.js +126 -33
- package/dist/esm/index.web67.js +12 -8
- package/dist/esm/index.web68.js +104 -10
- package/dist/esm/index.web69.js +6 -11
- package/dist/esm/index.web7.js +48 -48
- package/dist/esm/index.web70.js +3 -14
- package/dist/esm/index.web71.js +14 -18
- package/dist/esm/index.web72.js +42 -5
- package/dist/esm/index.web73.js +79 -5
- package/dist/esm/index.web74.js +2 -11
- package/dist/esm/index.web75.js +2 -55
- package/dist/esm/index.web76.js +37 -10
- package/dist/esm/index.web77.js +7 -2
- package/dist/esm/index.web78.js +34 -44
- package/dist/esm/index.web79.js +8 -13
- package/dist/esm/index.web80.js +11 -2
- package/dist/esm/index.web81.js +11 -20
- package/dist/esm/index.web82.js +13 -19
- package/dist/esm/index.web83.js +18 -79
- package/dist/esm/index.web84.js +5 -103
- package/dist/esm/index.web85.js +5 -33
- package/dist/esm/index.web86.js +10 -6
- package/dist/esm/index.web87.js +102 -19
- package/dist/esm/index.web88.js +79 -10
- package/dist/esm/index.web89.js +80 -20
- package/dist/esm/index.web9.js +3 -3
- package/dist/esm/index.web90.js +20 -93
- package/dist/esm/index.web91.js +9 -20
- package/dist/esm/index.web92.js +16 -114
- package/dist/esm/index.web93.js +90 -75
- package/dist/esm/index.web94.js +20 -9
- package/dist/esm/index.web95.js +118 -5
- package/dist/esm/index.web96.js +2 -18
- package/dist/esm/index.web97.js +20 -27
- package/dist/esm/index.web98.js +19 -7
- package/dist/esm/index.web99.js +32 -10
- package/dist/native/index.native.js +38 -36
- package/dist/native/index.native100.js +117 -41
- package/dist/native/index.native101.js +77 -16
- package/dist/native/index.native102.js +9 -27
- package/dist/native/index.native103.js +5 -8
- package/dist/native/index.native104.js +18 -11
- package/dist/native/index.native105.js +28 -13
- package/dist/native/index.native106.js +8 -10
- package/dist/native/index.native107.js +11 -17
- package/dist/native/index.native108.js +12 -80
- package/dist/native/index.native109.js +8 -77
- package/dist/native/index.native110.js +19 -0
- package/dist/native/index.native111.js +83 -0
- package/dist/native/index.native112.js +15 -0
- package/dist/native/index.native113.js +38 -0
- package/dist/native/index.native114.js +44 -0
- package/dist/native/index.native115.js +81 -0
- package/dist/native/index.native13.js +3 -9
- package/dist/native/index.native2.js +4 -5
- package/dist/native/index.native20.js +13 -13
- package/dist/native/index.native21.js +3 -3
- package/dist/native/index.native24.js +2 -2
- package/dist/native/index.native25.js +940 -149
- package/dist/native/index.native26.js +2 -48
- package/dist/native/index.native27.js +43 -243
- package/dist/native/index.native28.js +27 -55
- package/dist/native/index.native29.js +158 -15
- package/dist/native/index.native30.js +46 -21
- package/dist/native/index.native31.js +243 -44
- package/dist/native/index.native32.js +56 -9
- package/dist/native/index.native33.js +15 -16
- package/dist/native/index.native34.js +19 -42
- package/dist/native/index.native35.js +50 -13
- package/dist/native/index.native36.js +2 -56
- package/dist/native/index.native37.js +2 -7
- package/dist/native/index.native38.js +8 -21
- package/dist/native/index.native39.js +17 -11
- package/dist/native/index.native40.js +45 -3
- package/dist/native/index.native41.js +13 -3
- package/dist/native/index.native42.js +52 -31
- package/dist/native/index.native43.js +6 -12
- package/dist/native/index.native44.js +21 -4
- package/dist/native/index.native45.js +11 -28
- package/dist/native/index.native46.js +3 -6
- package/dist/native/index.native47.js +3 -24
- package/dist/native/index.native48.js +34 -16
- package/dist/native/index.native49.js +11 -53
- package/dist/native/index.native50.js +4 -23
- package/dist/native/index.native51.js +28 -11
- package/dist/native/index.native52.js +6 -27
- package/dist/native/index.native53.js +22 -40
- package/dist/native/index.native54.js +16 -55
- package/dist/native/index.native55.js +53 -126
- package/dist/native/index.native56.js +22 -11
- package/dist/native/index.native57.js +11 -104
- package/dist/native/index.native58.js +27 -6
- package/dist/native/index.native59.js +43 -3
- package/dist/native/index.native6.js +236 -199
- package/dist/native/index.native60.js +55 -14
- package/dist/native/index.native61.js +126 -41
- package/dist/native/index.native62.js +10 -76
- package/dist/native/index.native63.js +105 -2
- package/dist/native/index.native64.js +7 -2
- package/dist/native/index.native65.js +3 -13
- package/dist/native/index.native66.js +14 -37
- package/dist/native/index.native67.js +41 -5
- package/dist/native/index.native68.js +76 -32
- package/dist/native/index.native69.js +2 -9
- package/dist/native/index.native70.js +2 -11
- package/dist/native/index.native71.js +12 -11
- package/dist/native/index.native72.js +36 -12
- package/dist/native/index.native73.js +5 -17
- package/dist/native/index.native74.js +34 -5
- package/dist/native/index.native75.js +9 -5
- package/dist/native/index.native76.js +10 -10
- package/dist/native/index.native77.js +11 -54
- package/dist/native/index.native78.js +13 -10
- package/dist/native/index.native79.js +19 -2
- package/dist/native/index.native8.js +48 -48
- package/dist/native/index.native80.js +6 -45
- package/dist/native/index.native81.js +4 -13
- package/dist/native/index.native82.js +11 -2
- package/dist/native/index.native83.js +51 -17
- package/dist/native/index.native84.js +10 -19
- package/dist/native/index.native85.js +2 -80
- package/dist/native/index.native86.js +44 -103
- package/dist/native/index.native87.js +13 -32
- package/dist/native/index.native88.js +2 -7
- package/dist/native/index.native89.js +21 -10
- package/dist/native/index.native90.js +18 -19
- package/dist/native/index.native91.js +80 -10
- package/dist/native/index.native92.js +101 -17
- package/dist/native/index.native93.js +30 -91
- package/dist/native/index.native94.js +7 -21
- package/dist/native/index.native95.js +20 -117
- package/dist/native/index.native96.js +10 -79
- package/dist/native/index.native97.js +20 -5
- package/dist/native/index.native98.js +92 -11
- package/dist/native/index.native99.js +20 -35
- package/dist/native-types/core.d.ts +3 -1
- package/dist/native-types/platform/types.d.ts +1 -1
- package/dist/native-types/types.d.ts +32 -2
- package/dist/types/core.d.ts +3 -1
- package/dist/types/platform/types.d.ts +1 -1
- package/dist/types/types.d.ts +32 -2
- package/dist/web/index.web.js +35 -33
- package/dist/web/index.web100.js +6 -12
- package/dist/web/index.web101.js +10 -10
- package/dist/web/index.web102.js +15 -14
- package/dist/web/index.web103.js +25 -78
- package/dist/web/index.web104.js +6 -11
- package/dist/web/index.web105.js +10 -35
- package/dist/web/index.web106.js +11 -40
- package/dist/web/index.web107.js +8 -77
- package/dist/web/index.web108.js +19 -0
- package/dist/web/index.web109.js +83 -0
- package/dist/web/index.web110.js +7 -0
- package/dist/web/index.web111.js +15 -0
- package/dist/web/index.web112.js +38 -0
- package/dist/web/index.web113.js +44 -0
- package/dist/web/index.web114.js +81 -0
- package/dist/web/index.web12.js +3 -16
- package/dist/web/index.web13.js +15 -17
- package/dist/web/index.web14.js +15 -116
- package/dist/web/index.web15.js +116 -12
- package/dist/web/index.web16.js +15 -42
- package/dist/web/index.web17.js +42 -20
- package/dist/web/index.web18.js +20 -172
- package/dist/web/index.web19.js +170 -39
- package/dist/web/index.web20.js +41 -49
- package/dist/web/index.web21.js +47 -70
- package/dist/web/index.web22.js +69 -23
- package/dist/web/index.web23.js +22 -156
- package/dist/web/index.web24.js +13 -44
- package/dist/web/index.web25.js +18 -245
- package/dist/web/index.web26.js +51 -56
- package/dist/web/index.web27.js +158 -15
- package/dist/web/index.web28.js +46 -21
- package/dist/web/index.web29.js +243 -44
- package/dist/web/index.web3.js +7 -7
- package/dist/web/index.web30.js +56 -9
- package/dist/web/index.web31.js +950 -17
- package/dist/web/index.web32.js +2 -46
- package/dist/web/index.web33.js +49 -13
- package/dist/web/index.web34.js +27 -55
- package/dist/web/index.web35.js +12 -6
- package/dist/web/index.web36.js +11 -21
- package/dist/web/index.web37.js +2 -12
- package/dist/web/index.web38.js +2 -4
- package/dist/web/index.web39.js +54 -3
- package/dist/web/index.web40.js +10 -34
- package/dist/web/index.web41.js +2 -13
- package/dist/web/index.web42.js +45 -5
- package/dist/web/index.web43.js +13 -28
- package/dist/web/index.web44.js +8 -6
- package/dist/web/index.web45.js +17 -24
- package/dist/web/index.web46.js +45 -16
- package/dist/web/index.web47.js +13 -54
- package/dist/web/index.web48.js +53 -21
- package/dist/web/index.web49.js +6 -11
- package/dist/web/index.web5.js +236 -199
- package/dist/web/index.web50.js +21 -27
- package/dist/web/index.web51.js +3 -42
- package/dist/web/index.web52.js +3 -55
- package/dist/web/index.web53.js +33 -126
- package/dist/web/index.web54.js +9 -9
- package/dist/web/index.web55.js +4 -104
- package/dist/web/index.web56.js +28 -6
- package/dist/web/index.web57.js +7 -3
- package/dist/web/index.web58.js +24 -14
- package/dist/web/index.web59.js +16 -42
- package/dist/web/index.web6.js +3 -3
- package/dist/web/index.web60.js +52 -76
- package/dist/web/index.web61.js +24 -2
- package/dist/web/index.web62.js +12 -2
- package/dist/web/index.web63.js +27 -12
- package/dist/web/index.web64.js +39 -34
- package/dist/web/index.web65.js +54 -5
- package/dist/web/index.web66.js +126 -33
- package/dist/web/index.web67.js +12 -8
- package/dist/web/index.web68.js +104 -10
- package/dist/web/index.web69.js +6 -11
- package/dist/web/index.web7.js +48 -48
- package/dist/web/index.web70.js +3 -14
- package/dist/web/index.web71.js +14 -18
- package/dist/web/index.web72.js +42 -5
- package/dist/web/index.web73.js +79 -5
- package/dist/web/index.web74.js +2 -11
- package/dist/web/index.web75.js +2 -55
- package/dist/web/index.web76.js +37 -10
- package/dist/web/index.web77.js +7 -2
- package/dist/web/index.web78.js +34 -44
- package/dist/web/index.web79.js +8 -13
- package/dist/web/index.web80.js +11 -2
- package/dist/web/index.web81.js +11 -20
- package/dist/web/index.web82.js +13 -19
- package/dist/web/index.web83.js +18 -79
- package/dist/web/index.web84.js +5 -103
- package/dist/web/index.web85.js +5 -33
- package/dist/web/index.web86.js +10 -6
- package/dist/web/index.web87.js +102 -19
- package/dist/web/index.web88.js +79 -10
- package/dist/web/index.web89.js +80 -20
- package/dist/web/index.web9.js +3 -3
- package/dist/web/index.web90.js +20 -93
- package/dist/web/index.web91.js +9 -20
- package/dist/web/index.web92.js +16 -114
- package/dist/web/index.web93.js +90 -75
- package/dist/web/index.web94.js +20 -9
- package/dist/web/index.web95.js +118 -5
- package/dist/web/index.web96.js +2 -18
- package/dist/web/index.web97.js +20 -27
- package/dist/web/index.web98.js +19 -7
- package/dist/web/index.web99.js +32 -10
- package/dist/web-types/core.d.ts +3 -1
- package/dist/web-types/platform/types.d.ts +1 -1
- package/dist/web-types/types.d.ts +32 -2
- package/package.json +9 -7
package/README.md
CHANGED
|
@@ -56,13 +56,15 @@ You can configure the SDK to create different types of accounts for new users:
|
|
|
56
56
|
```ts lines
|
|
57
57
|
const config: Config = {
|
|
58
58
|
projectId: "your-project-id",
|
|
59
|
-
|
|
59
|
+
ethereum: {
|
|
60
|
+
createOnLogin: "smart", // Creates Smart Accounts instead of EOAs
|
|
61
|
+
},
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
await initialize(config);
|
|
63
65
|
```
|
|
64
66
|
|
|
65
|
-
When `
|
|
67
|
+
When `ethereum.createOnLogin` is set to `"smart"`, the SDK will:
|
|
66
68
|
1. Create an EOA (Externally Owned Account) first
|
|
67
69
|
2. Use that EOA as the owner to create a Smart Account
|
|
68
70
|
3. Both accounts will be available on the user object
|
|
@@ -71,13 +73,15 @@ When `createAccountOnLogin` is set to `"evm-smart"`, the SDK will:
|
|
|
71
73
|
```ts lines
|
|
72
74
|
const config: Config = {
|
|
73
75
|
projectId: "your-project-id",
|
|
74
|
-
|
|
76
|
+
solana: {
|
|
77
|
+
createOnLogin: true, // Creates Solana accounts
|
|
78
|
+
},
|
|
75
79
|
}
|
|
76
80
|
|
|
77
81
|
await initialize(config);
|
|
78
82
|
```
|
|
79
83
|
|
|
80
|
-
When `
|
|
84
|
+
When `solana.createOnLogin` is set to `true`, the SDK will:
|
|
81
85
|
1. Create a Solana account for new users
|
|
82
86
|
2. The Solana account will be available on the `solanaAccounts` property
|
|
83
87
|
|
|
@@ -213,7 +217,7 @@ Smart Accounts provide advanced account abstraction features, including user ope
|
|
|
213
217
|
|
|
214
218
|
### Sign a Solana Transaction
|
|
215
219
|
|
|
216
|
-
When your application is configured with `
|
|
220
|
+
When your application is configured with `solana: { createOnLogin: true }`, you can sign Solana transactions:
|
|
217
221
|
|
|
218
222
|
```typescript lines
|
|
219
223
|
import { signSolanaTransaction, getCurrentUser } from "@coinbase/cdp-core";
|
|
@@ -230,6 +234,26 @@ console.log("Signed Transaction:", result.signedTransaction);
|
|
|
230
234
|
// The signedTransaction can now be broadcast to the Solana network
|
|
231
235
|
```
|
|
232
236
|
|
|
237
|
+
### Sign a Solana Message
|
|
238
|
+
|
|
239
|
+
You can also sign arbitrary messages with Solana accounts:
|
|
240
|
+
|
|
241
|
+
```typescript lines
|
|
242
|
+
import { signSolanaMessage, getCurrentUser } from "@coinbase/cdp-core";
|
|
243
|
+
|
|
244
|
+
const user = await getCurrentUser();
|
|
245
|
+
const solanaAccount = user.solanaAccounts[0];
|
|
246
|
+
|
|
247
|
+
const message = Buffer.from("Hello, Solana!", "utf8").toString("base64");
|
|
248
|
+
const result = await signSolanaMessage({
|
|
249
|
+
solanaAccount,
|
|
250
|
+
message // Base64 encoded message to sign
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
console.log("Message Signature:", result.signature);
|
|
254
|
+
// The signature can be used for authentication or verification purposes
|
|
255
|
+
```
|
|
256
|
+
|
|
233
257
|
### Send a Solana Transaction
|
|
234
258
|
|
|
235
259
|
You can sign and send a Solana transaction in a single call on the following Solana networks:
|
|
@@ -343,9 +367,11 @@ const typedDataResult = await signEvmTypedData({
|
|
|
343
367
|
});
|
|
344
368
|
```
|
|
345
369
|
|
|
346
|
-
### Export Private
|
|
370
|
+
### Export Private Keys
|
|
371
|
+
|
|
372
|
+
End users can export their private keys from their embedded wallet, allowing them to import them into compatible wallets of their choice.
|
|
347
373
|
|
|
348
|
-
|
|
374
|
+
#### Export EVM Private Key
|
|
349
375
|
|
|
350
376
|
```typescript lines
|
|
351
377
|
import { exportEvmAccount, getCurrentUser } from "@coinbase/cdp-core";
|
|
@@ -358,7 +384,25 @@ const { privateKey } = await exportEvmAccount({
|
|
|
358
384
|
});
|
|
359
385
|
|
|
360
386
|
// WARNING: Handle private keys with extreme care!
|
|
361
|
-
console.log("Private Key:", privateKey);
|
|
387
|
+
console.log("EVM Private Key:", privateKey);
|
|
388
|
+
```
|
|
389
|
+
|
|
390
|
+
#### Export Solana Private Key
|
|
391
|
+
|
|
392
|
+
When your application is configured with `solana: { createOnLogin: true }`, you can export Solana private keys:
|
|
393
|
+
|
|
394
|
+
```typescript lines
|
|
395
|
+
import { exportSolanaAccount, getCurrentUser } from "@coinbase/cdp-core";
|
|
396
|
+
|
|
397
|
+
const user = await getCurrentUser();
|
|
398
|
+
const solanaAccount = user.solanaAccounts[0];
|
|
399
|
+
|
|
400
|
+
const { privateKey } = await exportSolanaAccount({
|
|
401
|
+
solanaAccount
|
|
402
|
+
});
|
|
403
|
+
|
|
404
|
+
// WARNING: Handle private keys with extreme care!
|
|
405
|
+
console.log("Solana Private Key:", privateKey);
|
|
362
406
|
```
|
|
363
407
|
|
|
364
408
|
### EIP-1193 Provider
|
package/dist/esm/index.native.js
CHANGED
|
@@ -2,51 +2,53 @@ import { nativeCrypto as r } from "./index.native2.js";
|
|
|
2
2
|
import { nativeSecureStorage as o } from "./index.native3.js";
|
|
3
3
|
import { nativeStorage as e } from "./index.native4.js";
|
|
4
4
|
import { setPlatformServices as t } from "./index.native5.js";
|
|
5
|
-
import { exportEvmAccount as d, getAccessToken as
|
|
6
|
-
import { AuthManager as
|
|
7
|
-
import { APIError as
|
|
5
|
+
import { exportEvmAccount as S, exportSolanaAccount as d, getAccessToken as f, getCurrentUser as v, getUserOperation as l, initialize as u, isSignedIn as T, onAuthStateChange as A, sendEvmTransaction as x, sendSolanaTransaction as y, sendUserOperation as h, signEvmHash as O, signEvmMessage as P, signEvmTransaction as C, signEvmTypedData as D, signInWithEmail as I, signInWithSms as R, signOut as U, signSolanaMessage as W, signSolanaTransaction as M, verifyEmailOTP as k, verifySmsOTP as N } from "./index.native6.js";
|
|
6
|
+
import { AuthManager as B } from "./index.native7.js";
|
|
7
|
+
import { APIError as _, ErrorType as b, HttpErrorType as z, SendEvmTransactionWithEndUserAccountBodyNetwork as V, SendSolanaTransactionWithEndUserAccountBodyNetwork as j } from "@coinbase/cdp-api-client";
|
|
8
8
|
import "viem";
|
|
9
|
-
import { createCDPEmbeddedWallet as
|
|
10
|
-
import { EIP1193ProviderError as
|
|
9
|
+
import { createCDPEmbeddedWallet as F } from "./index.native8.js";
|
|
10
|
+
import { EIP1193ProviderError as J, STANDARD_ERROR_CODES as K } from "./index.native9.js";
|
|
11
11
|
import "ox";
|
|
12
12
|
import "zustand";
|
|
13
|
-
import { toViemAccount as
|
|
14
|
-
import { ModuleResolutionError as
|
|
13
|
+
import { toViemAccount as Q } from "./index.native10.js";
|
|
14
|
+
import { ModuleResolutionError as Y } from "./index.native11.js";
|
|
15
15
|
t({
|
|
16
16
|
crypto: r,
|
|
17
17
|
storage: e,
|
|
18
18
|
secureStorage: o
|
|
19
19
|
});
|
|
20
20
|
export {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
f as
|
|
34
|
-
v as
|
|
35
|
-
|
|
36
|
-
u as
|
|
37
|
-
|
|
38
|
-
A as
|
|
21
|
+
_ as APIError,
|
|
22
|
+
B as AuthManager,
|
|
23
|
+
J as EIP1193ProviderError,
|
|
24
|
+
b as ErrorType,
|
|
25
|
+
z as HttpErrorType,
|
|
26
|
+
Y as ModuleResolutionError,
|
|
27
|
+
K as STANDARD_ERROR_CODES,
|
|
28
|
+
V as SendEvmTransactionWithEndUserAccountBodyNetwork,
|
|
29
|
+
j as SendSolanaTransactionWithEndUserAccountBodyNetwork,
|
|
30
|
+
F as createCDPEmbeddedWallet,
|
|
31
|
+
S as exportEvmAccount,
|
|
32
|
+
d as exportSolanaAccount,
|
|
33
|
+
f as getAccessToken,
|
|
34
|
+
v as getCurrentUser,
|
|
35
|
+
l as getUserOperation,
|
|
36
|
+
u as initialize,
|
|
37
|
+
T as isSignedIn,
|
|
38
|
+
A as onAuthStateChange,
|
|
39
|
+
x as sendEvmTransaction,
|
|
39
40
|
y as sendSolanaTransaction,
|
|
40
41
|
h as sendUserOperation,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
k as
|
|
42
|
+
O as signEvmHash,
|
|
43
|
+
P as signEvmMessage,
|
|
44
|
+
C as signEvmTransaction,
|
|
45
|
+
D as signEvmTypedData,
|
|
46
|
+
I as signInWithEmail,
|
|
47
|
+
R as signInWithSms,
|
|
48
|
+
U as signOut,
|
|
49
|
+
W as signSolanaMessage,
|
|
50
|
+
M as signSolanaTransaction,
|
|
51
|
+
Q as toViemAccount,
|
|
52
|
+
k as verifyEmailOTP,
|
|
53
|
+
N as verifySmsOTP
|
|
52
54
|
};
|
|
@@ -1,44 +1,120 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { isJWK as p } from "./index.native110.js";
|
|
2
|
+
import { decode as m } from "./index.native95.js";
|
|
3
|
+
import y from "./index.native111.js";
|
|
4
|
+
import { isCryptoKey as S, isKeyObject as K } from "./index.native109.js";
|
|
5
|
+
let c;
|
|
6
|
+
const f = async (e, r, s, i = !1) => {
|
|
7
|
+
c ||= /* @__PURE__ */ new WeakMap();
|
|
8
|
+
let n = c.get(e);
|
|
9
|
+
if (n?.[s])
|
|
10
|
+
return n[s];
|
|
11
|
+
const t = await y({ ...r, alg: s });
|
|
12
|
+
return i && Object.freeze(e), n ? n[s] = t : c.set(e, { [s]: t }), t;
|
|
13
|
+
}, E = (e, r) => {
|
|
14
|
+
c ||= /* @__PURE__ */ new WeakMap();
|
|
15
|
+
let s = c.get(e);
|
|
16
|
+
if (s?.[r])
|
|
17
|
+
return s[r];
|
|
18
|
+
const i = e.type === "public", n = !!i;
|
|
19
|
+
let t;
|
|
20
|
+
if (e.asymmetricKeyType === "x25519") {
|
|
21
|
+
switch (r) {
|
|
22
|
+
case "ECDH-ES":
|
|
23
|
+
case "ECDH-ES+A128KW":
|
|
24
|
+
case "ECDH-ES+A192KW":
|
|
25
|
+
case "ECDH-ES+A256KW":
|
|
26
|
+
break;
|
|
27
|
+
default:
|
|
28
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
29
|
+
}
|
|
30
|
+
t = e.toCryptoKey(e.asymmetricKeyType, n, i ? [] : ["deriveBits"]);
|
|
31
|
+
}
|
|
32
|
+
if (e.asymmetricKeyType === "ed25519") {
|
|
33
|
+
if (r !== "EdDSA" && r !== "Ed25519")
|
|
34
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
35
|
+
t = e.toCryptoKey(e.asymmetricKeyType, n, [
|
|
36
|
+
i ? "verify" : "sign"
|
|
37
|
+
]);
|
|
38
|
+
}
|
|
39
|
+
if (e.asymmetricKeyType === "rsa") {
|
|
40
|
+
let a;
|
|
41
|
+
switch (r) {
|
|
42
|
+
case "RSA-OAEP":
|
|
43
|
+
a = "SHA-1";
|
|
44
|
+
break;
|
|
45
|
+
case "RS256":
|
|
46
|
+
case "PS256":
|
|
47
|
+
case "RSA-OAEP-256":
|
|
48
|
+
a = "SHA-256";
|
|
49
|
+
break;
|
|
50
|
+
case "RS384":
|
|
51
|
+
case "PS384":
|
|
52
|
+
case "RSA-OAEP-384":
|
|
53
|
+
a = "SHA-384";
|
|
54
|
+
break;
|
|
55
|
+
case "RS512":
|
|
56
|
+
case "PS512":
|
|
57
|
+
case "RSA-OAEP-512":
|
|
58
|
+
a = "SHA-512";
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
62
|
+
}
|
|
63
|
+
if (r.startsWith("RSA-OAEP"))
|
|
64
|
+
return e.toCryptoKey({
|
|
65
|
+
name: "RSA-OAEP",
|
|
66
|
+
hash: a
|
|
67
|
+
}, n, i ? ["encrypt"] : ["decrypt"]);
|
|
68
|
+
t = e.toCryptoKey({
|
|
69
|
+
name: r.startsWith("PS") ? "RSA-PSS" : "RSASSA-PKCS1-v1_5",
|
|
70
|
+
hash: a
|
|
71
|
+
}, n, [i ? "verify" : "sign"]);
|
|
72
|
+
}
|
|
73
|
+
if (e.asymmetricKeyType === "ec") {
|
|
74
|
+
const o = (/* @__PURE__ */ new Map([
|
|
75
|
+
["prime256v1", "P-256"],
|
|
76
|
+
["secp384r1", "P-384"],
|
|
77
|
+
["secp521r1", "P-521"]
|
|
78
|
+
])).get(e.asymmetricKeyDetails?.namedCurve);
|
|
79
|
+
if (!o)
|
|
80
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
81
|
+
r === "ES256" && o === "P-256" && (t = e.toCryptoKey({
|
|
82
|
+
name: "ECDSA",
|
|
83
|
+
namedCurve: o
|
|
84
|
+
}, n, [i ? "verify" : "sign"])), r === "ES384" && o === "P-384" && (t = e.toCryptoKey({
|
|
85
|
+
name: "ECDSA",
|
|
86
|
+
namedCurve: o
|
|
87
|
+
}, n, [i ? "verify" : "sign"])), r === "ES512" && o === "P-521" && (t = e.toCryptoKey({
|
|
88
|
+
name: "ECDSA",
|
|
89
|
+
namedCurve: o
|
|
90
|
+
}, n, [i ? "verify" : "sign"])), r.startsWith("ECDH-ES") && (t = e.toCryptoKey({
|
|
91
|
+
name: "ECDH",
|
|
92
|
+
namedCurve: o
|
|
93
|
+
}, n, i ? [] : ["deriveBits"]));
|
|
94
|
+
}
|
|
95
|
+
if (!t)
|
|
96
|
+
throw new TypeError("given KeyObject instance cannot be used for this algorithm");
|
|
97
|
+
return s ? s[r] = t : c.set(e, { [r]: t }), t;
|
|
98
|
+
}, d = async (e, r) => {
|
|
99
|
+
if (e instanceof Uint8Array || S(e))
|
|
100
|
+
return e;
|
|
101
|
+
if (K(e)) {
|
|
102
|
+
if (e.type === "secret")
|
|
103
|
+
return e.export();
|
|
104
|
+
if ("toCryptoKey" in e && typeof e.toCryptoKey == "function")
|
|
105
|
+
try {
|
|
106
|
+
return E(e, r);
|
|
107
|
+
} catch (i) {
|
|
108
|
+
if (i instanceof TypeError)
|
|
109
|
+
throw i;
|
|
110
|
+
}
|
|
111
|
+
let s = e.export({ format: "jwk" });
|
|
112
|
+
return f(e, s, r);
|
|
113
|
+
}
|
|
114
|
+
if (p(e))
|
|
115
|
+
return e.k ? m(e.k) : f(e, e, r, !0);
|
|
116
|
+
throw new Error("unreachable");
|
|
12
117
|
};
|
|
13
|
-
function z(r) {
|
|
14
|
-
w(r);
|
|
15
|
-
const { sourceHash: e, data: o, from: m, gas: t, isSystemTx: u, mint: s, to: c, value: n } = r, d = [
|
|
16
|
-
e,
|
|
17
|
-
m,
|
|
18
|
-
c ?? "0x",
|
|
19
|
-
s ? i(s) : "0x",
|
|
20
|
-
n ? i(n) : "0x",
|
|
21
|
-
t ? i(t) : "0x",
|
|
22
|
-
u ? "0x1" : "0x",
|
|
23
|
-
o ?? "0x"
|
|
24
|
-
];
|
|
25
|
-
return p([
|
|
26
|
-
"0x7e",
|
|
27
|
-
x(d)
|
|
28
|
-
]);
|
|
29
|
-
}
|
|
30
|
-
function h(r) {
|
|
31
|
-
return r.type === "deposit" || typeof r.sourceHash < "u";
|
|
32
|
-
}
|
|
33
|
-
function w(r) {
|
|
34
|
-
const { from: e, to: o } = r;
|
|
35
|
-
if (e && !f(e))
|
|
36
|
-
throw new a({ address: e });
|
|
37
|
-
if (o && !f(o))
|
|
38
|
-
throw new a({ address: o });
|
|
39
|
-
}
|
|
40
118
|
export {
|
|
41
|
-
|
|
42
|
-
T as serializeTransaction,
|
|
43
|
-
E as serializers
|
|
119
|
+
d as default
|
|
44
120
|
};
|
|
@@ -1,20 +1,81 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
return btoa(n.join(""));
|
|
1
|
+
import { Hash as g, createView as l, aexists as b, toBytes as a, abytes as d, aoutput as x, clean as w } from "./index.native91.js";
|
|
2
|
+
function y(o, t, s, n) {
|
|
3
|
+
if (typeof o.setBigUint64 == "function")
|
|
4
|
+
return o.setBigUint64(t, s, n);
|
|
5
|
+
const i = BigInt(32), h = BigInt(4294967295), e = Number(s >> i & h), r = Number(s & h), c = n ? 4 : 0, u = n ? 0 : 4;
|
|
6
|
+
o.setUint32(t + c, e, n), o.setUint32(t + u, r, n);
|
|
8
7
|
}
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
return Uint8Array.fromBase64(t);
|
|
12
|
-
const e = atob(t), n = new Uint8Array(e.length);
|
|
13
|
-
for (let r = 0; r < e.length; r++)
|
|
14
|
-
n[r] = e.charCodeAt(r);
|
|
15
|
-
return n;
|
|
8
|
+
function U(o, t, s) {
|
|
9
|
+
return o & t ^ ~o & s;
|
|
16
10
|
}
|
|
11
|
+
function _(o, t, s) {
|
|
12
|
+
return o & t ^ o & s ^ t & s;
|
|
13
|
+
}
|
|
14
|
+
class m extends g {
|
|
15
|
+
constructor(t, s, n, i) {
|
|
16
|
+
super(), this.finished = !1, this.length = 0, this.pos = 0, this.destroyed = !1, this.blockLen = t, this.outputLen = s, this.padOffset = n, this.isLE = i, this.buffer = new Uint8Array(t), this.view = l(this.buffer);
|
|
17
|
+
}
|
|
18
|
+
update(t) {
|
|
19
|
+
b(this), t = a(t), d(t);
|
|
20
|
+
const { view: s, buffer: n, blockLen: i } = this, h = t.length;
|
|
21
|
+
for (let e = 0; e < h; ) {
|
|
22
|
+
const r = Math.min(i - this.pos, h - e);
|
|
23
|
+
if (r === i) {
|
|
24
|
+
const c = l(t);
|
|
25
|
+
for (; i <= h - e; e += i)
|
|
26
|
+
this.process(c, e);
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
n.set(t.subarray(e, e + r), this.pos), this.pos += r, e += r, this.pos === i && (this.process(s, 0), this.pos = 0);
|
|
30
|
+
}
|
|
31
|
+
return this.length += t.length, this.roundClean(), this;
|
|
32
|
+
}
|
|
33
|
+
digestInto(t) {
|
|
34
|
+
b(this), x(t, this), this.finished = !0;
|
|
35
|
+
const { buffer: s, view: n, blockLen: i, isLE: h } = this;
|
|
36
|
+
let { pos: e } = this;
|
|
37
|
+
s[e++] = 128, w(this.buffer.subarray(e)), this.padOffset > i - e && (this.process(n, 0), e = 0);
|
|
38
|
+
for (let f = e; f < i; f++)
|
|
39
|
+
s[f] = 0;
|
|
40
|
+
y(n, i - 8, BigInt(this.length * 8), h), this.process(n, 0);
|
|
41
|
+
const r = l(t), c = this.outputLen;
|
|
42
|
+
if (c % 4)
|
|
43
|
+
throw new Error("_sha2: outputLen should be aligned to 32bit");
|
|
44
|
+
const u = c / 4, p = this.get();
|
|
45
|
+
if (u > p.length)
|
|
46
|
+
throw new Error("_sha2: outputLen bigger than state");
|
|
47
|
+
for (let f = 0; f < u; f++)
|
|
48
|
+
r.setUint32(4 * f, p[f], h);
|
|
49
|
+
}
|
|
50
|
+
digest() {
|
|
51
|
+
const { buffer: t, outputLen: s } = this;
|
|
52
|
+
this.digestInto(t);
|
|
53
|
+
const n = t.slice(0, s);
|
|
54
|
+
return this.destroy(), n;
|
|
55
|
+
}
|
|
56
|
+
_cloneInto(t) {
|
|
57
|
+
t || (t = new this.constructor()), t.set(...this.get());
|
|
58
|
+
const { blockLen: s, buffer: n, length: i, finished: h, destroyed: e, pos: r } = this;
|
|
59
|
+
return t.destroyed = e, t.finished = h, t.length = i, t.pos = r, i % s && t.buffer.set(n), t;
|
|
60
|
+
}
|
|
61
|
+
clone() {
|
|
62
|
+
return this._cloneInto();
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const B = /* @__PURE__ */ Uint32Array.from([
|
|
66
|
+
1779033703,
|
|
67
|
+
3144134277,
|
|
68
|
+
1013904242,
|
|
69
|
+
2773480762,
|
|
70
|
+
1359893119,
|
|
71
|
+
2600822924,
|
|
72
|
+
528734635,
|
|
73
|
+
1541459225
|
|
74
|
+
]);
|
|
17
75
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
76
|
+
U as Chi,
|
|
77
|
+
m as HashMD,
|
|
78
|
+
_ as Maj,
|
|
79
|
+
B as SHA256_IV,
|
|
80
|
+
y as setBigUint64
|
|
20
81
|
};
|
|
@@ -1,30 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
case "PS256":
|
|
10
|
-
case "PS384":
|
|
11
|
-
case "PS512":
|
|
12
|
-
return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
|
|
13
|
-
case "RS256":
|
|
14
|
-
case "RS384":
|
|
15
|
-
case "RS512":
|
|
16
|
-
return { hash: a, name: "RSASSA-PKCS1-v1_5" };
|
|
17
|
-
case "ES256":
|
|
18
|
-
case "ES384":
|
|
19
|
-
case "ES512":
|
|
20
|
-
return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
|
|
21
|
-
case "Ed25519":
|
|
22
|
-
case "EdDSA":
|
|
23
|
-
return { name: "Ed25519" };
|
|
24
|
-
default:
|
|
25
|
-
throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
|
|
26
|
-
}
|
|
1
|
+
import { contracts as o } from "./index.native112.js";
|
|
2
|
+
import { formatters as r } from "./index.native113.js";
|
|
3
|
+
import { serializers as t } from "./index.native114.js";
|
|
4
|
+
const e = {
|
|
5
|
+
blockTime: 2e3,
|
|
6
|
+
contracts: o,
|
|
7
|
+
formatters: r,
|
|
8
|
+
serializers: t
|
|
27
9
|
};
|
|
28
10
|
export {
|
|
29
|
-
|
|
11
|
+
e as chainConfig
|
|
30
12
|
};
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
const
|
|
2
|
-
if (t.startsWith("RS") || t.startsWith("PS")) {
|
|
3
|
-
const { modulusLength: e } = r.algorithm;
|
|
4
|
-
if (typeof e != "number" || e < 2048)
|
|
5
|
-
throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
|
|
6
|
-
}
|
|
7
|
-
};
|
|
1
|
+
const e = 32, s = 4096, t = 131072, l = 761855;
|
|
8
2
|
export {
|
|
9
|
-
|
|
3
|
+
t as bytesPerBlob,
|
|
4
|
+
e as bytesPerFieldElement,
|
|
5
|
+
s as fieldElementsPerBlob,
|
|
6
|
+
l as maxBytesPerTransaction
|
|
10
7
|
};
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
function o(t) {
|
|
2
|
+
if (Uint8Array.prototype.toBase64)
|
|
3
|
+
return t.toBase64();
|
|
4
|
+
const e = 32768, n = [];
|
|
5
|
+
for (let r = 0; r < t.length; r += e)
|
|
6
|
+
n.push(String.fromCharCode.apply(null, t.subarray(r, r + e)));
|
|
7
|
+
return btoa(n.join(""));
|
|
8
|
+
}
|
|
9
|
+
function a(t) {
|
|
10
|
+
if (Uint8Array.fromBase64)
|
|
11
|
+
return Uint8Array.fromBase64(t);
|
|
12
|
+
const e = atob(t), n = new Uint8Array(e.length);
|
|
13
|
+
for (let r = 0; r < e.length; r++)
|
|
14
|
+
n[r] = e.charCodeAt(r);
|
|
15
|
+
return n;
|
|
16
|
+
}
|
|
11
17
|
export {
|
|
12
|
-
|
|
18
|
+
a as decodeBase64,
|
|
19
|
+
o as encodeBase64
|
|
13
20
|
};
|
|
@@ -1,15 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { JOSENotSupported as r } from "./index.native34.js";
|
|
2
|
+
const S = (e, s) => {
|
|
3
|
+
const a = `SHA-${e.slice(-3)}`;
|
|
4
|
+
switch (e) {
|
|
5
|
+
case "HS256":
|
|
6
|
+
case "HS384":
|
|
7
|
+
case "HS512":
|
|
8
|
+
return { hash: a, name: "HMAC" };
|
|
9
|
+
case "PS256":
|
|
10
|
+
case "PS384":
|
|
11
|
+
case "PS512":
|
|
12
|
+
return { hash: a, name: "RSA-PSS", saltLength: parseInt(e.slice(-3), 10) >> 3 };
|
|
13
|
+
case "RS256":
|
|
14
|
+
case "RS384":
|
|
15
|
+
case "RS512":
|
|
16
|
+
return { hash: a, name: "RSASSA-PKCS1-v1_5" };
|
|
17
|
+
case "ES256":
|
|
18
|
+
case "ES384":
|
|
19
|
+
case "ES512":
|
|
20
|
+
return { hash: a, name: "ECDSA", namedCurve: s.namedCurve };
|
|
21
|
+
case "Ed25519":
|
|
22
|
+
case "EdDSA":
|
|
23
|
+
return { name: "Ed25519" };
|
|
24
|
+
default:
|
|
25
|
+
throw new r(`alg ${e} is not supported either by JOSE or your javascript runtime`);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
12
28
|
export {
|
|
13
|
-
|
|
14
|
-
t as withAlg
|
|
29
|
+
S as default
|
|
15
30
|
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}
|
|
7
|
-
|
|
1
|
+
const o = (t, r) => {
|
|
2
|
+
if (t.startsWith("RS") || t.startsWith("PS")) {
|
|
3
|
+
const { modulusLength: e } = r.algorithm;
|
|
4
|
+
if (typeof e != "number" || e < 2048)
|
|
5
|
+
throw new TypeError(`${t} requires key modulusLength to be 2048 bits or larger`);
|
|
6
|
+
}
|
|
7
|
+
};
|
|
8
8
|
export {
|
|
9
|
-
|
|
10
|
-
e as isCryptoKey,
|
|
11
|
-
r as isKeyObject
|
|
9
|
+
o as default
|
|
12
10
|
};
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
return
|
|
10
|
-
}
|
|
11
|
-
function c(t) {
|
|
12
|
-
return t.kty === "oct" && typeof t.k == "string";
|
|
13
|
-
}
|
|
1
|
+
import { checkSigCryptoKey as i } from "./index.native115.js";
|
|
2
|
+
import o from "./index.native108.js";
|
|
3
|
+
const s = async (t, r, e) => {
|
|
4
|
+
if (r instanceof Uint8Array) {
|
|
5
|
+
if (!t.startsWith("HS"))
|
|
6
|
+
throw new TypeError(o(r, "CryptoKey", "KeyObject", "JSON Web Key"));
|
|
7
|
+
return crypto.subtle.importKey("raw", r, { hash: `SHA-${t.slice(-3)}`, name: "HMAC" }, !1, [e]);
|
|
8
|
+
}
|
|
9
|
+
return i(r, t, e), r;
|
|
10
|
+
};
|
|
14
11
|
export {
|
|
15
|
-
|
|
16
|
-
o as isPrivateJWK,
|
|
17
|
-
e as isPublicJWK,
|
|
18
|
-
c as isSecretJWK
|
|
12
|
+
s as default
|
|
19
13
|
};
|