@coinbase/cdp-core 0.0.70 → 0.0.71
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 +86 -29
- package/dist/esm/index.native10.js +69 -67
- package/dist/esm/index.native106.js +1 -1
- package/dist/esm/index.native107.js +1 -1
- package/dist/esm/index.native112.js +1 -1
- package/dist/esm/index.native113.js +7 -7
- package/dist/esm/index.native119.js +3 -3
- package/dist/esm/index.native124.js +8 -8
- package/dist/esm/index.native131.js +4 -4
- package/dist/esm/index.native133.js +4 -4
- package/dist/esm/index.native136.js +7 -7
- package/dist/esm/index.native140.js +2 -2
- package/dist/esm/index.native145.js +1 -1
- package/dist/esm/index.native146.js +6 -32
- package/dist/esm/index.native147.js +32 -6
- package/dist/esm/index.native148.js +2 -79
- package/dist/esm/index.native149.js +108 -3
- package/dist/esm/index.native15.js +18 -18
- package/dist/esm/index.native150.js +2 -2
- package/dist/esm/index.native151.js +20 -108
- package/dist/esm/index.native152.js +10 -2
- package/dist/esm/index.native153.js +19 -20
- package/dist/esm/index.native154.js +93 -9
- package/dist/esm/index.native155.js +19 -18
- package/dist/esm/index.native156.js +105 -81
- package/dist/esm/index.native157.js +78 -20
- package/dist/esm/index.native158.js +4 -118
- package/dist/esm/index.native159.js +7 -38
- package/dist/esm/index.native161.js +375 -67
- package/dist/esm/index.native162.js +835 -34
- package/dist/esm/index.native163.js +38 -20
- package/dist/esm/index.native164.js +2 -8
- package/dist/esm/index.native165.js +70 -2
- package/dist/esm/index.native166.js +30 -373
- package/dist/esm/index.native167.js +20 -832
- package/dist/esm/index.native168.js +1 -1
- package/dist/esm/index.native171.js +1 -1
- package/dist/esm/index.native177.js +1 -1
- package/dist/esm/index.native179.js +2 -2
- package/dist/esm/index.native180.js +2 -2
- package/dist/esm/index.native181.js +2 -2
- package/dist/esm/index.native21.js +17 -18
- package/dist/esm/index.native22.js +26 -23
- package/dist/esm/index.native23.js +18 -17
- package/dist/esm/index.native3.js +1 -1
- package/dist/esm/index.native30.js +24 -24
- package/dist/esm/index.native33.js +1 -1
- package/dist/esm/index.native40.js +19 -14
- package/dist/esm/index.native44.js +13 -0
- package/dist/esm/index.native48.js +7 -7
- package/dist/esm/index.native49.js +8 -30
- package/dist/esm/index.native50.js +3 -3
- package/dist/esm/index.native57.js +2 -2
- package/dist/esm/index.native64.js +3 -3
- package/dist/esm/index.native65.js +2 -31
- package/dist/esm/index.native66.js +65 -28
- package/dist/esm/index.native67.js +367 -2
- package/dist/esm/index.native68.js +14 -63
- package/dist/esm/index.native69.js +18 -360
- package/dist/esm/index.native70.js +47 -13
- package/dist/esm/index.native71.js +28 -22
- package/dist/esm/index.native72.js +28 -50
- package/dist/esm/index.native9.js +1 -1
- package/dist/esm/index.web100.js +38 -5
- package/dist/esm/index.web101.js +6 -10
- package/dist/esm/index.web102.js +32 -14
- package/dist/esm/index.web103.js +8 -22
- package/dist/esm/index.web104.js +10 -50
- package/dist/esm/index.web105.js +11 -376
- package/dist/esm/index.web106.js +13 -28
- package/dist/esm/index.web107.js +18 -28
- package/dist/esm/index.web108.js +8 -2
- package/dist/esm/index.web109.js +5 -66
- package/dist/esm/index.web110.js +10 -364
- package/dist/esm/index.web111.js +55 -2
- package/dist/esm/index.web112.js +10 -20
- package/dist/esm/index.web113.js +2 -5
- package/dist/esm/index.web114.js +44 -47
- package/dist/esm/index.web115.js +13 -19
- package/dist/esm/index.web116.js +4 -79
- package/dist/esm/index.web117.js +2 -104
- package/dist/esm/index.web118.js +4 -32
- package/dist/esm/index.web119.js +18 -6
- package/dist/esm/index.web120.js +7 -54
- package/dist/esm/index.web121.js +3 -10
- package/dist/esm/index.web122.js +24 -2
- package/dist/esm/index.web123.js +9 -45
- package/dist/esm/index.web124.js +7 -13
- package/dist/esm/index.web125.js +71 -4
- package/dist/esm/index.web126.js +18 -3
- package/dist/esm/index.web127.js +3 -4
- package/dist/esm/index.web128.js +4 -18
- package/dist/esm/index.web129.js +4 -7
- package/dist/esm/index.web130.js +4 -3
- package/dist/esm/index.web131.js +15 -19
- package/dist/esm/index.web132.js +52 -8
- package/dist/esm/index.web133.js +16 -6
- package/dist/esm/index.web134.js +21 -69
- package/dist/esm/index.web135.js +8 -18
- package/dist/esm/index.web136.js +30 -3
- package/dist/esm/index.web137.js +7 -4
- package/dist/esm/index.web138.js +20 -4
- package/dist/esm/index.web139.js +5 -5
- package/dist/esm/index.web14.js +18 -18
- package/dist/esm/index.web140.js +44 -16
- package/dist/esm/index.web141.js +15 -47
- package/dist/esm/index.web142.js +19 -17
- package/dist/esm/index.web143.js +79 -23
- package/dist/esm/index.web144.js +103 -8
- package/dist/esm/index.web145.js +31 -29
- package/dist/esm/index.web146.js +6 -7
- package/dist/esm/index.web147.js +18 -18
- package/dist/esm/index.web148.js +10 -39
- package/dist/esm/index.web149.js +20 -2
- package/dist/esm/index.web150.js +94 -70
- package/dist/esm/index.web151.js +21 -35
- package/dist/esm/index.web152.js +116 -19
- package/dist/esm/index.web153.js +2 -8
- package/dist/esm/index.web154.js +109 -2
- package/dist/esm/index.web155.js +2 -378
- package/dist/esm/index.web156.js +78 -832
- package/dist/esm/index.web157.js +3 -78
- package/dist/esm/index.web158.js +39 -5
- package/dist/esm/index.web159.js +2 -21
- package/dist/esm/index.web160.js +70 -10
- package/dist/esm/index.web161.js +34 -19
- package/dist/esm/index.web162.js +19 -92
- package/dist/esm/index.web163.js +8 -21
- package/dist/esm/index.web164.js +2 -118
- package/dist/esm/index.web165.js +378 -2
- package/dist/esm/index.web166.js +836 -2
- package/dist/esm/index.web167.js +47 -2
- package/dist/esm/index.web168.js +5 -2
- package/dist/esm/index.web169.js +17 -108
- package/dist/esm/index.web170.js +28 -2
- package/dist/esm/index.web171.js +7 -46
- package/dist/esm/index.web172.js +11 -15
- package/dist/esm/index.web173.js +11 -16
- package/dist/esm/index.web174.js +10 -28
- package/dist/esm/index.web175.js +17 -8
- package/dist/esm/index.web176.js +79 -9
- package/dist/esm/index.web177.js +14 -12
- package/dist/esm/index.web178.js +2 -10
- package/dist/esm/index.web179.js +2 -17
- package/dist/esm/index.web180.js +2 -81
- package/dist/esm/index.web2.js +2 -2
- package/dist/esm/index.web20.js +17 -18
- package/dist/esm/index.web21.js +26 -23
- package/dist/esm/index.web22.js +18 -17
- package/dist/esm/index.web29.js +24 -24
- package/dist/esm/index.web3.js +1 -1
- package/dist/esm/index.web32.js +1 -1
- package/dist/esm/index.web38.js +19 -14
- package/dist/esm/index.web42.js +13 -0
- package/dist/esm/index.web45.js +12 -12
- package/dist/esm/index.web47.js +7 -7
- package/dist/esm/index.web48.js +8 -30
- package/dist/esm/index.web49.js +3 -3
- package/dist/esm/index.web52.js +2 -2
- package/dist/esm/index.web56.js +3 -3
- package/dist/esm/index.web63.js +15 -16
- package/dist/esm/index.web64.js +19 -42
- package/dist/esm/index.web65.js +50 -13
- package/dist/esm/index.web66.js +376 -55
- package/dist/esm/index.web67.js +28 -6
- package/dist/esm/index.web68.js +28 -21
- package/dist/esm/index.web69.js +2 -14
- package/dist/esm/index.web70.js +65 -3
- package/dist/esm/index.web71.js +364 -3
- package/dist/esm/index.web72.js +16 -33
- package/dist/esm/index.web73.js +43 -10
- package/dist/esm/index.web74.js +13 -4
- package/dist/esm/index.web75.js +52 -25
- package/dist/esm/index.web76.js +6 -6
- package/dist/esm/index.web77.js +20 -41
- package/dist/esm/index.web78.js +11 -55
- package/dist/esm/index.web79.js +3 -127
- package/dist/esm/index.web8.js +1 -1
- package/dist/esm/index.web80.js +3 -23
- package/dist/esm/index.web81.js +32 -10
- package/dist/esm/index.web82.js +9 -101
- package/dist/esm/index.web83.js +4 -6
- package/dist/esm/index.web84.js +29 -3
- package/dist/esm/index.web85.js +6 -14
- package/dist/esm/index.web86.js +40 -32
- package/dist/esm/index.web87.js +53 -76
- package/dist/esm/index.web88.js +128 -2
- package/dist/esm/index.web89.js +24 -2
- package/dist/esm/index.web9.js +69 -67
- package/dist/esm/index.web90.js +11 -11
- package/dist/esm/index.web91.js +99 -32
- package/dist/esm/index.web92.js +6 -6
- package/dist/esm/index.web93.js +3 -35
- package/dist/esm/index.web94.js +14 -8
- package/dist/esm/index.web95.js +33 -9
- package/dist/esm/index.web96.js +78 -11
- package/dist/esm/index.web97.js +2 -14
- package/dist/esm/index.web98.js +2 -19
- package/dist/esm/index.web99.js +12 -5
- package/dist/native/index.native10.js +69 -67
- package/dist/native/index.native106.js +1 -1
- package/dist/native/index.native107.js +1 -1
- package/dist/native/index.native112.js +1 -1
- package/dist/native/index.native113.js +7 -7
- package/dist/native/index.native119.js +3 -3
- package/dist/native/index.native124.js +8 -8
- package/dist/native/index.native131.js +4 -4
- package/dist/native/index.native133.js +4 -4
- package/dist/native/index.native136.js +7 -7
- package/dist/native/index.native140.js +2 -2
- package/dist/native/index.native145.js +1 -1
- package/dist/native/index.native146.js +6 -32
- package/dist/native/index.native147.js +32 -6
- package/dist/native/index.native148.js +2 -79
- package/dist/native/index.native149.js +108 -3
- package/dist/native/index.native15.js +18 -18
- package/dist/native/index.native150.js +2 -2
- package/dist/native/index.native151.js +20 -108
- package/dist/native/index.native152.js +10 -2
- package/dist/native/index.native153.js +19 -20
- package/dist/native/index.native154.js +93 -9
- package/dist/native/index.native155.js +19 -18
- package/dist/native/index.native156.js +105 -81
- package/dist/native/index.native157.js +78 -20
- package/dist/native/index.native158.js +4 -118
- package/dist/native/index.native159.js +7 -38
- package/dist/native/index.native161.js +375 -67
- package/dist/native/index.native162.js +835 -34
- package/dist/native/index.native163.js +38 -20
- package/dist/native/index.native164.js +2 -8
- package/dist/native/index.native165.js +70 -2
- package/dist/native/index.native166.js +30 -373
- package/dist/native/index.native167.js +20 -832
- package/dist/native/index.native168.js +1 -1
- package/dist/native/index.native171.js +1 -1
- package/dist/native/index.native177.js +1 -1
- package/dist/native/index.native179.js +2 -2
- package/dist/native/index.native180.js +2 -2
- package/dist/native/index.native181.js +2 -2
- package/dist/native/index.native21.js +17 -18
- package/dist/native/index.native22.js +26 -23
- package/dist/native/index.native23.js +18 -17
- package/dist/native/index.native3.js +1 -1
- package/dist/native/index.native30.js +24 -24
- package/dist/native/index.native33.js +1 -1
- package/dist/native/index.native40.js +19 -14
- package/dist/native/index.native44.js +13 -0
- package/dist/native/index.native48.js +7 -7
- package/dist/native/index.native49.js +8 -30
- package/dist/native/index.native50.js +3 -3
- package/dist/native/index.native57.js +2 -2
- package/dist/native/index.native64.js +3 -3
- package/dist/native/index.native65.js +2 -31
- package/dist/native/index.native66.js +65 -28
- package/dist/native/index.native67.js +367 -2
- package/dist/native/index.native68.js +14 -63
- package/dist/native/index.native69.js +18 -360
- package/dist/native/index.native70.js +47 -13
- package/dist/native/index.native71.js +28 -22
- package/dist/native/index.native72.js +28 -50
- package/dist/native/index.native9.js +1 -1
- package/dist/native-types/auth/toAuthState.d.ts +4 -1
- package/dist/native-types/shared/validators.d.ts +0 -4
- package/dist/native-types/types.d.ts +5 -2
- package/dist/native-types/version.d.ts +1 -1
- package/dist/types/auth/toAuthState.d.ts +4 -1
- package/dist/types/shared/validators.d.ts +0 -4
- package/dist/types/types.d.ts +5 -2
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index.web100.js +38 -5
- package/dist/web/index.web101.js +6 -10
- package/dist/web/index.web102.js +32 -14
- package/dist/web/index.web103.js +8 -22
- package/dist/web/index.web104.js +10 -50
- package/dist/web/index.web105.js +11 -376
- package/dist/web/index.web106.js +13 -28
- package/dist/web/index.web107.js +18 -28
- package/dist/web/index.web108.js +8 -2
- package/dist/web/index.web109.js +5 -66
- package/dist/web/index.web110.js +10 -364
- package/dist/web/index.web111.js +55 -2
- package/dist/web/index.web112.js +10 -20
- package/dist/web/index.web113.js +2 -5
- package/dist/web/index.web114.js +44 -47
- package/dist/web/index.web115.js +13 -19
- package/dist/web/index.web116.js +4 -79
- package/dist/web/index.web117.js +2 -104
- package/dist/web/index.web118.js +4 -32
- package/dist/web/index.web119.js +18 -6
- package/dist/web/index.web120.js +7 -54
- package/dist/web/index.web121.js +3 -10
- package/dist/web/index.web122.js +24 -2
- package/dist/web/index.web123.js +9 -45
- package/dist/web/index.web124.js +7 -13
- package/dist/web/index.web125.js +71 -4
- package/dist/web/index.web126.js +18 -3
- package/dist/web/index.web127.js +3 -4
- package/dist/web/index.web128.js +4 -18
- package/dist/web/index.web129.js +4 -7
- package/dist/web/index.web130.js +4 -3
- package/dist/web/index.web131.js +15 -19
- package/dist/web/index.web132.js +52 -8
- package/dist/web/index.web133.js +16 -6
- package/dist/web/index.web134.js +21 -69
- package/dist/web/index.web135.js +8 -18
- package/dist/web/index.web136.js +30 -3
- package/dist/web/index.web137.js +7 -4
- package/dist/web/index.web138.js +20 -4
- package/dist/web/index.web139.js +5 -5
- package/dist/web/index.web14.js +18 -18
- package/dist/web/index.web140.js +44 -16
- package/dist/web/index.web141.js +15 -47
- package/dist/web/index.web142.js +19 -17
- package/dist/web/index.web143.js +79 -23
- package/dist/web/index.web144.js +103 -8
- package/dist/web/index.web145.js +31 -29
- package/dist/web/index.web146.js +6 -7
- package/dist/web/index.web147.js +18 -18
- package/dist/web/index.web148.js +10 -39
- package/dist/web/index.web149.js +20 -2
- package/dist/web/index.web150.js +94 -70
- package/dist/web/index.web151.js +21 -35
- package/dist/web/index.web152.js +116 -19
- package/dist/web/index.web153.js +2 -8
- package/dist/web/index.web154.js +109 -2
- package/dist/web/index.web155.js +2 -378
- package/dist/web/index.web156.js +78 -832
- package/dist/web/index.web157.js +3 -78
- package/dist/web/index.web158.js +39 -5
- package/dist/web/index.web159.js +2 -21
- package/dist/web/index.web160.js +70 -10
- package/dist/web/index.web161.js +34 -19
- package/dist/web/index.web162.js +19 -92
- package/dist/web/index.web163.js +8 -21
- package/dist/web/index.web164.js +2 -118
- package/dist/web/index.web165.js +378 -2
- package/dist/web/index.web166.js +836 -2
- package/dist/web/index.web167.js +47 -2
- package/dist/web/index.web168.js +5 -2
- package/dist/web/index.web169.js +17 -108
- package/dist/web/index.web170.js +28 -2
- package/dist/web/index.web171.js +7 -46
- package/dist/web/index.web172.js +11 -15
- package/dist/web/index.web173.js +11 -16
- package/dist/web/index.web174.js +10 -28
- package/dist/web/index.web175.js +17 -8
- package/dist/web/index.web176.js +79 -9
- package/dist/web/index.web177.js +14 -12
- package/dist/web/index.web178.js +2 -10
- package/dist/web/index.web179.js +2 -17
- package/dist/web/index.web180.js +2 -81
- package/dist/web/index.web2.js +2 -2
- package/dist/web/index.web20.js +17 -18
- package/dist/web/index.web21.js +26 -23
- package/dist/web/index.web22.js +18 -17
- package/dist/web/index.web29.js +24 -24
- package/dist/web/index.web3.js +1 -1
- package/dist/web/index.web32.js +1 -1
- package/dist/web/index.web38.js +19 -14
- package/dist/web/index.web42.js +13 -0
- package/dist/web/index.web45.js +12 -12
- package/dist/web/index.web47.js +7 -7
- package/dist/web/index.web48.js +8 -30
- package/dist/web/index.web49.js +3 -3
- package/dist/web/index.web52.js +2 -2
- package/dist/web/index.web56.js +3 -3
- package/dist/web/index.web63.js +15 -16
- package/dist/web/index.web64.js +19 -42
- package/dist/web/index.web65.js +50 -13
- package/dist/web/index.web66.js +376 -55
- package/dist/web/index.web67.js +28 -6
- package/dist/web/index.web68.js +28 -21
- package/dist/web/index.web69.js +2 -14
- package/dist/web/index.web70.js +65 -3
- package/dist/web/index.web71.js +364 -3
- package/dist/web/index.web72.js +16 -33
- package/dist/web/index.web73.js +43 -10
- package/dist/web/index.web74.js +13 -4
- package/dist/web/index.web75.js +52 -25
- package/dist/web/index.web76.js +6 -6
- package/dist/web/index.web77.js +20 -41
- package/dist/web/index.web78.js +11 -55
- package/dist/web/index.web79.js +3 -127
- package/dist/web/index.web8.js +1 -1
- package/dist/web/index.web80.js +3 -23
- package/dist/web/index.web81.js +32 -10
- package/dist/web/index.web82.js +9 -101
- package/dist/web/index.web83.js +4 -6
- package/dist/web/index.web84.js +29 -3
- package/dist/web/index.web85.js +6 -14
- package/dist/web/index.web86.js +40 -32
- package/dist/web/index.web87.js +53 -76
- package/dist/web/index.web88.js +128 -2
- package/dist/web/index.web89.js +24 -2
- package/dist/web/index.web9.js +69 -67
- package/dist/web/index.web90.js +11 -11
- package/dist/web/index.web91.js +99 -32
- package/dist/web/index.web92.js +6 -6
- package/dist/web/index.web93.js +3 -35
- package/dist/web/index.web94.js +14 -8
- package/dist/web/index.web95.js +33 -9
- package/dist/web/index.web96.js +78 -11
- package/dist/web/index.web97.js +2 -14
- package/dist/web/index.web98.js +2 -19
- package/dist/web/index.web99.js +12 -5
- package/dist/web-types/auth/toAuthState.d.ts +4 -1
- package/dist/web-types/shared/validators.d.ts +0 -4
- package/dist/web-types/types.d.ts +5 -2
- package/dist/web-types/version.d.ts +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -116,6 +116,63 @@ When `createOnLogin` is omitted, the SDK will:
|
|
|
116
116
|
2. Require manual account creation using the account creation actions (see below)
|
|
117
117
|
3. Give you full control over when and what types of accounts to create
|
|
118
118
|
|
|
119
|
+
#### Multi-Account Support
|
|
120
|
+
|
|
121
|
+
Users can have multiple accounts of each type:
|
|
122
|
+
- Up to 10 EVM EOA accounts
|
|
123
|
+
- Up to 10 Solana accounts
|
|
124
|
+
- Up to 10 EVM Smart Accounts (each EVM EOA can own one Smart Account)
|
|
125
|
+
|
|
126
|
+
**Using Account Objects (Recommended):**
|
|
127
|
+
|
|
128
|
+
The SDK provides rich account objects with additional metadata like creation timestamps and owner relationships:
|
|
129
|
+
|
|
130
|
+
```ts lines
|
|
131
|
+
import { getCurrentUser } from "@coinbase/cdp-core";
|
|
132
|
+
|
|
133
|
+
const user = await getCurrentUser();
|
|
134
|
+
|
|
135
|
+
// Access all EVM EOA accounts with metadata
|
|
136
|
+
if (user?.evmAccountObjects) {
|
|
137
|
+
user.evmAccountObjects.forEach((account, index) => {
|
|
138
|
+
console.log(`EVM Account ${index + 1}:`, account.address);
|
|
139
|
+
console.log(`Created:`, new Date(account.createdAt).toLocaleDateString());
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Access all Solana accounts with metadata
|
|
144
|
+
if (user?.solanaAccountObjects) {
|
|
145
|
+
user.solanaAccountObjects.forEach((account, index) => {
|
|
146
|
+
console.log(`Solana Account ${index + 1}:`, account.address);
|
|
147
|
+
console.log(`Created:`, new Date(account.createdAt).toLocaleDateString());
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Access all EVM Smart Accounts with owner information
|
|
152
|
+
if (user?.evmSmartAccountObjects) {
|
|
153
|
+
user.evmSmartAccountObjects.forEach((account, index) => {
|
|
154
|
+
console.log(`Smart Account ${index + 1}:`, account.address);
|
|
155
|
+
console.log(`Owners:`, account.ownerAddresses.join(', '));
|
|
156
|
+
console.log(`Created:`, new Date(account.createdAt).toLocaleDateString());
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**Legacy Account Arrays (Deprecated):**
|
|
162
|
+
|
|
163
|
+
For backward compatibility, the SDK still provides simple address arrays, but these are deprecated:
|
|
164
|
+
|
|
165
|
+
```ts lines
|
|
166
|
+
// ⚠️ DEPRECATED - Use evmAccountObjects instead
|
|
167
|
+
const evmAddresses = user?.evmAccounts; // string[]
|
|
168
|
+
|
|
169
|
+
// ⚠️ DEPRECATED - Use solanaAccountObjects instead
|
|
170
|
+
const solanaAddresses = user?.solanaAccounts; // string[]
|
|
171
|
+
|
|
172
|
+
// ⚠️ DEPRECATED - Use evmSmartAccountObjects instead
|
|
173
|
+
const smartAccounts = user?.evmSmartAccounts; // string[]
|
|
174
|
+
```
|
|
175
|
+
|
|
119
176
|
### Sign In a User
|
|
120
177
|
|
|
121
178
|
You're now ready to start calling the APIs provided by the package!
|
|
@@ -259,7 +316,7 @@ console.log("Is new user:", result.isNewUser);
|
|
|
259
316
|
// The user is now signed in and wallets are created based on your config
|
|
260
317
|
const user = await getCurrentUser();
|
|
261
318
|
if (user?.evmAccounts?.[0]) {
|
|
262
|
-
console.log("EVM Address:", user.
|
|
319
|
+
console.log("EVM Address:", user.evmAccountObjects[0]?.address);
|
|
263
320
|
}
|
|
264
321
|
```
|
|
265
322
|
|
|
@@ -286,14 +343,14 @@ if (signedIn) {
|
|
|
286
343
|
console.log("User ID:", user.userId);
|
|
287
344
|
|
|
288
345
|
// Display different account types based on configuration
|
|
289
|
-
if (user.
|
|
290
|
-
console.log("EVM Accounts (EOAs):", user.
|
|
346
|
+
if (user.evmAccountObjects?.length > 0) {
|
|
347
|
+
console.log("EVM Accounts (EOAs):", user.evmAccountObjects);
|
|
291
348
|
}
|
|
292
|
-
if (user.
|
|
293
|
-
console.log("EVM Smart Accounts:", user.
|
|
349
|
+
if (user.evmSmartAccountObjects?.length > 0) {
|
|
350
|
+
console.log("EVM Smart Accounts:", user.evmSmartAccountObjects);
|
|
294
351
|
}
|
|
295
|
-
if (user.
|
|
296
|
-
console.log("Solana Accounts:", user.
|
|
352
|
+
if (user.solanaAccountObjects?.length > 0) {
|
|
353
|
+
console.log("Solana Accounts:", user.solanaAccountObjects);
|
|
297
354
|
}
|
|
298
355
|
|
|
299
356
|
// Find the user's email address (if they logged in with email/otp)
|
|
@@ -463,14 +520,14 @@ import { createEvmEoaAccount, getCurrentUser } from "@coinbase/cdp-core";
|
|
|
463
520
|
// User must be signed in first
|
|
464
521
|
const user = await getCurrentUser();
|
|
465
522
|
|
|
466
|
-
if (!user.
|
|
523
|
+
if (!user.evmAccountObjects?.length) {
|
|
467
524
|
// Create an EVM EOA (Externally Owned Account)
|
|
468
525
|
const evmAddress = await createEvmEoaAccount();
|
|
469
526
|
console.log("Created EVM EOA:", evmAddress);
|
|
470
527
|
|
|
471
528
|
// The user object is automatically updated
|
|
472
529
|
const updatedUser = await getCurrentUser();
|
|
473
|
-
console.log("User now has EVM EOA:", updatedUser.
|
|
530
|
+
console.log("User now has EVM EOA:", updatedUser.evmAccountObjects[0]?.address);
|
|
474
531
|
}
|
|
475
532
|
```
|
|
476
533
|
|
|
@@ -484,15 +541,15 @@ import { createEvmSmartAccount, getCurrentUser } from "@coinbase/cdp-core";
|
|
|
484
541
|
// User must be signed in first
|
|
485
542
|
const user = await getCurrentUser();
|
|
486
543
|
|
|
487
|
-
if (!user.
|
|
544
|
+
if (!user.evmSmartAccountObjects?.length) {
|
|
488
545
|
// Create a Smart Account (will automatically create an EOA first if needed)
|
|
489
546
|
const smartAccountAddress = await createEvmSmartAccount();
|
|
490
547
|
console.log("Created Smart Account:", smartAccountAddress);
|
|
491
548
|
|
|
492
549
|
// The user object is automatically updated
|
|
493
550
|
const updatedUser = await getCurrentUser();
|
|
494
|
-
console.log("User now has Smart Account:", updatedUser.
|
|
495
|
-
console.log("And EOA (used as owner):", updatedUser.
|
|
551
|
+
console.log("User now has Smart Account:", updatedUser.evmSmartAccountObjects[0]?.address);
|
|
552
|
+
console.log("And EOA (used as owner):", updatedUser.evmAccountObjects[0]?.address);
|
|
496
553
|
}
|
|
497
554
|
```
|
|
498
555
|
|
|
@@ -519,14 +576,14 @@ import { createSolanaAccount, getCurrentUser } from "@coinbase/cdp-core";
|
|
|
519
576
|
// User must be signed in first
|
|
520
577
|
const user = await getCurrentUser();
|
|
521
578
|
|
|
522
|
-
if (!user.
|
|
579
|
+
if (!user.solanaAccountObjects?.length) {
|
|
523
580
|
// Create a Solana account
|
|
524
581
|
const solanaAddress = await createSolanaAccount();
|
|
525
582
|
console.log("Created Solana account:", solanaAddress);
|
|
526
583
|
|
|
527
584
|
// The user object is automatically updated
|
|
528
585
|
const updatedUser = await getCurrentUser();
|
|
529
|
-
console.log("User now has Solana account:", updatedUser.
|
|
586
|
+
console.log("User now has Solana account:", updatedUser.solanaAccountObjects[0]?.address);
|
|
530
587
|
}
|
|
531
588
|
```
|
|
532
589
|
|
|
@@ -548,7 +605,7 @@ We support signing and sending an EVM transaction in a single call on the follow
|
|
|
548
605
|
import { sendEvmTransaction, getCurrentUser } from "@coinbase/cdp-core";
|
|
549
606
|
|
|
550
607
|
const user = await getCurrentUser();
|
|
551
|
-
const evmAccount = user.
|
|
608
|
+
const evmAccount = user.evmAccountObjects[0]?.address;
|
|
552
609
|
|
|
553
610
|
const result = await sendEvmTransaction({
|
|
554
611
|
evmAccount,
|
|
@@ -576,7 +633,7 @@ import { http, createPublicClient } from "viem";
|
|
|
576
633
|
import { tron } from "viem/chains";
|
|
577
634
|
|
|
578
635
|
const user = await getCurrentUser();
|
|
579
|
-
const evmAccount = user.
|
|
636
|
+
const evmAccount = user.evmAccountObjects[0]?.address;
|
|
580
637
|
|
|
581
638
|
// Sign the transaction
|
|
582
639
|
const { signedTransaction } = await signEvmTransaction({
|
|
@@ -616,7 +673,7 @@ Spend permissions allow Smart Accounts to delegate spending authority to other a
|
|
|
616
673
|
import { createSpendPermission, getCurrentUser } from "@coinbase/cdp-core";
|
|
617
674
|
|
|
618
675
|
const user = await getCurrentUser();
|
|
619
|
-
const smartAccount = user.
|
|
676
|
+
const smartAccount = user.evmSmartAccountObjects[0]?.address;
|
|
620
677
|
|
|
621
678
|
const result = await createSpendPermission({
|
|
622
679
|
evmSmartAccount: smartAccount,
|
|
@@ -655,7 +712,7 @@ Retrieve all spend permissions for a Smart Account:
|
|
|
655
712
|
import { listSpendPermissions, getCurrentUser } from "@coinbase/cdp-core";
|
|
656
713
|
|
|
657
714
|
const user = await getCurrentUser();
|
|
658
|
-
const smartAccount = user.
|
|
715
|
+
const smartAccount = user.evmSmartAccountObjects[0]?.address;
|
|
659
716
|
|
|
660
717
|
const result = await listSpendPermissions({
|
|
661
718
|
evmSmartAccount: smartAccount,
|
|
@@ -689,7 +746,7 @@ Revoke a spend permission for a Smart Account:
|
|
|
689
746
|
import { revokeSpendPermission, getCurrentUser } from "@coinbase/cdp-core";
|
|
690
747
|
|
|
691
748
|
const user = await getCurrentUser();
|
|
692
|
-
const smartAccount = user.
|
|
749
|
+
const smartAccount = user.evmSmartAccountObjects[0]?.address;
|
|
693
750
|
|
|
694
751
|
const result = await revokeSpendPermission({
|
|
695
752
|
evmSmartAccount: smartAccount,
|
|
@@ -709,7 +766,7 @@ When your application is configured with `solana: { createOnLogin: true }`, you
|
|
|
709
766
|
import { signSolanaTransaction, getCurrentUser } from "@coinbase/cdp-core";
|
|
710
767
|
|
|
711
768
|
const user = await getCurrentUser();
|
|
712
|
-
const solanaAccount = user.
|
|
769
|
+
const solanaAccount = user.solanaAccountObjects[0]?.address;
|
|
713
770
|
|
|
714
771
|
const result = await signSolanaTransaction({
|
|
715
772
|
solanaAccount,
|
|
@@ -728,7 +785,7 @@ You can also sign arbitrary messages with Solana accounts:
|
|
|
728
785
|
import { signSolanaMessage, getCurrentUser } from "@coinbase/cdp-core";
|
|
729
786
|
|
|
730
787
|
const user = await getCurrentUser();
|
|
731
|
-
const solanaAccount = user.
|
|
788
|
+
const solanaAccount = user.solanaAccountObjects[0]?.address;
|
|
732
789
|
|
|
733
790
|
const message = Buffer.from("Hello, Solana!", "utf8").toString("base64");
|
|
734
791
|
const result = await signSolanaMessage({
|
|
@@ -750,7 +807,7 @@ You can sign and send a Solana transaction in a single call on the following Sol
|
|
|
750
807
|
import { sendSolanaTransaction, getCurrentUser } from "@coinbase/cdp-core";
|
|
751
808
|
|
|
752
809
|
const user = await getCurrentUser();
|
|
753
|
-
const solanaAccount = user.
|
|
810
|
+
const solanaAccount = user.solanaAccountObjects[0]?.address;
|
|
754
811
|
|
|
755
812
|
const result = await sendSolanaTransaction({
|
|
756
813
|
solanaAccount,
|
|
@@ -770,7 +827,7 @@ Send user operations from a Smart Account:
|
|
|
770
827
|
import { sendUserOperation, getCurrentUser } from "@coinbase/cdp-core";
|
|
771
828
|
|
|
772
829
|
const user = await getCurrentUser();
|
|
773
|
-
const smartAccount = user.
|
|
830
|
+
const smartAccount = user.evmSmartAccountObjects[0]?.address;
|
|
774
831
|
|
|
775
832
|
const result = await sendUserOperation({
|
|
776
833
|
evmSmartAccount: smartAccount,
|
|
@@ -821,7 +878,7 @@ End users can sign EVM messages, hashes, and typed data to generate signatures f
|
|
|
821
878
|
import { signEvmMessage, signEvmTypedData, getCurrentUser } from "@coinbase/cdp-core";
|
|
822
879
|
|
|
823
880
|
const user = await getCurrentUser();
|
|
824
|
-
const evmAccount = user.
|
|
881
|
+
const evmAccount = user.evmAccountObjects[0]?.address;
|
|
825
882
|
|
|
826
883
|
// Sign a message
|
|
827
884
|
const messageResult = await signEvmMessage({
|
|
@@ -863,7 +920,7 @@ End users can export their private keys from their embedded wallet, allowing the
|
|
|
863
920
|
import { exportEvmAccount, getCurrentUser } from "@coinbase/cdp-core";
|
|
864
921
|
|
|
865
922
|
const user = await getCurrentUser();
|
|
866
|
-
const evmAccount = user.
|
|
923
|
+
const evmAccount = user.evmAccountObjects[0]?.address;
|
|
867
924
|
|
|
868
925
|
const { privateKey } = await exportEvmAccount({
|
|
869
926
|
evmAccount
|
|
@@ -881,7 +938,7 @@ When your application is configured with `solana: { createOnLogin: true }`, you
|
|
|
881
938
|
import { exportSolanaAccount, getCurrentUser } from "@coinbase/cdp-core";
|
|
882
939
|
|
|
883
940
|
const user = await getCurrentUser();
|
|
884
|
-
const solanaAccount = user.
|
|
941
|
+
const solanaAccount = user.solanaAccountObjects[0]?.address;
|
|
885
942
|
|
|
886
943
|
const { privateKey } = await exportSolanaAccount({
|
|
887
944
|
solanaAccount
|
|
@@ -968,7 +1025,7 @@ By default, `fetchWithX402` will use the user's Smart Account if available, fall
|
|
|
968
1025
|
|
|
969
1026
|
```typescript lines
|
|
970
1027
|
const user = await getCurrentUser();
|
|
971
|
-
console.log("Using account:", user.
|
|
1028
|
+
console.log("Using account:", user.evmSmartAccountObjects?.[0] || user.evmAccountObjects?.[0]);
|
|
972
1029
|
|
|
973
1030
|
// This will automatically use the appropriate account type
|
|
974
1031
|
const { fetchWithPayment } = await fetchWithX402();
|
|
@@ -982,7 +1039,7 @@ Solana is supported out of the box with `fetchWithX402`. If your end user has bo
|
|
|
982
1039
|
const user = await getCurrentUser();
|
|
983
1040
|
|
|
984
1041
|
const { fetchWithPayment } = fetchWithX402({
|
|
985
|
-
address: user.
|
|
1042
|
+
address: user.solanaAccountObjects[0]?.address
|
|
986
1043
|
});
|
|
987
1044
|
```
|
|
988
1045
|
|
|
@@ -1049,7 +1106,7 @@ import { mainnet } from "viem/chains";
|
|
|
1049
1106
|
import { http } from "viem";
|
|
1050
1107
|
|
|
1051
1108
|
const user = await getCurrentUser();
|
|
1052
|
-
const evmAccount = user.
|
|
1109
|
+
const evmAccount = user.evmAccountObjects[0]?.address;
|
|
1053
1110
|
|
|
1054
1111
|
const viemAccount = toViemAccount(evmAccount);
|
|
1055
1112
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { b as m } from "./index.native36.js";
|
|
2
|
-
import { configureCdpApiClient as
|
|
2
|
+
import { configureCdpApiClient as T, setAuthManager as b, authenticateUserWithCustomAuth as j, initiateAuthentication as P, createEndUserEvmAccount as x, createEndUserEvmSmartAccount as k, createEndUserSolanaAccount as K, verifyEmailAuthentication as W, verifySmsAuthentication as H, verifyOAuthCode as R, signEvmHashWithEndUserAccount as B, signEvmTransactionWithEndUserAccount as D, signSolanaTransactionWithEndUserAccount as N, sendEvmTransactionWithEndUserAccount as F, sendSolanaTransactionWithEndUserAccount as J, signEvmMessageWithEndUserAccount as L, signSolanaMessageWithEndUserAccount as z, signEvmTypedDataWithEndUserAccount as $, sendUserOperationWithEndUserAccount as V, getUserOperationWithEndUserAccount as q, exportEndUserEvmAccount as G, exportEndUserSolanaAccount as Q } from "@coinbase/cdp-api-client";
|
|
3
3
|
import { Analytics as c } from "./index.native2.js";
|
|
4
4
|
import "./index.native3.js";
|
|
5
|
-
import { Keypair as
|
|
6
|
-
import
|
|
5
|
+
import { Keypair as E } from "@solana/web3.js";
|
|
6
|
+
import I from "bs58";
|
|
7
7
|
import { createAuthManager as X } from "./index.native37.js";
|
|
8
8
|
import { CUSTOM_AUTH_REFRESH_BUFFER_MS as Y } from "./index.native38.js";
|
|
9
9
|
import { OAuthManager as Z } from "./index.native39.js";
|
|
@@ -11,12 +11,12 @@ import { toAuthState as g } from "./index.native40.js";
|
|
|
11
11
|
import { withAuth as d } from "./index.native41.js";
|
|
12
12
|
import { MockAuthManager as ee } from "./index.native42.js";
|
|
13
13
|
import { MockOAuthManager as te } from "./index.native43.js";
|
|
14
|
-
import { mockUser as
|
|
15
|
-
import { getPlatformServices as
|
|
14
|
+
import { mockUser as p } from "./index.native44.js";
|
|
15
|
+
import { getPlatformServices as f, getPlatformCrypto as U } from "./index.native8.js";
|
|
16
16
|
import { isChainSupportedForCDPSends as ne } from "./index.native45.js";
|
|
17
|
-
import { getConfig as a, setCoreAuthManager as
|
|
18
|
-
import { CustomAuthError as
|
|
19
|
-
import { serializeTransaction as
|
|
17
|
+
import { getConfig as a, setCoreAuthManager as S, setCoreOAuthManager as _, getCoreAuthManager as o, getCoreOAuthManager as re, setConfig as se } from "./index.native35.js";
|
|
18
|
+
import { CustomAuthError as w } from "./index.native29.js";
|
|
19
|
+
import { serializeTransaction as C } from "./index.native46.js";
|
|
20
20
|
const _e = async (e) => {
|
|
21
21
|
if (!e.projectId)
|
|
22
22
|
throw new Error("Project ID is required");
|
|
@@ -28,12 +28,12 @@ const _e = async (e) => {
|
|
|
28
28
|
n = !0;
|
|
29
29
|
}
|
|
30
30
|
if (se(e), a().useMock) {
|
|
31
|
-
|
|
31
|
+
S(new ee(a().projectId)), _(new te());
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
let t;
|
|
35
35
|
try {
|
|
36
|
-
const r =
|
|
36
|
+
const r = f();
|
|
37
37
|
t = r.secureStorage ? {
|
|
38
38
|
getRefreshToken: () => r.secureStorage.getItem("cdp_refresh_token"),
|
|
39
39
|
setRefreshToken: (s) => r.secureStorage.setItem("cdp_refresh_token", s),
|
|
@@ -49,88 +49,88 @@ const _e = async (e) => {
|
|
|
49
49
|
} catch {
|
|
50
50
|
t = void 0;
|
|
51
51
|
}
|
|
52
|
-
if (
|
|
52
|
+
if (T({
|
|
53
53
|
debugging: a().debugging,
|
|
54
54
|
basePath: a().basePath,
|
|
55
55
|
refreshTokenStorage: t
|
|
56
56
|
}), n) {
|
|
57
57
|
const r = new Z();
|
|
58
|
-
|
|
58
|
+
_(r);
|
|
59
59
|
const s = X(a().projectId);
|
|
60
|
-
|
|
60
|
+
S(s), b(s);
|
|
61
61
|
}
|
|
62
62
|
await o().ensureInitialized();
|
|
63
|
-
}, Ue = async (e) => (c.sendActionCallEvent({ name: "sign_in_with_email" }),
|
|
63
|
+
}, Ue = async (e) => (c.sendActionCallEvent({ name: "sign_in_with_email" }), y({
|
|
64
64
|
email: e.email,
|
|
65
65
|
type: "email"
|
|
66
|
-
})), Ce = async (e) => (c.sendActionCallEvent({ name: "sign_in_with_sms" }),
|
|
66
|
+
})), Ce = async (e) => (c.sendActionCallEvent({ name: "sign_in_with_sms" }), y({
|
|
67
67
|
phoneNumber: e.phoneNumber,
|
|
68
68
|
type: "sms"
|
|
69
69
|
})), Me = async (e) => {
|
|
70
70
|
c.sendActionCallEvent({ name: "sign_in_with_oauth" });
|
|
71
|
-
const n =
|
|
71
|
+
const n = f().oauth.getRedirectUrl();
|
|
72
72
|
if (a().useMock) {
|
|
73
73
|
const r = new URL(n);
|
|
74
|
-
r.searchParams.set("code", "mock-oauth-code"), r.searchParams.set("provider_type", e), r.searchParams.set("flow_id", "mock-flow-id"),
|
|
74
|
+
r.searchParams.set("code", "mock-oauth-code"), r.searchParams.set("provider_type", e), r.searchParams.set("flow_id", "mock-flow-id"), f().oauth.initiateOAuthFlow(r.toString());
|
|
75
75
|
return;
|
|
76
76
|
}
|
|
77
|
-
const { authUrl: t } = await
|
|
77
|
+
const { authUrl: t } = await y({
|
|
78
78
|
redirectUrl: n,
|
|
79
79
|
type: e
|
|
80
80
|
});
|
|
81
|
-
|
|
82
|
-
},
|
|
81
|
+
f().oauth.initiateOAuthFlow(t);
|
|
82
|
+
}, Oe = async (e) => (c.sendActionCallEvent({ name: "verify_email_otp" }), A(
|
|
83
83
|
e,
|
|
84
84
|
"Mock email OTP verified",
|
|
85
85
|
(n, t) => W(n, t)
|
|
86
|
-
)),
|
|
86
|
+
)), Te = async (e) => (c.sendActionCallEvent({ name: "verify_sms_otp" }), A(
|
|
87
87
|
e,
|
|
88
88
|
"Mock SMS OTP verified",
|
|
89
89
|
(n, t) => H(n, t)
|
|
90
|
-
)),
|
|
90
|
+
)), be = async (e) => (c.sendActionCallEvent({ name: "verify_oauth" }), A(
|
|
91
91
|
e,
|
|
92
92
|
"Mock OAuth code verified",
|
|
93
93
|
(n, t) => R(n, t.providerType, t)
|
|
94
|
-
)),
|
|
94
|
+
)), je = async () => {
|
|
95
95
|
c.sendActionCallEvent({ name: "authenticate_with_jwt" });
|
|
96
96
|
const e = a();
|
|
97
97
|
if (!e.customAuth?.getJwt)
|
|
98
|
-
throw new
|
|
98
|
+
throw new w(
|
|
99
99
|
"customAuth.getJwt callback not configured. Please provide customAuth with getJwt in initialize() config."
|
|
100
100
|
);
|
|
101
101
|
let n;
|
|
102
102
|
try {
|
|
103
103
|
n = await e.customAuth.getJwt();
|
|
104
104
|
} catch (u) {
|
|
105
|
-
throw new
|
|
105
|
+
throw new w(
|
|
106
106
|
u instanceof Error ? u.message : "Failed to get custom auth JWT"
|
|
107
107
|
);
|
|
108
108
|
}
|
|
109
109
|
if (!n)
|
|
110
|
-
throw new
|
|
110
|
+
throw new w("customAuth.getJwt returned null or undefined");
|
|
111
111
|
if (e.useMock)
|
|
112
112
|
return await o().setAuthState({
|
|
113
113
|
accessToken: n,
|
|
114
114
|
expiresAt: Date.now() + 1e3 * 60 * 60 * 24,
|
|
115
|
-
user:
|
|
115
|
+
user: p
|
|
116
116
|
}), {
|
|
117
117
|
message: "Mock JWT authentication successful",
|
|
118
|
-
user:
|
|
118
|
+
user: p,
|
|
119
119
|
isNewUser: !1
|
|
120
120
|
};
|
|
121
|
-
const t = await
|
|
121
|
+
const t = await j(a().projectId), r = new Date(Date.now() + Y).toISOString();
|
|
122
122
|
let s = g(n, r, t.endUser);
|
|
123
|
-
return await o().setAuthState(s), e.ethereum?.createOnLogin && (s = await
|
|
123
|
+
return await o().setAuthState(s), e.ethereum?.createOnLogin && (s = await M(
|
|
124
124
|
s,
|
|
125
125
|
n,
|
|
126
126
|
r,
|
|
127
127
|
e.ethereum.createOnLogin
|
|
128
|
-
)), e.solana?.createOnLogin && (s = await
|
|
128
|
+
)), e.solana?.createOnLogin && (s = await O(s, n, r)), {
|
|
129
129
|
message: "Authentication successful",
|
|
130
130
|
user: o().getUser(),
|
|
131
131
|
isNewUser: t.isNewEndUser
|
|
132
132
|
};
|
|
133
|
-
},
|
|
133
|
+
}, Pe = async () => (c.sendActionCallEvent({ name: "get_current_user" }), o().getUser()), xe = async () => (c.sendActionCallEvent({ name: "is_signed_in" }), o().isSignedIn()), Ke = async () => {
|
|
134
134
|
if (c.sendActionCallEvent({ name: "sign_out" }), a().useMock) {
|
|
135
135
|
await o().signOut();
|
|
136
136
|
return;
|
|
@@ -148,8 +148,8 @@ const _e = async (e) => {
|
|
|
148
148
|
address: e.evmAccount,
|
|
149
149
|
walletSecretId: t
|
|
150
150
|
})).signature
|
|
151
|
-
}))),
|
|
152
|
-
const r =
|
|
151
|
+
}))), Ne = async (e) => (c.sendActionCallEvent({ name: "sign_evm_transaction" }), a().useMock ? { signedTransaction: "0x0" } : d(e, o(), async ({ user: n, walletSecretId: t }) => {
|
|
152
|
+
const r = C(e.transaction);
|
|
153
153
|
return {
|
|
154
154
|
signedTransaction: (await D(
|
|
155
155
|
a().projectId,
|
|
@@ -161,8 +161,8 @@ const _e = async (e) => {
|
|
|
161
161
|
}
|
|
162
162
|
)).signedTransaction
|
|
163
163
|
};
|
|
164
|
-
})),
|
|
165
|
-
signedTransaction: (await
|
|
164
|
+
})), Fe = async (e) => (c.sendActionCallEvent({ name: "sign_solana_transaction" }), a().useMock ? { signedTransaction: "mock-signed-transaction" } : d(e, o(), async ({ user: n, walletSecretId: t }) => ({
|
|
165
|
+
signedTransaction: (await N(
|
|
166
166
|
a().projectId,
|
|
167
167
|
n.userId,
|
|
168
168
|
{
|
|
@@ -176,9 +176,9 @@ const _e = async (e) => {
|
|
|
176
176
|
throw new Error(`Chain ${e.network} is not supported by the CDP Apis`);
|
|
177
177
|
if (a().useMock)
|
|
178
178
|
return { transactionHash: "0x0" };
|
|
179
|
-
const n =
|
|
179
|
+
const n = C(e.transaction);
|
|
180
180
|
return d(e, o(), async ({ user: t, walletSecretId: r }) => ({
|
|
181
|
-
transactionHash: (await
|
|
181
|
+
transactionHash: (await F(
|
|
182
182
|
a().projectId,
|
|
183
183
|
t.userId,
|
|
184
184
|
{
|
|
@@ -260,7 +260,7 @@ const _e = async (e) => {
|
|
|
260
260
|
return {
|
|
261
261
|
privateKey: m.Buffer.from("mock-private-key").toString("hex")
|
|
262
262
|
};
|
|
263
|
-
const n =
|
|
263
|
+
const n = U(), t = await n.createExportKeyPair();
|
|
264
264
|
return d(e, o(), async ({ user: r, walletSecretId: s }) => {
|
|
265
265
|
const i = await G(a().projectId, r.userId, {
|
|
266
266
|
address: e.evmAccount,
|
|
@@ -278,12 +278,12 @@ const _e = async (e) => {
|
|
|
278
278
|
if (c.sendActionCallEvent({ name: "export_solana_account" }), a().useMock) {
|
|
279
279
|
const r = m.Buffer.from("mock-private-key").subarray(0, 32), s = m.Buffer.alloc(32);
|
|
280
280
|
r.copy(s);
|
|
281
|
-
const i =
|
|
281
|
+
const i = E.fromSeed(s), u = m.Buffer.concat([i.secretKey.subarray(0, 32), i.publicKey.toBytes()]);
|
|
282
282
|
return {
|
|
283
|
-
privateKey:
|
|
283
|
+
privateKey: I.encode(u)
|
|
284
284
|
};
|
|
285
285
|
}
|
|
286
|
-
const n =
|
|
286
|
+
const n = U(), t = await n.createExportKeyPair();
|
|
287
287
|
return d(e, o(), async ({ user: r, walletSecretId: s }) => {
|
|
288
288
|
const i = await Q(a().projectId, r.userId, {
|
|
289
289
|
address: e.solanaAccount,
|
|
@@ -292,12 +292,12 @@ const _e = async (e) => {
|
|
|
292
292
|
}), u = await n.decryptWithPrivateKey(
|
|
293
293
|
t.privateKey,
|
|
294
294
|
i.encryptedPrivateKey
|
|
295
|
-
), l =
|
|
295
|
+
), l = E.fromSeed(new Uint8Array(u)), h = m.Buffer.concat([l.secretKey.subarray(0, 32), l.publicKey.toBytes()]);
|
|
296
296
|
return {
|
|
297
|
-
privateKey:
|
|
297
|
+
privateKey: I.encode(h)
|
|
298
298
|
};
|
|
299
299
|
});
|
|
300
|
-
},
|
|
300
|
+
}, y = async (e) => {
|
|
301
301
|
if (a().useMock)
|
|
302
302
|
return "redirectUrl" in e ? {
|
|
303
303
|
authUrl: "mock-auth-url",
|
|
@@ -308,7 +308,7 @@ const _e = async (e) => {
|
|
|
308
308
|
};
|
|
309
309
|
if (await o().isSignedIn())
|
|
310
310
|
throw new Error("User is already authenticated. Please sign out first.");
|
|
311
|
-
const t = await
|
|
311
|
+
const t = await P(a().projectId, e);
|
|
312
312
|
return "authUrl" in t ? {
|
|
313
313
|
flowId: t.flowId,
|
|
314
314
|
authUrl: t.authUrl
|
|
@@ -316,15 +316,15 @@ const _e = async (e) => {
|
|
|
316
316
|
flowId: t.flowId,
|
|
317
317
|
message: "message" in t ? t.message : ""
|
|
318
318
|
};
|
|
319
|
-
},
|
|
319
|
+
}, A = async (e, n, t) => {
|
|
320
320
|
if (a().useMock)
|
|
321
321
|
return await o().setAuthState({
|
|
322
322
|
accessToken: "mock-access-token",
|
|
323
323
|
expiresAt: Date.now() + 1e3 * 60 * 60 * 24,
|
|
324
|
-
user:
|
|
324
|
+
user: p
|
|
325
325
|
}), {
|
|
326
326
|
message: n,
|
|
327
|
-
user:
|
|
327
|
+
user: p,
|
|
328
328
|
isNewUser: !1
|
|
329
329
|
};
|
|
330
330
|
const r = await t(a().projectId, e);
|
|
@@ -335,12 +335,12 @@ const _e = async (e) => {
|
|
|
335
335
|
);
|
|
336
336
|
await o().setAuthState(s);
|
|
337
337
|
const i = a();
|
|
338
|
-
i.ethereum?.createOnLogin && (s = await
|
|
338
|
+
i.ethereum?.createOnLogin && (s = await M(
|
|
339
339
|
s,
|
|
340
340
|
r.accessToken,
|
|
341
341
|
r.validUntil,
|
|
342
342
|
i.ethereum.createOnLogin
|
|
343
|
-
)), i.solana?.createOnLogin && (s = await
|
|
343
|
+
)), i.solana?.createOnLogin && (s = await O(
|
|
344
344
|
s,
|
|
345
345
|
r.accessToken,
|
|
346
346
|
r.validUntil
|
|
@@ -351,9 +351,9 @@ const _e = async (e) => {
|
|
|
351
351
|
user: u,
|
|
352
352
|
isNewUser: r.isNewEndUser
|
|
353
353
|
};
|
|
354
|
-
},
|
|
354
|
+
}, M = async (e, n, t, r) => {
|
|
355
355
|
let s = e;
|
|
356
|
-
if (!e.user.
|
|
356
|
+
if (!e.user.evmAccountObjects || e.user.evmAccountObjects.length === 0)
|
|
357
357
|
try {
|
|
358
358
|
const i = await o().getWalletSecretId();
|
|
359
359
|
let u = await x(a().projectId, e.user.userId, {
|
|
@@ -361,12 +361,14 @@ const _e = async (e) => {
|
|
|
361
361
|
}), l = !1;
|
|
362
362
|
const h = a().ethereum;
|
|
363
363
|
if (h?.createOnLogin === "smart" && (l = h.enableSpendPermissions ?? !1), r === "smart") {
|
|
364
|
-
const
|
|
365
|
-
|
|
364
|
+
const v = u.evmAccountObjects?.[0]?.address;
|
|
365
|
+
if (!v)
|
|
366
|
+
throw new Error("No EVM account found to use as owner for smart account");
|
|
367
|
+
u = await k(
|
|
366
368
|
a().projectId,
|
|
367
369
|
e.user.userId,
|
|
368
370
|
{
|
|
369
|
-
owner:
|
|
371
|
+
owner: v,
|
|
370
372
|
enableSpendPermissions: l
|
|
371
373
|
}
|
|
372
374
|
);
|
|
@@ -375,9 +377,9 @@ const _e = async (e) => {
|
|
|
375
377
|
} catch (i) {
|
|
376
378
|
throw new Error(`Failed to create EVM account: ${i}`);
|
|
377
379
|
}
|
|
378
|
-
if (r === "smart" && (!s.user.
|
|
380
|
+
if (r === "smart" && (!s.user.evmSmartAccountObjects || s.user.evmSmartAccountObjects.length === 0))
|
|
379
381
|
try {
|
|
380
|
-
const
|
|
382
|
+
const i = s.user.evmAccountObjects[0]?.address, u = await k(
|
|
381
383
|
a().projectId,
|
|
382
384
|
s.user.userId,
|
|
383
385
|
{
|
|
@@ -391,9 +393,9 @@ const _e = async (e) => {
|
|
|
391
393
|
throw new Error(`Failed to create EVM Smart Account: ${i}`);
|
|
392
394
|
}
|
|
393
395
|
return s;
|
|
394
|
-
},
|
|
396
|
+
}, O = async (e, n, t) => {
|
|
395
397
|
let r = e;
|
|
396
|
-
if (!e.user.
|
|
398
|
+
if (!e.user.solanaAccountObjects || e.user.solanaAccountObjects.length === 0)
|
|
397
399
|
try {
|
|
398
400
|
const s = await o().getWalletSecretId(), i = await K(
|
|
399
401
|
a().projectId,
|
|
@@ -409,12 +411,12 @@ const _e = async (e) => {
|
|
|
409
411
|
return r;
|
|
410
412
|
};
|
|
411
413
|
export {
|
|
412
|
-
|
|
414
|
+
je as authenticateWithJWT,
|
|
413
415
|
Qe as exportEvmAccount,
|
|
414
416
|
Xe as exportSolanaAccount,
|
|
415
417
|
We as getAccessToken,
|
|
416
418
|
He as getAccessTokenExpiration,
|
|
417
|
-
|
|
419
|
+
Pe as getCurrentUser,
|
|
418
420
|
Ge as getUserOperation,
|
|
419
421
|
_e as initialize,
|
|
420
422
|
xe as isSignedIn,
|
|
@@ -425,15 +427,15 @@ export {
|
|
|
425
427
|
qe as sendUserOperation,
|
|
426
428
|
De as signEvmHash,
|
|
427
429
|
ze as signEvmMessage,
|
|
428
|
-
|
|
430
|
+
Ne as signEvmTransaction,
|
|
429
431
|
Ve as signEvmTypedData,
|
|
430
432
|
Ue as signInWithEmail,
|
|
431
433
|
Me as signInWithOAuth,
|
|
432
434
|
Ce as signInWithSms,
|
|
433
435
|
Ke as signOut,
|
|
434
436
|
$e as signSolanaMessage,
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
437
|
+
Fe as signSolanaTransaction,
|
|
438
|
+
Oe as verifyEmailOTP,
|
|
439
|
+
be as verifyOAuth,
|
|
440
|
+
Te as verifySmsOTP
|
|
439
441
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { commitmentToVersionedHash as i } from "./index.
|
|
1
|
+
import { commitmentToVersionedHash as i } from "./index.native146.js";
|
|
2
2
|
function r(o) {
|
|
3
3
|
const { commitments: t, version: n } = o, e = o.to ?? (typeof t[0] == "string" ? "hex" : "bytes"), s = [];
|
|
4
4
|
for (const m of t)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { blobsToCommitments as f } from "./index.native104.js";
|
|
2
2
|
import { blobsToProofs as l } from "./index.native105.js";
|
|
3
|
-
import { toBlobs as p } from "./index.
|
|
3
|
+
import { toBlobs as p } from "./index.native147.js";
|
|
4
4
|
function k(t) {
|
|
5
5
|
const { data: i, kzg: n, to: m } = t, s = t.blobs ?? p({ data: i, to: m }), b = t.commitments ?? f({ blobs: s, kzg: n, to: m }), r = t.proofs ?? l({ blobs: s, commitments: b, kzg: n, to: m }), c = [];
|
|
6
6
|
for (let o = 0; o < s.length; o++)
|