ox 0.0.1 → 0.1.0
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/Abi/package.json +6 -0
- package/Abi.ts +163 -0
- package/AbiConstructor/package.json +6 -0
- package/AbiConstructor.ts +413 -0
- package/AbiError/package.json +6 -0
- package/AbiError.ts +719 -0
- package/AbiEvent/package.json +6 -0
- package/AbiEvent.ts +1284 -0
- package/AbiFunction/package.json +6 -0
- package/AbiFunction.ts +813 -0
- package/AbiItem/package.json +6 -0
- package/AbiItem.ts +779 -0
- package/AbiParameters/package.json +6 -0
- package/AbiParameters.ts +712 -0
- package/AccessList/package.json +6 -0
- package/AccessList.ts +124 -0
- package/AccountProof/package.json +6 -0
- package/AccountProof.ts +35 -0
- package/Address/package.json +6 -0
- package/Address.ts +359 -0
- package/AesGcm/package.json +6 -0
- package/AesGcm.ts +220 -0
- package/Authorization/package.json +6 -0
- package/Authorization.ts +639 -0
- package/Base58/package.json +6 -0
- package/Base58.ts +180 -0
- package/Base64/package.json +6 -0
- package/Base64.ts +333 -0
- package/Blobs/package.json +6 -0
- package/Blobs.ts +982 -0
- package/Block/package.json +6 -0
- package/Block.ts +317 -0
- package/Bloom/package.json +6 -0
- package/Bloom.ts +80 -0
- package/Bls/package.json +6 -0
- package/Bls.ts +496 -0
- package/BlsPoint/package.json +6 -0
- package/BlsPoint.ts +232 -0
- package/Bytes/package.json +6 -0
- package/Bytes.ts +963 -0
- package/CHANGELOG.md +7 -0
- package/Caches/package.json +6 -0
- package/Caches.ts +21 -0
- package/ContractAddress/package.json +6 -0
- package/ContractAddress.ts +181 -0
- package/Ens/package.json +6 -0
- package/Ens.ts +116 -0
- package/Errors/package.json +6 -0
- package/Errors.ts +95 -0
- package/Fee/package.json +6 -0
- package/Fee.ts +57 -0
- package/Filter/package.json +6 -0
- package/Filter.ts +144 -0
- package/Hash/package.json +6 -0
- package/Hash.ts +210 -0
- package/HdKey/package.json +6 -0
- package/HdKey.ts +175 -0
- package/Hex/package.json +6 -0
- package/Hex.ts +1040 -0
- package/Json/package.json +6 -0
- package/Json.ts +84 -0
- package/Kzg/package.json +6 -0
- package/Kzg.ts +51 -0
- package/LICENSE +21 -0
- package/Log/package.json +6 -0
- package/Log.ts +248 -0
- package/Mnemonic/package.json +6 -0
- package/Mnemonic.ts +249 -0
- package/P256/package.json +6 -0
- package/P256.ts +230 -0
- package/PersonalMessage/package.json +6 -0
- package/PersonalMessage.ts +70 -0
- package/Provider/package.json +6 -0
- package/Provider.ts +354 -0
- package/PublicKey/package.json +6 -0
- package/PublicKey.ts +545 -0
- package/README.md +75 -26
- package/Rlp/package.json +6 -0
- package/Rlp.ts +390 -0
- package/RpcRequest/package.json +6 -0
- package/RpcRequest.ts +192 -0
- package/RpcResponse/package.json +6 -0
- package/RpcResponse.ts +389 -0
- package/RpcSchema/package.json +6 -0
- package/RpcSchema.ts +273 -0
- package/RpcTransport/package.json +6 -0
- package/RpcTransport.ts +198 -0
- package/Secp256k1/package.json +6 -0
- package/Secp256k1.ts +304 -0
- package/Signature/package.json +6 -0
- package/Signature.ts +909 -0
- package/Siwe/package.json +6 -0
- package/Siwe.ts +516 -0
- package/Solidity/package.json +6 -0
- package/Solidity.ts +109 -0
- package/Transaction/package.json +6 -0
- package/Transaction.ts +429 -0
- package/TransactionEnvelope/package.json +6 -0
- package/TransactionEnvelope.ts +205 -0
- package/TransactionEnvelopeEip1559/package.json +6 -0
- package/TransactionEnvelopeEip1559.ts +656 -0
- package/TransactionEnvelopeEip2930/package.json +6 -0
- package/TransactionEnvelopeEip2930.ts +624 -0
- package/TransactionEnvelopeEip4844/package.json +6 -0
- package/TransactionEnvelopeEip4844.ts +764 -0
- package/TransactionEnvelopeEip7702/package.json +6 -0
- package/TransactionEnvelopeEip7702.ts +639 -0
- package/TransactionEnvelopeLegacy/package.json +6 -0
- package/TransactionEnvelopeLegacy.ts +674 -0
- package/TransactionReceipt/package.json +6 -0
- package/TransactionReceipt.ts +341 -0
- package/TransactionRequest/package.json +6 -0
- package/TransactionRequest.ts +151 -0
- package/TypedData/package.json +6 -0
- package/TypedData.ts +931 -0
- package/ValidatorData/package.json +6 -0
- package/ValidatorData.ts +87 -0
- package/Value/package.json +6 -0
- package/Value.ts +242 -0
- package/WebAuthnP256/package.json +6 -0
- package/WebAuthnP256.ts +803 -0
- package/WebCryptoP256/package.json +6 -0
- package/WebCryptoP256.ts +190 -0
- package/Withdrawal/package.json +6 -0
- package/Withdrawal.ts +95 -0
- package/_cjs/Abi.js +17 -0
- package/_cjs/Abi.js.map +1 -0
- package/_cjs/AbiConstructor.js +42 -0
- package/_cjs/AbiConstructor.js.map +1 -0
- package/_cjs/AbiError.js +98 -0
- package/_cjs/AbiError.js.map +1 -0
- package/_cjs/AbiEvent.js +338 -0
- package/_cjs/AbiEvent.js.map +1 -0
- package/_cjs/AbiFunction.js +85 -0
- package/_cjs/AbiFunction.js.map +1 -0
- package/_cjs/AbiItem.js +180 -0
- package/_cjs/AbiItem.js.map +1 -0
- package/_cjs/AbiParameters.js +229 -0
- package/_cjs/AbiParameters.js.map +1 -0
- package/_cjs/AccessList.js +51 -0
- package/_cjs/AccessList.js.map +1 -0
- package/_cjs/AccountProof.js +3 -0
- package/_cjs/AccountProof.js.map +1 -0
- package/_cjs/Address.js +121 -0
- package/_cjs/Address.js.map +1 -0
- package/_cjs/AesGcm.js +55 -0
- package/_cjs/AesGcm.js.map +1 -0
- package/_cjs/Authorization.js +99 -0
- package/_cjs/Authorization.js.map +1 -0
- package/_cjs/Base58.js +52 -0
- package/_cjs/Base58.js.map +1 -0
- package/_cjs/Base64.js +76 -0
- package/_cjs/Base64.js.map +1 -0
- package/_cjs/Blobs.js +255 -0
- package/_cjs/Blobs.js.map +1 -0
- package/_cjs/Block.js +87 -0
- package/_cjs/Block.js.map +1 -0
- package/_cjs/Bloom.js +23 -0
- package/_cjs/Bloom.js.map +1 -0
- package/_cjs/Bls.js +79 -0
- package/_cjs/Bls.js.map +1 -0
- package/_cjs/BlsPoint.js +32 -0
- package/_cjs/BlsPoint.js.map +1 -0
- package/_cjs/Bytes.js +279 -0
- package/_cjs/Bytes.js.map +1 -0
- package/_cjs/Caches.js +14 -0
- package/_cjs/Caches.js.map +1 -0
- package/_cjs/ContractAddress.js +39 -0
- package/_cjs/ContractAddress.js.map +1 -0
- package/_cjs/Ens.js +37 -0
- package/_cjs/Ens.js.map +1 -0
- package/_cjs/Errors.js +99 -0
- package/_cjs/Errors.js.map +1 -0
- package/_cjs/Fee.js +3 -0
- package/_cjs/Fee.js.map +1 -0
- package/_cjs/Filter.js +43 -0
- package/_cjs/Filter.js.map +1 -0
- package/_cjs/Hash.js +40 -0
- package/_cjs/Hash.js.map +1 -0
- package/_cjs/HdKey.js +30 -0
- package/_cjs/HdKey.js.map +1 -0
- package/_cjs/Hex.js +324 -0
- package/_cjs/Hex.js.map +1 -0
- package/_cjs/Json.js +25 -0
- package/_cjs/Json.js.map +1 -0
- package/_cjs/Kzg.js +14 -0
- package/_cjs/Kzg.js.map +1 -0
- package/_cjs/Log.js +35 -0
- package/_cjs/Log.js.map +1 -0
- package/_cjs/Mnemonic.js +56 -0
- package/_cjs/Mnemonic.js.map +1 -0
- package/_cjs/P256.js +52 -0
- package/_cjs/P256.js.map +1 -0
- package/_cjs/PersonalMessage.js +16 -0
- package/_cjs/PersonalMessage.js.map +1 -0
- package/_cjs/Provider.js +90 -0
- package/_cjs/Provider.js.map +1 -0
- package/_cjs/PublicKey.js +192 -0
- package/_cjs/PublicKey.js.map +1 -0
- package/_cjs/Rlp.js +179 -0
- package/_cjs/Rlp.js.map +1 -0
- package/_cjs/RpcRequest.js +27 -0
- package/_cjs/RpcRequest.js.map +1 -0
- package/_cjs/RpcResponse.js +368 -0
- package/_cjs/RpcResponse.js.map +1 -0
- package/_cjs/RpcSchema.js +7 -0
- package/_cjs/RpcSchema.js.map +1 -0
- package/_cjs/RpcTransport.js +95 -0
- package/_cjs/RpcTransport.js.map +1 -0
- package/_cjs/Secp256k1.js +57 -0
- package/_cjs/Secp256k1.js.map +1 -0
- package/_cjs/Signature.js +305 -0
- package/_cjs/Signature.js.map +1 -0
- package/_cjs/Siwe.js +231 -0
- package/_cjs/Siwe.js.map +1 -0
- package/_cjs/Solidity.js +104 -0
- package/_cjs/Solidity.js.map +1 -0
- package/_cjs/Transaction.js +106 -0
- package/_cjs/Transaction.js.map +1 -0
- package/_cjs/TransactionEnvelope.js +80 -0
- package/_cjs/TransactionEnvelope.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip1559.js +182 -0
- package/_cjs/TransactionEnvelopeEip1559.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip2930.js +166 -0
- package/_cjs/TransactionEnvelopeEip2930.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip4844.js +224 -0
- package/_cjs/TransactionEnvelopeEip4844.js.map +1 -0
- package/_cjs/TransactionEnvelopeEip7702.js +156 -0
- package/_cjs/TransactionEnvelopeEip7702.js.map +1 -0
- package/_cjs/TransactionEnvelopeLegacy.js +221 -0
- package/_cjs/TransactionEnvelopeLegacy.js.map +1 -0
- package/_cjs/TransactionReceipt.js +76 -0
- package/_cjs/TransactionReceipt.js.map +1 -0
- package/_cjs/TransactionRequest.js +51 -0
- package/_cjs/TransactionRequest.js.map +1 -0
- package/_cjs/TypedData.js +318 -0
- package/_cjs/TypedData.js.map +1 -0
- package/_cjs/ValidatorData.js +16 -0
- package/_cjs/ValidatorData.js.map +1 -0
- package/_cjs/Value.js +96 -0
- package/_cjs/Value.js.map +1 -0
- package/_cjs/WebAuthnP256.js +245 -0
- package/_cjs/WebAuthnP256.js.map +1 -0
- package/_cjs/WebCryptoP256.js +46 -0
- package/_cjs/WebCryptoP256.js.map +1 -0
- package/_cjs/Withdrawal.js +24 -0
- package/_cjs/Withdrawal.js.map +1 -0
- package/_cjs/index.js +66 -0
- package/_cjs/index.js.map +1 -0
- package/_cjs/internal/abi.js +11 -0
- package/_cjs/internal/abi.js.map +1 -0
- package/_cjs/internal/abiConstructor.js +3 -0
- package/_cjs/internal/abiConstructor.js.map +1 -0
- package/_cjs/internal/abiError.js +3 -0
- package/_cjs/internal/abiError.js.map +1 -0
- package/_cjs/internal/abiEvent.js +3 -0
- package/_cjs/internal/abiEvent.js.map +1 -0
- package/_cjs/internal/abiFunction.js +3 -0
- package/_cjs/internal/abiFunction.js.map +1 -0
- package/_cjs/internal/abiItem.js +110 -0
- package/_cjs/internal/abiItem.js.map +1 -0
- package/_cjs/internal/abiParameters.js +376 -0
- package/_cjs/internal/abiParameters.js.map +1 -0
- package/_cjs/internal/base58.js +89 -0
- package/_cjs/internal/base58.js.map +1 -0
- package/_cjs/internal/bytes.js +88 -0
- package/_cjs/internal/bytes.js.map +1 -0
- package/_cjs/internal/cursor.js +210 -0
- package/_cjs/internal/cursor.js.map +1 -0
- package/_cjs/internal/ens.js +43 -0
- package/_cjs/internal/ens.js.map +1 -0
- package/_cjs/internal/errors.js +28 -0
- package/_cjs/internal/errors.js.map +1 -0
- package/_cjs/internal/hdKey.js +19 -0
- package/_cjs/internal/hdKey.js.map +1 -0
- package/_cjs/internal/hex.js +66 -0
- package/_cjs/internal/hex.js.map +1 -0
- package/_cjs/internal/lru.js +34 -0
- package/_cjs/internal/lru.js.map +1 -0
- package/_cjs/internal/mnemonic/wordlists.js +24 -0
- package/_cjs/internal/mnemonic/wordlists.js.map +1 -0
- package/_cjs/internal/promise.js +49 -0
- package/_cjs/internal/promise.js.map +1 -0
- package/_cjs/internal/register.js +3 -0
- package/_cjs/internal/register.js.map +1 -0
- package/_cjs/internal/rpcSchema.js +3 -0
- package/_cjs/internal/rpcSchema.js.map +1 -0
- package/_cjs/internal/rpcSchemas/eth.js +3 -0
- package/_cjs/internal/rpcSchemas/eth.js.map +1 -0
- package/_cjs/internal/rpcSchemas/wallet.js +3 -0
- package/_cjs/internal/rpcSchemas/wallet.js.map +1 -0
- package/_cjs/internal/rpcTransport.js +19 -0
- package/_cjs/internal/rpcTransport.js.map +1 -0
- package/_cjs/internal/types.js +3 -0
- package/_cjs/internal/types.js.map +1 -0
- package/_cjs/internal/uid.js +17 -0
- package/_cjs/internal/uid.js.map +1 -0
- package/_cjs/internal/webauthn.js +28 -0
- package/_cjs/internal/webauthn.js.map +1 -0
- package/_cjs/package.json +1 -0
- package/_cjs/trusted-setups/Paths.js +6 -0
- package/_cjs/trusted-setups/Paths.js.map +1 -0
- package/_cjs/trusted-setups/index.js +5 -0
- package/_cjs/trusted-setups/index.js.map +1 -0
- package/_cjs/trusted-setups/internal/paths.js +11 -0
- package/_cjs/trusted-setups/internal/paths.js.map +1 -0
- package/_cjs/version.js +5 -0
- package/_cjs/version.js.map +1 -0
- package/_cjs/window/index.js +3 -0
- package/_cjs/window/index.js.map +1 -0
- package/_esm/Abi.js +19 -0
- package/_esm/Abi.js.map +1 -0
- package/_esm/AbiConstructor.js +102 -0
- package/_esm/AbiConstructor.js.map +1 -0
- package/_esm/AbiError.js +364 -0
- package/_esm/AbiError.js.map +1 -0
- package/_esm/AbiEvent.js +1038 -0
- package/_esm/AbiEvent.js.map +1 -0
- package/_esm/AbiFunction.js +549 -0
- package/_esm/AbiFunction.js.map +1 -0
- package/_esm/AbiItem.js +574 -0
- package/_esm/AbiItem.js.map +1 -0
- package/_esm/AbiParameters.js +543 -0
- package/_esm/AbiParameters.js.map +1 -0
- package/_esm/AccessList.js +105 -0
- package/_esm/AccessList.js.map +1 -0
- package/_esm/AccountProof.js +2 -0
- package/_esm/AccountProof.js.map +1 -0
- package/_esm/Address.js +268 -0
- package/_esm/Address.js.map +1 -0
- package/_esm/AesGcm.js +124 -0
- package/_esm/AesGcm.js.map +1 -0
- package/_esm/Authorization.js +441 -0
- package/_esm/Authorization.js.map +1 -0
- package/_esm/Base58.js +142 -0
- package/_esm/Base58.js.map +1 -0
- package/_esm/Base64.js +236 -0
- package/_esm/Base64.js.map +1 -0
- package/_esm/Blobs.js +624 -0
- package/_esm/Blobs.js.map +1 -0
- package/_esm/Block.js +177 -0
- package/_esm/Block.js.map +1 -0
- package/_esm/Bloom.js +57 -0
- package/_esm/Bloom.js.map +1 -0
- package/_esm/Bls.js +141 -0
- package/_esm/Bls.js.map +1 -0
- package/_esm/BlsPoint.js +59 -0
- package/_esm/BlsPoint.js.map +1 -0
- package/_esm/Bytes.js +719 -0
- package/_esm/Bytes.js.map +1 -0
- package/_esm/Caches.js +19 -0
- package/_esm/Caches.js.map +1 -0
- package/_esm/ContractAddress.js +110 -0
- package/_esm/ContractAddress.js.map +1 -0
- package/_esm/Ens.js +84 -0
- package/_esm/Ens.js.map +1 -0
- package/_esm/Errors.js +105 -0
- package/_esm/Errors.js.map +1 -0
- package/_esm/Fee.js +2 -0
- package/_esm/Fee.js.map +1 -0
- package/_esm/Filter.js +100 -0
- package/_esm/Filter.js.map +1 -0
- package/_esm/Hash.js +126 -0
- package/_esm/Hash.js.map +1 -0
- package/_esm/HdKey.js +107 -0
- package/_esm/HdKey.js.map +1 -0
- package/_esm/Hex.js +763 -0
- package/_esm/Hex.js.map +1 -0
- package/_esm/Json.js +62 -0
- package/_esm/Json.js.map +1 -0
- package/_esm/Kzg.js +30 -0
- package/_esm/Kzg.js.map +1 -0
- package/_esm/Log.js +181 -0
- package/_esm/Log.js.map +1 -0
- package/_esm/Mnemonic.js +154 -0
- package/_esm/Mnemonic.js.map +1 -0
- package/_esm/P256.js +131 -0
- package/_esm/P256.js.map +1 -0
- package/_esm/PersonalMessage.js +46 -0
- package/_esm/PersonalMessage.js.map +1 -0
- package/_esm/Provider.js +122 -0
- package/_esm/Provider.js.map +1 -0
- package/_esm/PublicKey.js +395 -0
- package/_esm/PublicKey.js.map +1 -0
- package/_esm/Rlp.js +267 -0
- package/_esm/Rlp.js.map +1 -0
- package/_esm/RpcRequest.js +131 -0
- package/_esm/RpcRequest.js.map +1 -0
- package/_esm/RpcResponse.js +457 -0
- package/_esm/RpcResponse.js.map +1 -0
- package/_esm/RpcSchema.js +46 -0
- package/_esm/RpcSchema.js.map +1 -0
- package/_esm/RpcTransport.js +110 -0
- package/_esm/RpcTransport.js.map +1 -0
- package/_esm/Secp256k1.js +173 -0
- package/_esm/Secp256k1.js.map +1 -0
- package/_esm/Signature.js +696 -0
- package/_esm/Signature.js.map +1 -0
- package/_esm/Siwe.js +374 -0
- package/_esm/Siwe.js.map +1 -0
- package/_esm/Solidity.js +104 -0
- package/_esm/Solidity.js.map +1 -0
- package/_esm/Transaction.js +176 -0
- package/_esm/Transaction.js.map +1 -0
- package/_esm/TransactionEnvelope.js +139 -0
- package/_esm/TransactionEnvelope.js.map +1 -0
- package/_esm/TransactionEnvelopeEip1559.js +455 -0
- package/_esm/TransactionEnvelopeEip1559.js.map +1 -0
- package/_esm/TransactionEnvelopeEip2930.js +439 -0
- package/_esm/TransactionEnvelopeEip2930.js.map +1 -0
- package/_esm/TransactionEnvelopeEip4844.js +542 -0
- package/_esm/TransactionEnvelopeEip4844.js.map +1 -0
- package/_esm/TransactionEnvelopeEip7702.js +442 -0
- package/_esm/TransactionEnvelopeEip7702.js.map +1 -0
- package/_esm/TransactionEnvelopeLegacy.js +495 -0
- package/_esm/TransactionEnvelopeLegacy.js.map +1 -0
- package/_esm/TransactionReceipt.js +229 -0
- package/_esm/TransactionReceipt.js.map +1 -0
- package/_esm/TransactionRequest.js +89 -0
- package/_esm/TransactionRequest.js.map +1 -0
- package/_esm/TypedData.js +635 -0
- package/_esm/TypedData.js.map +1 -0
- package/_esm/ValidatorData.js +52 -0
- package/_esm/ValidatorData.js.map +1 -0
- package/_esm/Value.js +196 -0
- package/_esm/Value.js.map +1 -0
- package/_esm/WebAuthnP256.js +471 -0
- package/_esm/WebAuthnP256.js.map +1 -0
- package/_esm/WebCryptoP256.js +116 -0
- package/_esm/WebCryptoP256.js.map +1 -0
- package/_esm/Withdrawal.js +72 -0
- package/_esm/Withdrawal.js.map +1 -0
- package/_esm/index.js +3366 -0
- package/_esm/index.js.map +1 -0
- package/_esm/internal/abi.js +9 -0
- package/_esm/internal/abi.js.map +1 -0
- package/_esm/internal/abiConstructor.js +2 -0
- package/_esm/internal/abiConstructor.js.map +1 -0
- package/_esm/internal/abiError.js +2 -0
- package/_esm/internal/abiError.js.map +1 -0
- package/_esm/internal/abiEvent.js +2 -0
- package/_esm/internal/abiEvent.js.map +1 -0
- package/_esm/internal/abiFunction.js +2 -0
- package/_esm/internal/abiFunction.js.map +1 -0
- package/_esm/internal/abiItem.js +122 -0
- package/_esm/internal/abiItem.js.map +1 -0
- package/_esm/internal/abiParameters.js +419 -0
- package/_esm/internal/abiParameters.js.map +1 -0
- package/_esm/internal/base58.js +91 -0
- package/_esm/internal/base58.js.map +1 -0
- package/_esm/internal/bytes.js +86 -0
- package/_esm/internal/bytes.js.map +1 -0
- package/_esm/internal/cursor.js +207 -0
- package/_esm/internal/cursor.js.map +1 -0
- package/_esm/internal/ens.js +47 -0
- package/_esm/internal/ens.js.map +1 -0
- package/_esm/internal/errors.js +26 -0
- package/_esm/internal/errors.js.map +1 -0
- package/_esm/internal/hdKey.js +17 -0
- package/_esm/internal/hdKey.js.map +1 -0
- package/_esm/internal/hex.js +64 -0
- package/_esm/internal/hex.js.map +1 -0
- package/_esm/internal/lru.js +36 -0
- package/_esm/internal/lru.js.map +1 -0
- package/_esm/internal/mnemonic/wordlists.js +11 -0
- package/_esm/internal/mnemonic/wordlists.js.map +1 -0
- package/_esm/internal/promise.js +52 -0
- package/_esm/internal/promise.js.map +1 -0
- package/_esm/internal/register.js +2 -0
- package/_esm/internal/register.js.map +1 -0
- package/_esm/internal/rpcSchema.js +2 -0
- package/_esm/internal/rpcSchema.js.map +1 -0
- package/_esm/internal/rpcSchemas/eth.js +2 -0
- package/_esm/internal/rpcSchemas/eth.js.map +1 -0
- package/_esm/internal/rpcSchemas/wallet.js +2 -0
- package/_esm/internal/rpcSchemas/wallet.js.map +1 -0
- package/_esm/internal/rpcTransport.js +20 -0
- package/_esm/internal/rpcTransport.js.map +1 -0
- package/_esm/internal/types.js +2 -0
- package/_esm/internal/types.js.map +1 -0
- package/_esm/internal/uid.js +15 -0
- package/_esm/internal/uid.js.map +1 -0
- package/_esm/internal/webauthn.js +35 -0
- package/_esm/internal/webauthn.js.map +1 -0
- package/_esm/package.json +1 -0
- package/_esm/trusted-setups/Paths.js +3 -0
- package/_esm/trusted-setups/Paths.js.map +1 -0
- package/_esm/trusted-setups/index.js +2 -0
- package/_esm/trusted-setups/index.js.map +1 -0
- package/_esm/trusted-setups/internal/paths.js +12 -0
- package/_esm/trusted-setups/internal/paths.js.map +1 -0
- package/_esm/version.js +3 -0
- package/_esm/version.js.map +1 -0
- package/_esm/window/index.js +2 -0
- package/_esm/window/index.js.map +1 -0
- package/_test/Abi.test-d/package.json +6 -0
- package/_test/AbiConstructor.test-d/package.json +6 -0
- package/_test/AbiError.test-d/package.json +6 -0
- package/_test/AbiEvent.snap-d/package.json +6 -0
- package/_test/AbiEvent.snap-d.ts +329 -0
- package/_test/AbiFunction.snap-d/package.json +6 -0
- package/_test/AbiFunction.snap-d.ts +262 -0
- package/_test/AbiItem.snap-d/package.json +6 -0
- package/_test/AbiItem.snap-d.ts +131 -0
- package/_test/AbiParameters.bench/package.json +6 -0
- package/_test/AbiParameters.snap-d/package.json +6 -0
- package/_test/AbiParameters.snap-d.ts +66 -0
- package/_test/Address.bench/package.json +6 -0
- package/_test/Base58.bench/package.json +6 -0
- package/_test/Hex.bench/package.json +6 -0
- package/_test/Hex.test-d/package.json +6 -0
- package/_test/PublicKey.test-d/package.json +6 -0
- package/_test/Rlp.bench/package.json +6 -0
- package/_test/Rlp.test-d/package.json +6 -0
- package/_test/Signature.snap-d/package.json +6 -0
- package/_test/Signature.snap-d.ts +96 -0
- package/_test/TransactionEnvelopeEip1559.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip2930.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip4844.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeEip7702.test-d/package.json +6 -0
- package/_test/TransactionEnvelopeLegacy.test-d/package.json +6 -0
- package/_test/TypedData.test-d/package.json +6 -0
- package/_types/Abi.d.ts +137 -0
- package/_types/Abi.d.ts.map +1 -0
- package/_types/AbiConstructor.d.ts +305 -0
- package/_types/AbiConstructor.d.ts.map +1 -0
- package/_types/AbiError.d.ts +522 -0
- package/_types/AbiError.d.ts.map +1 -0
- package/_types/AbiEvent.d.ts +892 -0
- package/_types/AbiEvent.d.ts.map +1 -0
- package/_types/AbiFunction.d.ts +602 -0
- package/_types/AbiFunction.d.ts.map +1 -0
- package/_types/AbiItem.d.ts +544 -0
- package/_types/AbiItem.d.ts.map +1 -0
- package/_types/AbiParameters.d.ts +466 -0
- package/_types/AbiParameters.d.ts.map +1 -0
- package/_types/AccessList.d.ts +83 -0
- package/_types/AccessList.d.ts.map +1 -0
- package/_types/AccountProof.d.ts +32 -0
- package/_types/AccountProof.d.ts.map +1 -0
- package/_types/Address.d.ts +244 -0
- package/_types/Address.d.ts.map +1 -0
- package/_types/AesGcm.d.ts +116 -0
- package/_types/AesGcm.d.ts.map +1 -0
- package/_types/Authorization.d.ts +461 -0
- package/_types/Authorization.d.ts.map +1 -0
- package/_types/Base58.d.ts +131 -0
- package/_types/Base58.d.ts.map +1 -0
- package/_types/Base64.d.ts +244 -0
- package/_types/Base64.d.ts.map +1 -0
- package/_types/Blobs.d.ts +556 -0
- package/_types/Blobs.d.ts.map +1 -0
- package/_types/Block.d.ts +190 -0
- package/_types/Block.d.ts.map +1 -0
- package/_types/Bloom.d.ts +54 -0
- package/_types/Bloom.d.ts.map +1 -0
- package/_types/Bls.d.ts +365 -0
- package/_types/Bls.d.ts.map +1 -0
- package/_types/BlsPoint.d.ts +187 -0
- package/_types/BlsPoint.d.ts.map +1 -0
- package/_types/Bytes.d.ts +674 -0
- package/_types/Bytes.d.ts.map +1 -0
- package/_types/Caches.d.ts +13 -0
- package/_types/Caches.d.ts.map +1 -0
- package/_types/ContractAddress.d.ts +115 -0
- package/_types/ContractAddress.d.ts.map +1 -0
- package/_types/Ens.d.ts +72 -0
- package/_types/Ens.d.ts.map +1 -0
- package/_types/Errors.d.ts +33 -0
- package/_types/Errors.d.ts.map +1 -0
- package/_types/Fee.d.ts +41 -0
- package/_types/Fee.d.ts.map +1 -0
- package/_types/Filter.d.ts +100 -0
- package/_types/Filter.d.ts.map +1 -0
- package/_types/Hash.d.ts +135 -0
- package/_types/Hash.d.ts.map +1 -0
- package/_types/HdKey.d.ts +146 -0
- package/_types/HdKey.d.ts.map +1 -0
- package/_types/Hex.d.ts +711 -0
- package/_types/Hex.d.ts.map +1 -0
- package/_types/Json.d.ts +53 -0
- package/_types/Json.d.ts.map +1 -0
- package/_types/Kzg.d.ts +42 -0
- package/_types/Kzg.d.ts.map +1 -0
- package/_types/Log.d.ts +194 -0
- package/_types/Log.d.ts.map +1 -0
- package/_types/Mnemonic.d.ts +176 -0
- package/_types/Mnemonic.d.ts.map +1 -0
- package/_types/P256.d.ts +207 -0
- package/_types/P256.d.ts.map +1 -0
- package/_types/PersonalMessage.d.ts +49 -0
- package/_types/PersonalMessage.d.ts.map +1 -0
- package/_types/Provider.d.ts +268 -0
- package/_types/Provider.d.ts.map +1 -0
- package/_types/PublicKey.d.ts +327 -0
- package/_types/PublicKey.d.ts.map +1 -0
- package/_types/Rlp.d.ts +153 -0
- package/_types/Rlp.d.ts.map +1 -0
- package/_types/RpcRequest.d.ts +144 -0
- package/_types/RpcRequest.d.ts.map +1 -0
- package/_types/RpcResponse.d.ts +266 -0
- package/_types/RpcResponse.d.ts.map +1 -0
- package/_types/RpcSchema.d.ts +248 -0
- package/_types/RpcSchema.d.ts.map +1 -0
- package/_types/RpcTransport.d.ts +65 -0
- package/_types/RpcTransport.d.ts.map +1 -0
- package/_types/Secp256k1.d.ts +277 -0
- package/_types/Secp256k1.d.ts.map +1 -0
- package/_types/Signature.d.ts +601 -0
- package/_types/Signature.d.ts.map +1 -0
- package/_types/Siwe.d.ts +249 -0
- package/_types/Siwe.d.ts.map +1 -0
- package/_types/Solidity.d.ts +100 -0
- package/_types/Solidity.d.ts.map +1 -0
- package/_types/Transaction.d.ts +235 -0
- package/_types/Transaction.d.ts.map +1 -0
- package/_types/TransactionEnvelope.d.ts +141 -0
- package/_types/TransactionEnvelope.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip1559.d.ts +367 -0
- package/_types/TransactionEnvelopeEip1559.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip2930.d.ts +364 -0
- package/_types/TransactionEnvelopeEip2930.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip4844.d.ts +419 -0
- package/_types/TransactionEnvelopeEip4844.d.ts.map +1 -0
- package/_types/TransactionEnvelopeEip7702.d.ts +377 -0
- package/_types/TransactionEnvelopeEip7702.d.ts.map +1 -0
- package/_types/TransactionEnvelopeLegacy.d.ts +358 -0
- package/_types/TransactionEnvelopeLegacy.d.ts.map +1 -0
- package/_types/TransactionReceipt.d.ts +271 -0
- package/_types/TransactionReceipt.d.ts.map +1 -0
- package/_types/TransactionRequest.d.ts +92 -0
- package/_types/TransactionRequest.d.ts.map +1 -0
- package/_types/TypedData.d.ts +496 -0
- package/_types/TypedData.d.ts.map +1 -0
- package/_types/ValidatorData.d.ts +64 -0
- package/_types/ValidatorData.d.ts.map +1 -0
- package/_types/Value.d.ts +159 -0
- package/_types/Value.d.ts.map +1 -0
- package/_types/WebAuthnP256.d.ts +445 -0
- package/_types/WebAuthnP256.d.ts.map +1 -0
- package/_types/WebCryptoP256.d.ts +119 -0
- package/_types/WebCryptoP256.d.ts.map +1 -0
- package/_types/Withdrawal.d.ts +74 -0
- package/_types/Withdrawal.d.ts.map +1 -0
- package/_types/index.d.ts +3367 -0
- package/_types/index.d.ts.map +1 -0
- package/_types/internal/abi.d.ts +4 -0
- package/_types/internal/abi.d.ts.map +1 -0
- package/_types/internal/abiConstructor.d.ts +11 -0
- package/_types/internal/abiConstructor.d.ts.map +1 -0
- package/_types/internal/abiError.d.ts +11 -0
- package/_types/internal/abiError.d.ts.map +1 -0
- package/_types/internal/abiEvent.d.ts +60 -0
- package/_types/internal/abiEvent.d.ts.map +1 -0
- package/_types/internal/abiFunction.d.ts +11 -0
- package/_types/internal/abiFunction.d.ts.map +1 -0
- package/_types/internal/abiItem.d.ts +100 -0
- package/_types/internal/abiItem.d.ts.map +1 -0
- package/_types/internal/abiParameters.d.ts +169 -0
- package/_types/internal/abiParameters.d.ts.map +1 -0
- package/_types/internal/base58.d.ts +17 -0
- package/_types/internal/base58.d.ts.map +1 -0
- package/_types/internal/bytes.d.ts +52 -0
- package/_types/internal/bytes.d.ts.map +1 -0
- package/_types/internal/cursor.d.ts +70 -0
- package/_types/internal/cursor.d.ts.map +1 -0
- package/_types/internal/ens.d.ts +23 -0
- package/_types/internal/ens.d.ts.map +1 -0
- package/_types/internal/errors.d.ts +7 -0
- package/_types/internal/errors.d.ts.map +1 -0
- package/_types/internal/hdKey.d.ts +10 -0
- package/_types/internal/hdKey.d.ts.map +1 -0
- package/_types/internal/hex.d.ts +39 -0
- package/_types/internal/hex.d.ts.map +1 -0
- package/_types/internal/lru.d.ts +13 -0
- package/_types/internal/lru.d.ts.map +1 -0
- package/_types/internal/mnemonic/wordlists.d.ts +11 -0
- package/_types/internal/mnemonic/wordlists.d.ts.map +1 -0
- package/_types/internal/promise.d.ts +27 -0
- package/_types/internal/promise.d.ts.map +1 -0
- package/_types/internal/register.d.ts +13 -0
- package/_types/internal/register.d.ts.map +1 -0
- package/_types/internal/rpcSchema.d.ts +12 -0
- package/_types/internal/rpcSchema.d.ts.map +1 -0
- package/_types/internal/rpcSchemas/eth.d.ts +718 -0
- package/_types/internal/rpcSchemas/eth.d.ts.map +1 -0
- package/_types/internal/rpcSchemas/wallet.d.ts +416 -0
- package/_types/internal/rpcSchemas/wallet.d.ts.map +1 -0
- package/_types/internal/rpcTransport.d.ts +38 -0
- package/_types/internal/rpcTransport.d.ts.map +1 -0
- package/_types/internal/types.d.ts +284 -0
- package/_types/internal/types.d.ts.map +1 -0
- package/_types/internal/uid.d.ts +3 -0
- package/_types/internal/uid.d.ts.map +1 -0
- package/_types/internal/webauthn.d.ts +127 -0
- package/_types/internal/webauthn.d.ts.map +1 -0
- package/_types/trusted-setups/Paths.d.ts +2 -0
- package/_types/trusted-setups/Paths.d.ts.map +1 -0
- package/_types/trusted-setups/index.d.ts +2 -0
- package/_types/trusted-setups/index.d.ts.map +1 -0
- package/_types/trusted-setups/internal/paths.d.ts +3 -0
- package/_types/trusted-setups/internal/paths.d.ts.map +1 -0
- package/_types/version.d.ts +3 -0
- package/_types/version.d.ts.map +1 -0
- package/_types/window/index.d.ts +7 -0
- package/_types/window/index.d.ts.map +1 -0
- package/index.ts +3427 -0
- package/internal/abi.ts +11 -0
- package/internal/abiConstructor.ts +32 -0
- package/internal/abiError.ts +30 -0
- package/internal/abiEvent.ts +154 -0
- package/internal/abiFunction.ts +32 -0
- package/internal/abiItem.ts +593 -0
- package/internal/abiParameters.ts +741 -0
- package/internal/base58.ts +106 -0
- package/internal/bytes.ts +152 -0
- package/internal/cursor.ts +252 -0
- package/internal/ens.ts +64 -0
- package/internal/errors.ts +26 -0
- package/internal/hdKey.ts +25 -0
- package/internal/hex.ts +123 -0
- package/internal/lru.ts +34 -0
- package/internal/mnemonic/wordlists.ts +10 -0
- package/internal/promise.ts +66 -0
- package/internal/register.ts +15 -0
- package/internal/rpcSchema.ts +20 -0
- package/internal/rpcSchemas/eth.ts +727 -0
- package/internal/rpcSchemas/wallet.ts +428 -0
- package/internal/rpcTransport.ts +74 -0
- package/internal/types.ts +414 -0
- package/internal/uid.ts +15 -0
- package/internal/webauthn.ts +198 -0
- package/package.json +500 -20
- package/trusted-setups/Paths/package.json +6 -0
- package/trusted-setups/Paths.ts +3 -0
- package/trusted-setups/index.ts +1 -0
- package/trusted-setups/internal/paths.ts +13 -0
- package/trusted-setups/internal/setups/mainnet.json +8265 -0
- package/trusted-setups/internal/setups/mainnet.txt +4163 -0
- package/trusted-setups/package.json +6 -0
- package/tsdoc.json +4 -0
- package/version/package.json +6 -0
- package/version.ts +2 -0
- package/window/index.ts +7 -0
- package/window/package.json +6 -0
- package/cl/ansiesc.js +0 -25
- package/cl/deps.js +0 -7
- package/cl/editor.js +0 -141
- package/cl/index.html +0 -19
- package/cl/ox.js +0 -44
- package/cl/socket.io.js +0 -1922
- package/cl/style.css +0 -37
- package/srv/deps.js +0 -88
- package/srv/httpSrv.js +0 -82
- package/srv/ox.js +0 -44
- package/srv/remoteXtermReq.js +0 -70
package/Siwe.ts
ADDED
|
@@ -0,0 +1,516 @@
|
|
|
1
|
+
import * as Address from './Address.js'
|
|
2
|
+
import * as Errors from './Errors.js'
|
|
3
|
+
import type { ExactPartial } from './internal/types.js'
|
|
4
|
+
import { uid } from './internal/uid.js'
|
|
5
|
+
|
|
6
|
+
export const domainRegex =
|
|
7
|
+
/^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}(:[0-9]{1,5})?$/
|
|
8
|
+
|
|
9
|
+
export const ipRegex =
|
|
10
|
+
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(:[0-9]{1,5})?$/
|
|
11
|
+
|
|
12
|
+
export const localhostRegex = /^localhost(:[0-9]{1,5})?$/
|
|
13
|
+
|
|
14
|
+
export const nonceRegex = /^[a-zA-Z0-9]{8,}$/
|
|
15
|
+
|
|
16
|
+
export const schemeRegex = /^([a-zA-Z][a-zA-Z0-9+-.]*)$/
|
|
17
|
+
|
|
18
|
+
// https://regexr.com/80gdj
|
|
19
|
+
export const prefixRegex =
|
|
20
|
+
/^(?:(?<scheme>[a-zA-Z][a-zA-Z0-9+-.]*):\/\/)?(?<domain>[a-zA-Z0-9+-.]*(?::[0-9]{1,5})?) (?:wants you to sign in with your Ethereum account:\n)(?<address>0x[a-fA-F0-9]{40})\n\n(?:(?<statement>.*)\n\n)?/
|
|
21
|
+
|
|
22
|
+
// https://regexr.com/80gf9
|
|
23
|
+
export const suffixRegex =
|
|
24
|
+
/(?:URI: (?<uri>.+))\n(?:Version: (?<version>.+))\n(?:Chain ID: (?<chainId>\d+))\n(?:Nonce: (?<nonce>[a-zA-Z0-9]+))\n(?:Issued At: (?<issuedAt>.+))(?:\nExpiration Time: (?<expirationTime>.+))?(?:\nNot Before: (?<notBefore>.+))?(?:\nRequest ID: (?<requestId>.+))?/
|
|
25
|
+
|
|
26
|
+
/** [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) message fields. */
|
|
27
|
+
export type Message = {
|
|
28
|
+
/**
|
|
29
|
+
* The Ethereum address performing the signing.
|
|
30
|
+
*/
|
|
31
|
+
address: Address.Address
|
|
32
|
+
/**
|
|
33
|
+
* The [EIP-155](https://eips.ethereum.org/EIPS/eip-155) Chain ID to which the session is bound,
|
|
34
|
+
*/
|
|
35
|
+
chainId: number
|
|
36
|
+
/**
|
|
37
|
+
* [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986) authority that is requesting the signing.
|
|
38
|
+
*/
|
|
39
|
+
domain: string
|
|
40
|
+
/**
|
|
41
|
+
* Time when the signed authentication message is no longer valid.
|
|
42
|
+
*/
|
|
43
|
+
expirationTime?: Date | undefined
|
|
44
|
+
/**
|
|
45
|
+
* Time when the message was generated, typically the current time.
|
|
46
|
+
*/
|
|
47
|
+
issuedAt?: Date | undefined
|
|
48
|
+
/**
|
|
49
|
+
* A random string typically chosen by the relying party and used to prevent replay attacks.
|
|
50
|
+
*/
|
|
51
|
+
nonce: string
|
|
52
|
+
/**
|
|
53
|
+
* Time when the signed authentication message will become valid.
|
|
54
|
+
*/
|
|
55
|
+
notBefore?: Date | undefined
|
|
56
|
+
/**
|
|
57
|
+
* A system-specific identifier that may be used to uniquely refer to the sign-in request.
|
|
58
|
+
*/
|
|
59
|
+
requestId?: string | undefined
|
|
60
|
+
/**
|
|
61
|
+
* A list of information or references to information the user wishes to have resolved as part of authentication by the relying party.
|
|
62
|
+
*/
|
|
63
|
+
resources?: string[] | undefined
|
|
64
|
+
/**
|
|
65
|
+
* [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) URI scheme of the origin of the request.
|
|
66
|
+
*/
|
|
67
|
+
scheme?: string | undefined
|
|
68
|
+
/**
|
|
69
|
+
* A human-readable ASCII assertion that the user will sign.
|
|
70
|
+
*/
|
|
71
|
+
statement?: string | undefined
|
|
72
|
+
/**
|
|
73
|
+
* [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986) URI referring to the resource that is the subject of the signing (as in the subject of a claim).
|
|
74
|
+
*/
|
|
75
|
+
uri: string
|
|
76
|
+
/**
|
|
77
|
+
* The current version of the SIWE Message.
|
|
78
|
+
*/
|
|
79
|
+
version: '1'
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Creates [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) formatted message.
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts twoslash
|
|
87
|
+
* import { Siwe } from 'ox'
|
|
88
|
+
*
|
|
89
|
+
* Siwe.createMessage({
|
|
90
|
+
* address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
|
91
|
+
* chainId: 1,
|
|
92
|
+
* domain: 'example.com',
|
|
93
|
+
* nonce: 'foobarbaz',
|
|
94
|
+
* uri: 'https://example.com/path',
|
|
95
|
+
* version: '1',
|
|
96
|
+
* })
|
|
97
|
+
* // @log: "example.com wants you to sign in with your Ethereum account:
|
|
98
|
+
* // @log: 0xA0Cf798816D4b9b9866b5330EEa46a18382f251e
|
|
99
|
+
* // @log:
|
|
100
|
+
* // @log:
|
|
101
|
+
* // @log: URI: https://example.com/path
|
|
102
|
+
* // @log: Version: 1
|
|
103
|
+
* // @log: Chain ID: 1
|
|
104
|
+
* // @log: Nonce: foobarbaz
|
|
105
|
+
* // @log: Issued At: 2023-02-01T00:00:00.000Z"
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* @param value - Values to use when creating EIP-4361 formatted message.
|
|
109
|
+
* @returns EIP-4361 formatted message.
|
|
110
|
+
*/
|
|
111
|
+
export function createMessage(value: Message): string {
|
|
112
|
+
const {
|
|
113
|
+
chainId,
|
|
114
|
+
domain,
|
|
115
|
+
expirationTime,
|
|
116
|
+
issuedAt = new Date(),
|
|
117
|
+
nonce,
|
|
118
|
+
notBefore,
|
|
119
|
+
requestId,
|
|
120
|
+
resources,
|
|
121
|
+
scheme,
|
|
122
|
+
uri,
|
|
123
|
+
version,
|
|
124
|
+
} = value
|
|
125
|
+
|
|
126
|
+
// Validate fields
|
|
127
|
+
{
|
|
128
|
+
// Required fields
|
|
129
|
+
if (chainId !== Math.floor(chainId))
|
|
130
|
+
throw new InvalidMessageFieldError({
|
|
131
|
+
field: 'chainId',
|
|
132
|
+
metaMessages: [
|
|
133
|
+
'- Chain ID must be a EIP-155 chain ID.',
|
|
134
|
+
'- See https://eips.ethereum.org/EIPS/eip-155',
|
|
135
|
+
'',
|
|
136
|
+
`Provided value: ${chainId}`,
|
|
137
|
+
],
|
|
138
|
+
})
|
|
139
|
+
if (
|
|
140
|
+
!(
|
|
141
|
+
domainRegex.test(domain) ||
|
|
142
|
+
ipRegex.test(domain) ||
|
|
143
|
+
localhostRegex.test(domain)
|
|
144
|
+
)
|
|
145
|
+
)
|
|
146
|
+
throw new InvalidMessageFieldError({
|
|
147
|
+
field: 'domain',
|
|
148
|
+
metaMessages: [
|
|
149
|
+
'- Domain must be an RFC 3986 authority.',
|
|
150
|
+
'- See https://www.rfc-editor.org/rfc/rfc3986',
|
|
151
|
+
'',
|
|
152
|
+
`Provided value: ${domain}`,
|
|
153
|
+
],
|
|
154
|
+
})
|
|
155
|
+
if (!nonceRegex.test(nonce))
|
|
156
|
+
throw new InvalidMessageFieldError({
|
|
157
|
+
field: 'nonce',
|
|
158
|
+
metaMessages: [
|
|
159
|
+
'- Nonce must be at least 8 characters.',
|
|
160
|
+
'- Nonce must be alphanumeric.',
|
|
161
|
+
'',
|
|
162
|
+
`Provided value: ${nonce}`,
|
|
163
|
+
],
|
|
164
|
+
})
|
|
165
|
+
if (!isUri(uri))
|
|
166
|
+
throw new InvalidMessageFieldError({
|
|
167
|
+
field: 'uri',
|
|
168
|
+
metaMessages: [
|
|
169
|
+
'- URI must be a RFC 3986 URI referring to the resource that is the subject of the signing.',
|
|
170
|
+
'- See https://www.rfc-editor.org/rfc/rfc3986',
|
|
171
|
+
'',
|
|
172
|
+
`Provided value: ${uri}`,
|
|
173
|
+
],
|
|
174
|
+
})
|
|
175
|
+
if (version !== '1')
|
|
176
|
+
throw new InvalidMessageFieldError({
|
|
177
|
+
field: 'version',
|
|
178
|
+
metaMessages: [
|
|
179
|
+
"- Version must be '1'.",
|
|
180
|
+
'',
|
|
181
|
+
`Provided value: ${version}`,
|
|
182
|
+
],
|
|
183
|
+
})
|
|
184
|
+
|
|
185
|
+
// Optional fields
|
|
186
|
+
if (scheme && !schemeRegex.test(scheme))
|
|
187
|
+
throw new InvalidMessageFieldError({
|
|
188
|
+
field: 'scheme',
|
|
189
|
+
metaMessages: [
|
|
190
|
+
'- Scheme must be an RFC 3986 URI scheme.',
|
|
191
|
+
'- See https://www.rfc-editor.org/rfc/rfc3986#section-3.1',
|
|
192
|
+
'',
|
|
193
|
+
`Provided value: ${scheme}`,
|
|
194
|
+
],
|
|
195
|
+
})
|
|
196
|
+
const statement = value.statement
|
|
197
|
+
if (statement?.includes('\n'))
|
|
198
|
+
throw new InvalidMessageFieldError({
|
|
199
|
+
field: 'statement',
|
|
200
|
+
metaMessages: [
|
|
201
|
+
"- Statement must not include '\\n'.",
|
|
202
|
+
'',
|
|
203
|
+
`Provided value: ${statement}`,
|
|
204
|
+
],
|
|
205
|
+
})
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Construct message
|
|
209
|
+
const address = Address.from(value.address)
|
|
210
|
+
const origin = (() => {
|
|
211
|
+
if (scheme) return `${scheme}://${domain}`
|
|
212
|
+
return domain
|
|
213
|
+
})()
|
|
214
|
+
const statement = (() => {
|
|
215
|
+
if (!value.statement) return ''
|
|
216
|
+
return `${value.statement}\n`
|
|
217
|
+
})()
|
|
218
|
+
const prefix = `${origin} wants you to sign in with your Ethereum account:\n${address}\n\n${statement}`
|
|
219
|
+
|
|
220
|
+
let suffix = `URI: ${uri}\nVersion: ${version}\nChain ID: ${chainId}\nNonce: ${nonce}\nIssued At: ${issuedAt.toISOString()}`
|
|
221
|
+
|
|
222
|
+
if (expirationTime)
|
|
223
|
+
suffix += `\nExpiration Time: ${expirationTime.toISOString()}`
|
|
224
|
+
if (notBefore) suffix += `\nNot Before: ${notBefore.toISOString()}`
|
|
225
|
+
if (requestId) suffix += `\nRequest ID: ${requestId}`
|
|
226
|
+
if (resources) {
|
|
227
|
+
let content = '\nResources:'
|
|
228
|
+
for (const resource of resources) {
|
|
229
|
+
if (!isUri(resource))
|
|
230
|
+
throw new InvalidMessageFieldError({
|
|
231
|
+
field: 'resources',
|
|
232
|
+
metaMessages: [
|
|
233
|
+
'- Every resource must be a RFC 3986 URI.',
|
|
234
|
+
'- See https://www.rfc-editor.org/rfc/rfc3986',
|
|
235
|
+
'',
|
|
236
|
+
`Provided value: ${resource}`,
|
|
237
|
+
],
|
|
238
|
+
})
|
|
239
|
+
content += `\n- ${resource}`
|
|
240
|
+
}
|
|
241
|
+
suffix += content
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
return `${prefix}\n${suffix}`
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export declare namespace createMessage {
|
|
248
|
+
type ErrorType =
|
|
249
|
+
| Address.from.ErrorType
|
|
250
|
+
| InvalidMessageFieldError
|
|
251
|
+
| Errors.GlobalErrorType
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
createMessage.parseError = (error: unknown) =>
|
|
255
|
+
/* v8 ignore next */
|
|
256
|
+
error as createMessage.ErrorType
|
|
257
|
+
|
|
258
|
+
/**
|
|
259
|
+
* Generates random [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) nonce.
|
|
260
|
+
*
|
|
261
|
+
* @example
|
|
262
|
+
* ```ts twoslash
|
|
263
|
+
* import { Siwe } from 'ox'
|
|
264
|
+
*
|
|
265
|
+
* Siwe.generateNonce()
|
|
266
|
+
* // @log: '65ed4681d4efe0270b923ff5f4b097b1c95974dc33aeebecd5724c42fd86dfd25dc70b27ef836b2aa22e68f19ebcccc1'
|
|
267
|
+
* ```
|
|
268
|
+
*
|
|
269
|
+
* @returns Random nonce.
|
|
270
|
+
*/
|
|
271
|
+
export function generateNonce(): string {
|
|
272
|
+
return uid(96)
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* Check if the given URI is a valid [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986) URI.
|
|
277
|
+
*
|
|
278
|
+
* @example
|
|
279
|
+
* ```ts twoslash
|
|
280
|
+
* import { Siwe } from 'ox'
|
|
281
|
+
*
|
|
282
|
+
* Siwe.isUri('https://example.com/foo')
|
|
283
|
+
* // @log: true
|
|
284
|
+
* ```
|
|
285
|
+
*
|
|
286
|
+
* @param value - Value to check.
|
|
287
|
+
* @returns `false` if invalid, otherwise the valid URI.
|
|
288
|
+
*/
|
|
289
|
+
// based on https://github.com/ogt/valid-url
|
|
290
|
+
export function isUri(value: string): false | string {
|
|
291
|
+
// check for illegal characters
|
|
292
|
+
if (/[^a-z0-9\:\/\?\#\[\]\@\!\$\&\'\(\)\*\+\,\;\=\.\-\_\~\%]/i.test(value))
|
|
293
|
+
return false
|
|
294
|
+
|
|
295
|
+
// check for hex escapes that aren't complete
|
|
296
|
+
if (/%[^0-9a-f]/i.test(value)) return false
|
|
297
|
+
if (/%[0-9a-f](:?[^0-9a-f]|$)/i.test(value)) return false
|
|
298
|
+
|
|
299
|
+
// from RFC 3986
|
|
300
|
+
const splitted = splitUri(value)
|
|
301
|
+
const scheme = splitted[1]
|
|
302
|
+
const authority = splitted[2]
|
|
303
|
+
const path = splitted[3]
|
|
304
|
+
const query = splitted[4]
|
|
305
|
+
const fragment = splitted[5]
|
|
306
|
+
|
|
307
|
+
// scheme and path are required, though the path can be empty
|
|
308
|
+
if (!(scheme?.length && path && path.length >= 0)) return false
|
|
309
|
+
|
|
310
|
+
// if authority is present, the path must be empty or begin with a /
|
|
311
|
+
if (authority?.length) {
|
|
312
|
+
if (!(path.length === 0 || /^\//.test(path))) return false
|
|
313
|
+
} else {
|
|
314
|
+
// if authority is not present, the path must not start with //
|
|
315
|
+
if (/^\/\//.test(path)) return false
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
// scheme must begin with a letter, then consist of letters, digits, +, ., or -
|
|
319
|
+
if (!/^[a-z][a-z0-9\+\-\.]*$/.test(scheme.toLowerCase())) return false
|
|
320
|
+
|
|
321
|
+
let out = ''
|
|
322
|
+
// re-assemble the URL per section 5.3 in RFC 3986
|
|
323
|
+
out += `${scheme}:`
|
|
324
|
+
if (authority?.length) out += `//${authority}`
|
|
325
|
+
|
|
326
|
+
out += path
|
|
327
|
+
|
|
328
|
+
if (query?.length) out += `?${query}`
|
|
329
|
+
if (fragment?.length) out += `#${fragment}`
|
|
330
|
+
|
|
331
|
+
return out
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
function splitUri(value: string) {
|
|
335
|
+
return value.match(
|
|
336
|
+
/(?:([^:\/?#]+):)?(?:\/\/([^\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?/,
|
|
337
|
+
)!
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
/**
|
|
341
|
+
* [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) formatted message into message fields object.
|
|
342
|
+
*
|
|
343
|
+
* @example
|
|
344
|
+
* ```ts twoslash
|
|
345
|
+
* import { Siwe } from 'ox'
|
|
346
|
+
*
|
|
347
|
+
* Siwe.parseMessage(`example.com wants you to sign in with your Ethereum account:
|
|
348
|
+
* 0xA0Cf798816D4b9b9866b5330EEa46a18382f251e
|
|
349
|
+
*
|
|
350
|
+
* I accept the ExampleOrg Terms of Service: https://example.com/tos
|
|
351
|
+
*
|
|
352
|
+
* URI: https://example.com/path
|
|
353
|
+
* Version: 1
|
|
354
|
+
* Chain ID: 1
|
|
355
|
+
* Nonce: foobarbaz
|
|
356
|
+
* Issued At: 2023-02-01T00:00:00.000Z`)
|
|
357
|
+
* // @log: {
|
|
358
|
+
* // @log: address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
|
359
|
+
* // @log: chainId: 1,
|
|
360
|
+
* // @log: domain: 'example.com',
|
|
361
|
+
* // @log: issuedAt: '2023-02-01T00:00:00.000Z',
|
|
362
|
+
* // @log: nonce: 'foobarbaz',
|
|
363
|
+
* // @log: statement: 'I accept the ExampleOrg Terms of Service: https://example.com/tos',
|
|
364
|
+
* // @log: uri: 'https://example.com/path',
|
|
365
|
+
* // @log: version: '1',
|
|
366
|
+
* // @log: }
|
|
367
|
+
* ```
|
|
368
|
+
*
|
|
369
|
+
* @param message - [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) formatted message.
|
|
370
|
+
* @returns Message fields object.
|
|
371
|
+
*/
|
|
372
|
+
export function parseMessage(message: string): ExactPartial<Message> {
|
|
373
|
+
const { scheme, statement, ...prefix } = (message.match(prefixRegex)
|
|
374
|
+
?.groups ?? {}) as {
|
|
375
|
+
address: Address.Address
|
|
376
|
+
domain: string
|
|
377
|
+
scheme?: string
|
|
378
|
+
statement?: string
|
|
379
|
+
}
|
|
380
|
+
const { chainId, expirationTime, issuedAt, notBefore, requestId, ...suffix } =
|
|
381
|
+
(message.match(suffixRegex)?.groups ?? {}) as {
|
|
382
|
+
chainId: string
|
|
383
|
+
expirationTime?: string
|
|
384
|
+
issuedAt?: string
|
|
385
|
+
nonce: string
|
|
386
|
+
notBefore?: string
|
|
387
|
+
requestId?: string
|
|
388
|
+
uri: string
|
|
389
|
+
version: '1'
|
|
390
|
+
}
|
|
391
|
+
const resources = message.split('Resources:')[1]?.split('\n- ').slice(1)
|
|
392
|
+
return {
|
|
393
|
+
...prefix,
|
|
394
|
+
...suffix,
|
|
395
|
+
...(chainId ? { chainId: Number(chainId) } : {}),
|
|
396
|
+
...(expirationTime ? { expirationTime: new Date(expirationTime) } : {}),
|
|
397
|
+
...(issuedAt ? { issuedAt: new Date(issuedAt) } : {}),
|
|
398
|
+
...(notBefore ? { notBefore: new Date(notBefore) } : {}),
|
|
399
|
+
...(requestId ? { requestId } : {}),
|
|
400
|
+
...(resources ? { resources } : {}),
|
|
401
|
+
...(scheme ? { scheme } : {}),
|
|
402
|
+
...(statement ? { statement } : {}),
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
/**
|
|
407
|
+
* Validates [EIP-4361](https://eips.ethereum.org/EIPS/eip-4361) message.
|
|
408
|
+
*
|
|
409
|
+
* @example
|
|
410
|
+
* ```ts twoslash
|
|
411
|
+
* import { Siwe } from 'ox'
|
|
412
|
+
*
|
|
413
|
+
* Siwe.validateMessage({
|
|
414
|
+
* address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
|
415
|
+
* domain: 'example.com',
|
|
416
|
+
* message: {
|
|
417
|
+
* address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
|
418
|
+
* chainId: 1,
|
|
419
|
+
* domain: 'example.com',
|
|
420
|
+
* nonce: 'foobarbaz',
|
|
421
|
+
* uri: 'https://example.com/path',
|
|
422
|
+
* version: '1',
|
|
423
|
+
* },
|
|
424
|
+
* nonce: 'foobarbaz',
|
|
425
|
+
* })
|
|
426
|
+
* // @log: true
|
|
427
|
+
* ```
|
|
428
|
+
*
|
|
429
|
+
* @param value - Values to use when validating EIP-4361 formatted message.
|
|
430
|
+
* @returns Whether the message is valid.
|
|
431
|
+
*/
|
|
432
|
+
export function validateMessage(value: validateMessage.Value): boolean {
|
|
433
|
+
const { address, domain, message, nonce, scheme, time = new Date() } = value
|
|
434
|
+
|
|
435
|
+
if (domain && message.domain !== domain) return false
|
|
436
|
+
if (nonce && message.nonce !== nonce) return false
|
|
437
|
+
if (scheme && message.scheme !== scheme) return false
|
|
438
|
+
|
|
439
|
+
if (message.expirationTime && time >= message.expirationTime) return false
|
|
440
|
+
if (message.notBefore && time < message.notBefore) return false
|
|
441
|
+
|
|
442
|
+
try {
|
|
443
|
+
if (!message.address) return false
|
|
444
|
+
if (address && !Address.isEqual(message.address, address)) return false
|
|
445
|
+
} catch {
|
|
446
|
+
return false
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
return true
|
|
450
|
+
}
|
|
451
|
+
|
|
452
|
+
export declare namespace validateMessage {
|
|
453
|
+
interface Value {
|
|
454
|
+
/**
|
|
455
|
+
* Ethereum address to check against.
|
|
456
|
+
*/
|
|
457
|
+
address?: Address.Address | undefined
|
|
458
|
+
/**
|
|
459
|
+
* [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986) authority to check against.
|
|
460
|
+
*/
|
|
461
|
+
domain?: string | undefined
|
|
462
|
+
/**
|
|
463
|
+
* EIP-4361 message fields.
|
|
464
|
+
*/
|
|
465
|
+
message: ExactPartial<Message>
|
|
466
|
+
/**
|
|
467
|
+
* Random string to check against.
|
|
468
|
+
*/
|
|
469
|
+
nonce?: string | undefined
|
|
470
|
+
/**
|
|
471
|
+
* [RFC 3986](https://www.rfc-editor.org/rfc/rfc3986#section-3.1) URI scheme to check against.
|
|
472
|
+
*/
|
|
473
|
+
scheme?: string | undefined
|
|
474
|
+
/**
|
|
475
|
+
* Current time to check optional `expirationTime` and `notBefore` fields.
|
|
476
|
+
*
|
|
477
|
+
* @default new Date()
|
|
478
|
+
*/
|
|
479
|
+
time?: Date | undefined
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
/**
|
|
484
|
+
* Thrown when a field in a SIWE Message is invalid.
|
|
485
|
+
*
|
|
486
|
+
* @example
|
|
487
|
+
* ```ts twoslash
|
|
488
|
+
* import { Siwe } from 'ox'
|
|
489
|
+
*
|
|
490
|
+
* Siwe.createMessage({
|
|
491
|
+
* address: '0xA0Cf798816D4b9b9866b5330EEa46a18382f251e',
|
|
492
|
+
* chainId: 1.1,
|
|
493
|
+
* domain: 'example.com',
|
|
494
|
+
* nonce: 'foobarbaz',
|
|
495
|
+
* uri: 'https://example.com/path',
|
|
496
|
+
* version: '1',
|
|
497
|
+
* })
|
|
498
|
+
* // @error: Siwe.InvalidMessageFieldError: Invalid Sign-In with Ethereum message field "chainId".
|
|
499
|
+
* // @error: - Chain ID must be a EIP-155 chain ID.
|
|
500
|
+
* // @error: - See https://eips.ethereum.org/EIPS/eip-155
|
|
501
|
+
* // @error: Provided value: 1.1
|
|
502
|
+
* ```
|
|
503
|
+
*/
|
|
504
|
+
export class InvalidMessageFieldError extends Errors.BaseError {
|
|
505
|
+
override readonly name = 'Siwe.InvalidMessageFieldError'
|
|
506
|
+
|
|
507
|
+
constructor(parameters: {
|
|
508
|
+
field: string
|
|
509
|
+
metaMessages?: string[] | undefined
|
|
510
|
+
}) {
|
|
511
|
+
const { field, metaMessages } = parameters
|
|
512
|
+
super(`Invalid Sign-In with Ethereum message field "${field}".`, {
|
|
513
|
+
metaMessages,
|
|
514
|
+
})
|
|
515
|
+
}
|
|
516
|
+
}
|
package/Solidity.ts
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export const arrayRegex = /^(.*)\[([0-9]*)\]$/
|
|
2
|
+
|
|
3
|
+
// `bytes<M>`: binary type of `M` bytes, `0 < M <= 32`
|
|
4
|
+
// https://regexr.com/6va55
|
|
5
|
+
export const bytesRegex = /^bytes([1-9]|1[0-9]|2[0-9]|3[0-2])?$/
|
|
6
|
+
|
|
7
|
+
// `(u)int<M>`: (un)signed integer type of `M` bits, `0 < M <= 256`, `M % 8 == 0`
|
|
8
|
+
// https://regexr.com/6v8hp
|
|
9
|
+
export const integerRegex =
|
|
10
|
+
/^(u?int)(8|16|24|32|40|48|56|64|72|80|88|96|104|112|120|128|136|144|152|160|168|176|184|192|200|208|216|224|232|240|248|256)?$/
|
|
11
|
+
|
|
12
|
+
export const maxInt8 = 2n ** (8n - 1n) - 1n
|
|
13
|
+
export const maxInt16 = 2n ** (16n - 1n) - 1n
|
|
14
|
+
export const maxInt24 = 2n ** (24n - 1n) - 1n
|
|
15
|
+
export const maxInt32 = 2n ** (32n - 1n) - 1n
|
|
16
|
+
export const maxInt40 = 2n ** (40n - 1n) - 1n
|
|
17
|
+
export const maxInt48 = 2n ** (48n - 1n) - 1n
|
|
18
|
+
export const maxInt56 = 2n ** (56n - 1n) - 1n
|
|
19
|
+
export const maxInt64 = 2n ** (64n - 1n) - 1n
|
|
20
|
+
export const maxInt72 = 2n ** (72n - 1n) - 1n
|
|
21
|
+
export const maxInt80 = 2n ** (80n - 1n) - 1n
|
|
22
|
+
export const maxInt88 = 2n ** (88n - 1n) - 1n
|
|
23
|
+
export const maxInt96 = 2n ** (96n - 1n) - 1n
|
|
24
|
+
export const maxInt104 = 2n ** (104n - 1n) - 1n
|
|
25
|
+
export const maxInt112 = 2n ** (112n - 1n) - 1n
|
|
26
|
+
export const maxInt120 = 2n ** (120n - 1n) - 1n
|
|
27
|
+
export const maxInt128 = 2n ** (128n - 1n) - 1n
|
|
28
|
+
export const maxInt136 = 2n ** (136n - 1n) - 1n
|
|
29
|
+
export const maxInt144 = 2n ** (144n - 1n) - 1n
|
|
30
|
+
export const maxInt152 = 2n ** (152n - 1n) - 1n
|
|
31
|
+
export const maxInt160 = 2n ** (160n - 1n) - 1n
|
|
32
|
+
export const maxInt168 = 2n ** (168n - 1n) - 1n
|
|
33
|
+
export const maxInt176 = 2n ** (176n - 1n) - 1n
|
|
34
|
+
export const maxInt184 = 2n ** (184n - 1n) - 1n
|
|
35
|
+
export const maxInt192 = 2n ** (192n - 1n) - 1n
|
|
36
|
+
export const maxInt200 = 2n ** (200n - 1n) - 1n
|
|
37
|
+
export const maxInt208 = 2n ** (208n - 1n) - 1n
|
|
38
|
+
export const maxInt216 = 2n ** (216n - 1n) - 1n
|
|
39
|
+
export const maxInt224 = 2n ** (224n - 1n) - 1n
|
|
40
|
+
export const maxInt232 = 2n ** (232n - 1n) - 1n
|
|
41
|
+
export const maxInt240 = 2n ** (240n - 1n) - 1n
|
|
42
|
+
export const maxInt248 = 2n ** (248n - 1n) - 1n
|
|
43
|
+
export const maxInt256 = 2n ** (256n - 1n) - 1n
|
|
44
|
+
|
|
45
|
+
export const minInt8 = -(2n ** (8n - 1n))
|
|
46
|
+
export const minInt16 = -(2n ** (16n - 1n))
|
|
47
|
+
export const minInt24 = -(2n ** (24n - 1n))
|
|
48
|
+
export const minInt32 = -(2n ** (32n - 1n))
|
|
49
|
+
export const minInt40 = -(2n ** (40n - 1n))
|
|
50
|
+
export const minInt48 = -(2n ** (48n - 1n))
|
|
51
|
+
export const minInt56 = -(2n ** (56n - 1n))
|
|
52
|
+
export const minInt64 = -(2n ** (64n - 1n))
|
|
53
|
+
export const minInt72 = -(2n ** (72n - 1n))
|
|
54
|
+
export const minInt80 = -(2n ** (80n - 1n))
|
|
55
|
+
export const minInt88 = -(2n ** (88n - 1n))
|
|
56
|
+
export const minInt96 = -(2n ** (96n - 1n))
|
|
57
|
+
export const minInt104 = -(2n ** (104n - 1n))
|
|
58
|
+
export const minInt112 = -(2n ** (112n - 1n))
|
|
59
|
+
export const minInt120 = -(2n ** (120n - 1n))
|
|
60
|
+
export const minInt128 = -(2n ** (128n - 1n))
|
|
61
|
+
export const minInt136 = -(2n ** (136n - 1n))
|
|
62
|
+
export const minInt144 = -(2n ** (144n - 1n))
|
|
63
|
+
export const minInt152 = -(2n ** (152n - 1n))
|
|
64
|
+
export const minInt160 = -(2n ** (160n - 1n))
|
|
65
|
+
export const minInt168 = -(2n ** (168n - 1n))
|
|
66
|
+
export const minInt176 = -(2n ** (176n - 1n))
|
|
67
|
+
export const minInt184 = -(2n ** (184n - 1n))
|
|
68
|
+
export const minInt192 = -(2n ** (192n - 1n))
|
|
69
|
+
export const minInt200 = -(2n ** (200n - 1n))
|
|
70
|
+
export const minInt208 = -(2n ** (208n - 1n))
|
|
71
|
+
export const minInt216 = -(2n ** (216n - 1n))
|
|
72
|
+
export const minInt224 = -(2n ** (224n - 1n))
|
|
73
|
+
export const minInt232 = -(2n ** (232n - 1n))
|
|
74
|
+
export const minInt240 = -(2n ** (240n - 1n))
|
|
75
|
+
export const minInt248 = -(2n ** (248n - 1n))
|
|
76
|
+
export const minInt256 = -(2n ** (256n - 1n))
|
|
77
|
+
|
|
78
|
+
export const maxUint8 = 2n ** 8n - 1n
|
|
79
|
+
export const maxUint16 = 2n ** 16n - 1n
|
|
80
|
+
export const maxUint24 = 2n ** 24n - 1n
|
|
81
|
+
export const maxUint32 = 2n ** 32n - 1n
|
|
82
|
+
export const maxUint40 = 2n ** 40n - 1n
|
|
83
|
+
export const maxUint48 = 2n ** 48n - 1n
|
|
84
|
+
export const maxUint56 = 2n ** 56n - 1n
|
|
85
|
+
export const maxUint64 = 2n ** 64n - 1n
|
|
86
|
+
export const maxUint72 = 2n ** 72n - 1n
|
|
87
|
+
export const maxUint80 = 2n ** 80n - 1n
|
|
88
|
+
export const maxUint88 = 2n ** 88n - 1n
|
|
89
|
+
export const maxUint96 = 2n ** 96n - 1n
|
|
90
|
+
export const maxUint104 = 2n ** 104n - 1n
|
|
91
|
+
export const maxUint112 = 2n ** 112n - 1n
|
|
92
|
+
export const maxUint120 = 2n ** 120n - 1n
|
|
93
|
+
export const maxUint128 = 2n ** 128n - 1n
|
|
94
|
+
export const maxUint136 = 2n ** 136n - 1n
|
|
95
|
+
export const maxUint144 = 2n ** 144n - 1n
|
|
96
|
+
export const maxUint152 = 2n ** 152n - 1n
|
|
97
|
+
export const maxUint160 = 2n ** 160n - 1n
|
|
98
|
+
export const maxUint168 = 2n ** 168n - 1n
|
|
99
|
+
export const maxUint176 = 2n ** 176n - 1n
|
|
100
|
+
export const maxUint184 = 2n ** 184n - 1n
|
|
101
|
+
export const maxUint192 = 2n ** 192n - 1n
|
|
102
|
+
export const maxUint200 = 2n ** 200n - 1n
|
|
103
|
+
export const maxUint208 = 2n ** 208n - 1n
|
|
104
|
+
export const maxUint216 = 2n ** 216n - 1n
|
|
105
|
+
export const maxUint224 = 2n ** 224n - 1n
|
|
106
|
+
export const maxUint232 = 2n ** 232n - 1n
|
|
107
|
+
export const maxUint240 = 2n ** 240n - 1n
|
|
108
|
+
export const maxUint248 = 2n ** 248n - 1n
|
|
109
|
+
export const maxUint256 = 2n ** 256n - 1n
|