clanker-sdk 4.0.21 → 4.0.22

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.
@@ -19,7 +19,7 @@ import {
19
19
  http
20
20
  } from "viem";
21
21
  import { privateKeyToAccount } from "viem/accounts";
22
- import { base as base3 } from "viem/chains";
22
+ import { base as base4 } from "viem/chains";
23
23
 
24
24
  // src/deployment/v3.ts
25
25
  import { parseEventLogs } from "viem";
@@ -2524,6 +2524,9 @@ var ClankerToken_v4_abi = [
2524
2524
  ];
2525
2525
  var ClankerToken_v4_bytecode = "0x6101806040523461008d57610024610015610147565b9695909594919493929361067a565b6040516131f7908161107e823960805181612383015260a05181612440015260c05181612354015260e051816123d2015261010051816123f801526101205181610c4c01526101405181610c7501526101605181818161072d0152818161131d0152611a750152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176100c857604052565b610091565b604051906100dc6040836100a5565b565b81601f8201121561008d578051906001600160401b0382116100c85760405192610112601f8401601f1916602001856100a5565b8284526020838301011161008d57815f9260208093018386015e8301015290565b51906001600160a01b038216820361008d57565b6142b5803803806040519261015c82856100a5565b83398101916101008284031261008d5781516001600160401b03811161008d57836101889184016100de565b60208301519091906001600160401b03811161008d57846101aa9185016100de565b936040840151936101bd60608201610133565b60808201519094906001600160401b03811161008d57836101df9184016100de565b60a08301519094906001600160401b03811161008d57846102019185016100de565b60c08401519094906001600160401b03811161008d5760e0916102259186016100de565b930151919796959493929190565b90600182811c92168015610261575b602083101461024d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610242565b601f8111610277575050565b60035f5260205f20906020601f840160051c830193106102b1575b601f0160051c01905b8181106102a6575050565b5f815560010161029b565b9091508190610292565b601f82116102c857505050565b5f5260205f20906020601f840160051c83019310610300575b601f0160051c01905b8181106102f5575050565b5f81556001016102ea565b90915081906102e1565b80519091906001600160401b0381116100c8576103338161032c600454610233565b60046102bb565b602092601f821160011461037357610363929382915f92610368575b50508160011b915f199060031b1c19161790565b600455565b015190505f8061034f565b60045f52601f198216937f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f5b8681106103d757508360019596106103bf575b505050811b01600455565b01515f1960f88460031b161c191690555f80806103b4565b919260206001819286850151815501940192016103a1565b80519091906001600160401b0381116100c85761041881610411600e54610233565b600e6102bb565b602092601f821160011461044c57610447929382915f926103685750508160011b915f199060031b1c19161790565b600e55565b600e5f52601f198216937fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd915f5b8681106104b05750836001959610610498575b505050811b01600e55565b01515f1960f88460031b161c191690555f808061048d565b9192602060018192868501518155019401920161047a565b80519091906001600160401b0381116100c8576104f1816104ea600c54610233565b600c6102bb565b602092601f821160011461052557610520929382915f926103685750508160011b915f199060031b1c19161790565b600c55565b600c5f52601f198216937fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7915f5b8681106105895750836001959610610571575b505050811b01600c55565b01515f1960f88460031b161c191690555f8080610566565b91926020600181928685015181550194019201610553565b80519091906001600160401b0381116100c8576105ca816105c3600d54610233565b600d6102bb565b602092601f82116001146105fe576105f9929382915f926103685750508160011b915f199060031b1c19161790565b600d55565b600d5f52601f198216937fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5915f5b868110610662575083600195961061064a575b505050811b01600d55565b01515f1960f88460031b161c191690555f808061063f565b9192602060018192868501518155019401920161062c565b96959493929196604051906106906040836100a5565b60018252603160f81b6020830190815281519093906001600160401b0381116100c8576106c7816106c2600354610233565b61026b565b6020601f82116001146107a55793610778936107136107879b9a989461070b8561077d9a966107829d9a5f9161079a575b508160011b915f199060031b1c19161790565b60035561030a565b61071c816108e8565b61012052610729826109dd565b610140526020815191012060e052519020610100524660a05261074a610acf565b6080523060c052610160819052600b80546001600160a01b0319166001600160a01b03909216919091179055565b6103ef565b6104c8565b6105a1565b46146107905750565b6100dc903361083c565b90508501515f6106f8565b60035f52601f198216907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f5b81811061082457506107879b9a98946001856107829c9995610778999561077d9c98610713961061080c575b5050811b0160035561030a565b8601515f1960f88460031b161c191690555f806107ff565b9192602060018192868a0151815501940192016107d3565b91906001600160a01b03831680156108d5576002548281018091116108d0576002555f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a3600254926001600160d01b038085116108b957506100dc929350610bac565b630e58ae9360e11b5f52600485905260245260445ffd5b610b98565b63ec442f0560e01b5f525f60045260245ffd5b908151602081105f1461090357509061090090610b2d565b90565b6001600160401b0381116100c85761092781610920600554610233565b60056102bb565b602092601f821160011461095e57610956929382915f926103685750508160011b915f199060031b1c19161790565b60055560ff90565b60055f52601f198216937f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0915f5b8681106109c557508360019596106109ad575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f808061099f565b9192602060018192868501518155019401920161098c565b908151602081105f146109f557509061090090610b2d565b6001600160401b0381116100c857610a1981610a12600654610233565b60066102bb565b602092601f8211600114610a5057610a48929382915f926103685750508160011b915f199060031b1c19161790565b60065560ff90565b60065f52601f198216937ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f915f5b868110610ab75750836001959610610a9f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610a91565b91926020600181928685015181550194019201610a7e565b60e051610100516040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152610b2760c0826100a5565b51902090565b601f815111610b58576020815191015160208210610b49571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b634e487b7160e01b5f52601160045260245ffd5b90610bb681610cab565b9165ffffffffffff4311610c9357600a5480610c5d5750610bf0610be06100dc945f5b6001611021565b65ffffffffffff4316600a610f4b565b50506001600160a01b03168015610c45575b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7545f9182526040909120546001600160a01b039081169116610dda565b610c56610c5183610cab565b610cdc565b5050610c02565b92835f198101116108d057600a5f525f5160206142755f395f51905f52909301546100dc93610bf091610be0919060301c610bd9565b6306dfcc6560e41b5f5260306004524360245260445ffd5b6001600160d01b038111610cc5576001600160d01b031690565b6306dfcc6560e41b5f5260d060045260245260445ffd5b65ffffffffffff4311610c9357600a5480610d065750610be0610d02915f5b6002611021565b9091565b805f198101116108d057600a5f525f5160206142755f395f51905f520154610d0291610be09160301c610cfb565b65ffffffffffff4311610c9357805480610d685750610d58610d02925f6002611021565b9065ffffffffffff431690610f4b565b805f198101116108d0575f82815260209020015f190154610d0292610d589160301c610cfb565b65ffffffffffff4311610c9357805480610db35750610d58610d02925f6001611021565b805f198101116108d0575f82815260209020015f190154610d0292610d589160301c610bd9565b6001600160a01b03808316939291908116908185141580610ecd575b610e02575b5050505050565b81610e73575b505082610e17575b8080610dfb565b6001600160a01b03165f9081526009602052604090205f5160206142955f395f51905f5291610e5091610e4a9091610cab565b90610d8f565b604080516001600160d01b039384168152919092166020820152a25f8080610e10565b6001600160a01b03165f9081526009602052604090205f5160206142955f395f51905f5290610eab90610ea586610cab565b90610d34565b604080516001600160d01b039384168152919092166020820152a25f80610e08565b50831515610df6565b5f198101919082116108d057565b908154680100000000000000008110156100c85760018101808455811015610f37575f9283526020928390208251929093015160301b65ffffffffffff191665ffffffffffff9290921691909117910155565b634e487b7160e01b5f52603260045260245ffd5b80549293928015610ff757610f62610f6d91610ed6565b825f5260205f200190565b8054603081901c9365ffffffffffff91821692918116808411610fe857879303610fb45750610fb092509065ffffffffffff82549181199060301b169116179055565b9190565b915050610fb091610fd4610fc66100cd565b65ffffffffffff9093168352565b6001600160d01b0386166020830152610ee4565b632520601d60e01b5f5260045ffd5b509061101c91611008610fc66100cd565b6001600160d01b0385166020830152610ee4565b5f9190565b919091806001146110635760021461104757634e487b7160e01b5f52605160045260245ffd5b6001600160d01b03908116918116919091039081116108d05790565b506001600160d01b03918216908216019081116108d0579056fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461028457806306fdde031461027f578063095ea7b31461027a57806318160ddd1461027557806318bf5077146102705780631c7b2ff41461026b57806323b872dd146102665780632b8c49e314610261578063313ce5671461025c5780633644e51514610257578063392f37e9146102525780633a46b1a81461024d57806342966c68146102485780634bf5d7e914610243578063587cde1e1461023e5780635c19a95c146102395780636fcfff451461023457806370a082311461022f57806379cc67901461022a5780637ecebe001461022557806380007e831461022057806384b0196e1461021b5780638e539e8c14610216578063918b5be11461021157806391ddadf41461020c57806395d89b41146102075780639ab24eb014610202578063a9059cbb146101fd578063aba83150146101f8578063b974b0a3146101f3578063c3cda520146101ee578063d0496d6a146101e9578063d505accf146101e4578063dd62ed3e146101df578063e2f273bd146101da578063eb3d68e7146101d5578063f1127ed8146101d0578063f851a440146101cb5763fc735e99146101c6575f80fd5b611a4e565b611a1b565b611945565b6117d1565b611730565b6116bd565b611522565b6114ff565b611391565b61128e565b61126b565b611245565b6111dd565b611138565b61110d565b610f60565b610d6b565b610c34565b610c12565b610bcd565b610b9d565b610b5b565b610ad3565b610ab1565b610a56565b6109ad565b61098e565b61088a565b61084c565b61082a565b61080f565b610789565b610751565b610701565b61054d565b610530565b6104ff565b6103c1565b34610366576020600319360112610366576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610366577f3333199400000000000000000000000000000000000000000000000000000000811490811561033c575b8115610312575b8115610309575b506040519015158152602090f35b9050155f6102fb565b7f01ffc9a700000000000000000000000000000000000000000000000000000000811491506102f4565b7f36372b0700000000000000000000000000000000000000000000000000000000811491506102ed565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b9060206103be92818152019061036a565b90565b34610366575f600319360112610366576040515f6003546103e181611b73565b80845290600181169081156104775750600114610419575b6104158361040981850382610e78565b604051918291826103ad565b0390f35b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b80821061045d575090915081016020016104096103f9565b919260018160209254838588010152019101909291610445565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b8401909101915061040990506103f9565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361036657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361036657565b346103665760406003193601126103665761052561051b6104b9565b602435903361260a565b602060405160018152f35b34610366575f600319360112610366576020600254604051908152f35b34610366576040600319360112610366576105666104b9565b6024359073420000000000000000000000000000000000002833036106d95773ffffffffffffffffffffffffffffffffffffffff81169081156106ad576105b76105b2846002546124d4565b600255565b6105de8173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b838154019055815f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6040518061061a88829190602083019252565b0390a360025479ffffffffffffffffffffffffffffffffffffffffffffffffffff9081811161067f5750508261064f91612eff565b60405191825233917fde22baff038e3a3e08407cbdf617deed74e869a7ba517df611e33131c6e6ea0490602090a3005b7f1cb15d26000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610366575f60031936011261036657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346103665760606003193601126103665761052561076d6104b9565b6107756104dc565b60443591610784833383611edf565b612044565b34610366576040600319360112610366576107a26104b9565b60243573420000000000000000000000000000000000002833036106d9576107ca81836121b7565b6040519081527fb90795a66650155983e242cac3e1ac1a4dc26f8ed2987f3ce416a34e00111fd4602073ffffffffffffffffffffffffffffffffffffffff33941692a3005b34610366575f60031936011261036657602060405160128152f35b34610366575f60031936011261036657602061084461233d565b604051908152f35b34610366575f600319360112610366576104156040516108768161086f81611bc4565b0382610e78565b60405191829160208352602083019061036a565b34610366576040600319360112610366576108a36104b9565b73ffffffffffffffffffffffffffffffffffffffff60243591165f5260096020526108d160405f2091612466565b8154905f829160058411610936575b6108eb93508461289b565b908161091b57505060205f5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff60405191168152f35b6109266020926124b8565b905f52815f20015460301c6108f7565b919261094181612726565b8103908111610989576108eb93855f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146109775750916108e0565b929150610983906124c6565b906108e0565b611b46565b34610366576020600319360112610366576109ab600435336121b7565b005b34610366575f600319360112610366576109c6436126a7565b65ffffffffffff806109d7436126a7565b16911603610a2e576104156040516109f0604082610e78565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015260405191829160208352602083019061036a565b7f6ff07140000000000000000000000000000000000000000000000000000000005f5260045ffd5b346103665760206003193601126103665773ffffffffffffffffffffffffffffffffffffffff610a846104b9565b165f526008602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b34610366576020600319360112610366576109ab610acd6104b9565b336124e1565b346103665760206003193601126103665773ffffffffffffffffffffffffffffffffffffffff610b016104b9565b165f52600960205260405f205463ffffffff8111610b2b5760405163ffffffff9091168152602090f35b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52602060045260245260445ffd5b34610366576020600319360112610366576020610844610b796104b9565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b34610366576040600319360112610366576109ab610bb96104b9565b60243590610bc8823383611edf565b6121b7565b346103665760206003193601126103665773ffffffffffffffffffffffffffffffffffffffff610bfb6104b9565b165f526007602052602060405f2054604051908152f35b34610366575f60031936011261036657602060ff600f54166040519015158152f35b34610366575f60031936011261036657610d12610c707f0000000000000000000000000000000000000000000000000000000000000000612a86565b610c997f0000000000000000000000000000000000000000000000000000000000000000612af8565b6020604051610ca88282610e78565b5f815281610d20818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e089019061036a565b90878203604089015261036a565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b828110610d5457505050500390f35b835185528695509381019392810192600101610d45565b3461036657602060031936011261036657610d87600435612466565b600a54905f829160058411610dd6575b610da39350600a61289b565b80610db457506040515f8152602090f35b610dd1610dc26020926124b8565b600a5f52825f20015460301c90565b6108f7565b9192610de181612726565b810390811161098957610da393600a5f5265ffffffffffff8260205f2001541665ffffffffffff8516105f14610e18575091610d97565b929150610e24906124c6565b90610d97565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610e7357604052565b610e2a565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e7357604052565b60405190610ec8604083610e78565b565b60206003198201126103665760043567ffffffffffffffff811161036657816023820112156103665780600401359067ffffffffffffffff8211610e735760405192610f3e601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200185610e78565b8284526024838301011161036657815f92602460209301838601378301015290565b3461036657610f6e36610eca565b73ffffffffffffffffffffffffffffffffffffffff600b541633036110e557805167ffffffffffffffff8111610e7357610fb281610fad600c54611b73565b611e27565b6020601f8211600114611022579161100382611012937ff26c33166d6eefdac067b052550e7713b98ff0ffc4abb3caf719a1de36b651f4955f91611017575b505f198260011b9260031b1c19161790565b600c55604051918291826103ad565b0390a1005b90508301515f610ff1565b600c5f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216907fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7915f5b8181106110cd5750927ff26c33166d6eefdac067b052550e7713b98ff0ffc4abb3caf719a1de36b651f494926001928261101296106110b5575b5050811b01600c55610409565b8401515f1960f88460031b161c191690555f806110a8565b9192602060018192868901518155019401920161106e565b7f7bfa4b9f000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610366575f600319360112610366576020611128436126a7565b65ffffffffffff60405191168152f35b34610366575f600319360112610366576040515f60045461115881611b73565b8084529060018116908115610477575060011461117f576104158361040981850382610e78565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106111c3575090915081016020016104096103f9565b9192600181602092548385880101520191019092916111ab565b346103665760206003193601126103665773ffffffffffffffffffffffffffffffffffffffff61120b6104b9565b165f526009602052602079ffffffffffffffffffffffffffffffffffffffffffffffffffff61123c60405f20612591565b16604051908152f35b34610366576040600319360112610366576105256112616104b9565b6024359033612044565b34610366575f600319360112610366576104156040516108768161086f81611c81565b34610366575f6003193601126103665773ffffffffffffffffffffffffffffffffffffffff600b5416604051906112cf826112c881611c81565b0383610e78565b6104156040516112e28161086f81611bc4565b611363604051916112fd836112f681611d04565b0384610e78565b61135560405196879673ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168852602088015260a0604088015260a087019061036a565b90858203606087015261036a565b90838203608085015261036a565b6064359060ff8216820361036657565b6084359060ff8216820361036657565b346103665760c0600319360112610366576113aa6104b9565b602435906044356113b9611371565b6084359060a435928042116114d4579161144c939161143e6114439460405160208101917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835273ffffffffffffffffffffffffffffffffffffffff8a1660408301528a606083015260808201526080815261143660a082610e78565b5190206125ba565b612b2f565b90929192612c00565b61147d8173ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b80930361148e576109ab92506124e1565b73ffffffffffffffffffffffffffffffffffffffff91507f752d88c0000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b7f4683af0e000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b34610366575f600319360112610366576104156040516108768161086f81611d04565b346103665760e06003193601126103665761153b6104b9565b6115436104dc565b6044359060643592611553611381565b60a43560c43590864211611691576116239261161e6115998673ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b9860405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835273ffffffffffffffffffffffffffffffffffffffff89169b8c604084015273ffffffffffffffffffffffffffffffffffffffff8b1660608401528b608084015260a083015260c082015260c0815261143660e082610e78565b6125fb565b9373ffffffffffffffffffffffffffffffffffffffff85160361164a576109ab935061260a565b7f4b800e46000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff8085166004521660245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346103665760406003193601126103665760206117276116db6104b9565b73ffffffffffffffffffffffffffffffffffffffff6116f86104dc565b91165f526001835260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b34610366576020600319360112610366576117496104b9565b600b5473ffffffffffffffffffffffffffffffffffffffff8116908133036110e55773ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff000000000000000000000000000000000000000093169283911617600b557fcd6ba6b7da89e039d53b5d981527a893755342bb9d8e5c2f61f6638f1fb5192b5f80a3005b34610366576117df36610eca565b73ffffffffffffffffffffffffffffffffffffffff600b541633036110e557805167ffffffffffffffff8111610e73576118238161181e600e54611b73565b611e77565b6020601f8211600114611882579161187382611012937fa27234ca678ebcb3cd33e8325c5563cd8d9ff626cc44a58b6ea2bf4b55524216955f9161101757505f198260011b9260031b1c19161790565b600e55604051918291826103ad565b600e5f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216907fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd915f5b81811061192d5750927fa27234ca678ebcb3cd33e8325c5563cd8d9ff626cc44a58b6ea2bf4b555242169492600192826110129610611915575b5050811b01600e55610409565b8401515f1960f88460031b161c191690555f80611908565b919260206001819286890151815501940192016118ce565b346103665760406003193601126103665761195e6104b9565b6024359063ffffffff82168203610366576104159173ffffffffffffffffffffffffffffffffffffffff6119b892611994611ec7565b5061199d611ec7565b50165f52600960205260405f206119b2611ec7565b50612cc7565b50604051906119c682610e57565b5465ffffffffffff8116825260301c602082015260405191829182919091602079ffffffffffffffffffffffffffffffffffffffffffffffffffff81604084019565ffffffffffff8151168552015116910152565b34610366575f60031936011261036657602073ffffffffffffffffffffffffffffffffffffffff600b5416604051908152f35b34610366575f6003193601126103665773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611b1e57600f5460ff8116611af6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117600f5530337f78a953f3f0d92abc078a34e5d4fedf8708e788e1b29300b3d6170e97f88a13fc5f80a3005b7f118fd7b8000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fce7123f5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90600182811c92168015611bba575b6020831014611b8d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611b82565b600c545f9291611bd382611b73565b8082529160018116908115611c475750600114611bee575050565b600c5f9081529293509091907fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75b838310611c2d575060209250010190565b600181602092949394548385870101520191019190611c1c565b60209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b600e545f9291611c9082611b73565b8082529160018116908115611c475750600114611cab575050565b600e5f9081529293509091907fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd5b838310611cea575060209250010190565b600181602092949394548385870101520191019190611cd9565b600d545f9291611d1382611b73565b8082529160018116908115611c475750600114611d2e575050565b600d5f9081529293509091907fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb55b838310611d6d575060209250010190565b600181602092949394548385870101520191019190611d5c565b5f9291815491611d9683611b73565b8083529260018116908115611deb5750600114611db257505050565b5f9081526020812093945091925b838310611dd1575060209250010190565b600181602092949394548385870101520191019190611dc0565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b601f8111611e33575050565b600c5f5260205f20906020601f840160051c83019310611e6d575b601f0160051c01905b818110611e62575050565b5f8155600101611e57565b9091508190611e4e565b601f8111611e83575050565b600e5f5260205f20906020601f840160051c83019310611ebd575b601f0160051c01905b818110611eb2575050565b5f8155600101611ea7565b9091508190611e9e565b60405190611ed482610e57565b5f6020838281520152565b73ffffffffffffffffffffffffffffffffffffffff909291921690815f526001602052611f2d8360405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b545f198110611f3d575b50505050565b818110611ffc578215611fd05773ffffffffffffffffffffffffffffffffffffffff841615611fa457611f9a925f526001602052039160405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b555f808080611f37565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff847ffb8f41b2000000000000000000000000000000000000000000000000000000005f521660045260245260445260645ffd5b92919073ffffffffffffffffffffffffffffffffffffffff841693841561218b5773ffffffffffffffffffffffffffffffffffffffff821680156106ad576120a98273ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b549584871061213f5784610ec89697036120e08473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b556121088473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b8054860190556040518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3612f92565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff83166004526024879052604485905260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff811690811561218b576121fc8173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548381106122f2579061223484610ec8959493039173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5581600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405180602081018782520390a380156122da575b61228661228183612d09565b612e9e565b50505f908152600860205260408120549080527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75473ffffffffffffffffffffffffffffffffffffffff90811691166128ff565b6122eb6122e683612d09565b612e3d565b5050612275565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff909116600452602452604482905260645ffd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630148061243d575b156123a5577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261243760c082610e78565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461237c565b65ffffffffffff612476436126a7565b168082101561248957506103be906126a7565b907fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b905f19820191821161098957565b906001820180921161098957565b9190820180921161098957565b73ffffffffffffffffffffffffffffffffffffffff8181165f81815260086020526040812080548685167fffffffffffffffffffffffff000000000000000000000000000000000000000082168117909255610ec89694169461258b9390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b916128ff565b80548061259e5750505f90565b805f19810111610989575f19915f5260205f2001015460301c90565b6042906125c561233d565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916103be939161144393612b2f565b73ffffffffffffffffffffffffffffffffffffffff16908115611fd05773ffffffffffffffffffffffffffffffffffffffff8116928315611fa4578061269a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600160205260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b55604051908152602090a3565b65ffffffffffff81116126bf5765ffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52603060045260245260445ffd5b81156126f9570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b60018111156103be57806001700100000000000000000000000000000000831015612859575b6127ff6127f56127eb6127e16127d76127cd6127bc6128069760048a6801000000000000000061280b9c101561284c575b64010000000081101561283f575b62010000811015612832575b610100811015612825575b6010811015612818575b1015612810575b60030260011c90565b6127c6818b6126ef565b0160011c90565b6127c6818a6126ef565b6127c681896126ef565b6127c681886126ef565b6127c681876126ef565b6127c681866126ef565b80936126ef565b821190565b900390565b60011b6127b3565b60041c9160021b916127ac565b60081c9160041b916127a2565b60101c9160081b91612797565b60201c9160101b9161278b565b60401c9160201b9161277d565b505061280b6128066127ff6127f56127eb6127e16127d76127cd6127bc6128808a60801c90565b985068010000000000000000975061274c9650505050505050565b91905b8382106128ab5750505090565b9091928083169080841860011c820180921161098957845f5265ffffffffffff8260205f2001541665ffffffffffff8416105f146128ed5750925b919061289e565b9392506128f9906124c6565b916128e6565b919073ffffffffffffffffffffffffffffffffffffffff81169273ffffffffffffffffffffffffffffffffffffffff8116908482141580612a7d575b612947575b5050505050565b816129fa575b50508261295c575b8080612940565b6129ef6129d67fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724936129d06129ca79ffffffffffffffffffffffffffffffffffffffffffffffffffff9573ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b91612d09565b90612ddd565b6040805192851683529316602082015291829190820190565b0390a25f8080612955565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff612a736129d6612a647fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249473ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b612a6d88612d09565b90612d79565b0390a25f8061294d565b5083151561293b565b60ff8114612ae55760ff811690601f8211612abd5760405191612aaa604084610e78565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040516103be8161086f816005611d87565b60ff8114612b1c5760ff811690601f8211612abd5760405191612aaa604084610e78565b506040516103be8161086f816006611d87565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612bbe579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15612bb3575f5173ffffffffffffffffffffffffffffffffffffffff811615612ba957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115612bd357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b612c0981612bc9565b80612c12575050565b612c1b81612bc9565b60018103612c4b577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b612c5481612bc9565b60028103612c8857507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80612c94600392612bc9565b14612c9c5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8054821015612cdc575f5260205f2001905f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff8111612d495779ffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f5260d060045260245260445ffd5b90612d83436126a7565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612da985612591565b92169116039079ffffffffffffffffffffffffffffffffffffffffffffffffffff821161098957612dd9926130c4565b9091565b90612de7436126a7565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612e0d85612591565b92169116019079ffffffffffffffffffffffffffffffffffffffffffffffffffff821161098957612dd9926130c4565b612e46436126a7565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612e6d600a612591565b921691160179ffffffffffffffffffffffffffffffffffffffffffffffffffff811161098957612dd991600a6130c4565b612ea7436126a7565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612ece600a612591565b921691160379ffffffffffffffffffffffffffffffffffffffffffffffffffff811161098957612dd991600a6130c4565b9073ffffffffffffffffffffffffffffffffffffffff610ec892612f256122e684612d09565b5050168015612f7f575b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7545f91825260409091205473ffffffffffffffffffffffffffffffffffffffff90811691166128ff565b612f8b61228183612d09565b5050612f2f565b9073ffffffffffffffffffffffffffffffffffffffff80610ec894931691821561301e575b1690811561300b575b5f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f205416905f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f205416906128ff565b61301761228184612d09565b5050612fc0565b61302a6122e685612d09565b5050612fb7565b805468010000000000000000811015610e735761305391600182018155612cc7565b6130985781516020929092015160301b7fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b7f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b805492939280156131ba576130db6130e6916124b8565b825f5260205f200190565b8054603081901c9365ffffffffffff918216929181168084116131925787930361314b575061314792509065ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000083549260301b169116179055565b9190565b9150506131479161316b61315d610eb9565b65ffffffffffff9093168352565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff86166020830152613031565b7f2520601d000000000000000000000000000000000000000000000000000000005f5260045ffd5b50906131f2916131cb61315d610eb9565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff85166020830152613031565b5f919056c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724";
