diff --git a/CHANGELOG.md b/CHANGELOG.md index e7a17f7c..32bc1a3a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,13 +3,13 @@ ### Bug Fixes -* **ario:** add extendLease and increaseUndernameSupport apis ([1b13b5e](https://github.com/ar-io/ar-io-sdk/commit/1b13b5e7e24259fbd2762848e6066822af51cecd)) -* **atleastOne:** fix the AtLeastOne type ([ffd0869](https://github.com/ar-io/ar-io-sdk/commit/ffd0869949814196817d0ffb14fe0cf2be2ad298)) +* **contract:** add extendLease and increaseUndernameSupport apis ([1b13b5e](https://github.com/ar-io/ar-io-sdk/commit/1b13b5e7e24259fbd2762848e6066822af51cecd)) +* **types:** fix the AtLeastOne type ([ffd0869](https://github.com/ar-io/ar-io-sdk/commit/ffd0869949814196817d0ffb14fe0cf2be2ad298)) * **deps:** force arweavve to 1.15.1 ([2448598](https://github.com/ar-io/ar-io-sdk/commit/244859865b986a4c48b6446fc41230039cc5fcc0)) -* **joinnetwork:** make params required - properties and note ([89db674](https://github.com/ar-io/ar-io-sdk/commit/89db674a187dffc83413ac1ac3922ca78ae3f88d)) -* **mIO:** update tests and use overwrite type to allow mIOtoken for certain paramaters ([badcece](https://github.com/ar-io/ar-io-sdk/commit/badcece5ba33b3e26448988ae1aee88e706c9da5)) -* **naming:** change to increaseUndernameLimit ([9b72c1e](https://github.com/ar-io/ar-io-sdk/commit/9b72c1ed261ecae43fa4c0cd3e00ddb61e6e7ee5)) -* **readme:** update ario apis ([4af0862](https://github.com/ar-io/ar-io-sdk/commit/4af08626abfe4cd16f6c4b56696e19c7803e7dc6)) +* **contract:** make params required - properties and note ([89db674](https://github.com/ar-io/ar-io-sdk/commit/89db674a187dffc83413ac1ac3922ca78ae3f88d)) +* **types:** update tests and use overwrite type to allow mIOtoken for certain paramaters ([badcece](https://github.com/ar-io/ar-io-sdk/commit/badcece5ba33b3e26448988ae1aee88e706c9da5)) +* **api:** change to increaseUndernameLimit ([9b72c1e](https://github.com/ar-io/ar-io-sdk/commit/9b72c1ed261ecae43fa4c0cd3e00ddb61e6e7ee5)) +* **docs:** update ario apis ([4af0862](https://github.com/ar-io/ar-io-sdk/commit/4af08626abfe4cd16f6c4b56696e19c7803e7dc6)) * **tests:** update extend test util to include a test domain ([e959b7c](https://github.com/ar-io/ar-io-sdk/commit/e959b7cc3d642651c0313529ad47343e3ff2c69d)) * **token:** add mIO and IO token classes to exports ([f47f7d5](https://github.com/ar-io/ar-io-sdk/commit/f47f7d5c251973058866340a6bc2baddbf973ecf)) * **types:** add delegated gateway type ([c877496](https://github.com/ar-io/ar-io-sdk/commit/c87749660d2da62e6b996a9f034ce12fb702d93b)) @@ -35,7 +35,7 @@ * **util:** add FQDN regex that matches ArNS contract ([e6d7396](https://github.com/ar-io/ar-io-sdk/commit/e6d7396decdb4997aa121f31ae7ad87455747191)) * **utils:** manually convert from b64 to b64url to avoid web polyfill issues ([766035c](https://github.com/ar-io/ar-io-sdk/commit/766035c1a319e2c2567cf2a47bda3a48f5294d2c)) * **utils:** use base64 for fromB64url util ([42302ef](https://github.com/ar-io/ar-io-sdk/commit/42302ef5124aa28fc438a9b865fd901f2ed3df4d)) -* **warp-contract:** correctly throw error in write interaction ([c2368dd](https://github.com/ar-io/ar-io-sdk/commit/c2368dd5ef1c78fa52ef1eef3198a4a035411bea)) +* **warp:** correctly throw error in write interaction ([c2368dd](https://github.com/ar-io/ar-io-sdk/commit/c2368dd5ef1c78fa52ef1eef3198a4a035411bea)) ## [1.0.4](https://github.com/ar-io/ar-io-sdk/compare/v1.0.3...v1.0.4) (2024-04-30) @@ -57,11 +57,11 @@ ### Bug Fixes * **arweave:** default to the arweave node import to avoid issues with browser environments ([fc8c26e](https://github.com/ar-io/ar-io-sdk/commit/fc8c26e3c33b27054ad69d6a406139d73283344f)) -* **cacheurl:** use default cache url in warpcontract ([a676a3c](https://github.com/ar-io/ar-io-sdk/commit/a676a3c952e9416f89b703519fb13b2d8671b82a)) +* **warp:** use default cache url in warpcontract ([a676a3c](https://github.com/ar-io/ar-io-sdk/commit/a676a3c952e9416f89b703519fb13b2d8671b82a)) * **init:** cleanup init overload methods and tests ([fa328d2](https://github.com/ar-io/ar-io-sdk/commit/fa328d26c7654221176dd57bda88ce56639048b6)) * **lint:** address lint issue in ArIOWriteable ([4a3ee89](https://github.com/ar-io/ar-io-sdk/commit/4a3ee893bc1121c7ed84108fa476d5a4308e0283)) * **tsconfig:** modify some tsconfig settings to get isolated configs for web/cjs/esm ([46b7acc](https://github.com/ar-io/ar-io-sdk/commit/46b7acc9bbe7cf52ddf3ed7d7e9399332b463fe5)) -* **typeguards:** make type guards accept unknowns ([7f285bb](https://github.com/ar-io/ar-io-sdk/commit/7f285bb73bebb384a0c20aafabc55e1fca76e34b)) +* **types:** make type guards accept unknowns ([7f285bb](https://github.com/ar-io/ar-io-sdk/commit/7f285bb73bebb384a0c20aafabc55e1fca76e34b)) * **types:** use generic types and modify the requirements for init functions ([9350f78](https://github.com/ar-io/ar-io-sdk/commit/9350f781dcadf481ebce7558cdecd6d27d43cc0c)) * **utils:** add writeInteraction types and update base64url logic ([4f5476b](https://github.com/ar-io/ar-io-sdk/commit/4f5476b093a303ffb68a7c26dad7b413334556ce)) @@ -102,12 +102,12 @@ * **casing:** revert to lower case casing ([b5da0ab](https://github.com/ar-io/ar-io-sdk/commit/b5da0ab78a965829951dbed7f4fcc5087b813271)) * **comments:** make class logger private, remove comments ([7483246](https://github.com/ar-io/ar-io-sdk/commit/7483246113d5b3b424f8450ea1f1c5e0d036618b)) * **connect:** add init static function on ario class to create interaction classes ([765f39c](https://github.com/ar-io/ar-io-sdk/commit/765f39c5816b35c41b43fdeddf765b9b50845b9a)) -* **contract configuration:** return cache url as well ([b4a7bc3](https://github.com/ar-io/ar-io-sdk/commit/b4a7bc3960be0532ec7cdedf5875128f11f60672)) -* **contract functions:** correct contract function names ([ad9bc56](https://github.com/ar-io/ar-io-sdk/commit/ad9bc5625b582d5714624c491904e68380f10ae3)) +* **contract:** return cache url as well ([b4a7bc3](https://github.com/ar-io/ar-io-sdk/commit/b4a7bc3960be0532ec7cdedf5875128f11f60672)) +* **contract:** correct contract function names ([ad9bc56](https://github.com/ar-io/ar-io-sdk/commit/ad9bc5625b582d5714624c491904e68380f10ae3)) * **contracts:** add configuration view method and update types ([4fae4a2](https://github.com/ar-io/ar-io-sdk/commit/4fae4a2688f96388d5b53d8fe292ff7942af0c57)) * **contracts:** remove write method and type from remote contract ([740d8b8](https://github.com/ar-io/ar-io-sdk/commit/740d8b88a5486f90cd61d024f8fdd4e6b9a370a0)) -* **contracttxid:** make contractTxID require in remote state cache instance ([dc82d21](https://github.com/ar-io/ar-io-sdk/commit/dc82d217c66ad8deff4ea6c3a9d7304f6e65b4d9)) -* **contracttxid:** make contractTxID required in remote state cache instance ([#10](https://github.com/ar-io/ar-io-sdk/issues/10)) ([bf651bb](https://github.com/ar-io/ar-io-sdk/commit/bf651bb11006eaf5eea586ff1feb0bb2644db504)) +* **contract:** make contractTxID require in remote state cache instance ([dc82d21](https://github.com/ar-io/ar-io-sdk/commit/dc82d217c66ad8deff4ea6c3a9d7304f6e65b4d9)) +* **contract:** make contractTxID required in remote state cache instance ([#10](https://github.com/ar-io/ar-io-sdk/issues/10)) ([bf651bb](https://github.com/ar-io/ar-io-sdk/commit/bf651bb11006eaf5eea586ff1feb0bb2644db504)) * **ctrl flow:** remove else from control flow ([4b3c4c2](https://github.com/ar-io/ar-io-sdk/commit/4b3c4c2058767b05199ac75c44c4684a66149bb9)) * **deps:** pin arweave ([d39391c](https://github.com/ar-io/ar-io-sdk/commit/d39391c19dc7d1396b735cd87920a2dc224f94e4)) * **deps:** remove axios-retry, will implement later ([0218e95](https://github.com/ar-io/ar-io-sdk/commit/0218e95fc2c2b1682010cf1841e3a2c717756c1d)) @@ -131,7 +131,7 @@ * **files:** clean git cache of duplicate casing ([e9eaa2d](https://github.com/ar-io/ar-io-sdk/commit/e9eaa2d93122bad5008010c13710b5fa8bcd7533)) * **filters:** punt filters ([1c23cb3](https://github.com/ar-io/ar-io-sdk/commit/1c23cb3cf2ce8adc594fd2ba699e5ac32f4ef7b6)) * **fixture:** add type to arns state fixture ([5bcac32](https://github.com/ar-io/ar-io-sdk/commit/5bcac3211d78e08ead3e14da6e06aa41e9a65598)) -* **formating:** format ([3f30f77](https://github.com/ar-io/ar-io-sdk/commit/3f30f772a7571b9958f8a202128abd483da372b5)) +* **formatting:** format ([3f30f77](https://github.com/ar-io/ar-io-sdk/commit/3f30f772a7571b9958f8a202128abd483da372b5)) * **gar write:** fix types and flow on gar write ([f5e7774](https://github.com/ar-io/ar-io-sdk/commit/f5e77741107b82df24c293a1cde37a4a907e1f4c)) * **gateway:** update gateway settings to support autostake ([82c6840](https://github.com/ar-io/ar-io-sdk/commit/82c68408fb562146053b9180dacc53fb490743ea)) * **generics:** use named generic ([4b647f0](https://github.com/ar-io/ar-io-sdk/commit/4b647f076b6cd3f4676f0bf7dbf6a5c020214e63)) @@ -173,7 +173,7 @@ * **release:** update github release config to publish packages to github ([5534d9d](https://github.com/ar-io/ar-io-sdk/commit/5534d9d6c9b86b1642668705dc0cb6c301f03d9e)) * **remote:** getState not properly setting evalTo in http requests ([55745c1](https://github.com/ar-io/ar-io-sdk/commit/55745c1881af9ea93a0545e1b04eaff210257802)) * **safety:** update type safety checks ([32eebbc](https://github.com/ar-io/ar-io-sdk/commit/32eebbc21a4592384dd6fed3247f0e00292b6471)) -* **setimmediate:** make set immediate a build dependency as it is required by the node winston ([9292eaa](https://github.com/ar-io/ar-io-sdk/commit/9292eaab29c3c955d1c981d6d22fa6e11da55500)) +* **deps:** make set immediate a build dependency as it is required by the node winston ([9292eaa](https://github.com/ar-io/ar-io-sdk/commit/9292eaab29c3c955d1c981d6d22fa6e11da55500)) * **signer:** check that contract is connected before trying to write ([d352e9c](https://github.com/ar-io/ar-io-sdk/commit/d352e9c7ac1038caa238df21d1165345c64d61de)) * **signer:** check that contract is connected before trying to write ([#29](https://github.com/ar-io/ar-io-sdk/issues/29)) ([536a116](https://github.com/ar-io/ar-io-sdk/commit/536a116c1cfecd1bfbe1ffc9d5fe87ab4006a81c)) * **signer:** fix signer in WarpContracts - update tests ([ea9448f](https://github.com/ar-io/ar-io-sdk/commit/ea9448f3440c58811891fa37db2ceb7948b8d200)) @@ -184,7 +184,7 @@ * **signer:** update ANT to have signer ([c7f8eee](https://github.com/ar-io/ar-io-sdk/commit/c7f8eeec4c2141548d202f76934304a310b177b7)) * **structure:** update cache provider folder to be named caches ([844c1aa](https://github.com/ar-io/ar-io-sdk/commit/844c1aab722316db14167f22a397858a2c9c6bbf)) * **structure:** use snake case for file and folder names ([37f27d3](https://github.com/ar-io/ar-io-sdk/commit/37f27d3b6a526a37a88ccbf7480f4bc6dc06153f)) -* **test warp-contract:** use beforeAll to read env vars ([95cc019](https://github.com/ar-io/ar-io-sdk/commit/95cc0194ffd9b04a0e389557ad39e53cfa87c443)) +* **tests:** use beforeAll to read env vars ([95cc019](https://github.com/ar-io/ar-io-sdk/commit/95cc0194ffd9b04a0e389557ad39e53cfa87c443)) * **tests:** add test cases as a const ([8458185](https://github.com/ar-io/ar-io-sdk/commit/845818528fc5364971738fa549173f6f019065c0)) * **tests:** add test for custom arIO client config ([0e6142b](https://github.com/ar-io/ar-io-sdk/commit/0e6142bedaffbf86e79840d830499d4e1aacbced)) * **tests:** change control flow pattern to .catch instead of trycatch ([883de51](https://github.com/ar-io/ar-io-sdk/commit/883de51f85f32807a62f189b00ac485ecfdcfd69)) @@ -208,10 +208,10 @@ * **tests:** use http not https in tests ([fddba1e](https://github.com/ar-io/ar-io-sdk/commit/fddba1e34c9a195cb6a5cdcf3ec6f3dcbd41524c)) * **tests:** use process vars as priority url ([faab4f3](https://github.com/ar-io/ar-io-sdk/commit/faab4f3ee7624828cb25a32b6ecfb655cd5c1fc5)) * **test:** update test to use ArweaveTransactionID class ([f6c4f8b](https://github.com/ar-io/ar-io-sdk/commit/f6c4f8ba23a921eba281596b29dff3fece82b322)) -* **tsconfig, names:** reverted tsconfig to nodenext resolution, changed naming convention on provider, removed extraeneous error classes, rolled back axios-retry to match our tsconfig settings ([d412d44](https://github.com/ar-io/ar-io-sdk/commit/d412d44dc9fd71fe6a81deb37e99b8c24f6b4661)) -* **tyeps:** set types to objects rather than top level params for easier readability ([edfd77b](https://github.com/ar-io/ar-io-sdk/commit/edfd77bb01f38c21f2e96aacaea07705372fe664)) -* **type:** rename all type implementations ([5959045](https://github.com/ar-io/ar-io-sdk/commit/595904509e152188eeadb07fbf57495b941a45bf)) -* **types and tests:** update evalTo to allow undefined sortKey and block and test that ([a59f05c](https://github.com/ar-io/ar-io-sdk/commit/a59f05c8669750b59b01ee140bcd84d91b9cfaf8)) +* **tsconfig:** reverted tsconfig to nodenext resolution, changed naming convention on provider, removed extraeneous error classes, rolled back axios-retry to match our tsconfig settings ([d412d44](https://github.com/ar-io/ar-io-sdk/commit/d412d44dc9fd71fe6a81deb37e99b8c24f6b4661)) +* **types:** set types to objects rather than top level params for easier readability ([edfd77b](https://github.com/ar-io/ar-io-sdk/commit/edfd77bb01f38c21f2e96aacaea07705372fe664)) +* **types:** rename all type implementations ([5959045](https://github.com/ar-io/ar-io-sdk/commit/595904509e152188eeadb07fbf57495b941a45bf)) +* **types:** update evalTo to allow undefined sortKey and block and test that ([a59f05c](https://github.com/ar-io/ar-io-sdk/commit/a59f05c8669750b59b01ee140bcd84d91b9cfaf8)) * **types:** add @ to records ([53601c1](https://github.com/ar-io/ar-io-sdk/commit/53601c1d08f7bf3e522f25b58e514b0c809ad195)) * **types:** make props nullable on certain read apis ([f8ff552](https://github.com/ar-io/ar-io-sdk/commit/f8ff552ed6de9516476e74e6aad92e72a8d3adb3)) * **types:** remove any type ([5c80242](https://github.com/ar-io/ar-io-sdk/commit/5c8024261b5e13ee4f4d697b545a710b7cf136d1)) @@ -224,11 +224,11 @@ * **types:** update tests, readme, and types ([e9985dd](https://github.com/ar-io/ar-io-sdk/commit/e9985ddada117561f8e666d133b3d573e0beef3e)) * **types:** use partial write type ([fa6a638](https://github.com/ar-io/ar-io-sdk/commit/fa6a638ae9d69b234b264c3e510c09709fc56fd8)) * **types:** use string instead of any ([014a262](https://github.com/ar-io/ar-io-sdk/commit/014a26210b2482b3aa5150b4fd37925760f39dd8)) -* **validate id:** make validator a private method ([dce4a94](https://github.com/ar-io/ar-io-sdk/commit/dce4a948e38ae0f6af3658dcb066861c766f5ed9)) -* **validity util:** isBlockheight check more strict ([2b28675](https://github.com/ar-io/ar-io-sdk/commit/2b28675fabb97be0cadfbc8a47241b0bcc5bd9fd)) -* **warp contract:** added test for getting state after connecting with warp ([060ee2c](https://github.com/ar-io/ar-io-sdk/commit/060ee2c4a8bc21c345eb6ab006c3da41b29ff7d5)) -* **warp-contract:** provide logger - update isTransaction flow ctrl - use typed props ([5f6e0a1](https://github.com/ar-io/ar-io-sdk/commit/5f6e0a17662e43d4b2d560fcd505a07e006a308b)) -* **warp-contracts:** bump warp to 1.4.38 - fixed warp exports ([af4a20b](https://github.com/ar-io/ar-io-sdk/commit/af4a20b0df97867327bdfea12f4eb1956d531352)) +* **utils:** make validator a private method ([dce4a94](https://github.com/ar-io/ar-io-sdk/commit/dce4a948e38ae0f6af3658dcb066861c766f5ed9)) +* **utils:** isBlockheight check more strict ([2b28675](https://github.com/ar-io/ar-io-sdk/commit/2b28675fabb97be0cadfbc8a47241b0bcc5bd9fd)) +* **warp:** added test for getting state after connecting with warp ([060ee2c](https://github.com/ar-io/ar-io-sdk/commit/060ee2c4a8bc21c345eb6ab006c3da41b29ff7d5)) +* **warp:** provide logger - update isTransaction flow ctrl - use typed props ([5f6e0a1](https://github.com/ar-io/ar-io-sdk/commit/5f6e0a17662e43d4b2d560fcd505a07e006a308b)) +* **warp:** bump warp to 1.4.38 - fixed warp exports ([af4a20b](https://github.com/ar-io/ar-io-sdk/commit/af4a20b0df97867327bdfea12f4eb1956d531352)) * **winston:** move the winston polyfill - this will prevent any esm based web projects from getting polyfill issues ([c8b7998](https://github.com/ar-io/ar-io-sdk/commit/c8b7998db824506c1e213557e859604d903aab9c)) * **write:** add dry run - sync state - abortSignal - update interface ([970bdef](https://github.com/ar-io/ar-io-sdk/commit/970bdefaff2eea93e3c0783dccafd6276a80ea03)) * **write:** update utils - change error flow - update arweave constructor props ([0a81c92](https://github.com/ar-io/ar-io-sdk/commit/0a81c920e82c03beba7dad41c189c00e128ced10)) @@ -241,16 +241,16 @@ * **ant:** add ANT read interface ([c941c96](https://github.com/ar-io/ar-io-sdk/commit/c941c96cd201983270cc9e04c0fcaa5b4dc3b798)) * **ant:** create ant contract class for interacting with ant contracts ([6eb7ef5](https://github.com/ar-io/ar-io-sdk/commit/6eb7ef5ed7f0ec3e64e0c18e97a708d7c528ff21)) * **ants:** add readable-writable framework to the ant client and implement write methods ([3019f53](https://github.com/ar-io/ar-io-sdk/commit/3019f53953d362629a34c6282012b58de1171b23)) -* **ario contract:** add distributions and observation apis ([21e38d1](https://github.com/ar-io/ar-io-sdk/commit/21e38d1229e640a1cec685f491b1b07b84ee6a56)) -* **arioContract:** update ArIO interface and ArIOContract interface ([5d87e2e](https://github.com/ar-io/ar-io-sdk/commit/5d87e2e9b707e30caaf960585e3300efbab420bb)) +* **contract:** add distributions and observation apis ([21e38d1](https://github.com/ar-io/ar-io-sdk/commit/21e38d1229e640a1cec685f491b1b07b84ee6a56)) +* **contract:** update ArIO interface and ArIOContract interface ([5d87e2e](https://github.com/ar-io/ar-io-sdk/commit/5d87e2e9b707e30caaf960585e3300efbab420bb)) * **auctions:** add auctions apis ([faf08c5](https://github.com/ar-io/ar-io-sdk/commit/faf08c51f3b499e158e96cc2a0b97a06a20c6f8c)) * **contract:** add distribution, observations apis, update readme and examples ([0208317](https://github.com/ar-io/ar-io-sdk/commit/0208317c211d659afbbc55d06345a0c33cd076eb)) * **contract:** create new contract classes that impelement both warp and remote cache for ant contract and ar-io contracts ([855da2d](https://github.com/ar-io/ar-io-sdk/commit/855da2d1ce53ade61025e9a2513ac706e362e0b1)) -* **first issue:** setup examples, readme, and initial gateways provider ([5a9e232](https://github.com/ar-io/ar-io-sdk/commit/5a9e2320219b8b61dec1cf8d0ecb74562b9ebed0)) -* **gar methods:** add gar write methods to the ario client ([e01b08b](https://github.com/ar-io/ar-io-sdk/commit/e01b08beccb64112ae4ec333e9a5a2ea872b816f)) -* **inital providers:** scaffold initial providers ([4949514](https://github.com/ar-io/ar-io-sdk/commit/4949514a334eda107c87c77bef87ec839144c99f)) -* **io transfer:** add transfer api to ario writable client ([0d37623](https://github.com/ar-io/ar-io-sdk/commit/0d37623bdf0a460242ac8d2b6f819f686fb2cbce)) -* **observerations:** add `saveObservations` write interaction ([8dd977c](https://github.com/ar-io/ar-io-sdk/commit/8dd977c55091b038c6b4a1b30fbeed5bc816f433)) +* **docs:** setup examples, readme, and initial gateways provider ([5a9e232](https://github.com/ar-io/ar-io-sdk/commit/5a9e2320219b8b61dec1cf8d0ecb74562b9ebed0)) +* **contract:** add gar write methods to the ario client ([e01b08b](https://github.com/ar-io/ar-io-sdk/commit/e01b08beccb64112ae4ec333e9a5a2ea872b816f)) +* **contract:** scaffold initial providers ([4949514](https://github.com/ar-io/ar-io-sdk/commit/4949514a334eda107c87c77bef87ec839144c99f)) +* **contract:** add transfer api to ario writable client ([0d37623](https://github.com/ar-io/ar-io-sdk/commit/0d37623bdf0a460242ac8d2b6f819f686fb2cbce)) +* **contract:** add `saveObservations` write interaction ([8dd977c](https://github.com/ar-io/ar-io-sdk/commit/8dd977c55091b038c6b4a1b30fbeed5bc816f433)) * **observers:** add API for fetching prescribed observers ([a18e130](https://github.com/ar-io/ar-io-sdk/commit/a18e1306b185143b3b44416da168bf0610418d9c)) * **observers:** add API for fetching prescribed observers ([#17](https://github.com/ar-io/ar-io-sdk/issues/17)) ([17ce6de](https://github.com/ar-io/ar-io-sdk/commit/17ce6de4aea61e5f97c999cdc96011dd911f7ad6)) * **PE-5742:** add records api to arns remote cache ([#8](https://github.com/ar-io/ar-io-sdk/issues/8)) ([c46cd39](https://github.com/ar-io/ar-io-sdk/commit/c46cd3968efe31f9dac3c6368b073b97adfaeb2a))