{"_id":"steady-sdk","_rev":"90-b42abfd97bfc1376a6e016eefc6180d9","name":"steady-sdk","dist-tags":{"latest":"1.0.56"},"versions":{"1.0.53":{"name":"steady-sdk","version":"1.0.53","keywords":["defi","ethereum","ethers","sdk","steady","typescript","web3"],"_id":"steady-sdk@1.0.53","maintainers":[{"name":"steadyprotocol","email":"tech@steadyprotocol.io"}],"dist":{"shasum":"bf11366bd677d2ec2d28399bd5acbdd75ed0ee40","tarball":"https://registry.npmjs.org/steady-sdk/-/steady-sdk-1.0.53.tgz","fileCount":7,"integrity":"sha512-ghcu3Ryh8jtT6BjYGpwh6RgrGwVDXsEKvpPMUabTXlAOZWjTBLaxdVP7VJSGdK70iq7FL+WPx3f4DEfyOA43zA==","signatures":[{"sig":"MEYCIQCg3TO683iIwXaxgJLy8hKMfVBKeW2l4kaTt5+uST23uQIhAO/vThx75byPb+lZL8/oaF/RKb+bZfmQgD1RuoNYtPwx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122871},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"75d6ad46a79d22fb605bee3f5b5e333d3a764fc5","_npmUser":{"name":"steadyprotocol","email":"tech@steadyprotocol.io"},"_npmVersion":"11.7.0","description":"TypeScript SDK for interacting with the Steady Protocol token contract","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ethers":"6.16.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/steady-sdk_1.0.53_1776857796685_0.4710987800822417","host":"s3://npm-registry-packages-npm-production"}},"1.0.54":{"name":"steady-sdk","version":"1.0.54","keywords":["defi","ethereum","ethers","sdk","steady","typescript","web3"],"_id":"steady-sdk@1.0.54","maintainers":[{"name":"steadyprotocol","email":"tech@steadyprotocol.io"}],"dist":{"shasum":"ccd6b3109cd80de798efabcc5c8b6faa962899e7","tarball":"https://registry.npmjs.org/steady-sdk/-/steady-sdk-1.0.54.tgz","fileCount":7,"integrity":"sha512-MGtQtsH3SSkjN3uKxZAxR2TCoJs8njiprv6zxj27BcFU1jWJ/Z5OVm7gIX70AlBUUpb/VVrkcTE2e+/VFuALEA==","signatures":[{"sig":"MEUCIQCROWvXK2WkrFWwy6XidgV1xDcO7fDcCFJsQBFTlDW4RAIgMoI7wClxl8pfvoq601OgADlwg6gqyrUJRLx/COb1ebg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122871},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2a9eb28803986650cd84452281a9872206082b4c","_npmUser":{"name":"steadyprotocol","email":"tech@steadyprotocol.io"},"_npmVersion":"11.7.0","description":"TypeScript SDK for interacting with the Steady Protocol token contract","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ethers":"6.16.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/steady-sdk_1.0.54_1776862103092_0.6490672151721701","host":"s3://npm-registry-packages-npm-production"}},"1.0.55":{"name":"steady-sdk","version":"1.0.55","keywords":["defi","ethereum","ethers","sdk","steady","typescript","web3"],"_id":"steady-sdk@1.0.55","maintainers":[{"name":"steadyprotocol","email":"tech@steadyprotocol.io"}],"dist":{"shasum":"ddc327c830090d2a3fd58a7e290ae9689919f3bd","tarball":"https://registry.npmjs.org/steady-sdk/-/steady-sdk-1.0.55.tgz","fileCount":7,"integrity":"sha512-a+/p2LpedsApW285TtaYZBC/9w7EvZo3qmaPDktfVnf58c9521JpBuR/NlRLHHPRT9PAMR5P2ERAsZg2twMQsQ==","signatures":[{"sig":"MEUCIQDMGWfIANlTpR0Eecn7PyNXF7hk5Gq3cc5pErhpIJnGTwIgLKUW+75l0Ebiy7MzrhTYcWGKz3QGc3yddUEW5lV2VDA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":122871},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"2b1084df63750c2ddf17639a8106261c766f26b2","_npmUser":{"name":"steadyprotocol","email":"tech@steadyprotocol.io"},"_npmVersion":"11.7.0","description":"TypeScript SDK for interacting with the Steady Protocol token contract","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ethers":"6.16.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/steady-sdk_1.0.55_1777536576856_0.5999162564451168","host":"s3://npm-registry-packages-npm-production"}},"1.0.56":{"name":"steady-sdk","version":"1.0.56","description":"TypeScript SDK for interacting with the Steady Protocol token contract","keywords":["defi","ethereum","ethers","sdk","steady","typescript","web3"],"main":"dist/index.js","types":"dist/index.d.ts","dependencies":{"ethers":"6.16.0"},"gitHead":"043aa38e8fbfb8b19707c809a4ee1ad66cd073af","_id":"steady-sdk@1.0.56","_nodeVersion":"24.14.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-keytkeZUd4KxVLAVSzOULjA2Y3BBUFhiUMNX8UZjs6rVXx2uyEY5zupcW/9evCnVySIG2ZZcDwub9UtHGT/qIA==","shasum":"641cfd4714fd48dc8a7144187c9cedabc4259ecf","tarball":"https://registry.npmjs.org/steady-sdk/-/steady-sdk-1.0.56.tgz","fileCount":7,"unpackedSize":122871,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCmZAl+jVtX5569wa6PSyMYXkCRb2JVt4NBeCwI/dZtUQIgLLDz2YaJiO4v7SasgNjSrpqPgWzjONxNW2XLKECQDlI="}]},"_npmUser":{"name":"steadyprotocol","email":"tech@steadyprotocol.io"},"directories":{},"maintainers":[{"name":"steadyprotocol","email":"tech@steadyprotocol.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/steady-sdk_1.0.56_1778677136778_0.33747499918211066"},"_hasShrinkwrap":false}},"time":{"created":"2023-08-07T14:42:37.910Z","modified":"2026-05-13T12:58:57.039Z","1.0.0":"2023-08-07T14:42:38.119Z","1.0.1":"2023-08-28T17:39:55.694Z","1.0.2":"2023-08-28T17:53:22.914Z","1.0.3":"2023-08-28T17:55:14.273Z","1.0.4":"2023-08-28T17:59:30.042Z","1.0.5":"2023-08-28T18:09:23.251Z","1.0.6":"2023-08-28T18:33:24.659Z","1.0.7":"2023-08-28T18:48:57.065Z","1.0.8":"2023-08-30T23:59:05.369Z","1.0.9":"2023-09-04T13:43:35.690Z","1.0.10":"2023-10-19T12:12:46.205Z","1.0.11":"2023-10-21T04:37:31.395Z","1.0.12":"2023-10-21T05:01:58.676Z","1.0.13":"2023-10-21T05:35:44.302Z","1.0.14":"2023-11-26T17:44:35.958Z","1.0.15":"2023-11-26T17:46:05.457Z","1.0.16":"2023-11-26T18:00:12.011Z","1.0.17":"2023-11-26T18:08:41.393Z","1.0.18":"2023-11-26T18:29:51.997Z","1.0.19":"2023-12-01T19:49:58.214Z","1.0.20":"2023-12-01T20:54:13.258Z","1.0.21":"2023-12-01T21:01:15.396Z","1.0.22":"2023-12-01T21:10:36.670Z","1.0.23":"2023-12-02T09:48:42.918Z","1.0.25":"2023-12-03T16:25:57.347Z","1.0.26":"2024-03-03T13:58:46.161Z","1.0.27":"2024-03-08T21:54:24.124Z","1.0.28":"2024-03-09T05:09:36.517Z","1.0.29":"2024-03-09T05:14:35.411Z","1.0.30":"2024-05-16T11:51:15.584Z","1.0.31":"2024-05-16T12:01:53.812Z","1.0.32":"2024-05-16T13:54:03.773Z","1.0.33":"2024-05-17T13:28:23.443Z","1.0.34":"2024-05-17T13:38:35.247Z","1.0.35":"2024-06-12T15:29:24.326Z","1.0.36":"2024-06-12T21:35:48.626Z","1.0.37":"2024-06-12T22:29:07.326Z","1.0.38":"2024-06-18T10:56:15.459Z","1.0.39":"2024-08-30T08:07:43.722Z","1.0.40":"2024-11-08T08:19:38.476Z","1.0.42":"2026-02-27T07:11:24.147Z","1.0.43":"2026-03-11T10:48:29.226Z","1.0.44":"2026-03-11T17:30:39.587Z","1.0.53":"2026-04-22T11:36:36.830Z","1.0.54":"2026-04-22T12:48:23.293Z","1.0.55":"2026-04-30T08:09:36.990Z","1.0.56":"2026-05-13T12:58:56.920Z"},"keywords":["defi","ethereum","ethers","sdk","steady","typescript","web3"],"description":"TypeScript SDK for interacting with the Steady Protocol token contract","maintainers":[{"name":"steadyprotocol","email":"tech@steadyprotocol.io"}],"readme":"# Steady SDK\n\nTypeScript SDK for reading from and writing to the Steady Protocol token contract.\n\nThe package is designed for frontend apps, backend services, and scripts that need a simple wrapper around the Steady contract ABI.\n\n## Installation\n\n```bash\nnpm install steady-sdk\n```\n\nIf your app creates its own signer or provider with `ethers`, install `ethers` in the consuming project as well:\n\n```bash\nnpm install steady-sdk ethers\n```\n\n## Constructor\n\n```ts\nnew Steady(contractAddress, rpcUrl?, signer?)\n```\n\nUse an RPC URL for read-only calls or pass an `ethers` signer for write operations.\n\n## Quick Start\n\n### Read contract data\n\n```ts\nimport { Steady } from 'steady-sdk';\n\nconst contractAddress = '0xYourSteadyContractAddress';\nconst rpcUrl = 'https://your-rpc-url';\n\nconst steady = new Steady(contractAddress, rpcUrl);\n\nconst config = await steady.contractConfig();\nconst totalSupply = await steady.totalSupply();\n\nconsole.log(config.name, config.symbol, config.decimals);\nconsole.log(totalSupply);\n```\n\n### Send transactions with a signer\n\n```ts\nimport { BrowserProvider, parseUnits } from 'ethers';\nimport { Steady } from 'steady-sdk';\n\nconst contractAddress = '0xYourSteadyContractAddress';\n\nconst provider = new BrowserProvider(window.ethereum);\nawait provider.send('eth_requestAccounts', []);\n\nconst signer = await provider.getSigner();\nconst steady = new Steady(contractAddress, undefined, signer);\n\nawait steady.transfer('0xRecipientAddress', parseUnits('100', 18));\n```\n\n### Query historical events\n\n```ts\nimport { Steady } from 'steady-sdk';\n\nconst steady = new Steady('0xYourSteadyContractAddress', 'https://your-rpc-url');\n\nconst transfers = await steady.getPastTransferEvents(5_450_000, 5_460_000);\n\nconsole.log(transfers);\n```\n\n### Subscribe to events\n\n```ts\nimport { Steady } from 'steady-sdk';\n\nconst steady = new Steady('0xYourSteadyContractAddress', 'https://your-rpc-url');\n\nawait steady.subscribeToTransfer((event) => {\n  console.log(event.type, event.data);\n});\n```\n\n## API Overview\n\n| Category | Methods |\n| --- | --- |\n| Contract metadata and state | `contractConfig`, `owner`, `name`, `symbol`, `decimals`, `totalSupply`, `balanceOf`, `allowance`, `paused` |\n| Interest and conversion helpers | `cumulativeInterestPaid`, `totalInterestToBePaid`, `interestPaymentStartTimestamp`, `interestDistributionPeriod`, `tokensToSteady`, `steadyToTokens` |\n| Wrapped token helpers | `wrappedSteadyAddress`, `setWrappedSteadyAddress`, `wrapTokens`, `unwrapTokens` |\n| Token and admin actions | `transfer`, `transferFrom`, `approve`, `increaseAllowance`, `decreaseAllowance`, `issueTokens`, `burnTokens`, `payInterest`, `pause`, `unpause`, `addBlackList`, `removeBlackList`, `getBlackListStatus` |\n| Event access | `subscribeToTransfer`, `subscribeToIssue`, `subscribeToBurn`, `getPastEvents`, `getPastTransferEvents`, `getPastIssueEvents`, `getPastBurnEvents`, `getBlock` |\n| Calldata encoding | `encodeFunctionData.issueTokens`, `encodeFunctionData.burnTokens`, `encodeFunctionData.payInterest`, `encodeFunctionData.transfer`, `encodeFunctionData.pause`, `encodeFunctionData.unpause`, `encodeFunctionData.setPauseAuthority`, `encodeFunctionData.addBlackList`, `encodeFunctionData.removeBlackList` |\n\n## Notes\n\n- The SDK ships with TypeScript declarations.\n- The signer and provider examples assume `ethers` v6.\n- Onchain numeric values are returned as `bigint`.\n- If you omit both the RPC URL and signer, the SDK falls back to the default `ethers` mainnet provider.\n","readmeFilename":"README.md"}