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.
package/dist/index.js CHANGED
@@ -752,7 +752,7 @@ var FeeConfigs = /* @__PURE__ */ ((FeeConfigs2) => {
752
752
  return FeeConfigs2;
753
753
  })(FeeConfigs || {});
754
754
  var POOL_POSITIONS = {
755
- ["Standard" /* Standard */]: [
755
+ Standard: [
756
756
  {
757
757
  tickLower: -230400,
758
758
  // ~$27,000
@@ -762,7 +762,7 @@ var POOL_POSITIONS = {
762
762
  // All tokens in one LP position
763
763
  }
764
764
  ],
765
- ["Project" /* Project */]: [
765
+ Project: [
766
766
  {
767
767
  tickLower: -230400,
768
768
  // ~$27K
@@ -818,7 +818,7 @@ var FEE_CONFIGS = {
818
818
  resetTickFilter: 200,
819
819
  // 2% price movement
820
820
  feeControlNumerator: 5e8,
821
- // Constant for scaling variable fee component
821
+ // Constant for scaling variable fee component
822
822
  decayFilterBps: 7500
823
823
  // 75% decay after filter period
824
824
  }
@@ -2608,6 +2608,9 @@ var ClankerToken_v4_abi = [
2608
2608
  ];
2609
2609
  var ClankerToken_v4_bytecode = "0x6101806040523461008d57610024610015610147565b9695909594919493929361067a565b6040516131f7908161107e823960805181612383015260a05181612440015260c05181612354015260e051816123d2015261010051816123f801526101205181610c4c01526101405181610c7501526101605181818161072d0152818161131d0152611a750152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffd5b601f909101601f19168101906001600160401b038211908210176100c857604052565b610091565b604051906100dc6040836100a5565b565b81601f8201121561008d578051906001600160401b0382116100c85760405192610112601f8401601f1916602001856100a5565b8284526020838301011161008d57815f9260208093018386015e8301015290565b51906001600160a01b038216820361008d57565b6142b5803803806040519261015c82856100a5565b83398101916101008284031261008d5781516001600160401b03811161008d57836101889184016100de565b60208301519091906001600160401b03811161008d57846101aa9185016100de565b936040840151936101bd60608201610133565b60808201519094906001600160401b03811161008d57836101df9184016100de565b60a08301519094906001600160401b03811161008d57846102019185016100de565b60c08401519094906001600160401b03811161008d5760e0916102259186016100de565b930151919796959493929190565b90600182811c92168015610261575b602083101461024d57565b634e487b7160e01b5f52602260045260245ffd5b91607f1691610242565b601f8111610277575050565b60035f5260205f20906020601f840160051c830193106102b1575b601f0160051c01905b8181106102a6575050565b5f815560010161029b565b9091508190610292565b601f82116102c857505050565b5f5260205f20906020601f840160051c83019310610300575b601f0160051c01905b8181106102f5575050565b5f81556001016102ea565b90915081906102e1565b80519091906001600160401b0381116100c8576103338161032c600454610233565b60046102bb565b602092601f821160011461037357610363929382915f92610368575b50508160011b915f199060031b1c19161790565b600455565b015190505f8061034f565b60045f52601f198216937f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b915f5b8681106103d757508360019596106103bf575b505050811b01600455565b01515f1960f88460031b161c191690555f80806103b4565b919260206001819286850151815501940192016103a1565b80519091906001600160401b0381116100c85761041881610411600e54610233565b600e6102bb565b602092601f821160011461044c57610447929382915f926103685750508160011b915f199060031b1c19161790565b600e55565b600e5f52601f198216937fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd915f5b8681106104b05750836001959610610498575b505050811b01600e55565b01515f1960f88460031b161c191690555f808061048d565b9192602060018192868501518155019401920161047a565b80519091906001600160401b0381116100c8576104f1816104ea600c54610233565b600c6102bb565b602092601f821160011461052557610520929382915f926103685750508160011b915f199060031b1c19161790565b600c55565b600c5f52601f198216937fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7915f5b8681106105895750836001959610610571575b505050811b01600c55565b01515f1960f88460031b161c191690555f8080610566565b91926020600181928685015181550194019201610553565b80519091906001600160401b0381116100c8576105ca816105c3600d54610233565b600d6102bb565b602092601f82116001146105fe576105f9929382915f926103685750508160011b915f199060031b1c19161790565b600d55565b600d5f52601f198216937fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb5915f5b868110610662575083600195961061064a575b505050811b01600d55565b01515f1960f88460031b161c191690555f808061063f565b9192602060018192868501518155019401920161062c565b96959493929196604051906106906040836100a5565b60018252603160f81b6020830190815281519093906001600160401b0381116100c8576106c7816106c2600354610233565b61026b565b6020601f82116001146107a55793610778936107136107879b9a989461070b8561077d9a966107829d9a5f9161079a575b508160011b915f199060031b1c19161790565b60035561030a565b61071c816108e8565b61012052610729826109dd565b610140526020815191012060e052519020610100524660a05261074a610acf565b6080523060c052610160819052600b80546001600160a01b0319166001600160a01b03909216919091179055565b6103ef565b6104c8565b6105a1565b46146107905750565b6100dc903361083c565b90508501515f6106f8565b60035f52601f198216907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b915f5b81811061082457506107879b9a98946001856107829c9995610778999561077d9c98610713961061080c575b5050811b0160035561030a565b8601515f1960f88460031b161c191690555f806107ff565b9192602060018192868a0151815501940192016107d3565b91906001600160a01b03831680156108d5576002548281018091116108d0576002555f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9190a3600254926001600160d01b038085116108b957506100dc929350610bac565b630e58ae9360e11b5f52600485905260245260445ffd5b610b98565b63ec442f0560e01b5f525f60045260245ffd5b908151602081105f1461090357509061090090610b2d565b90565b6001600160401b0381116100c85761092781610920600554610233565b60056102bb565b602092601f821160011461095e57610956929382915f926103685750508160011b915f199060031b1c19161790565b60055560ff90565b60055f52601f198216937f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0915f5b8681106109c557508360019596106109ad575b505050811b0160055560ff90565b01515f1960f88460031b161c191690555f808061099f565b9192602060018192868501518155019401920161098c565b908151602081105f146109f557509061090090610b2d565b6001600160401b0381116100c857610a1981610a12600654610233565b60066102bb565b602092601f8211600114610a5057610a48929382915f926103685750508160011b915f199060031b1c19161790565b60065560ff90565b60065f52601f198216937ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f915f5b868110610ab75750836001959610610a9f575b505050811b0160065560ff90565b01515f1960f88460031b161c191690555f8080610a91565b91926020600181928685015181550194019201610a7e565b60e051610100516040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152610b2760c0826100a5565b51902090565b601f815111610b58576020815191015160208210610b49571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b634e487b7160e01b5f52601160045260245ffd5b90610bb681610cab565b9165ffffffffffff4311610c9357600a5480610c5d5750610bf0610be06100dc945f5b6001611021565b65ffffffffffff4316600a610f4b565b50506001600160a01b03168015610c45575b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7545f9182526040909120546001600160a01b039081169116610dda565b610c56610c5183610cab565b610cdc565b5050610c02565b92835f198101116108d057600a5f525f5160206142755f395f51905f52909301546100dc93610bf091610be0919060301c610bd9565b6306dfcc6560e41b5f5260306004524360245260445ffd5b6001600160d01b038111610cc5576001600160d01b031690565b6306dfcc6560e41b5f5260d060045260245260445ffd5b65ffffffffffff4311610c9357600a5480610d065750610be0610d02915f5b6002611021565b9091565b805f198101116108d057600a5f525f5160206142755f395f51905f520154610d0291610be09160301c610cfb565b65ffffffffffff4311610c9357805480610d685750610d58610d02925f6002611021565b9065ffffffffffff431690610f4b565b805f198101116108d0575f82815260209020015f190154610d0292610d589160301c610cfb565b65ffffffffffff4311610c9357805480610db35750610d58610d02925f6001611021565b805f198101116108d0575f82815260209020015f190154610d0292610d589160301c610bd9565b6001600160a01b03808316939291908116908185141580610ecd575b610e02575b5050505050565b81610e73575b505082610e17575b8080610dfb565b6001600160a01b03165f9081526009602052604090205f5160206142955f395f51905f5291610e5091610e4a9091610cab565b90610d8f565b604080516001600160d01b039384168152919092166020820152a25f8080610e10565b6001600160a01b03165f9081526009602052604090205f5160206142955f395f51905f5290610eab90610ea586610cab565b90610d34565b604080516001600160d01b039384168152919092166020820152a25f80610e08565b50831515610df6565b5f198101919082116108d057565b908154680100000000000000008110156100c85760018101808455811015610f37575f9283526020928390208251929093015160301b65ffffffffffff191665ffffffffffff9290921691909117910155565b634e487b7160e01b5f52603260045260245ffd5b80549293928015610ff757610f62610f6d91610ed6565b825f5260205f200190565b8054603081901c9365ffffffffffff91821692918116808411610fe857879303610fb45750610fb092509065ffffffffffff82549181199060301b169116179055565b9190565b915050610fb091610fd4610fc66100cd565b65ffffffffffff9093168352565b6001600160d01b0386166020830152610ee4565b632520601d60e01b5f5260045ffd5b509061101c91611008610fc66100cd565b6001600160d01b0385166020830152610ee4565b5f9190565b919091806001146110635760021461104757634e487b7160e01b5f52605160045260245ffd5b6001600160d01b03908116918116919091039081116108d05790565b506001600160d01b03918216908216019081116108d0579056fe60806040526004361015610011575f80fd5b5f3560e01c806301ffc9a71461028457806306fdde031461027f578063095ea7b31461027a57806318160ddd1461027557806318bf5077146102705780631c7b2ff41461026b57806323b872dd146102665780632b8c49e314610261578063313ce5671461025c5780633644e51514610257578063392f37e9146102525780633a46b1a81461024d57806342966c68146102485780634bf5d7e914610243578063587cde1e1461023e5780635c19a95c146102395780636fcfff451461023457806370a082311461022f57806379cc67901461022a5780637ecebe001461022557806380007e831461022057806384b0196e1461021b5780638e539e8c14610216578063918b5be11461021157806391ddadf41461020c57806395d89b41146102075780639ab24eb014610202578063a9059cbb146101fd578063aba83150146101f8578063b974b0a3146101f3578063c3cda520146101ee578063d0496d6a146101e9578063d505accf146101e4578063dd62ed3e146101df578063e2f273bd146101da578063eb3d68e7146101d5578063f1127ed8146101d0578063f851a440146101cb5763fc735e99146101c6575f80fd5b611a4e565b611a1b565b611945565b6117d1565b611730565b6116bd565b611522565b6114ff565b611391565b61128e565b61126b565b611245565b6111dd565b611138565b61110d565b610f60565b610d6b565b610c34565b610c12565b610bcd565b610b9d565b610b5b565b610ad3565b610ab1565b610a56565b6109ad565b61098e565b61088a565b61084c565b61082a565b61080f565b610789565b610751565b610701565b61054d565b610530565b6104ff565b6103c1565b34610366576020600319360112610366576004357fffffffff000000000000000000000000000000000000000000000000000000008116809103610366577f3333199400000000000000000000000000000000000000000000000000000000811490811561033c575b8115610312575b8115610309575b506040519015158152602090f35b9050155f6102fb565b7f01ffc9a700000000000000000000000000000000000000000000000000000000811491506102f4565b7f36372b0700000000000000000000000000000000000000000000000000000000811491506102ed565b5f80fd5b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f602080948051918291828752018686015e5f8582860101520116010190565b9060206103be92818152019061036a565b90565b34610366575f600319360112610366576040515f6003546103e181611b73565b80845290600181169081156104775750600114610419575b6104158361040981850382610e78565b604051918291826103ad565b0390f35b60035f9081527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b939250905b80821061045d575090915081016020016104096103f9565b919260018160209254838588010152019101909291610445565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b8401909101915061040990506103f9565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361036657565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361036657565b346103665760406003193601126103665761052561051b6104b9565b602435903361260a565b602060405160018152f35b34610366575f600319360112610366576020600254604051908152f35b34610366576040600319360112610366576105666104b9565b6024359073420000000000000000000000000000000000002833036106d95773ffffffffffffffffffffffffffffffffffffffff81169081156106ad576105b76105b2846002546124d4565b600255565b6105de8173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b838154019055815f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6040518061061a88829190602083019252565b0390a360025479ffffffffffffffffffffffffffffffffffffffffffffffffffff9081811161067f5750508261064f91612eff565b60405191825233917fde22baff038e3a3e08407cbdf617deed74e869a7ba517df611e33131c6e6ea0490602090a3005b7f1cb15d26000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f82b42900000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610366575f60031936011261036657602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346103665760606003193601126103665761052561076d6104b9565b6107756104dc565b60443591610784833383611edf565b612044565b34610366576040600319360112610366576107a26104b9565b60243573420000000000000000000000000000000000002833036106d9576107ca81836121b7565b6040519081527fb90795a66650155983e242cac3e1ac1a4dc26f8ed2987f3ce416a34e00111fd4602073ffffffffffffffffffffffffffffffffffffffff33941692a3005b34610366575f60031936011261036657602060405160128152f35b34610366575f60031936011261036657602061084461233d565b604051908152f35b34610366575f600319360112610366576104156040516108768161086f81611bc4565b0382610e78565b60405191829160208352602083019061036a565b34610366576040600319360112610366576108a36104b9565b73ffffffffffffffffffffffffffffffffffffffff60243591165f5260096020526108d160405f2091612466565b8154905f829160058411610936575b6108eb93508461289b565b908161091b57505060205f5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff60405191168152f35b6109266020926124b8565b905f52815f20015460301c6108f7565b919261094181612726565b8103908111610989576108eb93855f5265ffffffffffff8260205f2001541665ffffffffffff8516105f146109775750916108e0565b929150610983906124c6565b906108e0565b611b46565b34610366576020600319360112610366576109ab600435336121b7565b005b34610366575f600319360112610366576109c6436126a7565b65ffffffffffff806109d7436126a7565b16911603610a2e576104156040516109f0604082610e78565b601d81527f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000602082015260405191829160208352602083019061036a565b7f6ff07140000000000000000000000000000000000000000000000000000000005f5260045ffd5b346103665760206003193601126103665773ffffffffffffffffffffffffffffffffffffffff610a846104b9565b165f526008602052602073ffffffffffffffffffffffffffffffffffffffff60405f205416604051908152f35b34610366576020600319360112610366576109ab610acd6104b9565b336124e1565b346103665760206003193601126103665773ffffffffffffffffffffffffffffffffffffffff610b016104b9565b165f52600960205260405f205463ffffffff8111610b2b5760405163ffffffff9091168152602090f35b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52602060045260245260445ffd5b34610366576020600319360112610366576020610844610b796104b9565b73ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b34610366576040600319360112610366576109ab610bb96104b9565b60243590610bc8823383611edf565b6121b7565b346103665760206003193601126103665773ffffffffffffffffffffffffffffffffffffffff610bfb6104b9565b165f526007602052602060405f2054604051908152f35b34610366575f60031936011261036657602060ff600f54166040519015158152f35b34610366575f60031936011261036657610d12610c707f0000000000000000000000000000000000000000000000000000000000000000612a86565b610c997f0000000000000000000000000000000000000000000000000000000000000000612af8565b6020604051610ca88282610e78565b5f815281610d20818301947fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe083013687376040519788977f0f00000000000000000000000000000000000000000000000000000000000000895260e0858a015260e089019061036a565b90878203604089015261036a565b914660608701523060808701525f60a087015285830360c087015251918281520192915f5b828110610d5457505050500390f35b835185528695509381019392810192600101610d45565b3461036657602060031936011261036657610d87600435612466565b600a54905f829160058411610dd6575b610da39350600a61289b565b80610db457506040515f8152602090f35b610dd1610dc26020926124b8565b600a5f52825f20015460301c90565b6108f7565b9192610de181612726565b810390811161098957610da393600a5f5265ffffffffffff8260205f2001541665ffffffffffff8516105f14610e18575091610d97565b929150610e24906124c6565b90610d97565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff821117610e7357604052565b610e2a565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610e7357604052565b60405190610ec8604083610e78565b565b60206003198201126103665760043567ffffffffffffffff811161036657816023820112156103665780600401359067ffffffffffffffff8211610e735760405192610f3e601f84017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200185610e78565b8284526024838301011161036657815f92602460209301838601378301015290565b3461036657610f6e36610eca565b73ffffffffffffffffffffffffffffffffffffffff600b541633036110e557805167ffffffffffffffff8111610e7357610fb281610fad600c54611b73565b611e27565b6020601f8211600114611022579161100382611012937ff26c33166d6eefdac067b052550e7713b98ff0ffc4abb3caf719a1de36b651f4955f91611017575b505f198260011b9260031b1c19161790565b600c55604051918291826103ad565b0390a1005b90508301515f610ff1565b600c5f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216907fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7915f5b8181106110cd5750927ff26c33166d6eefdac067b052550e7713b98ff0ffc4abb3caf719a1de36b651f494926001928261101296106110b5575b5050811b01600c55610409565b8401515f1960f88460031b161c191690555f806110a8565b9192602060018192868901518155019401920161106e565b7f7bfa4b9f000000000000000000000000000000000000000000000000000000005f5260045ffd5b34610366575f600319360112610366576020611128436126a7565b65ffffffffffff60405191168152f35b34610366575f600319360112610366576040515f60045461115881611b73565b8084529060018116908115610477575060011461117f576104158361040981850382610e78565b60045f9081527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b939250905b8082106111c3575090915081016020016104096103f9565b9192600181602092548385880101520191019092916111ab565b346103665760206003193601126103665773ffffffffffffffffffffffffffffffffffffffff61120b6104b9565b165f526009602052602079ffffffffffffffffffffffffffffffffffffffffffffffffffff61123c60405f20612591565b16604051908152f35b34610366576040600319360112610366576105256112616104b9565b6024359033612044565b34610366575f600319360112610366576104156040516108768161086f81611c81565b34610366575f6003193601126103665773ffffffffffffffffffffffffffffffffffffffff600b5416604051906112cf826112c881611c81565b0383610e78565b6104156040516112e28161086f81611bc4565b611363604051916112fd836112f681611d04565b0384610e78565b61135560405196879673ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168852602088015260a0604088015260a087019061036a565b90858203606087015261036a565b90838203608085015261036a565b6064359060ff8216820361036657565b6084359060ff8216820361036657565b346103665760c0600319360112610366576113aa6104b9565b602435906044356113b9611371565b6084359060a435928042116114d4579161144c939161143e6114439460405160208101917fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf835273ffffffffffffffffffffffffffffffffffffffff8a1660408301528a606083015260808201526080815261143660a082610e78565b5190206125ba565b612b2f565b90929192612c00565b61147d8173ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b80930361148e576109ab92506124e1565b73ffffffffffffffffffffffffffffffffffffffff91507f752d88c0000000000000000000000000000000000000000000000000000000005f521660045260245260445ffd5b7f4683af0e000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b34610366575f600319360112610366576104156040516108768161086f81611d04565b346103665760e06003193601126103665761153b6104b9565b6115436104dc565b6044359060643592611553611381565b60a43560c43590864211611691576116239261161e6115998673ffffffffffffffffffffffffffffffffffffffff165f52600760205260405f2080549060018201905590565b9860405160208101917f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9835273ffffffffffffffffffffffffffffffffffffffff89169b8c604084015273ffffffffffffffffffffffffffffffffffffffff8b1660608401528b608084015260a083015260c082015260c0815261143660e082610e78565b6125fb565b9373ffffffffffffffffffffffffffffffffffffffff85160361164a576109ab935061260a565b7f4b800e46000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff8085166004521660245260445ffd5b867f62791302000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b346103665760406003193601126103665760206117276116db6104b9565b73ffffffffffffffffffffffffffffffffffffffff6116f86104dc565b91165f526001835260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b54604051908152f35b34610366576020600319360112610366576117496104b9565b600b5473ffffffffffffffffffffffffffffffffffffffff8116908133036110e55773ffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff000000000000000000000000000000000000000093169283911617600b557fcd6ba6b7da89e039d53b5d981527a893755342bb9d8e5c2f61f6638f1fb5192b5f80a3005b34610366576117df36610eca565b73ffffffffffffffffffffffffffffffffffffffff600b541633036110e557805167ffffffffffffffff8111610e73576118238161181e600e54611b73565b611e77565b6020601f8211600114611882579161187382611012937fa27234ca678ebcb3cd33e8325c5563cd8d9ff626cc44a58b6ea2bf4b55524216955f9161101757505f198260011b9260031b1c19161790565b600e55604051918291826103ad565b600e5f527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08216907fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd915f5b81811061192d5750927fa27234ca678ebcb3cd33e8325c5563cd8d9ff626cc44a58b6ea2bf4b555242169492600192826110129610611915575b5050811b01600e55610409565b8401515f1960f88460031b161c191690555f80611908565b919260206001819286890151815501940192016118ce565b346103665760406003193601126103665761195e6104b9565b6024359063ffffffff82168203610366576104159173ffffffffffffffffffffffffffffffffffffffff6119b892611994611ec7565b5061199d611ec7565b50165f52600960205260405f206119b2611ec7565b50612cc7565b50604051906119c682610e57565b5465ffffffffffff8116825260301c602082015260405191829182919091602079ffffffffffffffffffffffffffffffffffffffffffffffffffff81604084019565ffffffffffff8151168552015116910152565b34610366575f60031936011261036657602073ffffffffffffffffffffffffffffffffffffffff600b5416604051908152f35b34610366575f6003193601126103665773ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163303611b1e57600f5460ff8116611af6577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117600f5530337f78a953f3f0d92abc078a34e5d4fedf8708e788e1b29300b3d6170e97f88a13fc5f80a3005b7f118fd7b8000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fce7123f5000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90600182811c92168015611bba575b6020831014611b8d57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611b82565b600c545f9291611bd382611b73565b8082529160018116908115611c475750600114611bee575050565b600c5f9081529293509091907fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c75b838310611c2d575060209250010190565b600181602092949394548385870101520191019190611c1c565b60209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b600e545f9291611c9082611b73565b8082529160018116908115611c475750600114611cab575050565b600e5f9081529293509091907fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd5b838310611cea575060209250010190565b600181602092949394548385870101520191019190611cd9565b600d545f9291611d1382611b73565b8082529160018116908115611c475750600114611d2e575050565b600d5f9081529293509091907fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb55b838310611d6d575060209250010190565b600181602092949394548385870101520191019190611d5c565b5f9291815491611d9683611b73565b8083529260018116908115611deb5750600114611db257505050565b5f9081526020812093945091925b838310611dd1575060209250010190565b600181602092949394548385870101520191019190611dc0565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b601f8111611e33575050565b600c5f5260205f20906020601f840160051c83019310611e6d575b601f0160051c01905b818110611e62575050565b5f8155600101611e57565b9091508190611e4e565b601f8111611e83575050565b600e5f5260205f20906020601f840160051c83019310611ebd575b601f0160051c01905b818110611eb2575050565b5f8155600101611ea7565b9091508190611e9e565b60405190611ed482610e57565b5f6020838281520152565b73ffffffffffffffffffffffffffffffffffffffff909291921690815f526001602052611f2d8360405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b545f198110611f3d575b50505050565b818110611ffc578215611fd05773ffffffffffffffffffffffffffffffffffffffff841615611fa457611f9a925f526001602052039160405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b555f808080611f37565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff847ffb8f41b2000000000000000000000000000000000000000000000000000000005f521660045260245260445260645ffd5b92919073ffffffffffffffffffffffffffffffffffffffff841693841561218b5773ffffffffffffffffffffffffffffffffffffffff821680156106ad576120a98273ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b549584871061213f5784610ec89697036120e08473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b556121088473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b8054860190556040518581527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602090a3612f92565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff83166004526024879052604485905260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff811690811561218b576121fc8173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b548381106122f2579061223484610ec8959493039173ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f2090565b5581600254036002555f817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405180602081018782520390a380156122da575b61228661228183612d09565b612e9e565b50505f908152600860205260408120549080527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c75473ffffffffffffffffffffffffffffffffffffffff90811691166128ff565b6122eb6122e683612d09565b612e3d565b5050612275565b7fe450d38c000000000000000000000000000000000000000000000000000000005f5273ffffffffffffffffffffffffffffffffffffffff909116600452602452604482905260645ffd5b73ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001630148061243d575b156123a5577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815261243760c082610e78565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461237c565b65ffffffffffff612476436126a7565b168082101561248957506103be906126a7565b907fecd3f81e000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b905f19820191821161098957565b906001820180921161098957565b9190820180921161098957565b73ffffffffffffffffffffffffffffffffffffffff8181165f81815260086020526040812080548685167fffffffffffffffffffffffff000000000000000000000000000000000000000082168117909255610ec89694169461258b9390928691907f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9080a473ffffffffffffffffffffffffffffffffffffffff165f525f60205260405f205490565b916128ff565b80548061259e5750505f90565b805f19810111610989575f19915f5260205f2001015460301c90565b6042906125c561233d565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b916103be939161144393612b2f565b73ffffffffffffffffffffffffffffffffffffffff16908115611fd05773ffffffffffffffffffffffffffffffffffffffff8116928315611fa4578061269a7f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92593855f52600160205260405f209073ffffffffffffffffffffffffffffffffffffffff165f5260205260405f2090565b55604051908152602090a3565b65ffffffffffff81116126bf5765ffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f52603060045260245260445ffd5b81156126f9570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b60018111156103be57806001700100000000000000000000000000000000831015612859575b6127ff6127f56127eb6127e16127d76127cd6127bc6128069760048a6801000000000000000061280b9c101561284c575b64010000000081101561283f575b62010000811015612832575b610100811015612825575b6010811015612818575b1015612810575b60030260011c90565b6127c6818b6126ef565b0160011c90565b6127c6818a6126ef565b6127c681896126ef565b6127c681886126ef565b6127c681876126ef565b6127c681866126ef565b80936126ef565b821190565b900390565b60011b6127b3565b60041c9160021b916127ac565b60081c9160041b916127a2565b60101c9160081b91612797565b60201c9160101b9161278b565b60401c9160201b9161277d565b505061280b6128066127ff6127f56127eb6127e16127d76127cd6127bc6128808a60801c90565b985068010000000000000000975061274c9650505050505050565b91905b8382106128ab5750505090565b9091928083169080841860011c820180921161098957845f5265ffffffffffff8260205f2001541665ffffffffffff8416105f146128ed5750925b919061289e565b9392506128f9906124c6565b916128e6565b919073ffffffffffffffffffffffffffffffffffffffff81169273ffffffffffffffffffffffffffffffffffffffff8116908482141580612a7d575b612947575b5050505050565b816129fa575b50508261295c575b8080612940565b6129ef6129d67fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724936129d06129ca79ffffffffffffffffffffffffffffffffffffffffffffffffffff9573ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b91612d09565b90612ddd565b6040805192851683529316602082015291829190820190565b0390a25f8080612955565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff612a736129d6612a647fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7249473ffffffffffffffffffffffffffffffffffffffff165f52600960205260405f2090565b612a6d88612d09565b90612d79565b0390a25f8061294d565b5083151561293b565b60ff8114612ae55760ff811690601f8211612abd5760405191612aaa604084610e78565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040516103be8161086f816005611d87565b60ff8114612b1c5760ff811690601f8211612abd5760405191612aaa604084610e78565b506040516103be8161086f816006611d87565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612bbe579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa15612bb3575f5173ffffffffffffffffffffffffffffffffffffffff811615612ba957905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b60041115612bd357565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b612c0981612bc9565b80612c12575050565b612c1b81612bc9565b60018103612c4b577ff645eedf000000000000000000000000000000000000000000000000000000005f5260045ffd5b612c5481612bc9565b60028103612c8857507ffce698f7000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b80612c94600392612bc9565b14612c9c5750565b7fd78bce0c000000000000000000000000000000000000000000000000000000005f5260045260245ffd5b8054821015612cdc575f5260205f2001905f90565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b79ffffffffffffffffffffffffffffffffffffffffffffffffffff8111612d495779ffffffffffffffffffffffffffffffffffffffffffffffffffff1690565b7f6dfcc650000000000000000000000000000000000000000000000000000000005f5260d060045260245260445ffd5b90612d83436126a7565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612da985612591565b92169116039079ffffffffffffffffffffffffffffffffffffffffffffffffffff821161098957612dd9926130c4565b9091565b90612de7436126a7565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612e0d85612591565b92169116019079ffffffffffffffffffffffffffffffffffffffffffffffffffff821161098957612dd9926130c4565b612e46436126a7565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612e6d600a612591565b921691160179ffffffffffffffffffffffffffffffffffffffffffffffffffff811161098957612dd991600a6130c4565b612ea7436126a7565b9079ffffffffffffffffffffffffffffffffffffffffffffffffffff80612ece600a612591565b921691160379ffffffffffffffffffffffffffffffffffffffffffffffffffff811161098957612dd991600a6130c4565b9073ffffffffffffffffffffffffffffffffffffffff610ec892612f256122e684612d09565b5050168015612f7f575b60086020527f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7545f91825260409091205473ffffffffffffffffffffffffffffffffffffffff90811691166128ff565b612f8b61228183612d09565b5050612f2f565b9073ffffffffffffffffffffffffffffffffffffffff80610ec894931691821561301e575b1690811561300b575b5f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f205416905f52600860205273ffffffffffffffffffffffffffffffffffffffff60405f205416906128ff565b61301761228184612d09565b5050612fc0565b61302a6122e685612d09565b5050612fb7565b805468010000000000000000811015610e735761305391600182018155612cc7565b6130985781516020929092015160301b7fffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000001665ffffffffffff92909216919091179055565b7f4e487b71000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b805492939280156131ba576130db6130e6916124b8565b825f5260205f200190565b8054603081901c9365ffffffffffff918216929181168084116131925787930361314b575061314792509065ffffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000083549260301b169116179055565b9190565b9150506131479161316b61315d610eb9565b65ffffffffffff9093168352565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff86166020830152613031565b7f2520601d000000000000000000000000000000000000000000000000000000005f5260045ffd5b50906131f2916131cb61315d610eb9565b79ffffffffffffffffffffffffffffffffffffffffffffffffffff85166020830152613031565b5f919056c65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a7dec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724";
2610
2610
 
2611
+ // src/utils/clankers.ts
2612
+ import { base as base2, baseSepolia as baseSepolia2 } from "viem/chains";
2613
+
2611
2614
  // src/abi/v0/Clanker.ts
2612
2615
  var Clanker_v0_abi = [
2613
2616
  {
@@ -4326,38 +4329,89 @@ var Clanker_v4_abi = [
4326
4329
  // src/utils/clankers.ts
4327
4330
  var CLANKERS = {
4328
4331
  clanker_v0: {
4329
- // @note - this is a same as `proxy` in legacy uses
4330
4332
  abi: Clanker_v0_abi,
4333
+ chainId: base2.id,
4331
4334
  type: "proxy",
4332
- address: "0x250c9FB2b411B48273f69879007803790A6AeA47"
4335
+ address: "0x250c9FB2b411B48273f69879007803790A6AeA47",
4336
+ related: void 0
4333
4337
  },
4334
4338
  clanker_v1: {
4335
- // @note - this is a same as `clanker` in legacy uses
4336
4339
  abi: Clanker_v1_abi,
4340
+ chainId: base2.id,
4337
4341
  type: "clanker",
4338
- address: "0x9B84fcE5Dcd9a38d2D01d5D72373F6b6b067c3e1"
4342
+ address: "0x9B84fcE5Dcd9a38d2D01d5D72373F6b6b067c3e1",
4343
+ related: void 0
4339
4344
  },
4340
4345
  clanker_v2: {
4341
4346
  abi: Clanker_v2_abi,
4347
+ chainId: base2.id,
4342
4348
  type: "clanker_v2",
4343
- address: "0x732560fa1d1A76350b1A500155BA978031B53833"
4349
+ address: "0x732560fa1d1A76350b1A500155BA978031B53833",
4350
+ related: {
4351
+ locker: "0x618A9840691334eE8d24445a4AdA4284Bf42417D"
4352
+ }
4344
4353
  },
4345
4354
  clanker_v3: {
4346
4355
  abi: Clanker_v3_abi,
4356
+ chainId: base2.id,
4347
4357
  type: "clanker_v3",
4348
- address: "0x375C15db32D28cEcdcAB5C03Ab889bf15cbD2c5E"
4358
+ address: "0x375C15db32D28cEcdcAB5C03Ab889bf15cbD2c5E",
4359
+ related: {
4360
+ locker: "0x5eC4f99F342038c67a312a166Ff56e6D70383D86"
4361
+ }
4349
4362
  },
4350
4363
  clanker_v3_1: {
4351
4364
  abi: Clanker_v3_1_abi,
4365
+ chainId: base2.id,
4352
4366
  type: "clanker_v3_1",
4353
- address: "0x2A787b2362021cC3eEa3C24C4748a6cD5B687382"
4367
+ address: "0x2A787b2362021cC3eEa3C24C4748a6cD5B687382",
4368
+ related: {
4369
+ locker: "0x33e2Eda238edcF470309b8c6D228986A1204c8f9",
4370
+ vault: "0x42A95190B4088C88Dd904d930c79deC1158bF09D"
4371
+ }
4354
4372
  },
4355
4373
  clanker_v4: {
4356
4374
  abi: Clanker_v4_abi,
4375
+ chainId: base2.id,
4376
+ type: "clanker_v4",
4377
+ address: "0xE85A59c628F7d27878ACeB4bf3b35733630083a9",
4378
+ related: {
4379
+ locker: "0x29d17C1A8D851d7d4cA97FAe97AcAdb398D9cCE0",
4380
+ vault: "0x8E845EAd15737bF71904A30BdDD3aEE76d6ADF6C",
4381
+ airdrop: "0x56Fa0Da89eD94822e46734e736d34Cab72dF344F",
4382
+ devbuy: "0x1331f0788F9c08C8F38D52c7a1152250A9dE00be",
4383
+ mevModule: "0xE143f9872A33c955F23cF442BB4B1EFB3A7402A2",
4384
+ feeLocker: "0xF3622742b1E446D92e45E22923Ef11C2fcD55D68",
4385
+ feeStaticHook: "0xDd5EeaFf7BD481AD55Db083062b13a3cdf0A68CC",
4386
+ feeDynamicHook: "0x34a45c6B61876d739400Bd71228CbcbD4F53E8cC"
4387
+ }
4388
+ },
4389
+ clanker_v4_sepolia: {
4390
+ abi: Clanker_v4_abi,
4391
+ chainId: baseSepolia2.id,
4357
4392
  type: "clanker_v4",
4358
- address: "0xE85A59c628F7d27878ACeB4bf3b35733630083a9"
4393
+ address: "0xE85A59c628F7d27878ACeB4bf3b35733630083a9",
4394
+ related: {
4395
+ locker: "0x33e2Eda238edcF470309b8c6D228986A1204c8f9",
4396
+ vault: "0xcC80d1226F899a78fC2E459a1500A13C373CE0A5",
4397
+ airdrop: "0x29d17C1A8D851d7d4cA97FAe97AcAdb398D9cCE0",
4398
+ devbuy: "0x691f97752E91feAcD7933F32a1FEdCeDae7bB59c",
4399
+ mevModule: "0x71DB365E93e170ba3B053339A917c11024e7a9d4",
4400
+ feeLocker: "0x42A95190B4088C88Dd904d930c79deC1158bF09D",
4401
+ feeStaticHook: "0x3eC2a26b6eF16c288561692AE8D9681fa773A8cc",
4402
+ feeDynamicHook: "0xE63b0A59100698f379F9B577441A561bAF9828cc"
4403
+ }
4359
4404
  }
4360
4405
  };
4406
+ var Chains = [...new Set(Object.values(CLANKERS).map(({ chainId }) => chainId))];
4407
+ var ClankerDeployments = Object.values(CLANKERS).reduce(
4408
+ (agg, cur) => {
4409
+ if (!agg[cur.chainId]) agg[cur.chainId] = {};
4410
+ agg[cur.chainId][cur.type] = cur;
4411
+ return agg;
4412
+ },
4413
+ {}
4414
+ );
4361
4415
 
4362
4416
  // src/services/vanityAddress.ts
4363
4417
  var findVanityAddress = async (args, admin, suffix = "0x4b07", options) => {
@@ -4680,7 +4734,7 @@ import {
4680
4734
  parseEventLogs as parseEventLogs2
4681
4735
  } from "viem";
4682
4736
  import { call } from "viem/actions";
4683
- import { base as base2 } from "viem/chains";
4737
+ import { base as base3 } from "viem/chains";
4684
4738
 
4685
4739
  // src/types/fee.ts
4686
4740
  import { encodeAbiParameters } from "viem";
@@ -4849,6 +4903,7 @@ function buildTokenV4(cfg, chainId, salt) {
4849
4903
  args: [deploymentConfig]
4850
4904
  });
4851
4905
  return {
4906
+ type: "v4",
4852
4907
  transaction: {
4853
4908
  to: CLANKER_FACTORY_V4,
4854
4909
  data: deployCalldata,
@@ -4884,7 +4939,7 @@ async function withVanityAddress(cfg, chainId) {
4884
4939
  };
4885
4940
  }
4886
4941
  async function simulateDeploy(cfg, account, publicClient) {
4887
- const chain = publicClient.chain || base2;
4942
+ const chain = publicClient.chain || base3;
4888
4943
  const { transaction } = "transaction" in cfg ? cfg : buildTokenV4(cfg, chain.id);
4889
4944
  try {
4890
4945
  const { data } = await call(publicClient, {
@@ -4953,13 +5008,15 @@ async function deployTokenV4(cfg, wallet, publicClient) {
4953
5008
  return log.args.tokenAddress;
4954
5009
  }
4955
5010
 
4956
- // src/abi/ClankerFeeLocker.ts
5011
+ // src/abi/v4/ClankerFeeLocker.ts
4957
5012
  var ClankerFeeLocker_abi = [
4958
5013
  {
4959
5014
  inputs: [{ internalType: "address", name: "owner_", type: "address" }],
4960
5015
  stateMutability: "nonpayable",
4961
5016
  type: "constructor"
4962
5017
  },
5018
+ { inputs: [], name: "ClaimAmountTooHigh", type: "error" },
5019
+ { inputs: [], name: "InvalidRecipient", type: "error" },
4963
5020
  { inputs: [], name: "NoFeesToClaim", type: "error" },
4964
5021
  {
4965
5022
  inputs: [{ internalType: "address", name: "owner", type: "address" }],
@@ -4977,6 +5034,7 @@ var ClankerFeeLocker_abi = [
4977
5034
  name: "SafeERC20FailedOperation",
4978
5035
  type: "error"
4979
5036
  },
5037
+ { inputs: [], name: "TransferFailed", type: "error" },
4980
5038
  { inputs: [], name: "Unauthorized", type: "error" },
4981
5039
  {
4982
5040
  anonymous: false,
@@ -5122,31 +5180,93 @@ var availableFees = async (publicClient, feeOwnerAddress, tokenAddress) => {
5122
5180
  return availableFees2;
5123
5181
  };
5124
5182
 
5125
- // src/fees/claim.ts
5126
- import { encodeFunctionData as encodeFunctionData3 } from "viem";
5127
- var claimRewards = (feeOwnerAddress, tokenAddress) => {
5128
- const claimRewardsCalldata = encodeFunctionData3({
5129
- abi: ClankerFeeLocker_abi,
5130
- functionName: "claim",
5131
- args: [feeOwnerAddress, tokenAddress]
5132
- });
5133
- return {
5134
- transaction: {
5135
- to: CLANKER_FEE_LOCKER_V4,
5136
- data: claimRewardsCalldata
5183
+ // src/utils/write-clanker-contracts.ts
5184
+ import { simulateContract, writeContract } from "viem/actions";
5185
+
5186
+ // src/utils/errors.ts
5187
+ import { BaseError, ContractFunctionRevertedError, InsufficientFundsError } from "viem";
5188
+ var ClankerError = class _ClankerError extends Error {
5189
+ constructor(error, data) {
5190
+ super(data.label);
5191
+ this.error = error;
5192
+ this.data = data;
5193
+ }
5194
+ static unknown(e, name) {
5195
+ return new _ClankerError(e, {
5196
+ type: "unknown",
5197
+ label: "Something went wrong",
5198
+ rawName: name || "unknown"
5199
+ });
5200
+ }
5201
+ };
5202
+ var ErrorMapping = {
5203
+ NoFeesToClaim: {
5204
+ type: "state",
5205
+ label: "No fees to claim",
5206
+ rawName: "NoFeesToClaim"
5207
+ }
5208
+ };
5209
+ var understandError = (e) => {
5210
+ if (!(e instanceof Error)) return ClankerError.unknown(new Error(`${e}`));
5211
+ if (!(e instanceof BaseError)) return ClankerError.unknown(e);
5212
+ const revertError = e.walk((e2) => e2 instanceof ContractFunctionRevertedError);
5213
+ if (revertError instanceof ContractFunctionRevertedError) {
5214
+ const errorName = revertError.data?.errorName ?? "";
5215
+ const mapping = ErrorMapping[errorName];
5216
+ if (!mapping) return ClankerError.unknown(e, errorName);
5217
+ return new ClankerError(e, mapping);
5218
+ }
5219
+ const fundsError = e.walk((e2) => e2 instanceof InsufficientFundsError);
5220
+ if (fundsError instanceof InsufficientFundsError) {
5221
+ return new ClankerError(fundsError, {
5222
+ type: "caller",
5223
+ label: "Insufficient funds.",
5224
+ rawName: "InsufficientFundsError"
5225
+ });
5226
+ }
5227
+ return ClankerError.unknown(e);
5228
+ };
5229
+
5230
+ // src/utils/write-clanker-contracts.ts
5231
+ var writeClankerContract = async (client, wallet, tx, options) => {
5232
+ if (options?.simulate) {
5233
+ try {
5234
+ await simulateContract(client, tx);
5235
+ } catch (e) {
5236
+ return { txHash: void 0, error: understandError(e) };
5137
5237
  }
5138
- };
5238
+ }
5239
+ try {
5240
+ const txHash = await writeContract(wallet, tx);
5241
+ return { txHash, error: void 0 };
5242
+ } catch (e) {
5243
+ return { txHash: void 0, error: understandError(e) };
5244
+ }
5139
5245
  };
5140
5246
 
5247
+ // src/fees/claim.ts
5248
+ var claimRewards = async (client, wallet, feeOwnerAddress, tokenAddress, options) => {
5249
+ return writeClankerContract(
5250
+ client,
5251
+ wallet,
5252
+ {
5253
+ address: CLANKER_FEE_LOCKER_V4,
5254
+ abi: ClankerFeeLocker_abi,
5255
+ functionName: "claim",
5256
+ args: [feeOwnerAddress, tokenAddress]
5257
+ },
5258
+ options
5259
+ );
5260
+ };
5261
+
5262
+ // src/config/builders.ts
5263
+ import { isAddressEqual, zeroAddress } from "viem";
5264
+
5141
5265
  // src/utils/validation-schema.ts
5142
5266
  import { isAddress as isAddress2, isHex } from "viem";
5143
5267
  import { z } from "zod";
5144
5268
  var isHexRefinement = (val) => isHex(val);
5145
5269
  var isAddressRefinement = (val) => isAddress2(val);
5146
- var clankerConfigSchema = z.object({
5147
- publicClient: z.any().optional(),
5148
- wallet: z.any().optional()
5149
- });
5150
5270
  var tokenConfigSchema = z.object({
5151
5271
  name: z.string().min(1, "Name is required"),
5152
5272
  symbol: z.string().min(1, "Symbol is required"),
@@ -5281,9 +5401,6 @@ function validateConfig(config) {
5281
5401
  if (typeof config === "object" && config !== null && "pairedTokenPoolFee" in config && "pairedTokenSwapAmountOutMinimum" in config) {
5282
5402
  return initialBuyConfigSchema.safeParse(config);
5283
5403
  }
5284
- if (typeof config === "object" && config !== null && "publicClient" in config) {
5285
- return clankerConfigSchema.safeParse(config);
5286
- }
5287
5404
  return {
5288
5405
  success: false,
5289
5406
  error: {
@@ -5296,7 +5413,6 @@ function validateConfig(config) {
5296
5413
  }
5297
5414
 
5298
5415
  // src/config/builders.ts
5299
- import { isAddressEqual, zeroAddress } from "viem";
5300
5416
  var TokenConfigV4Builder = class {
5301
5417
  config = {};
5302
5418
  /**
@@ -5423,13 +5539,10 @@ var TokenConfigV4Builder = class {
5423
5539
  if (tickIfToken0IsClanker !== -230400) {
5424
5540
  throw new Error("Custom starting price requires custom positions");
5425
5541
  }
5426
- if (config.positions === "Standard" /* Standard */) {
5427
- positions = POOL_POSITIONS["Standard" /* Standard */];
5428
- } else if (config.positions === "Project" /* Project */) {
5429
- positions = POOL_POSITIONS["Project" /* Project */];
5430
- } else {
5542
+ if (!(config.positions in POOL_POSITIONS)) {
5431
5543
  throw new Error(`Invalid position type: ${config.positions}`);
5432
5544
  }
5545
+ positions = POOL_POSITIONS[config.positions];
5433
5546
  } else if (config.positions && config.positions.length > 0) {
5434
5547
  for (const position of config.positions) {
5435
5548
  if (position.tickLower < tickIfToken0IsClanker) {
@@ -5723,22 +5836,16 @@ var VALID_TOKEN_PAIR_ADDRESSES = [
5723
5836
  var Clanker = class {
5724
5837
  wallet;
5725
5838
  publicClient;
5839
+ simulate;
5726
5840
  /**
5727
5841
  * Creates a new instance of the Clanker SDK
5728
5842
  * @param config - Optional configuration object containing wallet and public client
5729
5843
  * @throws {Error} If the provided configuration is invalid
5730
5844
  */
5731
5845
  constructor(config) {
5732
- if (config) {
5733
- const validationResult = validateConfig(config);
5734
- if (!validationResult.success) {
5735
- throw new Error(
5736
- `Invalid Clanker configuration: ${JSON.stringify(validationResult.error?.format())}`
5737
- );
5738
- }
5739
- this.wallet = config.wallet;
5740
- this.publicClient = config.publicClient;
5741
- }
5846
+ this.wallet = config?.wallet;
5847
+ this.publicClient = config?.publicClient;
5848
+ this.simulate = !!config?.simulateBeforeWrite;
5742
5849
  }
5743
5850
  /**
5744
5851
  * Collects rewards from a token
@@ -5746,8 +5853,12 @@ var Clanker = class {
5746
5853
  * @returns Promise resolving to the transaction hash
5747
5854
  * @throws {Error} If wallet client or public client is not configured
5748
5855
  */
5749
- claimRewards(feeOwnerAddress, tokenAddress) {
5750
- return claimRewards(feeOwnerAddress, tokenAddress);
5856
+ async claimRewards(feeOwnerAddress, tokenAddress) {
5857
+ if (!this.wallet) throw new Error("Wallet client required");
5858
+ if (!this.publicClient) throw new Error("Public client required");
5859
+ return claimRewards(this.publicClient, this.wallet, feeOwnerAddress, tokenAddress, {
5860
+ simulate: this.simulate
5861
+ });
5751
5862
  }
5752
5863
  /**
5753
5864
  * Checks the available fees for a token
@@ -5756,22 +5867,12 @@ var Clanker = class {
5756
5867
  * @returns Promise resolving to the transaction hash
5757
5868
  * @throws {Error} If wallet client or public client is not configured
5758
5869
  */
5759
- async availableFees(feeOwnerAddress, tokenAddress) {
5870
+ async availableRewards(feeOwnerAddress, tokenAddress) {
5760
5871
  if (!this.publicClient) {
5761
5872
  throw new Error("Public client required for checking available fees");
5762
5873
  }
5763
5874
  return availableFees(this.publicClient, feeOwnerAddress, tokenAddress);
5764
5875
  }
5765
- /**
5766
- * Builds V4 token deployment data without actually deploying
5767
- * @param cfg - Token configuration for V4 deployment
5768
- * @returns Object containing transaction data, target address, and network info
5769
- */
5770
- buildV4(cfg) {
5771
- const chainId = this.publicClient?.chain?.id || 8453;
5772
- const result = buildTokenV4(cfg, chainId);
5773
- return result;
5774
- }
5775
5876
  /**
5776
5877
  * Generates a vanity address for a V4 token deployment
5777
5878
  * @param cfg - Token configuration for V4 deployment
@@ -5788,45 +5889,29 @@ var Clanker = class {
5788
5889
  * @returns Promise resolving to the address of the deployed token
5789
5890
  * @throws {Error} If wallet client or public client is not configured
5790
5891
  */
5791
- async simulateDeployTokenV4(cfg, account) {
5892
+ async simulateDeployToken(cfg, account) {
5792
5893
  const acc = account || this.wallet?.account;
5793
- if (!acc) {
5794
- throw new Error("Account or wallet client required for simulation");
5795
- }
5796
- if (!this.publicClient) {
5797
- throw new Error("Public client required for deployment");
5798
- }
5894
+ if (!acc) throw new Error("Account or wallet client required for simulation");
5895
+ if (!this.publicClient) throw new Error("Public client required for deployment");
5799
5896
  return simulateDeploy(cfg, acc, this.publicClient);
5800
5897
  }
5801
5898
  /**
5802
- * Deploys a token using the V4 protocol
5803
- * @param cfg - Token configuration for V4 deployment or pre-built deployment data
5804
- * @returns Promise resolving to the address of the deployed token
5805
- * @throws {Error} If wallet client or public client is not configured
5806
- */
5807
- async deployTokenV4(cfg) {
5808
- if (!this.wallet) {
5809
- throw new Error("Wallet client required for deployment");
5810
- }
5811
- if (!this.publicClient) {
5812
- throw new Error("Public client required for deployment");
5813
- }
5814
- return deployTokenV4(cfg, this.wallet, this.publicClient);
5815
- }
5816
- /**
5817
- * Deploys a token using the V3 protocol
5899
+ * Deploys a token
5818
5900
  * @param cfg - Token configuration for V3 deployment
5819
5901
  * @returns Promise resolving to the address of the deployed token
5820
5902
  * @throws {Error} If wallet client or public client is not configured
5821
5903
  */
5822
5904
  async deployToken(cfg) {
5823
- if (!this.wallet) {
5824
- throw new Error("Wallet client required for deployment");
5825
- }
5826
- if (!this.publicClient) {
5827
- throw new Error("Public client required for deployment");
5905
+ if (!this.wallet) throw new Error("Wallet client required for deployment");
5906
+ if (!this.publicClient) throw new Error("Public client required for deployment");
5907
+ switch (cfg.type) {
5908
+ case "v4":
5909
+ return deployTokenV4(cfg, this.wallet, this.publicClient);
5910
+ case "v3":
5911
+ return deployTokenV3(cfg, this.wallet, this.publicClient);
5912
+ default:
5913
+ throw new Error("Invalid config type");
5828
5914
  }
5829
- return deployTokenV3(cfg, this.wallet, this.publicClient);
5830
5915
  }
5831
5916
  };
5832
5917
  export {
@@ -5834,6 +5919,7 @@ export {
5834
5919
  ANON_ADDRESS,
5835
5920
  AirdropExtension,
5836
5921
  CB_BTC_ADDRESS,
5922
+ CLANKERS,
5837
5923
  CLANKER_ADDRESS,
5838
5924
  CLANKER_AIRDROP_ADDRESS_SEPOLIA,
5839
5925
  CLANKER_AIRDROP_V4,
@@ -5856,7 +5942,9 @@ export {
5856
5942
  CLANKER_VAULT_ADDRESS_SEPOLIA,
5857
5943
  CLANKER_VAULT_V3_1,
5858
5944
  CLANKER_VAULT_V4,
5945
+ Chains,
5859
5946
  Clanker,
5947
+ ClankerDeployments,
5860
5948
  DEFAULT_BASE_RPC,
5861
5949
  DEFAULT_SUPPLY,
5862
5950
  DEGEN_ADDRESS,
@@ -5878,7 +5966,6 @@ export {
5878
5966
  VALID_TOKEN_PAIR_ADDRESSES,
5879
5967
  WETH_ADDRESS,
5880
5968
  bpsToPercentage,
5881
- clankerConfigSchema,
5882
5969
  createMerkleTree,
5883
5970
  deploymentConfigSchema,
5884
5971
  encodeAirdropData,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clanker-sdk",
3
- "version": "4.0.21",
3
+ "version": "4.0.22",
4
4
  "description": "SDK for deploying tokens on Base using Clanker",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,17 +21,19 @@
21
21
  "url": "https://github.com/clanker-devco/clanker-sdk/issues"
22
22
  },
23
23
  "scripts": {
24
- "build": "tsup",
25
- "lint": "biome check",
24
+ "lint": "biome check && tsc --noEmit",
26
25
  "format": "biome check --write --unsafe",
27
- "create-clanker": "bun src/cli/create-clanker"
26
+ "create-clanker": "bun src/cli/create-clanker",
27
+ "publish-package": "bun tsup && bun publish",
28
+ "deploy-v4": "bun run examples/v4/deployV4.ts",
29
+ "build-v4": "bun run examples/v4/buildV4.ts"
28
30
  },
29
31
  "keywords": ["clanker", "token", "deployment", "ethereum", "superchain"],
30
32
  "author": "Clanker Team",
31
33
  "license": "MIT",
32
34
  "dependencies": {
33
35
  "@openzeppelin/merkle-tree": "^1.0.8",
34
- "@types/inquirer": "^8.2.6",
36
+ "abitype": "^1.0.8",
35
37
  "dotenv": "^16.4.7",
36
38
  "inquirer": "^8.2.6",
37
39
  "viem": "^2.7.9",
@@ -39,17 +41,13 @@
39
41
  },
40
42
  "devDependencies": {
41
43
  "@biomejs/biome": "2.0.0",
44
+ "@types/bun": "latest",
45
+ "@types/inquirer": "^8.2.6",
42
46
  "@types/node": "^22.14.0",
43
- "@typescript-eslint/eslint-plugin": "^6.21.0",
44
- "@typescript-eslint/parser": "^6.21.0",
45
- "prettier": "^3.2.5",
46
- "ts-node": "^10.9.2",
47
47
  "tsup": "^8.4.0",
48
- "tsx": "^4.19.4",
49
- "typescript": "^5.3.3",
50
- "@types/bun": "latest"
48
+ "typescript": "^5.3.3"
51
49
  },
52
50
  "peerDependencies": {
53
51
  "viem": "^2.7.9"
54
52
  }
55
- }
53
+ }