2526
2526
 
2527
+ // src/utils/clankers.ts
2528
+ import { base as base2, baseSepolia as baseSepolia2 } from "viem/chains";
2529
+
2527
2530
  // src/abi/v0/Clanker.ts
2528
2531
  var Clanker_v0_abi = [
2529
2532
  {
@@ -4242,38 +4245,89 @@ var Clanker_v4_abi = [
4242
4245
  // src/utils/clankers.ts
4243
4246
  var CLANKERS = {
4244
4247
  clanker_v0: {
4245
- // @note - this is a same as `proxy` in legacy uses
4246
4248
  abi: Clanker_v0_abi,
4249
+ chainId: base2.id,
4247
4250
  type: "proxy",
4248
- address: "0x250c9FB2b411B48273f69879007803790A6AeA47"
4251
+ address: "0x250c9FB2b411B48273f69879007803790A6AeA47",
4252
+ related: void 0
4249
4253
  },
4250
4254
  clanker_v1: {
4251
- // @note - this is a same as `clanker` in legacy uses
4252
4255
  abi: Clanker_v1_abi,
4256
+ chainId: base2.id,
4253
4257
  type: "clanker",
4254
- address: "0x9B84fcE5Dcd9a38d2D01d5D72373F6b6b067c3e1"
4258
+ address: "0x9B84fcE5Dcd9a38d2D01d5D72373F6b6b067c3e1",
4259
+ related: void 0
4255
4260
  },
4256
4261
  clanker_v2: {
4257
4262
  abi: Clanker_v2_abi,
4263
+ chainId: base2.id,
4258
4264
  type: "clanker_v2",
4259
- address: "0x732560fa1d1A76350b1A500155BA978031B53833"
4265
+ address: "0x732560fa1d1A76350b1A500155BA978031B53833",
4266
+ related: {
4267
+ locker: "0x618A9840691334eE8d24445a4AdA4284Bf42417D"
4268
+ }
4260
4269
  },
4261
4270
  clanker_v3: {
4262
4271
  abi: Clanker_v3_abi,
4272
+ chainId: base2.id,
4263
4273
  type: "clanker_v3",
4264
- address: "0x375C15db32D28cEcdcAB5C03Ab889bf15cbD2c5E"
4274
+ address: "0x375C15db32D28cEcdcAB5C03Ab889bf15cbD2c5E",
4275
+ related: {
4276
+ locker: "0x5eC4f99F342038c67a312a166Ff56e6D70383D86"
4277
+ }
4265
4278
  },
4266
4279
  clanker_v3_1: {
4267
4280
  abi: Clanker_v3_1_abi,
4281
+ chainId: base2.id,
4268
4282
  type: "clanker_v3_1",
4269
- address: "0x2A787b2362021cC3eEa3C24C4748a6cD5B687382"
4283
+ address: "0x2A787b2362021cC3eEa3C24C4748a6cD5B687382",
4284
+ related: {
4285
+ locker: "0x33e2Eda238edcF470309b8c6D228986A1204c8f9",
4286
+ vault: "0x42A95190B4088C88Dd904d930c79deC1158bF09D"
4287
+ }
4270
4288
  },
4271
4289
  clanker_v4: {
4272
4290
  abi: Clanker_v4_abi,
4291
+ chainId: base2.id,
4292
+ type: "clanker_v4",
4293
+ address: "0xE85A59c628F7d27878ACeB4bf3b35733630083a9",
4294
+ related: {
4295
+ locker: "0x29d17C1A8D851d7d4cA97FAe97AcAdb398D9cCE0",
4296
+ vault: "0x8E845EAd15737bF71904A30BdDD3aEE76d6ADF6C",
4297
+ airdrop: "0x56Fa0Da89eD94822e46734e736d34Cab72dF344F",
4298
+ devbuy: "0x1331f0788F9c08C8F38D52c7a1152250A9dE00be",
4299
+ mevModule: "0xE143f9872A33c955F23cF442BB4B1EFB3A7402A2",
4300
+ feeLocker: "0xF3622742b1E446D92e45E22923Ef11C2fcD55D68",
4301
+ feeStaticHook: "0xDd5EeaFf7BD481AD55Db083062b13a3cdf0A68CC",
4302
+ feeDynamicHook: "0x34a45c6B61876d739400Bd71228CbcbD4F53E8cC"
4303
+ }
4304
+ },
4305
+ clanker_v4_sepolia: {
4306
+ abi: Clanker_v4_abi,
4307
+ chainId: baseSepolia2.id,
4273
4308
  type: "clanker_v4",
4274
- address: "0xE85A59c628F7d27878ACeB4bf3b35733630083a9"
4309
+ address: "0xE85A59c628F7d27878ACeB4bf3b35733630083a9",
4310
+ related: {
4311
+ locker: "0x33e2Eda238edcF470309b8c6D228986A1204c8f9",
4312
+ vault: "0xcC80d1226F899a78fC2E459a1500A13C373CE0A5",
4313
+ airdrop: "0x29d17C1A8D851d7d4cA97FAe97AcAdb398D9cCE0",
4314
+ devbuy: "0x691f97752E91feAcD7933F32a1FEdCeDae7bB59c",
4315
+ mevModule: "0x71DB365E93e170ba3B053339A917c11024e7a9d4",
4316
+ feeLocker: "0x42A95190B4088C88Dd904d930c79deC1158bF09D",
4317
+ feeStaticHook: "0x3eC2a26b6eF16c288561692AE8D9681fa773A8cc",
4318
+ feeDynamicHook: "0xE63b0A59100698f379F9B577441A561bAF9828cc"
4319
+ }
4275
4320
  }
4276
4321
  };
4322
+ var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
4323
+ var ClankerDeployments = Object.values(CLANKERS).reduce(
4324
+ (agg, cur) => {
4325
+ if (!agg[cur.chainId]) agg[cur.chainId] = {};
4326
+ agg[cur.chainId][cur.type] = cur;
4327
+ return agg;
4328
+ },
4329
+ {}
4330
+ );
4277
4331
 
4278
4332
  // src/services/vanityAddress.ts
4279
4333
  var findVanityAddress = async (args, admin, suffix = "0x4b07", options) => {
@@ -4596,7 +4650,7 @@ import {
4596
4650
  parseEventLogs as parseEventLogs2
4597
4651
  } from "viem";
4598
4652
  import { call } from "viem/actions";
4599
- import { base as base2 } from "viem/chains";
4653
+ import { base as base3 } from "viem/chains";
4600
4654
 
4601
4655
  // src/types/fee.ts
4602
4656
  import { encodeAbiParameters } from "viem";
@@ -4765,6 +4819,7 @@ function buildTokenV4(cfg, chainId, salt) {
4765
4819
  args: [deploymentConfig]
4766
4820
  });
4767
4821
  return {
4822
+ type: "v4",
4768
4823
  transaction: {
4769
4824
  to: CLANKER_FACTORY_V4,
4770
4825
  data: deployCalldata,
@@ -4800,7 +4855,7 @@ async function withVanityAddress(cfg, chainId) {
4800
4855
  };
4801
4856
  }
4802
4857
  async function simulateDeploy(cfg, account, publicClient) {
4803
- const chain = publicClient.chain || base2;
4858
+ const chain = publicClient.chain || base3;
4804
4859
  const { transaction } = "transaction" in cfg ? cfg : buildTokenV4(cfg, chain.id);
4805
4860
  try {
4806
4861
  const { data } = await call(publicClient, {
@@ -4869,13 +4924,15 @@ async function deployTokenV4(cfg, wallet, publicClient) {
4869
4924
  return log.args.tokenAddress;
4870
4925
  }
4871
4926
 
4872
- // src/abi/ClankerFeeLocker.ts
4927
+ // src/abi/v4/ClankerFeeLocker.ts
4873
4928
  var ClankerFeeLocker_abi = [
4874
4929
  {
4875
4930
  inputs: [{ internalType: "address", name: "owner_", type: "address" }],
4876
4931
  stateMutability: "nonpayable",
4877
4932
  type: "constructor"
4878
4933
  },
4934
+ { inputs: [], name: "ClaimAmountTooHigh", type: "error" },
4935
+ { inputs: [], name: "InvalidRecipient", type: "error" },
4879
4936
  { inputs: [], name: "NoFeesToClaim", type: "error" },
4880
4937
  {
4881
4938
  inputs: [{ internalType: "address", name: "owner", type: "address" }],
@@ -4893,6 +4950,7 @@ var ClankerFeeLocker_abi = [
4893
4950
  name: "SafeERC20FailedOperation",
4894
4951
  type: "error"
4895
4952
  },
4953
+ { inputs: [], name: "TransferFailed", type: "error" },
4896
4954
  { inputs: [], name: "Unauthorized", type: "error" },
4897
4955
  {
4898
4956
  anonymous: false,
@@ -5038,31 +5096,93 @@ var availableFees = async (publicClient, feeOwnerAddress, tokenAddress) => {
5038
5096
  return availableFees2;
5039
5097
  };
5040
5098
 
5041
- // src/fees/claim.ts
5042
- import { encodeFunctionData as encodeFunctionData3 } from "viem";
5043
- var claimRewards = (feeOwnerAddress, tokenAddress) => {
5044
- const claimRewardsCalldata = encodeFunctionData3({
5045
- abi: ClankerFeeLocker_abi,
5046
- functionName: "claim",
5047
- args: [feeOwnerAddress, tokenAddress]
5048
- });
5049
- return {
5050
- transaction: {
5051
- to: CLANKER_FEE_LOCKER_V4,
5052
- data: claimRewardsCalldata
5099
+ // src/utils/write-clanker-contracts.ts
5100
+ import { simulateContract, writeContract } from "viem/actions";
5101
+
5102
+ // src/utils/errors.ts
5103
+ import { BaseError, ContractFunctionRevertedError, InsufficientFundsError } from "viem";
5104
+ var ClankerError = class _ClankerError extends Error {
5105
+ constructor(error, data) {
5106
+ super(data.label);
5107
+ this.error = error;
5108
+ this.data = data;
5109
+ }
5110
+ static unknown(e, name) {
5111
+ return new _ClankerError(e, {
5112
+ type: "unknown",
5113
+ label: "Something went wrong",
5114
+ rawName: name || "unknown"
5115
+ });
5116
+ }
5117
+ };
5118
+ var ErrorMapping = {
5119
+ NoFeesToClaim: {
5120
+ type: "state",
5121
+ label: "No fees to claim",
5122
+ rawName: "NoFeesToClaim"
5123
+ }
5124
+ };
5125
+ var understandError = (e) => {
5126
+ if (!(e instanceof Error)) return ClankerError.unknown(new Error(`${e}`));
5127
+ if (!(e instanceof BaseError)) return ClankerError.unknown(e);
5128
+ const revertError = e.walk((e2) => e2 instanceof ContractFunctionRevertedError);
5129
+ if (revertError instanceof ContractFunctionRevertedError) {
5130
+ const errorName = revertError.data?.errorName ?? "";
5131
+ const mapping = ErrorMapping[errorName];
5132
+ if (!mapping) return ClankerError.unknown(e, errorName);
5133
+ return new ClankerError(e, mapping);
5134
+ }
5135
+ const fundsError = e.walk((e2) => e2 instanceof InsufficientFundsError);
5136
+ if (fundsError instanceof InsufficientFundsError) {
5137
+ return new ClankerError(fundsError, {
5138
+ type: "caller",
5139
+ label: "Insufficient funds.",
5140
+ rawName: "InsufficientFundsError"
5141
+ });
5142
+ }
5143
+ return ClankerError.unknown(e);
5144
+ };
5145
+
5146
+ // src/utils/write-clanker-contracts.ts
5147
+ var writeClankerContract = async (client, wallet, tx, options) => {
5148
+ if (options?.simulate) {
5149
+ try {
5150
+ await simulateContract(client, tx);
5151
+ } catch (e) {
5152
+ return { txHash: void 0, error: understandError(e) };
5053
5153
  }
5054
- };
5154
+ }
5155
+ try {
5156
+ const txHash = await writeContract(wallet, tx);
5157
+ return { txHash, error: void 0 };
5158
+ } catch (e) {
5159
+ return { txHash: void 0, error: understandError(e) };
5160
+ }
5055
5161
  };
5056
5162
 
5163
+ // src/fees/claim.ts
5164
+ var claimRewards = async (client, wallet, feeOwnerAddress, tokenAddress, options) => {
5165
+ return writeClankerContract(
5166
+ client,
5167
+ wallet,
5168
+ {
5169
+ address: CLANKER_FEE_LOCKER_V4,
5170
+ abi: ClankerFeeLocker_abi,
5171
+ functionName: "claim",
5172
+ args: [feeOwnerAddress, tokenAddress]
5173
+ },
5174
+ options
5175
+ );
5176
+ };
5177
+
5178
+ // src/config/builders.ts
5179
+ import { isAddressEqual, zeroAddress } from "viem";
5180
+
5057
5181
  // src/utils/validation-schema.ts
5058
5182
  import { isAddress as isAddress2, isHex } from "viem";
5059
5183
  import { z } from "zod";
5060
5184
  var isHexRefinement = (val) => isHex(val);
5061
5185
  var isAddressRefinement = (val) => isAddress2(val);
5062
- var clankerConfigSchema = z.object({
5063
- publicClient: z.any().optional(),
5064
- wallet: z.any().optional()
5065
- });
5066
5186
  var tokenConfigSchema = z.object({
5067
5187
  name: z.string().min(1, "Name is required"),
5068
5188
  symbol: z.string().min(1, "Symbol is required"),
@@ -5187,9 +5307,6 @@ function validateConfig(config2) {
5187
5307
  if (typeof config2 === "object" && config2 !== null && "pairedTokenPoolFee" in config2 && "pairedTokenSwapAmountOutMinimum" in config2) {
5188
5308
  return initialBuyConfigSchema.safeParse(config2);
5189
5309
  }
5190
- if (typeof config2 === "object" && config2 !== null && "publicClient" in config2) {
5191
- return clankerConfigSchema.safeParse(config2);
5192
- }
5193
5310
  return {
5194
5311
  success: false,
5195
5312
  error: {
@@ -5201,9 +5318,6 @@ function validateConfig(config2) {
5201
5318
  };
5202
5319
  }
5203
5320
 
5204
- // src/config/builders.ts
5205
- import { isAddressEqual, zeroAddress } from "viem";
5206
-
5207
5321
  // src/extensions/AirdropExtension.ts
5208
5322
  import { encodeAbiParameters as encodeAbiParameters4 } from "viem";
5209
5323
 
@@ -5221,22 +5335,16 @@ import { encodeAbiParameters as encodeAbiParameters6 } from "viem";
5221
5335
  var Clanker = class {
5222
5336
  wallet;
5223
5337
  publicClient;
5338
+ simulate;
5224
5339
  /**
5225
5340
  * Creates a new instance of the Clanker SDK
5226
5341
  * @param config - Optional configuration object containing wallet and public client
5227
5342
  * @throws {Error} If the provided configuration is invalid
5228
5343
  */
5229
5344
  constructor(config2) {
5230
- if (config2) {
5231
- const validationResult = validateConfig(config2);
5232
- if (!validationResult.success) {
5233
- throw new Error(
5234
- `Invalid Clanker configuration: ${JSON.stringify(validationResult.error?.format())}`
5235
- );
5236
- }
5237
- this.wallet = config2.wallet;
5238
- this.publicClient = config2.publicClient;
5239
- }
5345
+ this.wallet = config2?.wallet;
5346
+ this.publicClient = config2?.publicClient;
5347
+ this.simulate = !!config2?.simulateBeforeWrite;
5240
5348
  }
5241
5349
  /**
5242
5350
  * Collects rewards from a token
@@ -5244,8 +5352,12 @@ var Clanker = class {
5244
5352
  * @returns Promise resolving to the transaction hash
5245
5353
  * @throws {Error} If wallet client or public client is not configured
5246
5354
  */
5247
- claimRewards(feeOwnerAddress, tokenAddress) {
5248
- return claimRewards(feeOwnerAddress, tokenAddress);
5355
+ async claimRewards(feeOwnerAddress, tokenAddress) {
5356
+ if (!this.wallet) throw new Error("Wallet client required");
5357
+ if (!this.publicClient) throw new Error("Public client required");
5358
+ return claimRewards(this.publicClient, this.wallet, feeOwnerAddress, tokenAddress, {
5359
+ simulate: this.simulate
5360
+ });
5249
5361
  }
5250
5362
  /**
5251
5363
  * Checks the available fees for a token
@@ -5254,22 +5366,12 @@ var Clanker = class {
5254
5366
  * @returns Promise resolving to the transaction hash
5255
5367
  * @throws {Error} If wallet client or public client is not configured
5256
5368
  */
5257
- async availableFees(feeOwnerAddress, tokenAddress) {
5369
+ async availableRewards(feeOwnerAddress, tokenAddress) {
5258
5370
  if (!this.publicClient) {
5259
5371
  throw new Error("Public client required for checking available fees");
5260
5372
  }
5261
5373
  return availableFees(this.publicClient, feeOwnerAddress, tokenAddress);
5262
5374
  }
5263
- /**
5264
- * Builds V4 token deployment data without actually deploying
5265
- * @param cfg - Token configuration for V4 deployment
5266
- * @returns Object containing transaction data, target address, and network info
5267
- */
5268
- buildV4(cfg) {
5269
- const chainId = this.publicClient?.chain?.id || 8453;
5270
- const result = buildTokenV4(cfg, chainId);
5271
- return result;
5272
- }
5273
5375
  /**
5274
5376
  * Generates a vanity address for a V4 token deployment
5275
5377
  * @param cfg - Token configuration for V4 deployment
@@ -5286,45 +5388,29 @@ var Clanker = class {
5286
5388
  * @returns Promise resolving to the address of the deployed token
5287
5389
  * @throws {Error} If wallet client or public client is not configured
5288
5390
  */
5289
- async simulateDeployTokenV4(cfg, account) {
5391
+ async simulateDeployToken(cfg, account) {
5290
5392
  const acc = account || this.wallet?.account;
5291
- if (!acc) {
5292
- throw new Error("Account or wallet client required for simulation");
5293
- }
5294
- if (!this.publicClient) {
5295
- throw new Error("Public client required for deployment");
5296
- }
5393
+ if (!acc) throw new Error("Account or wallet client required for simulation");
5394
+ if (!this.publicClient) throw new Error("Public client required for deployment");
5297
5395
  return simulateDeploy(cfg, acc, this.publicClient);
5298
5396
  }
5299
5397
  /**
5300
- * Deploys a token using the V4 protocol
5301
- * @param cfg - Token configuration for V4 deployment or pre-built deployment data
5302
- * @returns Promise resolving to the address of the deployed token
5303
- * @throws {Error} If wallet client or public client is not configured
5304
- */
5305
- async deployTokenV4(cfg) {
5306
- if (!this.wallet) {
5307
- throw new Error("Wallet client required for deployment");
5308
- }
5309
- if (!this.publicClient) {
5310
- throw new Error("Public client required for deployment");
5311
- }
5312
- return deployTokenV4(cfg, this.wallet, this.publicClient);
5313
- }
5314
- /**
5315
- * Deploys a token using the V3 protocol
5398
+ * Deploys a token
5316
5399
  * @param cfg - Token configuration for V3 deployment
5317
5400
  * @returns Promise resolving to the address of the deployed token
5318
5401
  * @throws {Error} If wallet client or public client is not configured
5319
5402
  */
5320
5403
  async deployToken(cfg) {
5321
- if (!this.wallet) {
5322
- throw new Error("Wallet client required for deployment");
5323
- }
5324
- if (!this.publicClient) {
5325
- throw new Error("Public client required for deployment");
5404
+ if (!this.wallet) throw new Error("Wallet client required for deployment");
5405
+ if (!this.publicClient) throw new Error("Public client required for deployment");
5406
+ switch (cfg.type) {
5407
+ case "v4":
5408
+ return deployTokenV4(cfg, this.wallet, this.publicClient);
5409
+ case "v3":
5410
+ return deployTokenV3(cfg, this.wallet, this.publicClient);
5411
+ default:
5412
+ throw new Error("Invalid config type");
5326
5413
  }
5327
- return deployTokenV3(cfg, this.wallet, this.publicClient);
5328
5414
  }
5329
5415
  };
5330
5416
 
@@ -5713,12 +5799,12 @@ RPC_URL=your_custom_rpc_url (if not provided, will use default Base RPC)
5713
5799
  try {
5714
5800
  const transport = RPC_URL ? http(RPC_URL) : http();
5715
5801
  const publicClient = createPublicClient({
5716
- chain: base3,
5802
+ chain: base4,
5717
5803
  transport
5718
5804
  });
5719
5805
  const walletClient = createWalletClient({
5720
5806
  account,
5721
- chain: base3,
5807
+ chain: base4,
5722
5808
  transport
5723
5809
  });
5724
5810
  const clanker = new Clanker({
@@ -5728,6 +5814,7 @@ RPC_URL=your_custom_rpc_url (if not provided, will use default Base RPC)
5728
5814
  console.log("\n\u{1F504} Preparing deployment configuration...");
5729
5815
  const quoteToken = answers.pairedTokenChoice === "WETH" ? WETH_ADDRESS2 : answers.pairedTokenChoice === "USDC" ? USDC_ADDRESS : answers.customPairedToken;
5730
5816
  const tokenConfig = {
5817
+ type: "v3",
5731
5818
  name: answers.name,
5732
5819
  symbol: answers.symbol,
5733
5820
  image: answers.image,
@@ -5751,8 +5838,7 @@ RPC_URL=your_custom_rpc_url (if not provided, will use default Base RPC)
5751
5838
  durationInDays: parseInt(answers.vaultConfig.durationInDays, 10)
5752
5839
  } : void 0,
5753
5840
  devBuy: answers.devBuy.ethAmount !== "0" ? {
5754
- ethAmount: Number(answers.devBuy.ethAmount),
5755
- maxSlippage: answers.devBuy.maxSlippage
5841
+ ethAmount: Number(answers.devBuy.ethAmount)
5756
5842
  } : void 0,
5757
5843
  rewardsConfig: {
5758
5844
  creatorReward: answers.rewardsConfig.creatorReward === "CUSTOM" ? Number(answers.rewardsConfig.customCreatorReward) : Number(answers.rewardsConfig.creatorReward),