@coinbase/cdp-core 0.0.123 → 0.0.125
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -27
- package/dist/esm/index.web.js +242 -223
- package/dist/esm/index.web10.js +41 -38
- package/dist/esm/index.web100.js +5 -87
- package/dist/esm/index.web101.js +60 -31
- package/dist/esm/index.web102.js +163 -22
- package/dist/esm/index.web103.js +68 -45
- package/dist/esm/index.web104.js +36 -3
- package/dist/esm/index.web105.js +106 -41
- package/dist/esm/index.web106.js +46 -14
- package/dist/esm/index.web107.js +87 -23
- package/dist/esm/index.web108.js +30 -13
- package/dist/esm/index.web109.js +24 -23
- package/dist/esm/index.web11.js +1 -1
- package/dist/esm/index.web110.js +45 -22
- package/dist/esm/index.web111.js +3 -17
- package/dist/esm/index.web112.js +42 -28
- package/dist/esm/index.web113.js +21 -40
- package/dist/esm/index.web114.js +19 -48
- package/dist/esm/index.web115.js +21 -78
- package/dist/esm/index.web116.js +14 -25
- package/dist/esm/index.web117.js +21 -156
- package/dist/esm/index.web118.js +15 -46
- package/dist/esm/index.web119.js +29 -27
- package/dist/esm/index.web12.js +1 -1
- package/dist/esm/index.web120.js +48 -72
- package/dist/esm/index.web121.js +83 -9
- package/dist/esm/index.web122.js +47 -8
- package/dist/esm/index.web123.js +32 -113
- package/dist/esm/index.web124.js +71 -135
- package/dist/esm/index.web125.js +10 -68
- package/dist/esm/index.web126.js +9 -27
- package/dist/esm/index.web127.js +120 -32
- package/dist/esm/index.web128.js +135 -22
- package/dist/esm/index.web129.js +51 -44
- package/dist/esm/index.web13.js +9 -9
- package/dist/esm/index.web130.js +26 -23
- package/dist/esm/index.web131.js +32 -50
- package/dist/esm/index.web132.js +23 -20
- package/dist/esm/index.web133.js +62 -150
- package/dist/esm/index.web134.js +24 -17
- package/dist/esm/index.web135.js +51 -23
- package/dist/esm/index.web136.js +20 -50
- package/dist/esm/index.web137.js +26 -374
- package/dist/esm/index.web138.js +26 -26
- package/dist/esm/index.web139.js +944 -28
- package/dist/esm/index.web14.js +1 -1
- package/dist/esm/index.web140.js +4 -2
- package/dist/esm/index.web141.js +47 -63
- package/dist/esm/index.web142.js +26 -364
- package/dist/esm/index.web143.js +5 -945
- package/dist/esm/index.web144.js +48 -2
- package/dist/esm/index.web145.js +17 -49
- package/dist/esm/index.web146.js +31 -26
- package/dist/esm/index.web147.js +7 -54
- package/dist/esm/index.web148.js +3 -10
- package/dist/esm/index.web149.js +32 -2
- package/dist/esm/index.web15.js +1 -1
- package/dist/esm/index.web150.js +9 -45
- package/dist/esm/index.web151.js +7 -13
- package/dist/esm/index.web152.js +82 -12
- package/dist/esm/index.web153.js +31 -11
- package/dist/esm/index.web154.js +4 -5
- package/dist/esm/index.web155.js +18 -47
- package/dist/esm/index.web156.js +4 -14
- package/dist/esm/index.web157.js +9 -20
- package/dist/esm/index.web158.js +19 -7
- package/dist/esm/index.web159.js +64 -3
- package/dist/esm/index.web16.js +1 -1
- package/dist/esm/index.web160.js +17 -27
- package/dist/esm/index.web161.js +23 -8
- package/dist/esm/index.web162.js +8 -7
- package/dist/esm/index.web163.js +35 -70
- package/dist/esm/index.web164.js +7 -28
- package/dist/esm/index.web165.js +20 -3
- package/dist/esm/index.web166.js +2 -16
- package/dist/esm/index.web167.js +2 -5
- package/dist/esm/index.web168.js +38 -14
- package/dist/esm/index.web169.js +2 -20
- package/dist/esm/index.web17.js +1 -1
- package/dist/esm/index.web170.js +69 -61
- package/dist/esm/index.web171.js +34 -17
- package/dist/esm/index.web172.js +13 -22
- package/dist/esm/index.web173.js +7 -8
- package/dist/esm/index.web174.js +2 -43
- package/dist/esm/index.web175.js +360 -7
- package/dist/esm/index.web176.js +852 -20
- package/dist/esm/index.web177.js +3 -4
- package/dist/esm/index.web178.js +2 -2
- package/dist/esm/index.web179.js +2 -2
- package/dist/esm/index.web18.js +3 -3
- package/dist/esm/index.web180.js +2 -14
- package/dist/esm/index.web19.js +3 -3
- package/dist/esm/index.web2.js +2 -2
- package/dist/esm/index.web20.js +8 -8
- package/dist/esm/index.web21.js +2 -2
- package/dist/esm/index.web22.js +19 -4
- package/dist/esm/index.web23.js +4 -12
- package/dist/esm/index.web24.js +12 -4
- package/dist/esm/index.web25.js +3 -3
- package/dist/esm/index.web26.js +5 -7
- package/dist/esm/index.web27.js +3 -3
- package/dist/esm/index.web28.js +6 -27
- package/dist/esm/index.web29.js +25 -26
- package/dist/esm/index.web3.js +1 -1
- package/dist/esm/index.web30.js +28 -22
- package/dist/esm/index.web31.js +21 -18
- package/dist/esm/index.web32.js +21 -18
- package/dist/esm/index.web33.js +20 -17
- package/dist/esm/index.web34.js +25 -31
- package/dist/esm/index.web35.js +34 -25
- package/dist/esm/index.web36.js +21 -27
- package/dist/esm/index.web37.js +40 -24
- package/dist/esm/index.web38.js +24 -40
- package/dist/esm/index.web39.js +32 -36
- package/dist/esm/index.web4.js +49 -48
- package/dist/esm/index.web40.js +45 -41
- package/dist/esm/index.web41.js +51 -39
- package/dist/esm/index.web42.js +39 -31
- package/dist/esm/index.web43.js +24 -16
- package/dist/esm/index.web44.js +29 -5
- package/dist/esm/index.web45.js +7 -44
- package/dist/esm/index.web46.js +115 -16
- package/dist/esm/index.web47.js +16 -19
- package/dist/esm/index.web48.js +8 -8
- package/dist/esm/index.web49.js +16 -52
- package/dist/esm/index.web5.js +43 -17
- package/dist/esm/index.web50.js +55 -17
- package/dist/esm/index.web51.js +17 -23
- package/dist/esm/index.web52.js +25 -29
- package/dist/esm/index.web53.js +26 -58
- package/dist/esm/index.web54.js +58 -29
- package/dist/esm/index.web55.js +32 -12
- package/dist/esm/index.web56.js +14 -25
- package/dist/esm/index.web57.js +25 -22
- package/dist/esm/index.web58.js +21 -9
- package/dist/esm/index.web59.js +9 -15
- package/dist/esm/index.web6.js +1 -1
- package/dist/esm/index.web60.js +12 -19
- package/dist/esm/index.web61.js +22 -10
- package/dist/esm/index.web62.js +10 -16
- package/dist/esm/index.web63.js +15 -31
- package/dist/esm/index.web64.js +24 -28
- package/dist/esm/index.web65.js +37 -35
- package/dist/esm/index.web66.js +34 -33
- package/dist/esm/index.web67.js +28 -27
- package/dist/esm/index.web68.js +37 -35
- package/dist/esm/index.web69.js +42 -119
- package/dist/esm/index.web70.js +118 -46
- package/dist/esm/index.web71.js +48 -85
- package/dist/esm/index.web72.js +87 -19
- package/dist/esm/index.web73.js +70 -10
- package/dist/esm/index.web74.js +54 -36
- package/dist/esm/index.web75.js +34 -30
- package/dist/esm/index.web76.js +38 -64
- package/dist/esm/index.web77.js +34 -24
- package/dist/esm/index.web78.js +21 -16
- package/dist/esm/index.web79.js +20 -34
- package/dist/esm/index.web80.js +10 -7
- package/dist/esm/index.web81.js +36 -56
- package/dist/esm/index.web82.js +27 -60
- package/dist/esm/index.web83.js +77 -6
- package/dist/esm/index.web84.js +36 -16
- package/dist/esm/index.web85.js +18 -22
- package/dist/esm/index.web86.js +39 -47
- package/dist/esm/index.web87.js +7 -40
- package/dist/esm/index.web88.js +76 -17
- package/dist/esm/index.web89.js +70 -343
- package/dist/esm/index.web9.js +1 -1
- package/dist/esm/index.web90.js +7 -19
- package/dist/esm/index.web91.js +16 -131
- package/dist/esm/index.web92.js +19 -85
- package/dist/esm/index.web93.js +55 -5
- package/dist/esm/index.web94.js +71 -51
- package/dist/esm/index.web95.js +17 -162
- package/dist/esm/index.web96.js +369 -62
- package/dist/esm/index.web97.js +19 -36
- package/dist/esm/index.web98.js +127 -97
- package/dist/esm/index.web99.js +88 -42
- package/dist/native/index.native.js +222 -203
- package/dist/native/index.native10.js +43 -17
- package/dist/native/index.native100.js +166 -45
- package/dist/native/index.native101.js +45 -3
- package/dist/native/index.native102.js +7 -42
- package/dist/native/index.native103.js +9 -14
- package/dist/native/index.native104.js +9 -25
- package/dist/native/index.native105.js +30 -13
- package/dist/native/index.native106.js +14 -25
- package/dist/native/index.native107.js +25 -21
- package/dist/native/index.native108.js +45 -17
- package/dist/native/index.native109.js +3 -30
- package/dist/native/index.native11.js +1 -1
- package/dist/native/index.native110.js +43 -40
- package/dist/native/index.native111.js +22 -49
- package/dist/native/index.native112.js +19 -80
- package/dist/native/index.native113.js +23 -24
- package/dist/native/index.native114.js +14 -159
- package/dist/native/index.native115.js +23 -46
- package/dist/native/index.native116.js +17 -22
- package/dist/native/index.native117.js +27 -70
- package/dist/native/index.native118.js +49 -9
- package/dist/native/index.native119.js +77 -110
- package/dist/native/index.native12.js +52 -49
- package/dist/native/index.native120.js +30 -119
- package/dist/native/index.native121.js +27 -64
- package/dist/native/index.native122.js +72 -26
- package/dist/native/index.native123.js +9 -33
- package/dist/native/index.native124.js +120 -24
- package/dist/native/index.native125.js +113 -41
- package/dist/native/index.native126.js +71 -24
- package/dist/native/index.native127.js +26 -50
- package/dist/native/index.native128.js +32 -20
- package/dist/native/index.native129.js +24 -153
- package/dist/native/index.native13.js +1 -1
- package/dist/native/index.native130.js +63 -104
- package/dist/native/index.native131.js +22 -375
- package/dist/native/index.native132.js +53 -2
- package/dist/native/index.native133.js +21 -66
- package/dist/native/index.native134.js +106 -362
- package/dist/native/index.native135.js +76 -29
- package/dist/native/index.native136.js +26 -26
- package/dist/native/index.native137.js +28 -16
- package/dist/native/index.native138.js +944 -22
- package/dist/native/index.native139.js +2 -51
- package/dist/native/index.native14.js +1 -1
- package/dist/native/index.native140.js +48 -11
- package/dist/native/index.native141.js +26 -11
- package/dist/native/index.native142.js +5 -5
- package/dist/native/index.native143.js +46 -943
- package/dist/native/index.native144.js +2 -2
- package/dist/native/index.native145.js +2 -50
- package/dist/native/index.native146.js +36 -27
- package/dist/native/index.native147.js +68 -5
- package/dist/native/index.native148.js +54 -38
- package/dist/native/index.native149.js +17 -36
- package/dist/native/index.native15.js +9 -9
- package/dist/native/index.native150.js +28 -65
- package/dist/native/index.native151.js +7 -13
- package/dist/native/index.native152.js +3 -27
- package/dist/native/index.native153.js +30 -7
- package/dist/native/index.native154.js +8 -3
- package/dist/native/index.native155.js +7 -27
- package/dist/native/index.native156.js +81 -8
- package/dist/native/index.native157.js +30 -7
- package/dist/native/index.native158.js +3 -79
- package/dist/native/index.native159.js +10 -20
- package/dist/native/index.native16.js +1 -1
- package/dist/native/index.native160.js +4 -3
- package/dist/native/index.native161.js +8 -6
- package/dist/native/index.native162.js +19 -4
- package/dist/native/index.native163.js +56 -6
- package/dist/native/index.native164.js +18 -19
- package/dist/native/index.native165.js +18 -55
- package/dist/native/index.native166.js +8 -17
- package/dist/native/index.native167.js +40 -19
- package/dist/native/index.native168.js +7 -8
- package/dist/native/index.native169.js +17 -38
- package/dist/native/index.native17.js +1 -1
- package/dist/native/index.native170.js +7 -7
- package/dist/native/index.native171.js +2 -21
- package/dist/native/index.native172.js +358 -52
- package/dist/native/index.native173.js +852 -10
- package/dist/native/index.native174.js +39 -2
- package/dist/native/index.native175.js +2 -45
- package/dist/native/index.native176.js +69 -13
- package/dist/native/index.native177.js +34 -13
- package/dist/native/index.native178.js +13 -54
- package/dist/native/index.native179.js +2 -7
- package/dist/native/index.native18.js +1 -1
- package/dist/native/index.native180.js +2 -22
- package/dist/native/index.native181.js +2 -18
- package/dist/native/index.native182.js +9 -44
- package/dist/native/index.native183.js +3 -3
- package/dist/native/index.native19.js +1 -1
- package/dist/native/index.native2.js +2 -2
- package/dist/native/index.native20.js +3 -3
- package/dist/native/index.native21.js +3 -3
- package/dist/native/index.native22.js +8 -8
- package/dist/native/index.native23.js +2 -2
- package/dist/native/index.native24.js +19 -4
- package/dist/native/index.native25.js +4 -12
- package/dist/native/index.native26.js +12 -4
- package/dist/native/index.native27.js +3 -3
- package/dist/native/index.native28.js +5 -7
- package/dist/native/index.native29.js +3 -3
- package/dist/native/index.native3.js +1 -1
- package/dist/native/index.native30.js +6 -26
- package/dist/native/index.native31.js +24 -25
- package/dist/native/index.native32.js +27 -21
- package/dist/native/index.native33.js +19 -16
- package/dist/native/index.native34.js +20 -17
- package/dist/native/index.native35.js +20 -17
- package/dist/native/index.native36.js +25 -31
- package/dist/native/index.native37.js +33 -24
- package/dist/native/index.native38.js +20 -26
- package/dist/native/index.native39.js +39 -24
- package/dist/native/index.native4.js +2 -2
- package/dist/native/index.native40.js +24 -39
- package/dist/native/index.native41.js +31 -35
- package/dist/native/index.native42.js +45 -41
- package/dist/native/index.native43.js +50 -39
- package/dist/native/index.native44.js +39 -30
- package/dist/native/index.native45.js +25 -17
- package/dist/native/index.native46.js +28 -5
- package/dist/native/index.native47.js +7 -44
- package/dist/native/index.native48.js +115 -16
- package/dist/native/index.native49.js +16 -19
- package/dist/native/index.native5.js +2 -2
- package/dist/native/index.native50.js +8 -8
- package/dist/native/index.native51.js +16 -51
- package/dist/native/index.native52.js +54 -17
- package/dist/native/index.native53.js +17 -23
- package/dist/native/index.native54.js +25 -29
- package/dist/native/index.native55.js +26 -58
- package/dist/native/index.native56.js +58 -29
- package/dist/native/index.native57.js +32 -12
- package/dist/native/index.native58.js +14 -25
- package/dist/native/index.native59.js +25 -22
- package/dist/native/index.native6.js +1 -1
- package/dist/native/index.native60.js +21 -9
- package/dist/native/index.native61.js +9 -15
- package/dist/native/index.native62.js +12 -19
- package/dist/native/index.native63.js +22 -10
- package/dist/native/index.native64.js +10 -16
- package/dist/native/index.native65.js +15 -31
- package/dist/native/index.native66.js +24 -28
- package/dist/native/index.native67.js +37 -34
- package/dist/native/index.native68.js +33 -32
- package/dist/native/index.native69.js +27 -26
- package/dist/native/index.native7.js +2 -2
- package/dist/native/index.native70.js +36 -34
- package/dist/native/index.native71.js +41 -119
- package/dist/native/index.native72.js +118 -46
- package/dist/native/index.native73.js +48 -84
- package/dist/native/index.native74.js +86 -19
- package/dist/native/index.native75.js +70 -10
- package/dist/native/index.native76.js +54 -36
- package/dist/native/index.native77.js +33 -30
- package/dist/native/index.native78.js +37 -64
- package/dist/native/index.native79.js +33 -24
- package/dist/native/index.native8.js +17 -19
- package/dist/native/index.native80.js +21 -16
- package/dist/native/index.native81.js +20 -34
- package/dist/native/index.native82.js +10 -7
- package/dist/native/index.native83.js +35 -62
- package/dist/native/index.native84.js +30 -22
- package/dist/native/index.native85.js +73 -45
- package/dist/native/index.native86.js +35 -39
- package/dist/native/index.native87.js +17 -350
- package/dist/native/index.native88.js +40 -18
- package/dist/native/index.native89.js +7 -131
- package/dist/native/index.native9.js +20 -22
- package/dist/native/index.native90.js +63 -88
- package/dist/native/index.native91.js +22 -6
- package/dist/native/index.native92.js +55 -53
- package/dist/native/index.native93.js +71 -157
- package/dist/native/index.native94.js +368 -35
- package/dist/native/index.native95.js +18 -8
- package/dist/native/index.native96.js +134 -8
- package/dist/native/index.native97.js +87 -7
- package/dist/native/index.native98.js +5 -30
- package/dist/native/index.native99.js +58 -24
- package/dist/native-types/actions/adjustBorrowPosition.d.ts +79 -0
- package/dist/native-types/actions/closeBorrowPosition.d.ts +49 -0
- package/dist/native-types/actions/createBorrowPosition.d.ts +31 -0
- package/dist/native-types/actions/fetchWithX402.d.ts +80 -13
- package/dist/native-types/actions/getEvmBorrowProduct.d.ts +22 -0
- package/dist/native-types/actions/initiateMfaVerification.d.ts +10 -3
- package/dist/native-types/actions/listBorrowPositions.d.ts +36 -0
- package/dist/native-types/actions/listEvmBorrowProducts.d.ts +36 -0
- package/dist/native-types/actions/refreshUser.d.ts +22 -0
- 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/authManager.d.ts +25 -9
- package/dist/native-types/auth/createAuthManager.d.ts +5 -4
- package/dist/native-types/auth/oAuthManager.d.ts +1 -1
- package/dist/native-types/core.d.ts +1 -0
- package/dist/native-types/errors.d.ts +3 -1
- package/dist/native-types/index.d.ts +12 -1
- package/dist/native-types/index.native.d.ts +11 -2
- package/dist/native-types/index.web.d.ts +11 -1
- package/dist/native-types/mfa/index.d.ts +1 -1
- package/dist/native-types/mfa/protectedActions.d.ts +34 -0
- package/dist/native-types/mfa/state.d.ts +21 -1
- package/dist/native-types/mfa/withMfa.d.ts +22 -3
- package/dist/native-types/mocks/borrowProduct.d.ts +25 -0
- package/dist/native-types/platform/native/loadOptionalModule.d.ts +15 -0
- package/dist/native-types/platform/native/storage.d.ts +2 -1
- package/dist/native-types/platform/registry.d.ts +21 -1
- package/dist/native-types/platform/types.d.ts +32 -0
- package/dist/native-types/version.d.ts +1 -1
- package/dist/types/actions/adjustBorrowPosition.d.ts +79 -0
- package/dist/types/actions/closeBorrowPosition.d.ts +49 -0
- package/dist/types/actions/createBorrowPosition.d.ts +31 -0
- package/dist/types/actions/fetchWithX402.d.ts +80 -13
- package/dist/types/actions/getEvmBorrowProduct.d.ts +22 -0
- package/dist/types/actions/initiateMfaVerification.d.ts +10 -3
- package/dist/types/actions/listBorrowPositions.d.ts +36 -0
- package/dist/types/actions/listEvmBorrowProducts.d.ts +36 -0
- package/dist/types/actions/refreshUser.d.ts +22 -0
- package/dist/types/actions/submitMfaVerification.d.ts +6 -0
- package/dist/types/actions/verifyPasskey.d.ts +7 -1
- package/dist/types/auth/authManager.d.ts +25 -9
- package/dist/types/auth/createAuthManager.d.ts +5 -4
- package/dist/types/auth/oAuthManager.d.ts +1 -1
- package/dist/types/core.d.ts +1 -0
- package/dist/types/errors.d.ts +3 -1
- package/dist/types/index.d.ts +12 -1
- package/dist/types/index.native.d.ts +11 -2
- package/dist/types/index.web.d.ts +11 -1
- package/dist/types/mfa/index.d.ts +1 -1
- package/dist/types/mfa/protectedActions.d.ts +34 -0
- package/dist/types/mfa/state.d.ts +21 -1
- package/dist/types/mfa/withMfa.d.ts +22 -3
- package/dist/types/mocks/borrowProduct.d.ts +25 -0
- package/dist/types/platform/native/loadOptionalModule.d.ts +15 -0
- package/dist/types/platform/native/storage.d.ts +2 -1
- package/dist/types/platform/registry.d.ts +21 -1
- package/dist/types/platform/types.d.ts +32 -0
- package/dist/types/version.d.ts +1 -1
- package/dist/web/index.web.js +242 -223
- package/dist/web/index.web10.js +41 -38
- package/dist/web/index.web100.js +5 -87
- package/dist/web/index.web101.js +60 -31
- package/dist/web/index.web102.js +163 -22
- package/dist/web/index.web103.js +68 -45
- package/dist/web/index.web104.js +36 -3
- package/dist/web/index.web105.js +106 -41
- package/dist/web/index.web106.js +46 -14
- package/dist/web/index.web107.js +87 -23
- package/dist/web/index.web108.js +30 -13
- package/dist/web/index.web109.js +24 -23
- package/dist/web/index.web11.js +1 -1
- package/dist/web/index.web110.js +45 -22
- package/dist/web/index.web111.js +3 -17
- package/dist/web/index.web112.js +42 -28
- package/dist/web/index.web113.js +21 -40
- package/dist/web/index.web114.js +19 -48
- package/dist/web/index.web115.js +21 -78
- package/dist/web/index.web116.js +14 -25
- package/dist/web/index.web117.js +21 -156
- package/dist/web/index.web118.js +15 -46
- package/dist/web/index.web119.js +29 -27
- package/dist/web/index.web12.js +1 -1
- package/dist/web/index.web120.js +48 -72
- package/dist/web/index.web121.js +83 -9
- package/dist/web/index.web122.js +47 -8
- package/dist/web/index.web123.js +32 -113
- package/dist/web/index.web124.js +71 -135
- package/dist/web/index.web125.js +10 -68
- package/dist/web/index.web126.js +9 -27
- package/dist/web/index.web127.js +120 -32
- package/dist/web/index.web128.js +135 -22
- package/dist/web/index.web129.js +51 -44
- package/dist/web/index.web13.js +9 -9
- package/dist/web/index.web130.js +26 -23
- package/dist/web/index.web131.js +32 -50
- package/dist/web/index.web132.js +23 -20
- package/dist/web/index.web133.js +62 -150
- package/dist/web/index.web134.js +24 -17
- package/dist/web/index.web135.js +51 -23
- package/dist/web/index.web136.js +20 -50
- package/dist/web/index.web137.js +26 -374
- package/dist/web/index.web138.js +26 -26
- package/dist/web/index.web139.js +944 -28
- package/dist/web/index.web14.js +1 -1
- package/dist/web/index.web140.js +4 -2
- package/dist/web/index.web141.js +47 -63
- package/dist/web/index.web142.js +26 -364
- package/dist/web/index.web143.js +5 -945
- package/dist/web/index.web144.js +48 -2
- package/dist/web/index.web145.js +17 -49
- package/dist/web/index.web146.js +31 -26
- package/dist/web/index.web147.js +7 -54
- package/dist/web/index.web148.js +3 -10
- package/dist/web/index.web149.js +32 -2
- package/dist/web/index.web15.js +1 -1
- package/dist/web/index.web150.js +9 -45
- package/dist/web/index.web151.js +7 -13
- package/dist/web/index.web152.js +82 -12
- package/dist/web/index.web153.js +31 -11
- package/dist/web/index.web154.js +4 -5
- package/dist/web/index.web155.js +18 -47
- package/dist/web/index.web156.js +4 -14
- package/dist/web/index.web157.js +9 -20
- package/dist/web/index.web158.js +19 -7
- package/dist/web/index.web159.js +64 -3
- package/dist/web/index.web16.js +1 -1
- package/dist/web/index.web160.js +17 -27
- package/dist/web/index.web161.js +23 -8
- package/dist/web/index.web162.js +8 -7
- package/dist/web/index.web163.js +35 -70
- package/dist/web/index.web164.js +7 -28
- package/dist/web/index.web165.js +20 -3
- package/dist/web/index.web166.js +2 -16
- package/dist/web/index.web167.js +2 -5
- package/dist/web/index.web168.js +38 -14
- package/dist/web/index.web169.js +2 -20
- package/dist/web/index.web17.js +1 -1
- package/dist/web/index.web170.js +69 -61
- package/dist/web/index.web171.js +34 -17
- package/dist/web/index.web172.js +13 -22
- package/dist/web/index.web173.js +7 -8
- package/dist/web/index.web174.js +2 -43
- package/dist/web/index.web175.js +360 -7
- package/dist/web/index.web176.js +852 -20
- package/dist/web/index.web177.js +3 -4
- package/dist/web/index.web178.js +2 -2
- package/dist/web/index.web179.js +2 -2
- package/dist/web/index.web18.js +3 -3
- package/dist/web/index.web180.js +2 -14
- package/dist/web/index.web19.js +3 -3
- package/dist/web/index.web2.js +2 -2
- package/dist/web/index.web20.js +8 -8
- package/dist/web/index.web21.js +2 -2
- package/dist/web/index.web22.js +19 -4
- package/dist/web/index.web23.js +4 -12
- package/dist/web/index.web24.js +12 -4
- package/dist/web/index.web25.js +3 -3
- package/dist/web/index.web26.js +5 -7
- package/dist/web/index.web27.js +3 -3
- package/dist/web/index.web28.js +6 -27
- package/dist/web/index.web29.js +25 -26
- package/dist/web/index.web3.js +1 -1
- package/dist/web/index.web30.js +28 -22
- package/dist/web/index.web31.js +21 -18
- package/dist/web/index.web32.js +21 -18
- package/dist/web/index.web33.js +20 -17
- package/dist/web/index.web34.js +25 -31
- package/dist/web/index.web35.js +34 -25
- package/dist/web/index.web36.js +21 -27
- package/dist/web/index.web37.js +40 -24
- package/dist/web/index.web38.js +24 -40
- package/dist/web/index.web39.js +32 -36
- package/dist/web/index.web4.js +49 -48
- package/dist/web/index.web40.js +45 -41
- package/dist/web/index.web41.js +51 -39
- package/dist/web/index.web42.js +39 -31
- package/dist/web/index.web43.js +24 -16
- package/dist/web/index.web44.js +29 -5
- package/dist/web/index.web45.js +7 -44
- package/dist/web/index.web46.js +115 -16
- package/dist/web/index.web47.js +16 -19
- package/dist/web/index.web48.js +8 -8
- package/dist/web/index.web49.js +16 -52
- package/dist/web/index.web5.js +43 -17
- package/dist/web/index.web50.js +55 -17
- package/dist/web/index.web51.js +17 -23
- package/dist/web/index.web52.js +25 -29
- package/dist/web/index.web53.js +26 -58
- package/dist/web/index.web54.js +58 -29
- package/dist/web/index.web55.js +32 -12
- package/dist/web/index.web56.js +14 -25
- package/dist/web/index.web57.js +25 -22
- package/dist/web/index.web58.js +21 -9
- package/dist/web/index.web59.js +9 -15
- package/dist/web/index.web6.js +1 -1
- package/dist/web/index.web60.js +12 -19
- package/dist/web/index.web61.js +22 -10
- package/dist/web/index.web62.js +10 -16
- package/dist/web/index.web63.js +15 -31
- package/dist/web/index.web64.js +24 -28
- package/dist/web/index.web65.js +37 -35
- package/dist/web/index.web66.js +34 -33
- package/dist/web/index.web67.js +28 -27
- package/dist/web/index.web68.js +37 -35
- package/dist/web/index.web69.js +42 -119
- package/dist/web/index.web70.js +118 -46
- package/dist/web/index.web71.js +48 -85
- package/dist/web/index.web72.js +87 -19
- package/dist/web/index.web73.js +70 -10
- package/dist/web/index.web74.js +54 -36
- package/dist/web/index.web75.js +34 -30
- package/dist/web/index.web76.js +38 -64
- package/dist/web/index.web77.js +34 -24
- package/dist/web/index.web78.js +21 -16
- package/dist/web/index.web79.js +20 -34
- package/dist/web/index.web80.js +10 -7
- package/dist/web/index.web81.js +36 -56
- package/dist/web/index.web82.js +27 -60
- package/dist/web/index.web83.js +77 -6
- package/dist/web/index.web84.js +36 -16
- package/dist/web/index.web85.js +18 -22
- package/dist/web/index.web86.js +39 -47
- package/dist/web/index.web87.js +7 -40
- package/dist/web/index.web88.js +76 -17
- package/dist/web/index.web89.js +70 -343
- package/dist/web/index.web9.js +1 -1
- package/dist/web/index.web90.js +7 -19
- package/dist/web/index.web91.js +16 -131
- package/dist/web/index.web92.js +19 -85
- package/dist/web/index.web93.js +55 -5
- package/dist/web/index.web94.js +71 -51
- package/dist/web/index.web95.js +17 -162
- package/dist/web/index.web96.js +369 -62
- package/dist/web/index.web97.js +19 -36
- package/dist/web/index.web98.js +127 -97
- package/dist/web/index.web99.js +88 -42
- package/dist/web-types/actions/adjustBorrowPosition.d.ts +79 -0
- package/dist/web-types/actions/closeBorrowPosition.d.ts +49 -0
- package/dist/web-types/actions/createBorrowPosition.d.ts +31 -0
- package/dist/web-types/actions/fetchWithX402.d.ts +80 -13
- package/dist/web-types/actions/getEvmBorrowProduct.d.ts +22 -0
- package/dist/web-types/actions/initiateMfaVerification.d.ts +10 -3
- package/dist/web-types/actions/listBorrowPositions.d.ts +36 -0
- package/dist/web-types/actions/listEvmBorrowProducts.d.ts +36 -0
- package/dist/web-types/actions/refreshUser.d.ts +22 -0
- 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/authManager.d.ts +25 -9
- package/dist/web-types/auth/createAuthManager.d.ts +5 -4
- package/dist/web-types/auth/oAuthManager.d.ts +1 -1
- package/dist/web-types/core.d.ts +1 -0
- package/dist/web-types/errors.d.ts +3 -1
- package/dist/web-types/index.d.ts +12 -1
- package/dist/web-types/index.native.d.ts +11 -2
- package/dist/web-types/index.web.d.ts +11 -1
- package/dist/web-types/mfa/index.d.ts +1 -1
- package/dist/web-types/mfa/protectedActions.d.ts +34 -0
- package/dist/web-types/mfa/state.d.ts +21 -1
- package/dist/web-types/mfa/withMfa.d.ts +22 -3
- package/dist/web-types/mocks/borrowProduct.d.ts +25 -0
- package/dist/web-types/platform/native/loadOptionalModule.d.ts +15 -0
- package/dist/web-types/platform/native/storage.d.ts +2 -1
- package/dist/web-types/platform/registry.d.ts +21 -1
- package/dist/web-types/platform/types.d.ts +32 -0
- package/dist/web-types/version.d.ts +1 -1
- package/package.json +24 -12
- package/dist/esm/index.web181.js +0 -58
- package/dist/esm/index.web182.js +0 -9
- package/dist/esm/index.web183.js +0 -24
- package/dist/esm/index.web184.js +0 -20
- package/dist/esm/index.web185.js +0 -48
- package/dist/esm/index.web186.js +0 -6
- package/dist/esm/index.web187.js +0 -6
- package/dist/esm/index.web188.js +0 -37
- package/dist/esm/index.web189.js +0 -15
- package/dist/esm/index.web190.js +0 -7
- package/dist/esm/index.web191.js +0 -31
- package/dist/esm/index.web192.js +0 -9
- package/dist/esm/index.web193.js +0 -35
- package/dist/esm/index.web194.js +0 -15
- package/dist/esm/index.web195.js +0 -58
- package/dist/esm/index.web196.js +0 -45
- package/dist/esm/index.web197.js +0 -130
- package/dist/esm/index.web198.js +0 -107
- package/dist/esm/index.web199.js +0 -9
- package/dist/esm/index.web200.js +0 -5
- package/dist/esm/index.web201.js +0 -81
- package/dist/esm/index.web202.js +0 -4
- package/dist/esm/index.web203.js +0 -4
- package/dist/esm/index.web204.js +0 -40
- package/dist/esm/index.web205.js +0 -9
- package/dist/esm/index.web206.js +0 -37
- package/dist/esm/index.web207.js +0 -17
- package/dist/esm/index.web208.js +0 -37
- package/dist/esm/index.web209.js +0 -21
- package/dist/esm/index.web210.js +0 -11
- package/dist/esm/index.web211.js +0 -13
- package/dist/esm/index.web212.js +0 -14
- package/dist/esm/index.web213.js +0 -16
- package/dist/esm/index.web214.js +0 -8
- package/dist/esm/index.web215.js +0 -7
- package/dist/esm/index.web216.js +0 -13
- package/dist/esm/index.web217.js +0 -23
- package/dist/esm/index.web218.js +0 -12
- package/dist/esm/index.web219.js +0 -22
- package/dist/esm/index.web220.js +0 -96
- package/dist/esm/index.web221.js +0 -23
- package/dist/esm/index.web222.js +0 -120
- package/dist/esm/index.web223.js +0 -106
- package/dist/esm/index.web224.js +0 -81
- package/dist/esm/index.web225.js +0 -81
- package/dist/esm/index.web226.js +0 -111
- package/dist/esm/index.web227.js +0 -4
- package/dist/esm/index.web228.js +0 -4
- package/dist/esm/index.web229.js +0 -41
- package/dist/esm/index.web230.js +0 -4
- package/dist/esm/index.web231.js +0 -72
- package/dist/esm/index.web232.js +0 -37
- package/dist/esm/index.web233.js +0 -17
- package/dist/esm/index.web234.js +0 -10
- package/dist/esm/index.web235.js +0 -4
- package/dist/esm/index.web236.js +0 -363
- package/dist/esm/index.web237.js +0 -855
- package/dist/esm/index.web238.js +0 -49
- package/dist/esm/index.web239.js +0 -23
- package/dist/esm/index.web240.js +0 -4
- package/dist/esm/index.web241.js +0 -22
- package/dist/esm/index.web242.js +0 -35
- package/dist/esm/index.web243.js +0 -9
- package/dist/esm/index.web244.js +0 -6
- package/dist/esm/index.web245.js +0 -20
- package/dist/esm/index.web246.js +0 -30
- package/dist/esm/index.web247.js +0 -10
- package/dist/esm/index.web248.js +0 -13
- package/dist/esm/index.web249.js +0 -15
- package/dist/esm/index.web250.js +0 -12
- package/dist/esm/index.web251.js +0 -19
- package/dist/esm/index.web252.js +0 -83
- package/dist/esm/index.web253.js +0 -4
- package/dist/esm/index.web254.js +0 -4
- package/dist/esm/index.web255.js +0 -4
- package/dist/esm/index.web256.js +0 -7
- package/dist/esm/index.web257.js +0 -81
- package/dist/esm/index.web258.js +0 -17
- package/dist/native/index.native184.js +0 -6
- package/dist/native/index.native185.js +0 -37
- package/dist/native/index.native186.js +0 -15
- package/dist/native/index.native187.js +0 -7
- package/dist/native/index.native188.js +0 -31
- package/dist/native/index.native189.js +0 -9
- package/dist/native/index.native190.js +0 -35
- package/dist/native/index.native191.js +0 -15
- package/dist/native/index.native192.js +0 -58
- package/dist/native/index.native193.js +0 -45
- package/dist/native/index.native194.js +0 -130
- package/dist/native/index.native195.js +0 -107
- package/dist/native/index.native196.js +0 -9
- package/dist/native/index.native197.js +0 -5
- package/dist/native/index.native198.js +0 -81
- package/dist/native/index.native199.js +0 -4
- package/dist/native/index.native200.js +0 -4
- package/dist/native/index.native201.js +0 -40
- package/dist/native/index.native202.js +0 -9
- package/dist/native/index.native203.js +0 -37
- package/dist/native/index.native204.js +0 -17
- package/dist/native/index.native205.js +0 -37
- package/dist/native/index.native206.js +0 -21
- package/dist/native/index.native207.js +0 -11
- package/dist/native/index.native208.js +0 -13
- package/dist/native/index.native209.js +0 -14
- package/dist/native/index.native210.js +0 -16
- package/dist/native/index.native211.js +0 -8
- package/dist/native/index.native212.js +0 -7
- package/dist/native/index.native213.js +0 -13
- package/dist/native/index.native214.js +0 -4
- package/dist/native/index.native215.js +0 -4
- package/dist/native/index.native216.js +0 -106
- package/dist/native/index.native217.js +0 -81
- package/dist/native/index.native218.js +0 -81
- package/dist/native/index.native219.js +0 -4
- package/dist/native/index.native220.js +0 -111
- package/dist/native/index.native221.js +0 -4
- package/dist/native/index.native222.js +0 -10
- package/dist/native/index.native223.js +0 -4
- package/dist/native/index.native224.js +0 -363
- package/dist/native/index.native225.js +0 -855
- package/dist/native/index.native226.js +0 -41
- package/dist/native/index.native227.js +0 -4
- package/dist/native/index.native228.js +0 -72
- package/dist/native/index.native229.js +0 -37
- package/dist/native/index.native230.js +0 -17
- package/dist/native/index.native231.js +0 -23
- package/dist/native/index.native232.js +0 -12
- package/dist/native/index.native233.js +0 -22
- package/dist/native/index.native234.js +0 -96
- package/dist/native/index.native235.js +0 -23
- package/dist/native/index.native236.js +0 -120
- package/dist/native/index.native237.js +0 -49
- package/dist/native/index.native238.js +0 -23
- package/dist/native/index.native239.js +0 -4
- package/dist/native/index.native240.js +0 -22
- package/dist/native/index.native241.js +0 -35
- package/dist/native/index.native242.js +0 -9
- package/dist/native/index.native243.js +0 -4
- package/dist/native/index.native244.js +0 -4
- package/dist/native/index.native245.js +0 -4
- package/dist/native/index.native246.js +0 -6
- package/dist/native/index.native247.js +0 -20
- package/dist/native/index.native248.js +0 -30
- package/dist/native/index.native249.js +0 -10
- package/dist/native/index.native250.js +0 -13
- package/dist/native/index.native251.js +0 -15
- package/dist/native/index.native252.js +0 -12
- package/dist/native/index.native253.js +0 -19
- package/dist/native/index.native254.js +0 -83
- package/dist/native/index.native255.js +0 -7
- package/dist/native/index.native256.js +0 -17
- package/dist/native/index.native257.js +0 -81
- package/dist/web/index.web181.js +0 -58
- package/dist/web/index.web182.js +0 -9
- package/dist/web/index.web183.js +0 -24
- package/dist/web/index.web184.js +0 -20
- package/dist/web/index.web185.js +0 -48
- package/dist/web/index.web186.js +0 -6
- package/dist/web/index.web187.js +0 -6
- package/dist/web/index.web188.js +0 -37
- package/dist/web/index.web189.js +0 -15
- package/dist/web/index.web190.js +0 -7
- package/dist/web/index.web191.js +0 -31
- package/dist/web/index.web192.js +0 -9
- package/dist/web/index.web193.js +0 -35
- package/dist/web/index.web194.js +0 -15
- package/dist/web/index.web195.js +0 -58
- package/dist/web/index.web196.js +0 -45
- package/dist/web/index.web197.js +0 -130
- package/dist/web/index.web198.js +0 -107
- package/dist/web/index.web199.js +0 -9
- package/dist/web/index.web200.js +0 -5
- package/dist/web/index.web201.js +0 -81
- package/dist/web/index.web202.js +0 -4
- package/dist/web/index.web203.js +0 -4
- package/dist/web/index.web204.js +0 -40
- package/dist/web/index.web205.js +0 -9
- package/dist/web/index.web206.js +0 -37
- package/dist/web/index.web207.js +0 -17
- package/dist/web/index.web208.js +0 -37
- package/dist/web/index.web209.js +0 -21
- package/dist/web/index.web210.js +0 -11
- package/dist/web/index.web211.js +0 -13
- package/dist/web/index.web212.js +0 -14
- package/dist/web/index.web213.js +0 -16
- package/dist/web/index.web214.js +0 -8
- package/dist/web/index.web215.js +0 -7
- package/dist/web/index.web216.js +0 -13
- package/dist/web/index.web217.js +0 -23
- package/dist/web/index.web218.js +0 -12
- package/dist/web/index.web219.js +0 -22
- package/dist/web/index.web220.js +0 -96
- package/dist/web/index.web221.js +0 -23
- package/dist/web/index.web222.js +0 -120
- package/dist/web/index.web223.js +0 -106
- package/dist/web/index.web224.js +0 -81
- package/dist/web/index.web225.js +0 -81
- package/dist/web/index.web226.js +0 -111
- package/dist/web/index.web227.js +0 -4
- package/dist/web/index.web228.js +0 -4
- package/dist/web/index.web229.js +0 -41
- package/dist/web/index.web230.js +0 -4
- package/dist/web/index.web231.js +0 -72
- package/dist/web/index.web232.js +0 -37
- package/dist/web/index.web233.js +0 -17
- package/dist/web/index.web234.js +0 -10
- package/dist/web/index.web235.js +0 -4
- package/dist/web/index.web236.js +0 -363
- package/dist/web/index.web237.js +0 -855
- package/dist/web/index.web238.js +0 -49
- package/dist/web/index.web239.js +0 -23
- package/dist/web/index.web240.js +0 -4
- package/dist/web/index.web241.js +0 -22
- package/dist/web/index.web242.js +0 -35
- package/dist/web/index.web243.js +0 -9
- package/dist/web/index.web244.js +0 -6
- package/dist/web/index.web245.js +0 -20
- package/dist/web/index.web246.js +0 -30
- package/dist/web/index.web247.js +0 -10
- package/dist/web/index.web248.js +0 -13
- package/dist/web/index.web249.js +0 -15
- package/dist/web/index.web250.js +0 -12
- package/dist/web/index.web251.js +0 -19
- package/dist/web/index.web252.js +0 -83
- package/dist/web/index.web253.js +0 -4
- package/dist/web/index.web254.js +0 -4
- package/dist/web/index.web255.js +0 -4
- package/dist/web/index.web256.js +0 -7
- package/dist/web/index.web257.js +0 -81
- package/dist/web/index.web258.js +0 -17
package/README.md
CHANGED
|
@@ -33,6 +33,66 @@ in CDP Portal, and click Add origin to include your local app
|
|
|
33
33
|
2. Enter the origin of your locally running app - e.g., `http://localhost:3000`
|
|
34
34
|
3. Click Add origin again to save your changes
|
|
35
35
|
|
|
36
|
+
### React Native Storage
|
|
37
|
+
|
|
38
|
+
On React Native, the SDK stores state through `@react-native-async-storage/async-storage` by
|
|
39
|
+
default. AsyncStorage is an optional peer dependency of `@coinbase/cdp-core`. Apps that use a
|
|
40
|
+
different store supply an adapter with `configurePlatformServices`. Configure it at startup, after
|
|
41
|
+
importing `@coinbase/cdp-core` and before calling `initialize`.
|
|
42
|
+
|
|
43
|
+
`configurePlatformServices` replaces only the services you pass. Every other service keeps its
|
|
44
|
+
React Native default. Platform storage holds the pending OAuth flow ID, backs OAuth flow
|
|
45
|
+
validation, holds the embedded wallet store, and mirrors the refresh token on platforms without
|
|
46
|
+
secure storage. `getItemWithOutcome` is optional on a custom adapter. The SDK derives it from
|
|
47
|
+
`getItem` when you omit it.
|
|
48
|
+
|
|
49
|
+
The pending OAuth flow ID is CSRF state. Its store must be private to the app and must not be
|
|
50
|
+
writable by another origin or app.
|
|
51
|
+
|
|
52
|
+
An app without `@react-native-async-storage/async-storage` very likely also lacks
|
|
53
|
+
`expo-secure-store`, which the SDK uses for the refresh token on native. Such an app must install
|
|
54
|
+
`expo-secure-store` or also pass `secureStorage` to `configurePlatformServices`. Without secure
|
|
55
|
+
storage, the app can sign in and then be signed out on the next token refresh.
|
|
56
|
+
|
|
57
|
+
For example, create `cdp-storage.ts` with an [MMKV](https://github.com/mrousavy/react-native-mmkv)
|
|
58
|
+
adapter. `createMMKV` is the `react-native-mmkv` v4 API; v2 and v3 used `new MMKV()`.
|
|
59
|
+
|
|
60
|
+
```ts lines
|
|
61
|
+
import { configurePlatformServices, type PlatformStorageOverride } from "@coinbase/cdp-core";
|
|
62
|
+
import { createMMKV } from "react-native-mmkv";
|
|
63
|
+
|
|
64
|
+
const mmkv = createMMKV({ id: "cdp" });
|
|
65
|
+
|
|
66
|
+
export const mmkvStorage: PlatformStorageOverride = {
|
|
67
|
+
async getItem(key) {
|
|
68
|
+
return mmkv.getString(key) ?? null;
|
|
69
|
+
},
|
|
70
|
+
async setItem(key, value) {
|
|
71
|
+
mmkv.set(key, value);
|
|
72
|
+
},
|
|
73
|
+
async removeItem(key) {
|
|
74
|
+
mmkv.remove(key);
|
|
75
|
+
},
|
|
76
|
+
async clear() {
|
|
77
|
+
mmkv.clearAll();
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
configurePlatformServices({ storage: mmkvStorage });
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
The SDK never calls `clear()` itself. `clearAll()` is safe here because
|
|
85
|
+
`createMMKV({ id: "cdp" })` dedicates the instance to CDP. An adapter over a shared instance must
|
|
86
|
+
scope `clear` to CDP keys.
|
|
87
|
+
|
|
88
|
+
Import that file for its side effect from your app entry point, ahead of the code that calls
|
|
89
|
+
`initialize`:
|
|
90
|
+
|
|
91
|
+
```ts lines
|
|
92
|
+
import "./cdp-storage";
|
|
93
|
+
import "expo-router/entry";
|
|
94
|
+
```
|
|
95
|
+
|
|
36
96
|
### Initialize the SDK
|
|
37
97
|
|
|
38
98
|
Before calling any methods in the SDK, you must first initialize it:
|
|
@@ -1293,48 +1353,36 @@ console.log("Solana Private Key:", privateKey);
|
|
|
1293
1353
|
|
|
1294
1354
|
### X402 Payment Protocol Support
|
|
1295
1355
|
|
|
1296
|
-
The SDK includes built-in support for the
|
|
1356
|
+
The SDK includes built-in support for the x402 (v2) payment protocol, which enables HTTP requests with micropayments. This allows accessing paid APIs and services that require payment for each request.
|
|
1357
|
+
|
|
1358
|
+
By default, `fetchWithX402` registers the `exact`, `upto` (usage-based billing), and `authCapture` (escrow-style holds) schemes on Base mainnet for an EVM account, and `exact`/`upto` on Solana mainnet for a Solana account — see [Advanced Configuration](#advanced-configuration) to opt out of a scheme.
|
|
1297
1359
|
|
|
1298
1360
|
#### Installation
|
|
1299
1361
|
|
|
1300
|
-
Ensure you have separately installed the
|
|
1362
|
+
Ensure you have separately installed the `@x402/*` packages:
|
|
1301
1363
|
|
|
1302
1364
|
```bash
|
|
1303
|
-
npm install x402
|
|
1365
|
+
npm install @x402/core @x402/evm @x402/svm @x402/fetch
|
|
1304
1366
|
```
|
|
1305
1367
|
|
|
1306
1368
|
#### Basic Usage
|
|
1307
1369
|
|
|
1308
|
-
The `fetchWithX402` function provides a wrapped fetch API that automatically handles
|
|
1370
|
+
The `fetchWithX402` function provides a wrapped fetch API that automatically handles x402 payment requests:
|
|
1309
1371
|
|
|
1310
1372
|
```typescript lines
|
|
1311
1373
|
import { fetchWithX402, getCurrentUser } from "@coinbase/cdp-core";
|
|
1312
1374
|
|
|
1313
1375
|
// The user must be authenticated first
|
|
1314
|
-
|
|
1376
|
+
await getCurrentUser();
|
|
1315
1377
|
|
|
1316
|
-
// Create a fetch function with X402 payment handling
|
|
1317
1378
|
const { fetchWithPayment } = fetchWithX402();
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
try {
|
|
1321
|
-
const response = await fetchWithPayment("https://api.example.com/paid-endpoint", {
|
|
1322
|
-
method: "GET",
|
|
1323
|
-
headers: {
|
|
1324
|
-
"Content-Type": "application/json"
|
|
1325
|
-
}
|
|
1326
|
-
});
|
|
1327
|
-
|
|
1328
|
-
const data = await response.json();
|
|
1329
|
-
console.log("Paid API response:", data);
|
|
1330
|
-
} catch (error) {
|
|
1331
|
-
console.error("X402 payment failed:", error);
|
|
1332
|
-
}
|
|
1379
|
+
const response = await fetchWithPayment("https://api.example.com/paid-endpoint");
|
|
1380
|
+
const data = await response.json();
|
|
1333
1381
|
```
|
|
1334
1382
|
|
|
1335
1383
|
#### Advanced Configuration
|
|
1336
1384
|
|
|
1337
|
-
You can customize the
|
|
1385
|
+
You can customize the x402 behavior with options:
|
|
1338
1386
|
|
|
1339
1387
|
```typescript lines
|
|
1340
1388
|
// Use a specific address for payments (instead of the user's default)
|
|
@@ -1344,18 +1392,40 @@ const { fetchWithPayment } = fetchWithX402({
|
|
|
1344
1392
|
|
|
1345
1393
|
// Use a custom fetch implementation
|
|
1346
1394
|
const customFetch = (url, options) => {
|
|
1347
|
-
|
|
1348
|
-
return fetch(url, options);
|
|
1395
|
+
return fetch(url, { ...options, cache: "no-store" });
|
|
1349
1396
|
};
|
|
1350
1397
|
|
|
1351
1398
|
const { fetchWithPayment } = fetchWithX402({
|
|
1352
1399
|
fetch: customFetch
|
|
1353
1400
|
});
|
|
1401
|
+
|
|
1402
|
+
// Also register Base Sepolia (e.g. for local testing) and disable authCapture.
|
|
1403
|
+
const { fetchWithPayment: fetchWithTestnet } = fetchWithX402({
|
|
1404
|
+
rpcUrls: { "eip155:84532": "https://sepolia.base.org" },
|
|
1405
|
+
schemes: { authCapture: false },
|
|
1406
|
+
});
|
|
1407
|
+
```
|
|
1408
|
+
|
|
1409
|
+
**Options:**
|
|
1410
|
+
|
|
1411
|
+
| Option | Description |
|
|
1412
|
+
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
1413
|
+
| `address` | The address of the account to use for payments. Defaults to the signed-in user's smart account, then EOA, then Solana account. |
|
|
1414
|
+
| `fetch` | A custom `fetch` implementation to wrap. |
|
|
1415
|
+
| `rpcUrls` | CAIP-2 network id → RPC URL overrides, e.g. `{ "eip155:84532": "https://sepolia.base.org" }`. Also registers schemes on any additional `eip155:*`/`solana:*` network supplied here, on top of the Base mainnet + Solana mainnet baseline. |
|
|
1416
|
+
| `policies` | `PaymentPolicy`s registered on the underlying `x402Client`, e.g. to cap spend or restrict networks/assets. |
|
|
1417
|
+
| `schemes` | Opt-in/out per payment scheme: `exact`, `upto`, and `authCapture` all default to `true`. `authCapture` only applies to EVM (Base). |
|
|
1418
|
+
|
|
1419
|
+
`fetchWithX402` also returns the underlying `x402Client` as a promise, for advanced use (e.g. registering additional schemes or policies at runtime):
|
|
1420
|
+
|
|
1421
|
+
```typescript lines
|
|
1422
|
+
const { client } = fetchWithX402();
|
|
1423
|
+
const x402Client = await client;
|
|
1354
1424
|
```
|
|
1355
1425
|
|
|
1356
1426
|
#### How It Works
|
|
1357
1427
|
|
|
1358
|
-
1. When you make a request to an
|
|
1428
|
+
1. When you make a request to an x402-protected resource, the server responds with a `402 Payment Required` status
|
|
1359
1429
|
2. The wrapped fetch function automatically:
|
|
1360
1430
|
- Extracts payment details from the server's response
|
|
1361
1431
|
- Creates and signs a payment transaction using the user's wallet
|
|
@@ -1371,12 +1441,12 @@ const user = await getCurrentUser();
|
|
|
1371
1441
|
console.log("Using account:", user.evmSmartAccountObjects?.[0] || user.evmAccountObjects?.[0]);
|
|
1372
1442
|
|
|
1373
1443
|
// This will automatically use the appropriate account type
|
|
1374
|
-
const { fetchWithPayment } =
|
|
1444
|
+
const { fetchWithPayment } = fetchWithX402();
|
|
1375
1445
|
```
|
|
1376
1446
|
|
|
1377
1447
|
#### Solana Support
|
|
1378
1448
|
|
|
1379
|
-
Solana is supported out of the box with `fetchWithX402
|
|
1449
|
+
Solana is supported out of the box with `fetchWithX402` — the `exact` and `upto` schemes are registered on Solana mainnet by default. If your end user has both an EVM and Solana account, the EVM account will be used by default. You can pass a Solana address to `fetchWithX402` to use the Solana account instead.
|
|
1380
1450
|
|
|
1381
1451
|
```typescript lines
|
|
1382
1452
|
const user = await getCurrentUser();
|