- docs: Add
WalletModaldocs. @fakepixels @cpcramer #1671 #1669
- feat: Add
WalletModalcomponent. By @cpcramer #1610 - docs: Update
Transactiondocs for heterogeneous calls. By @abcrane123 #1560
- feat: Add linking functionality to playground. By @dschlabach #1624
- feat: Upgraded viem to support heterogeneous calls. By @abcrane123 #1527
- feat: Added default WagmiProvider and QueryClientProvider if not provided in the React context. By @OxAlec #1589
- feat: Added global Toast component. By @brendan-defi #1588
- fix: Updated
NFTCardandNFTMintCardto be more responsive. By @alessey #1590 - fix: Updated
NFTCardandNFTMintCardstyles to use gap enabling simpler composition. By @alessey #1594 - docs: Added
NFTCardandNFTMintCardto the docs. By @alessey #1572 - docs: Fixed typos in docs. By @steveviselli-cb @cypherpepe #1593 #1587
- docs: Added
NFTCardDefaultandNFTMintCardDefaultto the docs. By @alessey #1592 - fix: Fixed misconfigured
.envfile increate-onchainCLI. By @dschlabach #1595 - docs: Added
"use client"directive to instructions for Next.js. By @dschlabach #1596
-chore: Updated OnchainKitProvider to fallback to CB verified schemaID. By @cpcramer #1575 -chore: Updated hasCopyAddressOnClick functionality to specify Address component. By @cpcramer #1547 -docs: Updated documentation. @dschlabach @fakepixels #1555 #1567 -docs: Added installation steps for Astro, Nextjs, Remix, and Vite. @brendan-defi #1546 -feat: Added hot-loading for playground development. @dschlabach #1551 -feat: Added NFTCard, NFTCardDefault, NFTMintCard, and NFTMintCardDefault components. @alessey #1580 #1483 #1490
- feat: Added
onConnecthandler to<ConnectWallet />. By @dschlabach #1529 - feat: Added
NFTCardandNFTMintCardcomponents. By @alessey #1409 - fix: Added media square prop, default to true. By @alessey #1548
- fix: Updated Transaction link for smart wallets. by @abcrane123 #1550
- fix: Updated Warpcast Socials link and SVG. By @cpcramer #1542
- fix: Updated badge checkmark styling. By @cpcramer #1537
- fix: Updated
hasCopyAddressOnClick. By @cpcramer #1547
- d84e29d: -feat: Added
IdentityCardandSocialscomponents. By @cpcramer #1489 -fix: AddedisSponsoredprop to components. By @abcrane123 #1499 -fix: Enforce base as chain for name resolution for Basenames. By @kirkas #1517
- feat: Added ability to customize error and success states for
TransactionButton. By @abcrane123 #1460 - feat: Added custom
Themingsupport. By @cpcramer #1465 - feat: added
nameandlogotoOnchainKitProvider. by @0xAlec #1506 - fix: Added callback support to the
Transactioncomponent. By @alessy #1473 - docs: Updated documentation. By @0xAlec @dschlabach @fakepixels @cpcramer #1465 #1470 #1477 #1478 #1486 #1487 #1490
- feat: Updated playground with
Checkoutcomponent and customTheming. @0xAlec @cpcramer #1428 #1465 - feat: Updated landing page. @mindapivessa #1482 #1496
- fix: clear error message in CheckoutStatus if a request is denied. by @0xAlec #1510
- feat: Add handling for calls and contracts promises in Transactions component. By @alessey #1450
- feat: added presetCryptoAmount param to Checkout. by @0xAlec #1461
- chore renamed
Paymodule toCheckout. by @0xAlec #1455 - fix: fixed paymaster sponsorship prop
isSponsoredinCheckoutcomponent. by @0xAlec #1458 - fix: Updated
ConnectWalletTextcomponent styling to match theConnectWallettext prop formatting. By @cpcramer #1445
Breaking Changes:
Pay has been renamed to Checkout. If you are using this component, please update your imports as necessary.
- chore: Update missing address error handling in the
Identitycomponents. By @cpcramer #1430 - feat: Added formatting for scientific notation for Swap amounts. by @0xAlec #1423
- feat: Added
paymasterfield to OnchainKitConfig. by @0xAlec #1425 - feat Added
isSponsoredtoPaycomponent. by 0xAlec #1427 - feat: Added
Paycomponent theming support. By @cpcramer #1431 - fix: Added browser window check in usePreferredColorScheme to fix server side errors. By @cpcramer #1424
- feat: Added
Themingsupport. By @cpcramer #1354 - docs: Added
Paycomponent docs. By @0xAlec #1400
Breaking Changes
- Added a new config parameter to the
OnchainKitProvider. The config object includes an appearance property with optionalmodeandthemeparameters, allowing you to customize the appearance of your components. - Updated CSS variables to use the
ockprefix (e.g.,--ock-bg-default). We’ve also introduced many new variables to enhance theming customization. - For detailed information and theming instructions, refer to the
Theming Guidein the documentation.
-chore: Updated documentation, including support for copy to clipboard functionality in code blocks. By @alessey @fakepixels #1342 -chore: Reset state in Pay component after Get USDC is clicked. By @0xAlec #1394
-fix: Removed circular dependency for WalletDefault. By @abcrane123 #1378
- feat: Added SwapDefault component which renders suggested implementation of Swap. By @abcrane123 #1303
- feat: Added WalletDefault component which renders suggested implementation of Wallet. By @abcrane123 #1302
- feat: Added TransactionDefault component which renders suggested implementation of Transaction. By @abcrane123 #1350
- feat: Added [Pay] component. by @0xAlec #1349
- feat: Implemented the fund button integrated with Coinbase Onramp. By @steveviselli-cb #1322
- feat: integrated Coinbase Onramp into
WalletDropdownFundLinkfor funding EOA wallets. By @steveviselli-cb #1285
- feat: added Swap USD values. By @cpcramer #1286
- feat: added
SwapToastcomponent that renders on success. By @abcrane123 #1281 - feat: added
isSponsoredprop forSwap. By @0xAlec #1293
- feat: set v2 as default API for Swap. by @0xAlec #1254
- chore: updated
SwapSettingsSlippageInputto use the input config defaultMaxSlippage value. By @cpcramer #1263 - feat: added batched Swap transactions from ERC-20. by @0xAlec #1272
Breaking Changes
Updated LifecycleStatus in Swap component for swaps from ERC-20 tokens.
Previously, there were 2 transactions when swapping from an ERC-20 token.
Now, there is an extra approval. (Approve ERC-20 against Permit2 -> Approve Uniswap to spend the approved ERC-20s on Permit2 -> Execute Swap Transaction)
Additionally, for Coinbase Smart Wallet users, transaction calls are now batched so only one transactionApproved lifecycle status will be emitted under the Batched transaction type for swaps from ERC-20s.
If you're listening to the LifecycleStatus in Swap, please make sure your app accounts for the extra transaction.
-
7e18c98: - feat: re-typed walletCapabilities object in
OnchainKitConfig. By @0xAlec #1238- fix: removed
mt-4from<TransactionButton>, ensuring the primary component maintains a clean and consistent design without outer margin. By @zizzamia #1258 - fix: renamed LifeCycle to Lifecycle. By @zizzamia #1257
- fix:
SwapSlippageInputwas visually resetting to default value on error. By @cpcramer #1250 - fix: removed context states and use
lifecyclestatusas the source of truth, also persisted all lifecycle status data (except errors). By @alessey #1249 - fix: extracting
SwapMessageto constants to avoid circular dependency. By @alessey #1255 - feat: enhanced Framegear Home component with layout, loading state, and placeholder improvements. By @adarshswaminath #1241
Breaking Changes
Removed
walletCapabilitiesfrom theOnchainKitConfigand improved the internal types by using the native Viem wallet capabilities type. This update ensures that wallet capabilities are now used solely as read info, avoiding accidental changes to wallet capabilities.The
<TransactionButton>will no longer have a preset margin, allowing you to customize your app's spacing. Please check your app to see if you need to add a 4px margin. We aim to provide more neutral spacing, giving you the flexibility to add margin as needed.The
LifeCycleStatustype is now renamedLifecycleStatus. This update aligns with React's lifecycle naming best practices, ensuring a smoother experience with your app. Please take note of this improvement. - fix: removed
- feat: added custom max slippage support in the
Swapcomponent along with a new settings dropdown UI. By @cpcramer #1176 #1248 - feat: added type
LifecycleStatusDataSharedto theLifeCycleStatusto hold shared lifeCycle state. By @zizzamia #1234 #1240 - feat: introduced
configfor theSwapcomponent, with the first option formaxSlippage. By @zizzamia & @cpcramer #1242 - fix: added spacing between swap input and token select. By @alessey #1229
- feat: added calls support to
Transactioncomponent. By @0xAlec #1220 - feat: added
ConnectWalletTextto help customize style withinConnectWallet. By @zizzamia #1116 #1222 - feat: added
isMainnetOnlytoisBaseandisEthereumutilities. By @zizzamia #1167 #1221 - fix: fixed issue with inputText state persisting to latter Framegear frames. By @brendan-defi #1218
- feat: added support for
EIP-5792(https://eips.ethereum.org/EIPS/eip-5792) inOnchainKitProvider. By@0xAlec #1181 - fix: adjusted hover styling for the
FundandDisconnectwallet components in mobile view. By @cpcramer #1211 - feat added
walletCapabilitiesfor atomic batching (useWriteContractsvsuseWriteContract) inTransactioncomponent. By @0xAlec #1214
- feat: added
buildPayTransactionutilities for making RPC calls to hydrate a charge and build a pay transaction in preparation forPaybutton. By @avidreder #1177 - feat: implemented custom slippage support sub-components in the
Swapcomponent. By @cpcramer #1187 #1192 #1191 #1195 #1196 #1206 - docs: added Build Onchain Apps guide using OnchainKit's
app template. By @zizzamia #1202 - fix: updated v1
SwapAPI to pass the correct slippage unit of measurement. By @cpcramer #1189
- feat: added connect wallet functionality to Swap component for disconnected users. By @abcrane123 #1173
- fix: added logic to refetch balances and clear inputs after Swap succeeds. By @0xAlec #1089
- fix: adjusted Swap component style to prevent UI shifting. By @abcrane123 #1184
- fix: improved hover state for WalletDropdown component. By @cpcramer #1156
- feat: added
onchainkit-versionheader to API requests. By @0xAlec #1169 - feat: introduced
getAddressanduseAddressutilities to easily retrieve an address from ENS name or basename. By @zizzamia #1170
- fix: error message in
Swapexperience. By @zizzamia & @0xAlec #1154 #1153 #1155 4382d93 - fix: removed
addressprop fromSwapcomponent. By @abcrane123 #1145 - feat: moving
getTokens,buildSwapTransactionandgetSwapQuoteunder the API module. By @zizzamia #1146 #1151 - fix: handled SSR hydration issues. By @abcrane123 #1117
Breaking Changes
We streamlined the Swap experience to match the Transaction experience by eliminating the need for an address prop, making it work automatically.
All APIs within OnchainKit are now consolidated under the @coinbase/onchainkit/api module. There's no change in functionality; simply import them from the api module.
- feat: Moved the
onErrorandonSuccesslifecycle listeners from the<SwapButton>component to the<Swap>component. By @zizzamia #1139 ed2379e
Breaking Changes
OnchainKit standardizes lifecycle listeners with three callbacks: onError, onSuccess, and onStatus. The onError and onSuccess callbacks handle only the error and success states,respectively. In contrast, the onStatus callback provides more granular phases of each component's experience.
Before, we used onError and onSuccess in the <SwapButton /> component.
const handleOnError = useCallback((error) => {
console.log(error);
}, []);
const handleOnSuccess = useCallback((response) => {
console.log(response);
}, []);
...
<Swap address={address}>
<SwapAmountInput
label="Sell"
swappableTokens={swappableTokens}
token={ETHToken}
type="from"
/>
<SwapToggleButton />
<SwapAmountInput
label="Buy"
swappableTokens={swappableTokens}
token={USDCToken}
type="to"
/>
<SwapButton
onError={handleOnError}
onSuccess={handleOnSuccess}
/>
<SwapMessage />
</Swap>After, we use onStatus in the <Swap /> component.
const handleOnStatus = useCallback((lifeCycleStatus: LifeCycleStatus) => {
console.log('Status:', lifeCycleStatus);
}, []);
...
<Swap
address={address}
onStatus={handleOnStatus}
>
<SwapAmountInput
label="Sell"
swappableTokens={swappableTokens}
token={ETHToken}
type="from"
/>
<SwapToggleButton />
<SwapAmountInput
label="Buy"
swappableTokens={swappableTokens}
token={USDCToken}
type="to"
/>
<SwapButton />
<SwapMessage />
</Swap>The onStatus callback will expose
export type LifeCycleStatus =
| {
statusName: 'init';
statusData: null;
}
| {
statusName: 'error';
statusData: SwapError;
}
| {
statusName: 'amountChange';
statusData: null;
}
| {
statusName: 'transactionPending';
statusData: null;
}
| {
statusName: 'transactionApproved';
statusData: {
transactionHash: Hex;
transactionType: 'ERC20' | 'Permit2';
};
}
| {
statusName: 'success';
statusData: {
transactionReceipt: TransactionReceipt;
};
};- feat: exported
buildSwapTransaction,getSwapQuoteandgetTokensfrom API module. By @zizzamia #1133 07c5af6 - feat: added
useSendCallanduseSendCallshooks to support call-type transactions inTransactioncomponent. By @0xAlec #1130
- feat: moved
onSuccessandonErrorfor Swap component at top level. By @zizzamia #1123 886d974 - patch: removed unneccessary address prop from
Transactioncomponent and fix issue where Sponsor component isn't visible. By @abcrane123 #1114 - chore: updated disconnect SVG image. By @cpcramer #1103
- fix: improved issue with Swap where it wasn't fetching quote for amount without a leading 0. By @abcrane123 #1128
- chore: Update all cases of BaseName to Basename. Update
WalletDropdownBaseNametoWalletDropdownBasename. Update the identity typeBaseNametoBasenameandWalletDropdownBaseNameReacttoWalletDropdownBasenameReact. By @cpcramer #1110 3d47932
- fix: better defined pressable classes were accessing the hover state variable. Update the
TransactionButtonandWalletDropdownto use our pre-existing pressable classes. By @cpcramer #1092 704e160 - feat: added
transactionIdleandtransactionPendingtolifeCycleStatusin the Transaction experience. By @zizzamia #1088
- feat:
WalletDropdownFundLinksmall improvements. By @0xAlec #1070 a17237a - feat: better handling of
FrameButtonpost actions. By @brendan-defi #1053 - fix: default accountChain for
Identitycomponent. By @zizzamia #1071
- feat: updated view transaction link experience. By @abcrane123 #1016 ccfc47f
- fix: modified
Avatarcomponent to handle images with varying height/width ratio. By @kirkas #1058 - chore: removed console.log statement in
useWriteContracts. By @abcrane123 #1048 - feat: added mobile drawer for
Walletexperinece, anduseBreakpointshook. By @abcrane123 #1045 - feat: introduced
onStatuslistener, to help expose the internalTransaction's component lifecycle.By @zizzamia #1034 #1047 #1055 - feat: added
WalletDropdownFundLinkcomponent as dropdown link for the keys.coinbase.com funding flow.By @0xAlec #1021 - chore: increased
Walletdropdown png size to 18x18. By @cpcramer #1041 #1064 - chore:
Transactioncomponents cleanup. By @zizzamia #1028 #1029 #1052 - fix: adjusted dark mode within
TransactionToast. By @abcrane123 #1020
- fix:
Walletcomponents svg render. By @cpcramer #1011 c14ca17
- fix: exported
TransactionResponsetype. By @abcrane123 #1007 2169905
- feat: added
isBasenameandgetBaseDefaultProfilePicturefunction to resolve to default avatars. By @kirkas #1002 9fbb7ec - feat: modified
getAvatarto resolve default avatars, only for basenames. By @kirkas #1002
- chore: updated all Wallet dropdown SVGs to render 16x16. Update text to Claim Basename (if no Basename), otherwise "Profile". By @cpcramer #990 0351295
- feat: added chain props to
useAvatarandgetAvatarto resolve Base avatar. By @kirkas #986 - feat: modified
getAvatarto resolve Base avatar, and fallback to mainnet if none is found. By @kirkas #986
- fix: wallet dark mode. By @kyhyco #995 031251d
- feat: dark mode. By @kyhyco #977 d0e2a08
- feat: added
Permit2approval process for UniversalRouter in theSwapexperiece. By @0xAlec #980 16c004b
- feat: refactored the
<Transaction>component'sonSuccesshandler to manage multiple receipts for various contracts, supporting both EOA and Smart Wallet scenarios. baa5cf8
Breaking Changes
When using onSuccess in the <Transaction> component, refactor the response to handle:
type TransactionResponse = {
transactionReceipts: TransactionReceipt[];
};- fix: added Base Names testnet compatibility. By @cpcramer #966 a348e27
- chore: organized const variables and update imports for the
Transactioncomponent. By @cpcramer #961 - fix: added close wallet dropdown when clicking outside of the component's container. By @cpcramer #925
- feat: renamed
<TransactionToast>prop fromdelayMstodurationMs. By @abcrane123 #967 f40b855
Breaking Changes
The delayMs prop for the <TransactionToast> component has been renamed to durationMs. Thischange clarifies that delay refers to when something starts, while duration specifies how longit lasts.
Learn more about this component type at https://onchainkit.xyz/transactiontypes#transactiontoastreact
- feat: add
onStarthook toSwapButton. By @0xAlec #914 904e495
- feat: added experimental configurable maxSlippage feature for
Swap. By @0xAlec #946 1c0ba1d
- feat: added
WalletDropdownBaseNamecomponent. By @cpcramer #913 d50b85d
- feat: continued
Transactioncomponent QA. By @abcrane123 #944 1110ec9
- fix: handle edge case in
toReadableAmount. By @0xAlec #934 74bd1a0 - fix: hide sponsor if txn in progress. By @abcrane123 #931
- fix:
formatDecimalsprecision. By @0xAlec #912 5d9b4f8 - fix: additional
Transactioncomponent QA. By @abcrane123 #923 #931
- fix: made
IdentityProviderto use address directly when switching address. By @kirkas #910 e4a9c5c
- feat: added wait for transaction receipt hook. By @abcrane123 #907 41e27f6
- fix:
WalletCapabilitiestype in the Transaction component. By @zizzamia #908 69119dc
- fix: updatd Base mainnet L2 resolver address. By @kirkas #903 04e1376
- feat: added
SmartWalletCapabilitiespaymaster support in theTransactioncomponent. By @ilikesymmetry @cpcramer #893
- fix: have
WalletDropdownDisconnectto correclty disconnect all connectors. By @kirkas #895 8e78166
- feat: added
convertChainIdToCoinTypefunction to convert a chainId to a coinTypeHex for ENSIP-19 reverse resolution. By @kirkas #891 3cfbdc0 - fix: modified
convertReverseNodeToBytesto useconvertChainIdToCoinTypeinstead of hardcoded resolver address. By @kirkas #891 - fix: modified
useNameto return a typeBaseNamefor extra type safety. By @kirkas #891 - feat: Add more storybook scenarios for
<Name>. By @kirkas #891
- feat: added experimental API for
Swapcomponents to enable UniswapRouter. By @0xAlec #878 6cf5f66
- fix: fetch ens with
getName. By @zizzamia #888 92a0cf0
- fix: colors for
Swapcomponents. By @zizzamia #879 6992cff - chore: adjust messaging related to transaction status. By @abcrane123 #875
- fix: have
useNamehook to usechain.idin the query key to avoid overlap between chains. By @kirkas #869 - feat: added EOA account support to
Transactioncomponent. By @cpcramer #866
- fix: copy popover style within the
IdenityLayout. By @zizzamia #870 3128263 - feat: added toast animation for
TransactionToastcomponent. By @abcrane123 #865
- feat: added the
ockprefix to the Tailwind configuration to prevent conflicting styles (#852) when using OnchainKit alongside an existing Tailwind setup. By @zizzamia #867 ff8d359
Breaking Changes
For apps using OnchainKit with the same Tailwind variables, you might see style changes. We recommend following the guide at https://onchainkit.xyz/guides/tailwind or adjusting your custom OnchainKit styles. If you encounter any issues, reach out to @zizzamia or @onchainkit on Twitter for immediate assistance.
- feat: added
TransactionSponsorcomponent. By @abcrane123 #853 a2eae6c - chore: updated sliced address to display the first and last 4 characters. By @cpcramer #847
- fix:
Namecomponent to return the sliced address when no ENS name is found. By @cpcramer #842 387e2b4 - feat: polish
Transactioncomponent. By @abcrane123 #831 #835 - chore: fix TransactionGasFee test. By @cpcramer #830
- feat: adjust
writeContractsfunctionality. By @zizzamia #826 53ba268 - feat: added
Transactiontoast components. By @zizzamia #818 - chore: added unit tests to the
Transactioncomponent. By @cpcramer #817
- chore: exported
Transactioncomponents. By @zizzamia #820 8e07918
- feat: added initial version of
Transactioncomponent. By @abcrane123 & @zizzamia #816 #787 5c6ce95 - feat: updated Viem and Wagmi version. By @zizzamia #815
- chore: Add WalletDropdown Disconnect and Link tests. By @cpcramer #810
- chore: Add Identity unit tests. By @cpcramer #807
- feat: added RainbowKit support to the
ConnectWalletcomponent. By @zizzamia #797 d80b01e
- fix: modified
getNameto default to ENS name when custom chain name is not available. By @kirkas #792 7ef7bac
- feat:
SwapERC-20 Approval Flow. This is a breaking change that removes theonSubmitfunctionality from theSwapButtoncomponent and adds an approval flow for swapping from ERC-20 tokens. By @0xAlec #761. 77531f4 - feat: Added
chainoption to<IdentityProvider>for L2 chain name resolution support. By@kirkas #781 - feat: Added
chainoption to<Identity>component for L2 chain name resolution support. By@kirkas #781 - fix: Modify
<Name>to prioritize its own address/chain props over the provider's. By @kirkas#781 - fix: Modify
<Address>,<Avatar>,<EthBalance>&<DisplayBadge>to prioritize its ownaddress prop over the provider's. By @kirkas #781
Breaking Changes
Removed the onSubmit functionality from the SwapButton component and adds an approval flow forswapping from ERC-20 tokens.
- feat: Added
chainoption touseNamefunction for L2 chain name resolution support. By @kirkas #781 beed765 - feat: Added
chainoption to<Name>component for L2 chain name resolution support. By @kirkas #781 - fix: Modified
getNameto return a rejected promise instead of an error. By @kirkas #781 - fix: Disabled
retryingetNewReactQueryTestProviderto run tests faster and avoid timeouts. By @kirkas #781
- feat: added
chainoption togetName, this will help add ENS support for L2 chains. By @kirkas #773 19fd6b8 - feat: added
isEthereumfunction, to help check if a chain is L1. By @kirkas #773 - chore: simplified type for
getAttestations. By @zizzamia
- feat: added
isSlicedoption to theAddresscomponent. This allows this component to render the full users address when set to false. UpdategetNameand theNamecomponent to returnnullif the ENS name is not found for the given address. By @cpcramer #737 8124f8c
- feat: init
Transactioncomponents. By @zizzamia #763 4a37815
- feat: exported
SwapToggleButtonReact,WalletDropdownDisconnectReactandWalletDropdownLinkReacttypes. Added more custom option toWalletDropdownLinkcomponent. By @zizzamia #754 5959b49
- chore: Swap components internal refactor. By @kyhyco #746 d638dc9
Breaking Changes
ConnectAccounthas been removed fromWalletmodule.ConnectWallet'slabelprop renamed totext.- Update
getNameand theNamecomponent to returnnullif the ENS name is not found for the given address.
- feat: add className to ConnectWallet and WalletDropdown components. By @kyhyco #737 6a3fde5
- docs: Update Swap docs to include className override changes. Add new override example and image in the Swap page. By @cpcramer #722 19a7f6f
- feat: add hasCopyAddressOnClick to Identity component. By @kyhyco #730 #734 72f287b
- feat: add EthBalance component to identity. By @kyhyco #729
- feat: add ConnectWallet component. By @kyhyco #720 #728
- chore: Remove unsupported fields from the Coinbase Wallet Provider. appChainIds and options. By @cpcramer #717 f98d4bf
- docs: Update Token Type docs with new className parameter. By @cpcramer #716 cc7cf73
- feat: Add Swap Kit component className override. By: @cpcramer #719 e6a2d77
- fix: revert peer dependancy PRs. f4fcd2a
- docs: Update Swap component docs. Update wagmi import from sendTransaction to useSendTransaction. Add EthToken and USDCToken parameters. By @cpcramer #694 6ce8682
- docs: Update getting started guide. Add OnchainProviders.tsx file name. Add code focus for the newly added OnchainProviders.tsx code in the ConfigureWagmiProvider step. By @cpcramer #692 a16c5ed
- fix: Avatar component now handles className override correctly. By @kyhyco #697 1ad6c98
- fix: revert "use client". By @kyhyco #690 ad7cd60
- feat: Identity polish. By @kyhyco #675 b834572
- add
filltheme - update
Namecomponent default font color - add
classNameprop toIdentity - add
classNameprop toBadgeand remove styling props - add
classNameprop toAvatar - fix using
addressprop onAvatarandNamecomponent along withIdentity - remove
showAddressfromgetName
- add
- feat: add
use clientdirectives components. By @roushou #668 #669 #670 #655 #667 - docs: force doc site to connect to base. By @kyhyco #613 1f8fcb1
- chore: Add test coverage and comments. By @abcrane123 #676 2198bed
- feat: Add "everything you need to build onchain" section to the landing page. By @cpcramer #679 097df0d
- docs: Update docs with SwapMessage info. By @abcrane123 #662 d4fdc77
- chore: Refactor balance api calls into reusable hooks. By @abcrane123 #673 a1b87f6
- chore: Update the landing page View Docs button styling, title description, and href link behavior to always open in a new tab. By @cpcramer #660 0e9bd1b
- chore: Update swap messages and reset error states. By @abcrane123 #677 72138fe
- feat: refactor Identity components and add Address component. By @kyhyco #641 0903bf7
Breaking Changes
showAddresshas been removed fromNamecomponent.showAttestionhas been removed fromNameandAvatarcomponents. AddBadgeinNameorAvatarchildren to render attestations.
Features
Addresscomponent handles rendering account address.Addresscomponent can be passed intoIdentitycomponent- Similar to
Namecomponent,addressprop can be assigned toAddressorIdentitycomponent
- docs: fix ui regression on index.mdx. By @cpcramer #661 78d38b0
- feat: added background, pressable and color themes. By @kyhyco #642
- docs: updated Tailwind integration guide. By @kyhyco #636
- feat: updated
SwapMessagecomponent to display error and loading states. By @abcrane123 #611
- feat: update
libtoesmfor exported files. By @kyhyco #653 eb19002 - feat: init Wallet component. By @zizzamia #654
- feat: added loading state and spinner to
SwapButton. By @abcrane123 #633 ac33e28
- feat: add className override to all Text components. By @kyhyco #640 4387f14
- fix: revert "chore: upgrade packemon to v4". By @zizzamia #646
- chore: upgrade packemon to v4 and going forward support ESM only. By @kyhyco #616 4b762a1
- feat: enable geo blocking for restricted territories. By @cpcramer #614
- feat: added theming to all
Textcomponents. By @kyhyco #632 bf26c81 - feat: refactored balance api calls and add swap quote loading state. By @abcrane123 #630
- feat: added badge feature to
Identitycomponent. By @zizzamia #627 8c873f1
- fix:
IdentitymatchingNamecomponent. By @zizzamia #624 425f4fd
- feat: added
NametoIdentity. By @zizzamia #622 0c9fdc9
- feat: intro
Identitycomponent. By @zizzamia #620 5c7f076
- feat: added title prop to Swap component. By @kyhyco #615 693e145
- fix: handled edge case for Swap Balance. By @abcrane123 #612
- docs: updated doc site to 0.20.15 and include Swap component variations. By @kyhyco #609
- feat: disabled
SwapButtonin docs and removedonSubmit. by @0xAlec #608
- fix: remove onError prop from Swap components. By @kyhyco #602 356fe39
- feat: docs for
buildSwapTransaction+ cleanup. By @0xAlec #605 9eed9b5 - feat: add optional disable prop to SwapButton. By @abcrane123 #604 3d71b4a
- fix: error message from an unset api key. By @0xAlec #600 2adbe4f
- feat: simplified
Transactiontype inSwapexperience. By @zizzamia #598 cb44eba - feat: init
SwapMessagecomponent. By @zizzamia #596
- feat: added
delayMsoptional prop toSwapAmountInput. By @zizzamia #594 d26378f - docs: config update. By @kyhyco #586
- fix:
SwapAmountInputnow correctly displays text styles. By @kyhyco #581 fb26571
- fix: fix
TokenSelectButtonhit detection. By @kyhyco #577 8aff0e8
- feat: added DM Sans. By @kyhyco #574 199c00f
- featt: added Balance info in
Swapcomponents. By @abcrane123 #558 - feat: added
SwapToggleButton. By @kyhyco #572
- fix: fix get quote logic in
Swapcomponent. By @kyhyco #568 5479818
- fix: swap
Tokenpair mode. By @kyhyco #566 5347ea9 - feat: added input delay to
SwapAmountInput. By @kyhyco #563 - feat: addeded swappable tokens to
SwapAmountInput. By @abcrane123 #561 - fix: updated Smart Wallet util. By @lukasrosario #564
- chore: updated
isWalletASmartWalletname to beisWalletACoinbaseSmartWallet. We want to explicitly state that this is checking for Coinbase Smart Wallets. By @cpcramer #562 - feat: enableded linting in CI. By @zizzamia #559
- fix: fix
Identitycomponents lint errors. By @kyhyco #555 1cd548a - fix: fix
Tokencomponent lint errors. By @kyhyco #554 - feat: updated
Swapstyle. By @kyhyco #553 - feat: refactored and clean up internals. By @zizzamia #552
- feat: introduce
Interfont-family and internal text components. By @kyhyco #506
- fix: added Token amount formatter. By @abcrane123 #543 #544 0225039
- chore: more code cleanup. By @zizzamia #536 #537
- fix:
Swaptype. By @zizzamia #532 5a8cd45
- feat: exported
Swapcomponents. By @zizzamia #530 5cab65c
- feat: added
Swapcomponent. By @abcrane123 & @kyhyco #522 9fef5e9
- feat: added
buildSwapTransaction. By @0xAlec & @zizzamia #503 #518 ccb069e - fix: added tailwind utilities to exported styles.css. By @kyhyco #515
- feat: set
clsx,tailwind-merge,viemandwagmias library dependency. By @zizzamia #512 39e4715 - feat: removd
TokenSelectorcomponents and add refactoredTokenSelectDropdown. By @kyhyco #508 - feat: added
SwapAmountInput. By @abcrane123 #504 - feat: refactor CSS styles with a proper use of TailwindCSS. By @roushou #500
- fix: have API_KEY set correctly by
OnchainKitProviderand avoid request CORS issue with theonchainkit_versionHeader. By @zizzamia #501 a47b07f
- fix: added border transparent to Badge component. By @zizzamia #493 c54ec7b
- chore: continue migrating to Tailwind for CSS internals. By @zizzamia #492 477e1f5
- fix: reduce gap between
TokenSelectorandTokenSelectorDropdown. By @kyhyco #489 - docs: add back
TokenSelectorDropdownexample. By @kyhyco #487
- feat: updated TokenKit styles. By @kyhyco #482 10d1fa9
- feat: added
getQuote. by @0xAlec #479 fdab188 - feat: deprecated
LegacyTokenData. By @0xAlec #478 - feat: added
TokenSelectorDropdownto use withTokenSelector. By @kyhyco #475
- feat: converted
Badgeto css. By @zizzamia #476 9b03393 - feat: converted
TokenRowto css, add modifier state and add additinal display controls. By @kyhyco #473
- feat: for
getAvatarnow we useensNameinstead ofname. By @zizzamia #471 b6653f1
-
feat: standardized
getAvatar(). By @roushou #464 029ba7d -
feat:
TokenImagewith no image renders partial token symbol and deterministic dark color. By @kyhyco#468 -
feat: converted
TokeSearchto css and add modifier styles. By @kyhyco #460 -
docs: added contribution guide. By @kyhyco #459
Breaking changes
- Changed the definition of
getAvatar(...), fromgetAvatar(ensName: string)togetAvatar(params: {ensName: string }). - Changed
TokenImageprops from
export type TokenImageReact = {
src: string | null;
size?: number;
};to
export type TokenImageReact = {
token: Token;
size?: number;
};- feat: postcss integration + add modifier states TokenChip css. By @kyhyco #453 db2e1d9
- feat: added the
isWalletASmartWalletutility which helps verify if a given sender address is a Smart Wallet proxy with the expected implementation before sponsoring a transaction. By @cpcramer & @zizzamia #420 #454 dd31024
- fix: style.css location. By @zizzamia 62be36a
- fix: style.css location. By @zizzamia #445 81ea439
- fix: moved
styles.cssat top level. By @zizzamia #443 afc7d2d
- feat: added taildwindcss. By @kyhyco #441 0c6420a
- feat: added
TokenImageto render token image. By @kyhyco #438 - feat: added
TokenSelector, a button component to render token info or placeholder text. By @kyhyco #438
- feat: TokenKit first version is ready to be used. By @zizzamia 361d5c6
- chore: revert TokenChip.css. By @kyhyco #426 fe340d7
- feat: add TokenSearch component that allows users to search on a given list of tokens by name, symbol and address. By @kyhyco #421 0f14362
- feat: added
onchainkit_versionheader to API requests. By @zizzamia #423 04cda00 - feat: updated the
FrameTransactionResponsetype to accommodate aneth_personalSignmethod needed for XMTP consent proofs. By @daria-github #413 - docs: update GetTokens to include capability to search by address. By @kyhyco
- chore: updated
TokenSelectordocs and addeduseFilteredTokenstoTokenSelector. By @kyhyco #417 9576276 - feat: added
TokenSelectorto select a token from a list. By @kyhyco #410 350066e
- feat: added
isValidAAEntrypointwallet utility function. By @cpcramer #409 68d5c3d
- feat: Added
isBaseutility function. By @cpcramer #403 66b8309
- feat: added
TokenRowcomponent to render Token is a row format. By @kyhyco #399 7485234
- feat: added
formatAmountutility function to assist in formatting token amounts. By @kyhyco #398 0265426
- feat: added
permissionlessas dependency for WalletKit. By @zizzamia #396 bf94ffd
- feat: added
getTokens, which helps retrieve a list of tokens on Base. By @0xAlec #389 2922e75
- feat: polished
TokenType. By @zizzamia #386 17a3d06 - feat: init
TokenChipcomponent. By @kyhyco #383 - feat: scaffold Swap API request and types. By @0xAlec #381
- feat: add CDP api key and rpc url to OnchainKitConfig and OnchainKitProvider. By @0xAlec #379
- feat: added
getOnchainKitConfigandsetOnchainKitConfigto access and edit the share OnchainKit config directly. By @zizzamia #376 9498586
Breaking Changes
Removed getFrameHtmlResponse, getFrameMessage, getMockFrameRequest and Frames types from the root level exports. And you can find them going forward in @coinbase/onchainkit/frame.
- feat: exported
ConnectAccountReacttype. c4a9f78
- fix: packemon. By @zizzamia 8b56121
- feat: keep polishing the
ConnectAccountcomponent. By @zizzamia #344 64b59f7
- feat: init
ConnectAccountcomponent, which will make even easier to use Smart Wallet. By @zizzamia #342 9f93913
Breaking Changes
Transition to exclusively using ESM and phase out CommonJS support.
- feat: renamed anything that says
EASAttestationto justAttestation. This should help better popularize the concept of attestation. By @zizzamia #332 7935116
Breaking Changes
The getEASAttestations now is getAttestations.
- feat: added missing CSS radius on
Avatarcomponent. By @zizzamia #329 78319ec
- chore: deprecated root level imports for
getFrameMetadata,FrameMetadata,Avatar,Name,useAvatar,useNameutilities and components. By @zizzamia a83f9f0
- feat: added
showAddressas an option to theNamecomponent. By @zizzamia #322 249e1ac
Breaking Changes
- The
Namecomponent will useshowAddressto override the default ENS behavior, andgetName. It will have multiple options as input, which means to pass the address you have to dogetName({ address })instead ofgetName(address). - Removed
getFrameMetadata,FrameMetadata,Avatar,Name,useAvatar,useNamefrom the root level exports. And you can find them going forward in either@coinbase/onchainkit/frameor@coinbase/onchainkit/identity.
- feat: exported
BadgeReacttype. By @zizzamia #312 42ae354
- feat: keep polishing the
Badgecomponent props and how to customize it. By @zizzamia #310 f4e432f
- feat: added custom style to
Badgecomponent. By @zizzamia #307 7476951
- feat: defined three main props for
OnchainKitProvider:address,chainandschemaId. By @zizzamia #305 49c4233
- feat: added Ethereum Attestation
Badgecomponent to the Identity kit. By @kyhyco & @zizzamia #259 #289 75f309c
- feat: added missing
addressandtransactionfield forFrameValidationDatatype. By @zizzamia & @SamuelLHuber #287 d61861f
- feat: init Open Frame spec support. By @zizzamia @daria-github @neekolas #285 b8aa317
- feat: exposed the
getNameandgetAvatarutilities to assist in retrieving name and avatar identity information. These utilities come in handy when working with Next.js or any Node.js backend. By @zizzamia #265 #283 b795268
- feat: upgraded
@xmtp/frames-validatorpackage to 0.6.0. By @zizzamia #278 #277 695b4a0
- feat: include peer dependency for graphql@15 and graphql@16. By @benson-budiman-cb #270 2301e64
- feat: 100% unit-test coverage. By @zizzamia #256 d8c3349
- fix:
button.targetis not dependent onbutton.action. By @cnasc #243 d0a2a35
- feat: added
post_urloptional metadata fortxFrame. By @zizzamia, @cnasc, @spennyp #237 8028007
Note: this is the version with fully working Frame TX feature.
- feat: Replace internal
useOnchainActionWithCachewithtanstack/react-query. This affectsuseNameanduseAvatarhooks. The return type and the input parameters also changed for these 2 hooks. 4090f4f
BREAKING CHANGES
The input parameters as well as return types of useName and useAvatar hooks have changed. The return type of useName and useAvatar hooks changed.
- 7238d29: - fix: for
FrameTransactionEthSendParams.datareplacedAddresswithHex. By @zizzamia #224
- 6763bb2: - fix: converted the
valueforFrameTransactionEthSendParamsto string. By @zizzamia 221
- 1c94437: - feat: added
transactionIdinFrameData. By @zizzamia #218
- 3f76991: - feat: added
statetype support forFrameDataandFrameValidationData. By @zizzamia #216- fix: update Neynar frame validation type. By @Flickque #212
- 3476d8a: - feat: exported
GetEASAttestationsOptionstype, and polished EAS docs. By @zizzamia #210
- 8a3138c: - feat: added
FrameTransactionResponseandFrameTransactionEthSendParamsas initial version of Frame Transaction types. By @zizzamia #211- docs: polished introduction for Frame and Identity pages. By @zizzamia #211
- 75dc428: - feat: added
txas a Frame action option, enabling support for Frame Transactions. By @zizzamia #208
- 4410ad0: - chore: added Cross Site Scripting tests for
frame:state. By @zizzamia #199- feat: added support for passing
stateto frame server. By @taycaldwell #197
- feat: added support for passing
- fix: in EAS did checksum address before querying GQL endpoint. By @dneilroth #182
- feat: added support for both ETH and SOL
verified_addressesfor getFrameMessage. By @cnasc #181 4c7fe48
- fix: EAS graphql types. By @dneilroth #177 606a717
- fix:
framemodule. By @zizzamia #174 0f7ef77
- feat: created
framemodule. By @zizzamia #172 605ce64
- feat: prep the identity
identitymodule. By @zizzamia #171 311b027 - feat: added initial version of
getEASAttestations, which helps getting the user attestations from the Ethereum Attetation Service (EAS). By @alvaroraminelli #126
- fix: make sure imports from
core,farcasterandxmtpwork. c30296d
- feat: Added
getXmtpFrameMessageandisXmtpFrameRequestso that Frames can receive interactions from apps outside of Farcaster, such as from XMTP conversations. By @neekolas #123 272082b
- feat:
getFrameMessagecan now handle mock frame messages. WhenallowFramegearis passed as an option (defaults tofalse), it will skip validating which facilitates testing locally running apps with future releases offramegear. By @cnasc #149 ee72476
- feat: Updated
FrameMetadataTypeto supporttargetfor buttonpostandpost_redirectactions. By @HashWarlock @zizzamia #130 #136 26f6fd5
Note:
In this release we update the FrameMetadataType so that it supports the latest Handling Clicks Frames specification.
If the button clicked is a post or post_redirect, apps must:
- Construct a Frame Signature Packet.
- POST the packet to
fc:frame:button:$idx:targetif present - POST the packet to
fc:frame:post_url if targetwas not present. - POST the packet to or the frame's embed URL if neither target nor action were present.
- Wait at least 5 seconds for a response from the frame server.
- docs: Init https://onchainkit.xyz . By @zizzamia #131 926bc30
- feat: Added
getFarcasterUserAddressutility to extract the user's custody and/or verified addresses. By @Sneh1999 #114 #121 - feat: Updates the version of
@types/jestpackage. By @Sneh1999 #114
- feat: automated the
og:imageandog:titleproperties forgetFrameHtmlResponseandFrameMetadata. By @zizzamia #109 c5ee76d
- feat: better treeshaking support by using packemon. By @zizzamia & @wespickett #105 fc74af1
BREAKING CHANGES
For modern apps that utilize ES2020 or the latest version, breaking changes are not anticipated. However, if you encounter any building issues when using OnchainKit with older apps that rely on ES6, please open an issue and provide details of the error you're experiencing. We will do our best to provide the necessary support.
- feat: exported
FrameButtonMetadata,FrameInputMetadataandFrameImageMetadatatypes. By @zizzamia #111 bf014fd - feat: introduced support for image aspect ratio metadata, ensuring backward compatibility. Image metadata can now be defined either as a string (with a default aspect ratio of
1.91:1) or as an object with a src URL string and an aspect ratio of either1.91:1or1:1. By @taycaldwell #110
- feat: all
FrameMetadataTypeparameters have been updated to use consistent lowerCamelCase. It's important to note that we are not deprecating the old method, at least for a few weeks, to allow time for migration to the new approach. By @zizzamia #106 f2cf7b6 - feat: while there is no real issue in using either
propertyornameas the standard for a metadata element, it is fair to respect the Open Graph specification, which originally usesproperty. By @zizzamia #106
- fix:
<FrameMetadata>component when used with Helmet. To ensure smooth functionality when used with Helmet as a wrapper component, it is crucial to flatten the Buttons loop. By @zizzamia #99 cefcfa8 - feat: added
Avatarcomponent, to our Identity Kit. TheAvatarcomponent primarily focuses on showcasing ENS avatar for given Ethereum addresses, and defaults to a default SVG avatar when an ENS avatar isn't available. By @alvaroraminelli #69
- feat: added option for mint action on a Frame. By @zizzamia #93 f9f7652
- feat: added option for simple static links when creating a Frame. By @zizzamia #93
- feat: added
wrapperprop to<FrameMetadata />component, that defaults toReact.Fragmentwhen not passed (original behavior). By @syntag #90 #91 - feat: exported
FrameMetadataResponsetype which can be useful when usinggetFrameMetadatain a TS project. By @syntag #90
- fix: ensured that the
<FrameMetadata>component uses thenameproperty instead of thepropertyproperty to set the type of metadata. Both options are technically correct, but historically, usingnameis more accurate. dc6f33d - feat: renamed the component from
OnchainNametoNamein our Identity Kit. This is a breaking changes. The purpose of the rename is to simplify and enhance clarity. By @alvaroraminelli #86
BREAKING CHANGES
To enhance usability and intuitiveness, the component name has been simplified. OnchainName is now renamed to Name.
Before
import { OnchainName } from '@coinbase/onchainkit';
...
<OnchainName address="0x1234">After
import { Name } from '@coinbase/onchainkit';
...
<Name address="0x1234">- feat: exported
FrameMetadataType. 6f9dd77
- fix: added missing
inputtype onFrameValidationData. d168475
- feat: added
textInputtoFrameData. 4bd8ec8
- feat: added support for Text Input metadata for Farcaster Frames. By @taycaldwell #67 89e5210
- feat: added
FrameMetadatacomponent, to help support metadata elements with classic React apps. By @zizzamia #71 - feat: added
OnchainNamecomponent, to our Identity Kit. TheOnchainNamecomponent primarily focuses on showcasing ENS names for given Ethereum addresses, and defaults to displaying a sliced version of the address when an ENS name isn't available. By @alvaroraminelli #49
- feat: the
getFrameAccountAddressfunction has been deprecated. Now, thegetFrameMessagefunction also returns the Account Address. #60 0355c73 - feat: integrated with Neynars API to obtain validated messages and additional context, such as recast, follow-up, etc. By @robpolak #59
- fix: removed the Farcaster references due to build errors and compatibility issues. By @robpolak #59
BREAKING CHANGES
We received feedback regarding our initial approach with OnchainKit, which had excessive dependencies on Node.js-only libraries. This caused issues when integrating the library with React Native and the latest version of Node (e.g., v21).
In response to this feedback, we decided to utilize Neynar to simplify our approach and implementation of the getFrameMessage method. By incorporating Neynar, you now have no dependencies for that particular method and will also receive additional data to enhance your Frame.
Therefore, as getFrameMessage relies on Neynar, it is necessary to provide a Neynar API KEY when using the method in order to avoid rate limiting.
Before
import { getFrameMessage } from '@coinbase/onchainkit';
...
const { isValid, message} = await getFrameMessage(body);After
import { getFrameMessage } from '@coinbase/onchainkit';
...
const { isValid, message } = await getFrameMessage(body , {
neynarApiKey: 'NEYNAR_ONCHAIN_KIT'
});Additionally, the getFrameMessage function now returns the Account Address. As a result, we no longer require the use of getFrameAccountAddress.
This enhancement allows us to accomplish more with less code!
- feat: introducing
getFrameHtmlResponseserver-side helper method: generates HTML response with valid Frame, usesFrameMetadatatypes for page metadata, eliminates manual creation of server-side HTML strings. 5d80499 - feat: the
FrameMetadatatype have been updated. Now,buttonsandpost_urlare considered optional, aligning with the Farcaster Frames API. - feat: going forward, we will utilize
NEYNAR_ONCHAIN_KITas the default free API key for Neynar.
-
feat have
getFrameAccountAddressreading from the message instead of the body. By @zizzamia #46 0695eb9 -
feat update
getFrameMetadatato the latest Frame APIs By @zizzamia #43
BREAKING CHANGES
getFrameAccountAddress
We have enhanced the getFrameAccountAddress method by making it more composable with getFrameMessage. Now, instead of directly retrieving the accountAddress from the body, you will utilize the validated message to do so.
Before
import { getFrameAccountAddress } from '@coinbase/onchainkit';
...
const accountAddress = await getFrameAccountAddress(body);After
import { getFrameAccountAddress } from '@coinbase/onchainkit';
...
const { isValid, message } = await getFrameMessage(body);
const accountAddress = await getFrameAccountAddress(message);getFrameMetadata
We have improved the getFrameMetadata method by making the buttons extensible for new actions.
Before
import { getFrameMetadata } from '@coinbase/onchainkit';
...
const frameMetadata = getFrameMetadata({
buttons: ['boat'],
image: 'https://build-onchain-apps.vercel.app/release/v-0-17.png',
post_url: 'https://build-onchain-apps.vercel.app/api/frame',
});type FrameMetadata = {
buttons: string[];
image: string;
post_url: string;
};After
import { frameMetadata } from '@coinbase/onchainkit';
...
const frameMetadata = getFrameMetadata({
buttons: [
{
label: 'We love BOAT',
},
],
image: 'https://build-onchain-apps.vercel.app/release/v-0-17.png',
post_url: 'https://build-onchain-apps.vercel.app/api/frame',
});type FrameMetadata = {
// A list of strings which are the label for the buttons in the frame (max 4 buttons).
buttons: [Button, ...Button[]];
// An image which must be smaller than 10MB and should have an aspect ratio of 1.91:1
image: string;
// A valid POST URL to send the Signature Packet to.
post_url: string;
// A period in seconds at which the app should expect the image to update.
refresh_period?: number;
};- feat: exported
FrameRequestandFrameDatatypes. - docs: polished README for
getFrameMessage(). By @zizzamia #38 218b65e - fix: refactor Farcaster typing to be explicit, and added a Farcaster message verification integration test. By @robpolak @cnasc @zizzamia #37
- feat: added a concept of integration tests where we can assert the actual values coming back from
neynar. We decoupled these from unit tests as we should not commingle. By @robpolak #35 - feat: refactored
neynarclient out of the./src/corecode-path, for better composability and testability. By @robpolak #35
BREAKING CHANGES
We made the getFrameValidatedMessage method more type-safe and renamed it to getFrameMessage.
Before
import { getFrameValidatedMessage } from '@coinbase/onchainkit';
...
const validatedMessage = await getFrameValidatedMessage(body);@Returns
type Promise<Message | undefined>After
import { getFrameMessage } from '@coinbase/onchainkit';
...
const { isValid, message } = await getFrameMessage(body);@Returns
type Promise<FrameValidationResponse>;
type FrameValidationResponse =
| { isValid: true; message: FrameData }
| { isValid: false; message: undefined };
interface FrameData {
fid: number;
url: string;
messageHash: string;
timestamp: number;
network: number;
buttonIndex: number;
castId: {
fid: number;
hash: string;
};
}- feat: added initial version of
getFrameValidatedMessage, which helps decode and validate a Frame message. d5de4e7
- fix: build d042114
- feat: added initial version of
getFrameAccountAddress, which helps getting the Account Address from the Farcaster ID using the Frame. 398933b
- feat: renamed
generateFrameNextMetadatatogetFrameMetadatac015b3e
- docs: kickoff docs for
generateFrameNextMetadatacore utility 30666be - fix: set correctly the
mainandtypesfile in thepackage.json
- feat: added
generateFrameNextMetadatato help generates the metadata for a Farcaster Frame. a83b0f9
- feat: init (e44929f)