@frequency-chain/ethereum-utils 1.17.0 → 1.17.1

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.
@@ -19492,6 +19492,18 @@ const AUTHORIZED_KEY_DATA_DEFINITION = {
19492
19492
  },
19493
19493
  ],
19494
19494
  };
19495
+ const RECOVERY_COMMITMENT_PAYLOAD_DEFINITION = {
19496
+ RecoveryCommitmentPayload: [
19497
+ {
19498
+ name: 'recoveryCommitment',
19499
+ type: 'bytes',
19500
+ },
19501
+ {
19502
+ name: 'expiration',
19503
+ type: 'uint32',
19504
+ },
19505
+ ],
19506
+ };
19495
19507
  const CLAIM_HANDLE_PAYLOAD_DEFINITION = {
19496
19508
  ClaimHandlePayload: [
19497
19509
  {
@@ -19596,7 +19608,7 @@ const SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION = {
19596
19608
  type: 'string',
19597
19609
  },
19598
19610
  ],
19599
- };var signatureDefinitions=/*#__PURE__*/Object.freeze({__proto__:null,ADD_KEY_DATA_DEFINITION:ADD_KEY_DATA_DEFINITION,ADD_PROVIDER_DEFINITION:ADD_PROVIDER_DEFINITION,AUTHORIZED_KEY_DATA_DEFINITION:AUTHORIZED_KEY_DATA_DEFINITION,CLAIM_HANDLE_PAYLOAD_DEFINITION:CLAIM_HANDLE_PAYLOAD_DEFINITION,EIP712_DOMAIN_DEFINITION:EIP712_DOMAIN_DEFINITION,EIP712_DOMAIN_MAINNET:EIP712_DOMAIN_MAINNET,EIP712_DOMAIN_TESTNET:EIP712_DOMAIN_TESTNET,ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2:ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2:PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2:PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2,PASSKEY_PUBLIC_KEY_DEFINITION:PASSKEY_PUBLIC_KEY_DEFINITION,SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION:SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION});/**
19611
+ };var signatureDefinitions=/*#__PURE__*/Object.freeze({__proto__:null,ADD_KEY_DATA_DEFINITION:ADD_KEY_DATA_DEFINITION,ADD_PROVIDER_DEFINITION:ADD_PROVIDER_DEFINITION,AUTHORIZED_KEY_DATA_DEFINITION:AUTHORIZED_KEY_DATA_DEFINITION,CLAIM_HANDLE_PAYLOAD_DEFINITION:CLAIM_HANDLE_PAYLOAD_DEFINITION,EIP712_DOMAIN_DEFINITION:EIP712_DOMAIN_DEFINITION,EIP712_DOMAIN_MAINNET:EIP712_DOMAIN_MAINNET,EIP712_DOMAIN_TESTNET:EIP712_DOMAIN_TESTNET,ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2:ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2:PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2:PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2,PASSKEY_PUBLIC_KEY_DEFINITION:PASSKEY_PUBLIC_KEY_DEFINITION,RECOVERY_COMMITMENT_PAYLOAD_DEFINITION:RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION:SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION});/**
19600
19612
  * Signing EIP-712 or ERC-191 compatible signature based on payload
19601
19613
  * @param secretKey
19602
19614
  * @param payload
@@ -19653,6 +19665,7 @@ function normalizePayload(payload) {
19653
19665
  case 'PasskeyPublicKey':
19654
19666
  case 'ClaimHandlePayload':
19655
19667
  case 'AddProvider':
19668
+ case 'RecoveryCommitmentPayload':
19656
19669
  case 'SiwfLoginRequestPayload':
19657
19670
  break;
19658
19671
  case 'AddKeyData':
@@ -19691,6 +19704,7 @@ function getTypesFor(payloadType) {
19691
19704
  AddKeyData: ADD_KEY_DATA_DEFINITION,
19692
19705
  AuthorizedKeyData: AUTHORIZED_KEY_DATA_DEFINITION,
19693
19706
  AddProvider: ADD_PROVIDER_DEFINITION,
19707
+ RecoveryCommitmentPayload: RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,
19694
19708
  // offchain signatures
19695
19709
  SiwfSignedRequestPayload: SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION,
19696
19710
  };
@@ -19766,6 +19780,21 @@ function createAddProvider(authorizedMsaId, schemaIds, expirationBlock) {
19766
19780
  expiration: expirationBlock,
19767
19781
  };
19768
19782
  }
19783
+ /**
19784
+ * Build a RecoveryCommitmentPayload for signature.
19785
+ *
19786
+ * @param recoveryCommitment The recovery commitment data as a HexString
19787
+ * @param expirationBlock Block number after which this payload is invalid
19788
+ */
19789
+ function createRecoveryCommitmentPayload(recoveryCommitment, expirationBlock) {
19790
+ assert(isHexString(recoveryCommitment), 'recoveryCommitment should be a valid hex string');
19791
+ assert(isValidUint32(expirationBlock), 'expiration should be a valid uint32');
19792
+ return {
19793
+ type: 'RecoveryCommitmentPayload',
19794
+ recoveryCommitment: recoveryCommitment,
19795
+ expiration: expirationBlock,
19796
+ };
19797
+ }
19769
19798
  /**
19770
19799
  * Build a ClaimHandlePayload for signature.
19771
19800
  *
@@ -19938,6 +19967,18 @@ function getEip712BrowserRequestAddProvider(authorizedMsaId, schemaIds, expirati
19938
19967
  const normalized = normalizePayload(message);
19939
19968
  return createEip712Payload(ADD_PROVIDER_DEFINITION, message.type, domain, normalized);
19940
19969
  }
19970
+ /**
19971
+ * Returns the EIP-712 browser request for a RecoveryCommitmentPayload for signing.
19972
+ *
19973
+ * @param recoveryCommitment The recovery commitment data as a Uint8Array
19974
+ * @param expirationBlock Block number after which this payload is invalid
19975
+ * @param domain
19976
+ */
19977
+ function getEip712BrowserRequestRecoveryCommitmentPayload(recoveryCommitment, expirationBlock, domain = EIP712_DOMAIN_MAINNET) {
19978
+ const message = createRecoveryCommitmentPayload(recoveryCommitment, expirationBlock);
19979
+ const normalized = normalizePayload(message);
19980
+ return createEip712Payload(RECOVERY_COMMITMENT_PAYLOAD_DEFINITION, message.type, domain, normalized);
19981
+ }
19941
19982
  /**
19942
19983
  * Returns the EIP-712 browser request for a PaginatedUpsertSignaturePayloadV2 for signing.
19943
19984
  *
@@ -20073,4 +20114,4 @@ function prefixEthereumTags(hexPayload) {
20073
20114
  const wrapped = `\x19Ethereum Signed Message:\n${hexPayload.length}${hexPayload}`;
20074
20115
  const buffer = Buffer.from(wrapped, 'utf-8');
20075
20116
  return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
20076
- }var signature=/*#__PURE__*/Object.freeze({__proto__:null,createAddKeyData:createAddKeyData,createAddProvider:createAddProvider,createAuthorizedKeyData:createAuthorizedKeyData,createClaimHandlePayload:createClaimHandlePayload,createItemizedAddAction:createItemizedAddAction,createItemizedDeleteAction:createItemizedDeleteAction,createItemizedSignaturePayloadV2:createItemizedSignaturePayloadV2,createPaginatedDeleteSignaturePayloadV2:createPaginatedDeleteSignaturePayloadV2,createPaginatedUpsertSignaturePayloadV2:createPaginatedUpsertSignaturePayloadV2,createPasskeyPublicKey:createPasskeyPublicKey,createSiwfLoginRequestPayload:createSiwfLoginRequestPayload,createSiwfSignedRequestPayload:createSiwfSignedRequestPayload,getEip712BrowserRequestAddKeyData:getEip712BrowserRequestAddKeyData,getEip712BrowserRequestAddProvider:getEip712BrowserRequestAddProvider,getEip712BrowserRequestAuthorizedKeyData:getEip712BrowserRequestAuthorizedKeyData,getEip712BrowserRequestClaimHandlePayload:getEip712BrowserRequestClaimHandlePayload,getEip712BrowserRequestItemizedSignaturePayloadV2:getEip712BrowserRequestItemizedSignaturePayloadV2,getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2:getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2,getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2:getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2,getEip712BrowserRequestPasskeyPublicKey:getEip712BrowserRequestPasskeyPublicKey,getEip712BrowserRequestSiwfSignedRequestPayload:getEip712BrowserRequestSiwfSignedRequestPayload,getEthereumMessageSigner:getEthereumMessageSigner,getEthereumRegularSigner:getEthereumRegularSigner,sign:sign,verifySignature:verifySignature});var index = { ...payloads, ...address, ...signatureDefinitions, ...signature };export{ADD_KEY_DATA_DEFINITION,ADD_PROVIDER_DEFINITION,AUTHORIZED_KEY_DATA_DEFINITION,CLAIM_HANDLE_PAYLOAD_DEFINITION,EIP712_DOMAIN_DEFINITION,EIP712_DOMAIN_MAINNET,EIP712_DOMAIN_TESTNET,ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2,PASSKEY_PUBLIC_KEY_DEFINITION,SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION,createAddKeyData,createAddProvider,createAuthorizedKeyData,createClaimHandlePayload,createItemizedAddAction,createItemizedDeleteAction,createItemizedSignaturePayloadV2,createPaginatedDeleteSignaturePayloadV2,createPaginatedUpsertSignaturePayloadV2,createPasskeyPublicKey,createRandomKey,createSiwfLoginRequestPayload,createSiwfSignedRequestPayload,index as default,ethereumAddressToKeyringPair,getAccountId20MultiAddress,getEip712BrowserRequestAddKeyData,getEip712BrowserRequestAddProvider,getEip712BrowserRequestAuthorizedKeyData,getEip712BrowserRequestClaimHandlePayload,getEip712BrowserRequestItemizedSignaturePayloadV2,getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2,getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2,getEip712BrowserRequestPasskeyPublicKey,getEip712BrowserRequestSiwfSignedRequestPayload,getEthereumMessageSigner,getEthereumRegularSigner,getKeyringPairFromSecp256k1PrivateKey,getSS58AccountFromEthereumAccount,getUnifiedAddress,getUnifiedPublicKey,reverseUnifiedAddressToEthereumAddress,sign,verifySignature};
20117
+ }var signature=/*#__PURE__*/Object.freeze({__proto__:null,createAddKeyData:createAddKeyData,createAddProvider:createAddProvider,createAuthorizedKeyData:createAuthorizedKeyData,createClaimHandlePayload:createClaimHandlePayload,createItemizedAddAction:createItemizedAddAction,createItemizedDeleteAction:createItemizedDeleteAction,createItemizedSignaturePayloadV2:createItemizedSignaturePayloadV2,createPaginatedDeleteSignaturePayloadV2:createPaginatedDeleteSignaturePayloadV2,createPaginatedUpsertSignaturePayloadV2:createPaginatedUpsertSignaturePayloadV2,createPasskeyPublicKey:createPasskeyPublicKey,createRecoveryCommitmentPayload:createRecoveryCommitmentPayload,createSiwfLoginRequestPayload:createSiwfLoginRequestPayload,createSiwfSignedRequestPayload:createSiwfSignedRequestPayload,getEip712BrowserRequestAddKeyData:getEip712BrowserRequestAddKeyData,getEip712BrowserRequestAddProvider:getEip712BrowserRequestAddProvider,getEip712BrowserRequestAuthorizedKeyData:getEip712BrowserRequestAuthorizedKeyData,getEip712BrowserRequestClaimHandlePayload:getEip712BrowserRequestClaimHandlePayload,getEip712BrowserRequestItemizedSignaturePayloadV2:getEip712BrowserRequestItemizedSignaturePayloadV2,getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2:getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2,getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2:getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2,getEip712BrowserRequestPasskeyPublicKey:getEip712BrowserRequestPasskeyPublicKey,getEip712BrowserRequestRecoveryCommitmentPayload:getEip712BrowserRequestRecoveryCommitmentPayload,getEip712BrowserRequestSiwfSignedRequestPayload:getEip712BrowserRequestSiwfSignedRequestPayload,getEthereumMessageSigner:getEthereumMessageSigner,getEthereumRegularSigner:getEthereumRegularSigner,sign:sign,verifySignature:verifySignature});var index = { ...payloads, ...address, ...signatureDefinitions, ...signature };export{ADD_KEY_DATA_DEFINITION,ADD_PROVIDER_DEFINITION,AUTHORIZED_KEY_DATA_DEFINITION,CLAIM_HANDLE_PAYLOAD_DEFINITION,EIP712_DOMAIN_DEFINITION,EIP712_DOMAIN_MAINNET,EIP712_DOMAIN_TESTNET,ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2,PASSKEY_PUBLIC_KEY_DEFINITION,RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION,createAddKeyData,createAddProvider,createAuthorizedKeyData,createClaimHandlePayload,createItemizedAddAction,createItemizedDeleteAction,createItemizedSignaturePayloadV2,createPaginatedDeleteSignaturePayloadV2,createPaginatedUpsertSignaturePayloadV2,createPasskeyPublicKey,createRandomKey,createRecoveryCommitmentPayload,createSiwfLoginRequestPayload,createSiwfSignedRequestPayload,index as default,ethereumAddressToKeyringPair,getAccountId20MultiAddress,getEip712BrowserRequestAddKeyData,getEip712BrowserRequestAddProvider,getEip712BrowserRequestAuthorizedKeyData,getEip712BrowserRequestClaimHandlePayload,getEip712BrowserRequestItemizedSignaturePayloadV2,getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2,getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2,getEip712BrowserRequestPasskeyPublicKey,getEip712BrowserRequestRecoveryCommitmentPayload,getEip712BrowserRequestSiwfSignedRequestPayload,getEthereumMessageSigner,getEthereumRegularSigner,getKeyringPairFromSecp256k1PrivateKey,getSS58AccountFromEthereumAccount,getUnifiedAddress,getUnifiedPublicKey,reverseUnifiedAddressToEthereumAddress,sign,verifySignature};
@@ -10738,6 +10738,18 @@ const AUTHORIZED_KEY_DATA_DEFINITION = {
10738
10738
  },
10739
10739
  ],
10740
10740
  };
10741
+ const RECOVERY_COMMITMENT_PAYLOAD_DEFINITION = {
10742
+ RecoveryCommitmentPayload: [
10743
+ {
10744
+ name: 'recoveryCommitment',
10745
+ type: 'bytes',
10746
+ },
10747
+ {
10748
+ name: 'expiration',
10749
+ type: 'uint32',
10750
+ },
10751
+ ],
10752
+ };
10741
10753
  const CLAIM_HANDLE_PAYLOAD_DEFINITION = {
10742
10754
  ClaimHandlePayload: [
10743
10755
  {
@@ -10842,7 +10854,7 @@ const SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION = {
10842
10854
  type: 'string',
10843
10855
  },
10844
10856
  ],
10845
- };var signatureDefinitions=/*#__PURE__*/Object.freeze({__proto__:null,ADD_KEY_DATA_DEFINITION:ADD_KEY_DATA_DEFINITION,ADD_PROVIDER_DEFINITION:ADD_PROVIDER_DEFINITION,AUTHORIZED_KEY_DATA_DEFINITION:AUTHORIZED_KEY_DATA_DEFINITION,CLAIM_HANDLE_PAYLOAD_DEFINITION:CLAIM_HANDLE_PAYLOAD_DEFINITION,EIP712_DOMAIN_DEFINITION:EIP712_DOMAIN_DEFINITION,EIP712_DOMAIN_MAINNET:EIP712_DOMAIN_MAINNET,EIP712_DOMAIN_TESTNET:EIP712_DOMAIN_TESTNET,ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2:ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2:PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2:PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2,PASSKEY_PUBLIC_KEY_DEFINITION:PASSKEY_PUBLIC_KEY_DEFINITION,SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION:SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION});/**
10857
+ };var signatureDefinitions=/*#__PURE__*/Object.freeze({__proto__:null,ADD_KEY_DATA_DEFINITION:ADD_KEY_DATA_DEFINITION,ADD_PROVIDER_DEFINITION:ADD_PROVIDER_DEFINITION,AUTHORIZED_KEY_DATA_DEFINITION:AUTHORIZED_KEY_DATA_DEFINITION,CLAIM_HANDLE_PAYLOAD_DEFINITION:CLAIM_HANDLE_PAYLOAD_DEFINITION,EIP712_DOMAIN_DEFINITION:EIP712_DOMAIN_DEFINITION,EIP712_DOMAIN_MAINNET:EIP712_DOMAIN_MAINNET,EIP712_DOMAIN_TESTNET:EIP712_DOMAIN_TESTNET,ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2:ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2:PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2,PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2:PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2,PASSKEY_PUBLIC_KEY_DEFINITION:PASSKEY_PUBLIC_KEY_DEFINITION,RECOVERY_COMMITMENT_PAYLOAD_DEFINITION:RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION:SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION});/**
10846
10858
  * Signing EIP-712 or ERC-191 compatible signature based on payload
10847
10859
  * @param secretKey
10848
10860
  * @param payload
@@ -10899,6 +10911,7 @@ function normalizePayload(payload) {
10899
10911
  case 'PasskeyPublicKey':
10900
10912
  case 'ClaimHandlePayload':
10901
10913
  case 'AddProvider':
10914
+ case 'RecoveryCommitmentPayload':
10902
10915
  case 'SiwfLoginRequestPayload':
10903
10916
  break;
10904
10917
  case 'AddKeyData':
@@ -10937,6 +10950,7 @@ function getTypesFor(payloadType) {
10937
10950
  AddKeyData: ADD_KEY_DATA_DEFINITION,
10938
10951
  AuthorizedKeyData: AUTHORIZED_KEY_DATA_DEFINITION,
10939
10952
  AddProvider: ADD_PROVIDER_DEFINITION,
10953
+ RecoveryCommitmentPayload: RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,
10940
10954
  // offchain signatures
10941
10955
  SiwfSignedRequestPayload: SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION,
10942
10956
  };
@@ -11012,6 +11026,21 @@ function createAddProvider(authorizedMsaId, schemaIds, expirationBlock) {
11012
11026
  expiration: expirationBlock,
11013
11027
  };
11014
11028
  }
11029
+ /**
11030
+ * Build a RecoveryCommitmentPayload for signature.
11031
+ *
11032
+ * @param recoveryCommitment The recovery commitment data as a HexString
11033
+ * @param expirationBlock Block number after which this payload is invalid
11034
+ */
11035
+ function createRecoveryCommitmentPayload(recoveryCommitment, expirationBlock) {
11036
+ assert(isHexString(recoveryCommitment), 'recoveryCommitment should be a valid hex string');
11037
+ assert(isValidUint32(expirationBlock), 'expiration should be a valid uint32');
11038
+ return {
11039
+ type: 'RecoveryCommitmentPayload',
11040
+ recoveryCommitment: recoveryCommitment,
11041
+ expiration: expirationBlock,
11042
+ };
11043
+ }
11015
11044
  /**
11016
11045
  * Build a ClaimHandlePayload for signature.
11017
11046
  *
@@ -11184,6 +11213,18 @@ function getEip712BrowserRequestAddProvider(authorizedMsaId, schemaIds, expirati
11184
11213
  const normalized = normalizePayload(message);
11185
11214
  return createEip712Payload(ADD_PROVIDER_DEFINITION, message.type, domain, normalized);
11186
11215
  }
11216
+ /**
11217
+ * Returns the EIP-712 browser request for a RecoveryCommitmentPayload for signing.
11218
+ *
11219
+ * @param recoveryCommitment The recovery commitment data as a Uint8Array
11220
+ * @param expirationBlock Block number after which this payload is invalid
11221
+ * @param domain
11222
+ */
11223
+ function getEip712BrowserRequestRecoveryCommitmentPayload(recoveryCommitment, expirationBlock, domain = EIP712_DOMAIN_MAINNET) {
11224
+ const message = createRecoveryCommitmentPayload(recoveryCommitment, expirationBlock);
11225
+ const normalized = normalizePayload(message);
11226
+ return createEip712Payload(RECOVERY_COMMITMENT_PAYLOAD_DEFINITION, message.type, domain, normalized);
11227
+ }
11187
11228
  /**
11188
11229
  * Returns the EIP-712 browser request for a PaginatedUpsertSignaturePayloadV2 for signing.
11189
11230
  *
@@ -11319,4 +11360,4 @@ function prefixEthereumTags(hexPayload) {
11319
11360
  const wrapped = `\x19Ethereum Signed Message:\n${hexPayload.length}${hexPayload}`;
11320
11361
  const buffer = Buffer.from(wrapped, 'utf-8');
11321
11362
  return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.length);
11322
- }var signature=/*#__PURE__*/Object.freeze({__proto__:null,createAddKeyData:createAddKeyData,createAddProvider:createAddProvider,createAuthorizedKeyData:createAuthorizedKeyData,createClaimHandlePayload:createClaimHandlePayload,createItemizedAddAction:createItemizedAddAction,createItemizedDeleteAction:createItemizedDeleteAction,createItemizedSignaturePayloadV2:createItemizedSignaturePayloadV2,createPaginatedDeleteSignaturePayloadV2:createPaginatedDeleteSignaturePayloadV2,createPaginatedUpsertSignaturePayloadV2:createPaginatedUpsertSignaturePayloadV2,createPasskeyPublicKey:createPasskeyPublicKey,createSiwfLoginRequestPayload:createSiwfLoginRequestPayload,createSiwfSignedRequestPayload:createSiwfSignedRequestPayload,getEip712BrowserRequestAddKeyData:getEip712BrowserRequestAddKeyData,getEip712BrowserRequestAddProvider:getEip712BrowserRequestAddProvider,getEip712BrowserRequestAuthorizedKeyData:getEip712BrowserRequestAuthorizedKeyData,getEip712BrowserRequestClaimHandlePayload:getEip712BrowserRequestClaimHandlePayload,getEip712BrowserRequestItemizedSignaturePayloadV2:getEip712BrowserRequestItemizedSignaturePayloadV2,getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2:getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2,getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2:getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2,getEip712BrowserRequestPasskeyPublicKey:getEip712BrowserRequestPasskeyPublicKey,getEip712BrowserRequestSiwfSignedRequestPayload:getEip712BrowserRequestSiwfSignedRequestPayload,getEthereumMessageSigner:getEthereumMessageSigner,getEthereumRegularSigner:getEthereumRegularSigner,sign:sign,verifySignature:verifySignature});var index = { ...payloads, ...address, ...signatureDefinitions, ...signature };exports.ADD_KEY_DATA_DEFINITION=ADD_KEY_DATA_DEFINITION;exports.ADD_PROVIDER_DEFINITION=ADD_PROVIDER_DEFINITION;exports.AUTHORIZED_KEY_DATA_DEFINITION=AUTHORIZED_KEY_DATA_DEFINITION;exports.CLAIM_HANDLE_PAYLOAD_DEFINITION=CLAIM_HANDLE_PAYLOAD_DEFINITION;exports.EIP712_DOMAIN_DEFINITION=EIP712_DOMAIN_DEFINITION;exports.EIP712_DOMAIN_MAINNET=EIP712_DOMAIN_MAINNET;exports.EIP712_DOMAIN_TESTNET=EIP712_DOMAIN_TESTNET;exports.ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2=ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2;exports.PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2=PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2;exports.PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2=PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2;exports.PASSKEY_PUBLIC_KEY_DEFINITION=PASSKEY_PUBLIC_KEY_DEFINITION;exports.SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION=SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION;exports.createAddKeyData=createAddKeyData;exports.createAddProvider=createAddProvider;exports.createAuthorizedKeyData=createAuthorizedKeyData;exports.createClaimHandlePayload=createClaimHandlePayload;exports.createItemizedAddAction=createItemizedAddAction;exports.createItemizedDeleteAction=createItemizedDeleteAction;exports.createItemizedSignaturePayloadV2=createItemizedSignaturePayloadV2;exports.createPaginatedDeleteSignaturePayloadV2=createPaginatedDeleteSignaturePayloadV2;exports.createPaginatedUpsertSignaturePayloadV2=createPaginatedUpsertSignaturePayloadV2;exports.createPasskeyPublicKey=createPasskeyPublicKey;exports.createRandomKey=createRandomKey;exports.createSiwfLoginRequestPayload=createSiwfLoginRequestPayload;exports.createSiwfSignedRequestPayload=createSiwfSignedRequestPayload;exports.default=index;exports.ethereumAddressToKeyringPair=ethereumAddressToKeyringPair;exports.getAccountId20MultiAddress=getAccountId20MultiAddress;exports.getEip712BrowserRequestAddKeyData=getEip712BrowserRequestAddKeyData;exports.getEip712BrowserRequestAddProvider=getEip712BrowserRequestAddProvider;exports.getEip712BrowserRequestAuthorizedKeyData=getEip712BrowserRequestAuthorizedKeyData;exports.getEip712BrowserRequestClaimHandlePayload=getEip712BrowserRequestClaimHandlePayload;exports.getEip712BrowserRequestItemizedSignaturePayloadV2=getEip712BrowserRequestItemizedSignaturePayloadV2;exports.getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2=getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2;exports.getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2=getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2;exports.getEip712BrowserRequestPasskeyPublicKey=getEip712BrowserRequestPasskeyPublicKey;exports.getEip712BrowserRequestSiwfSignedRequestPayload=getEip712BrowserRequestSiwfSignedRequestPayload;exports.getEthereumMessageSigner=getEthereumMessageSigner;exports.getEthereumRegularSigner=getEthereumRegularSigner;exports.getKeyringPairFromSecp256k1PrivateKey=getKeyringPairFromSecp256k1PrivateKey;exports.getSS58AccountFromEthereumAccount=getSS58AccountFromEthereumAccount;exports.getUnifiedAddress=getUnifiedAddress;exports.getUnifiedPublicKey=getUnifiedPublicKey;exports.reverseUnifiedAddressToEthereumAddress=reverseUnifiedAddressToEthereumAddress;exports.sign=sign;exports.verifySignature=verifySignature;Object.defineProperty(exports,'__esModule',{value:true});}));
11363
+ }var signature=/*#__PURE__*/Object.freeze({__proto__:null,createAddKeyData:createAddKeyData,createAddProvider:createAddProvider,createAuthorizedKeyData:createAuthorizedKeyData,createClaimHandlePayload:createClaimHandlePayload,createItemizedAddAction:createItemizedAddAction,createItemizedDeleteAction:createItemizedDeleteAction,createItemizedSignaturePayloadV2:createItemizedSignaturePayloadV2,createPaginatedDeleteSignaturePayloadV2:createPaginatedDeleteSignaturePayloadV2,createPaginatedUpsertSignaturePayloadV2:createPaginatedUpsertSignaturePayloadV2,createPasskeyPublicKey:createPasskeyPublicKey,createRecoveryCommitmentPayload:createRecoveryCommitmentPayload,createSiwfLoginRequestPayload:createSiwfLoginRequestPayload,createSiwfSignedRequestPayload:createSiwfSignedRequestPayload,getEip712BrowserRequestAddKeyData:getEip712BrowserRequestAddKeyData,getEip712BrowserRequestAddProvider:getEip712BrowserRequestAddProvider,getEip712BrowserRequestAuthorizedKeyData:getEip712BrowserRequestAuthorizedKeyData,getEip712BrowserRequestClaimHandlePayload:getEip712BrowserRequestClaimHandlePayload,getEip712BrowserRequestItemizedSignaturePayloadV2:getEip712BrowserRequestItemizedSignaturePayloadV2,getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2:getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2,getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2:getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2,getEip712BrowserRequestPasskeyPublicKey:getEip712BrowserRequestPasskeyPublicKey,getEip712BrowserRequestRecoveryCommitmentPayload:getEip712BrowserRequestRecoveryCommitmentPayload,getEip712BrowserRequestSiwfSignedRequestPayload:getEip712BrowserRequestSiwfSignedRequestPayload,getEthereumMessageSigner:getEthereumMessageSigner,getEthereumRegularSigner:getEthereumRegularSigner,sign:sign,verifySignature:verifySignature});var index = { ...payloads, ...address, ...signatureDefinitions, ...signature };exports.ADD_KEY_DATA_DEFINITION=ADD_KEY_DATA_DEFINITION;exports.ADD_PROVIDER_DEFINITION=ADD_PROVIDER_DEFINITION;exports.AUTHORIZED_KEY_DATA_DEFINITION=AUTHORIZED_KEY_DATA_DEFINITION;exports.CLAIM_HANDLE_PAYLOAD_DEFINITION=CLAIM_HANDLE_PAYLOAD_DEFINITION;exports.EIP712_DOMAIN_DEFINITION=EIP712_DOMAIN_DEFINITION;exports.EIP712_DOMAIN_MAINNET=EIP712_DOMAIN_MAINNET;exports.EIP712_DOMAIN_TESTNET=EIP712_DOMAIN_TESTNET;exports.ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2=ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2;exports.PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2=PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2;exports.PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2=PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2;exports.PASSKEY_PUBLIC_KEY_DEFINITION=PASSKEY_PUBLIC_KEY_DEFINITION;exports.RECOVERY_COMMITMENT_PAYLOAD_DEFINITION=RECOVERY_COMMITMENT_PAYLOAD_DEFINITION;exports.SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION=SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION;exports.createAddKeyData=createAddKeyData;exports.createAddProvider=createAddProvider;exports.createAuthorizedKeyData=createAuthorizedKeyData;exports.createClaimHandlePayload=createClaimHandlePayload;exports.createItemizedAddAction=createItemizedAddAction;exports.createItemizedDeleteAction=createItemizedDeleteAction;exports.createItemizedSignaturePayloadV2=createItemizedSignaturePayloadV2;exports.createPaginatedDeleteSignaturePayloadV2=createPaginatedDeleteSignaturePayloadV2;exports.createPaginatedUpsertSignaturePayloadV2=createPaginatedUpsertSignaturePayloadV2;exports.createPasskeyPublicKey=createPasskeyPublicKey;exports.createRandomKey=createRandomKey;exports.createRecoveryCommitmentPayload=createRecoveryCommitmentPayload;exports.createSiwfLoginRequestPayload=createSiwfLoginRequestPayload;exports.createSiwfSignedRequestPayload=createSiwfSignedRequestPayload;exports.default=index;exports.ethereumAddressToKeyringPair=ethereumAddressToKeyringPair;exports.getAccountId20MultiAddress=getAccountId20MultiAddress;exports.getEip712BrowserRequestAddKeyData=getEip712BrowserRequestAddKeyData;exports.getEip712BrowserRequestAddProvider=getEip712BrowserRequestAddProvider;exports.getEip712BrowserRequestAuthorizedKeyData=getEip712BrowserRequestAuthorizedKeyData;exports.getEip712BrowserRequestClaimHandlePayload=getEip712BrowserRequestClaimHandlePayload;exports.getEip712BrowserRequestItemizedSignaturePayloadV2=getEip712BrowserRequestItemizedSignaturePayloadV2;exports.getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2=getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2;exports.getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2=getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2;exports.getEip712BrowserRequestPasskeyPublicKey=getEip712BrowserRequestPasskeyPublicKey;exports.getEip712BrowserRequestRecoveryCommitmentPayload=getEip712BrowserRequestRecoveryCommitmentPayload;exports.getEip712BrowserRequestSiwfSignedRequestPayload=getEip712BrowserRequestSiwfSignedRequestPayload;exports.getEthereumMessageSigner=getEthereumMessageSigner;exports.getEthereumRegularSigner=getEthereumRegularSigner;exports.getKeyringPairFromSecp256k1PrivateKey=getKeyringPairFromSecp256k1PrivateKey;exports.getSS58AccountFromEthereumAccount=getSS58AccountFromEthereumAccount;exports.getUnifiedAddress=getUnifiedAddress;exports.getUnifiedPublicKey=getUnifiedPublicKey;exports.reverseUnifiedAddressToEthereumAddress=reverseUnifiedAddressToEthereumAddress;exports.sign=sign;exports.verifySignature=verifySignature;Object.defineProperty(exports,'__esModule',{value:true});}));
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION = exports.ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2 = exports.PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2 = exports.PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2 = exports.PASSKEY_PUBLIC_KEY_DEFINITION = exports.CLAIM_HANDLE_PAYLOAD_DEFINITION = exports.AUTHORIZED_KEY_DATA_DEFINITION = exports.ADD_KEY_DATA_DEFINITION = exports.ADD_PROVIDER_DEFINITION = exports.EIP712_DOMAIN_TESTNET = exports.EIP712_DOMAIN_MAINNET = exports.EIP712_DOMAIN_DEFINITION = void 0;
3
+ exports.SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION = exports.ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2 = exports.PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2 = exports.PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2 = exports.PASSKEY_PUBLIC_KEY_DEFINITION = exports.CLAIM_HANDLE_PAYLOAD_DEFINITION = exports.RECOVERY_COMMITMENT_PAYLOAD_DEFINITION = exports.AUTHORIZED_KEY_DATA_DEFINITION = exports.ADD_KEY_DATA_DEFINITION = exports.ADD_PROVIDER_DEFINITION = exports.EIP712_DOMAIN_TESTNET = exports.EIP712_DOMAIN_MAINNET = exports.EIP712_DOMAIN_DEFINITION = void 0;
4
4
  exports.EIP712_DOMAIN_DEFINITION = {
5
5
  EIP712Domain: [
6
6
  {
@@ -83,6 +83,18 @@ exports.AUTHORIZED_KEY_DATA_DEFINITION = {
83
83
  },
84
84
  ],
85
85
  };
86
+ exports.RECOVERY_COMMITMENT_PAYLOAD_DEFINITION = {
87
+ RecoveryCommitmentPayload: [
88
+ {
89
+ name: 'recoveryCommitment',
90
+ type: 'bytes',
91
+ },
92
+ {
93
+ name: 'expiration',
94
+ type: 'uint32',
95
+ },
96
+ ],
97
+ };
86
98
  exports.CLAIM_HANDLE_PAYLOAD_DEFINITION = {
87
99
  ClaimHandlePayload: [
88
100
  {
@@ -196,6 +208,7 @@ const PAYLOAD_DEFINITIONS = [
196
208
  exports.PASSKEY_PUBLIC_KEY_DEFINITION,
197
209
  exports.PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2,
198
210
  exports.PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2,
211
+ exports.RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,
199
212
  exports.ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2,
200
213
  exports.SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION,
201
214
  ];
package/cjs/signature.js CHANGED
@@ -5,6 +5,7 @@ exports.verifySignature = verifySignature;
5
5
  exports.createAddKeyData = createAddKeyData;
6
6
  exports.createAuthorizedKeyData = createAuthorizedKeyData;
7
7
  exports.createAddProvider = createAddProvider;
8
+ exports.createRecoveryCommitmentPayload = createRecoveryCommitmentPayload;
8
9
  exports.createClaimHandlePayload = createClaimHandlePayload;
9
10
  exports.createPasskeyPublicKey = createPasskeyPublicKey;
10
11
  exports.createItemizedAddAction = createItemizedAddAction;
@@ -17,6 +18,7 @@ exports.createSiwfLoginRequestPayload = createSiwfLoginRequestPayload;
17
18
  exports.getEip712BrowserRequestAddKeyData = getEip712BrowserRequestAddKeyData;
18
19
  exports.getEip712BrowserRequestAuthorizedKeyData = getEip712BrowserRequestAuthorizedKeyData;
19
20
  exports.getEip712BrowserRequestAddProvider = getEip712BrowserRequestAddProvider;
21
+ exports.getEip712BrowserRequestRecoveryCommitmentPayload = getEip712BrowserRequestRecoveryCommitmentPayload;
20
22
  exports.getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2 = getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2;
21
23
  exports.getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2 = getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2;
22
24
  exports.getEip712BrowserRequestItemizedSignaturePayloadV2 = getEip712BrowserRequestItemizedSignaturePayloadV2;
@@ -87,6 +89,7 @@ function normalizePayload(payload) {
87
89
  case 'PasskeyPublicKey':
88
90
  case 'ClaimHandlePayload':
89
91
  case 'AddProvider':
92
+ case 'RecoveryCommitmentPayload':
90
93
  case 'SiwfLoginRequestPayload':
91
94
  break;
92
95
  case 'AddKeyData':
@@ -125,6 +128,7 @@ function getTypesFor(payloadType) {
125
128
  AddKeyData: signature_definitions_js_1.ADD_KEY_DATA_DEFINITION,
126
129
  AuthorizedKeyData: signature_definitions_js_1.AUTHORIZED_KEY_DATA_DEFINITION,
127
130
  AddProvider: signature_definitions_js_1.ADD_PROVIDER_DEFINITION,
131
+ RecoveryCommitmentPayload: signature_definitions_js_1.RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,
128
132
  // offchain signatures
129
133
  SiwfSignedRequestPayload: signature_definitions_js_1.SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION,
130
134
  };
@@ -200,6 +204,21 @@ function createAddProvider(authorizedMsaId, schemaIds, expirationBlock) {
200
204
  expiration: expirationBlock,
201
205
  };
202
206
  }
207
+ /**
208
+ * Build a RecoveryCommitmentPayload for signature.
209
+ *
210
+ * @param recoveryCommitment The recovery commitment data as a HexString
211
+ * @param expirationBlock Block number after which this payload is invalid
212
+ */
213
+ function createRecoveryCommitmentPayload(recoveryCommitment, expirationBlock) {
214
+ (0, utils_js_1.assert)((0, utils_js_1.isHexString)(recoveryCommitment), 'recoveryCommitment should be a valid hex string');
215
+ (0, utils_js_1.assert)((0, utils_js_1.isValidUint32)(expirationBlock), 'expiration should be a valid uint32');
216
+ return {
217
+ type: 'RecoveryCommitmentPayload',
218
+ recoveryCommitment: recoveryCommitment,
219
+ expiration: expirationBlock,
220
+ };
221
+ }
203
222
  /**
204
223
  * Build a ClaimHandlePayload for signature.
205
224
  *
@@ -372,6 +391,18 @@ function getEip712BrowserRequestAddProvider(authorizedMsaId, schemaIds, expirati
372
391
  const normalized = normalizePayload(message);
373
392
  return createEip712Payload(signature_definitions_js_1.ADD_PROVIDER_DEFINITION, message.type, domain, normalized);
374
393
  }
394
+ /**
395
+ * Returns the EIP-712 browser request for a RecoveryCommitmentPayload for signing.
396
+ *
397
+ * @param recoveryCommitment The recovery commitment data as a Uint8Array
398
+ * @param expirationBlock Block number after which this payload is invalid
399
+ * @param domain
400
+ */
401
+ function getEip712BrowserRequestRecoveryCommitmentPayload(recoveryCommitment, expirationBlock, domain = signature_definitions_js_1.EIP712_DOMAIN_MAINNET) {
402
+ const message = createRecoveryCommitmentPayload(recoveryCommitment, expirationBlock);
403
+ const normalized = normalizePayload(message);
404
+ return createEip712Payload(signature_definitions_js_1.RECOVERY_COMMITMENT_PAYLOAD_DEFINITION, message.type, domain, normalized);
405
+ }
375
406
  /**
376
407
  * Returns the EIP-712 browser request for a PaginatedUpsertSignaturePayloadV2 for signing.
377
408
  *
@@ -80,6 +80,18 @@ export const AUTHORIZED_KEY_DATA_DEFINITION = {
80
80
  },
81
81
  ],
82
82
  };
83
+ export const RECOVERY_COMMITMENT_PAYLOAD_DEFINITION = {
84
+ RecoveryCommitmentPayload: [
85
+ {
86
+ name: 'recoveryCommitment',
87
+ type: 'bytes',
88
+ },
89
+ {
90
+ name: 'expiration',
91
+ type: 'uint32',
92
+ },
93
+ ],
94
+ };
83
95
  export const CLAIM_HANDLE_PAYLOAD_DEFINITION = {
84
96
  ClaimHandlePayload: [
85
97
  {
@@ -193,6 +205,7 @@ const PAYLOAD_DEFINITIONS = [
193
205
  PASSKEY_PUBLIC_KEY_DEFINITION,
194
206
  PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2,
195
207
  PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2,
208
+ RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,
196
209
  ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2,
197
210
  SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION,
198
211
  ];
package/esm/signature.js CHANGED
@@ -2,7 +2,7 @@ import { assert, isHexString, isValidUint16, isValidUint32, isValidUint64String
2
2
  import { reverseUnifiedAddressToEthereumAddress } from './address.js';
3
3
  import { ethers } from 'ethers';
4
4
  import { u8aToHex } from '@polkadot/util';
5
- import { ADD_KEY_DATA_DEFINITION, ADD_PROVIDER_DEFINITION, AUTHORIZED_KEY_DATA_DEFINITION, CLAIM_HANDLE_PAYLOAD_DEFINITION, EIP712_DOMAIN_MAINNET, EIP712_DOMAIN_DEFINITION, ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2, PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2, PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2, PASSKEY_PUBLIC_KEY_DEFINITION, SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION, EIP712_DOMAIN_TESTNET, } from './signature.definitions.js';
5
+ import { ADD_KEY_DATA_DEFINITION, ADD_PROVIDER_DEFINITION, AUTHORIZED_KEY_DATA_DEFINITION, CLAIM_HANDLE_PAYLOAD_DEFINITION, EIP712_DOMAIN_MAINNET, EIP712_DOMAIN_DEFINITION, ITEMIZED_SIGNATURE_PAYLOAD_DEFINITION_V2, PAGINATED_DELETE_SIGNATURE_PAYLOAD_DEFINITION_V2, PAGINATED_UPSERT_SIGNATURE_PAYLOAD_DEFINITION_V2, PASSKEY_PUBLIC_KEY_DEFINITION, SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION, EIP712_DOMAIN_TESTNET, RECOVERY_COMMITMENT_PAYLOAD_DEFINITION, } from './signature.definitions.js';
6
6
  /**
7
7
  * Signing EIP-712 or ERC-191 compatible signature based on payload
8
8
  * @param secretKey
@@ -60,6 +60,7 @@ function normalizePayload(payload) {
60
60
  case 'PasskeyPublicKey':
61
61
  case 'ClaimHandlePayload':
62
62
  case 'AddProvider':
63
+ case 'RecoveryCommitmentPayload':
63
64
  case 'SiwfLoginRequestPayload':
64
65
  break;
65
66
  case 'AddKeyData':
@@ -98,6 +99,7 @@ function getTypesFor(payloadType) {
98
99
  AddKeyData: ADD_KEY_DATA_DEFINITION,
99
100
  AuthorizedKeyData: AUTHORIZED_KEY_DATA_DEFINITION,
100
101
  AddProvider: ADD_PROVIDER_DEFINITION,
102
+ RecoveryCommitmentPayload: RECOVERY_COMMITMENT_PAYLOAD_DEFINITION,
101
103
  // offchain signatures
102
104
  SiwfSignedRequestPayload: SIWF_SIGNED_REQUEST_PAYLOAD_DEFINITION,
103
105
  };
@@ -173,6 +175,21 @@ export function createAddProvider(authorizedMsaId, schemaIds, expirationBlock) {
173
175
  expiration: expirationBlock,
174
176
  };
175
177
  }
178
+ /**
179
+ * Build a RecoveryCommitmentPayload for signature.
180
+ *
181
+ * @param recoveryCommitment The recovery commitment data as a HexString
182
+ * @param expirationBlock Block number after which this payload is invalid
183
+ */
184
+ export function createRecoveryCommitmentPayload(recoveryCommitment, expirationBlock) {
185
+ assert(isHexString(recoveryCommitment), 'recoveryCommitment should be a valid hex string');
186
+ assert(isValidUint32(expirationBlock), 'expiration should be a valid uint32');
187
+ return {
188
+ type: 'RecoveryCommitmentPayload',
189
+ recoveryCommitment: recoveryCommitment,
190
+ expiration: expirationBlock,
191
+ };
192
+ }
176
193
  /**
177
194
  * Build a ClaimHandlePayload for signature.
178
195
  *
@@ -345,6 +362,18 @@ export function getEip712BrowserRequestAddProvider(authorizedMsaId, schemaIds, e
345
362
  const normalized = normalizePayload(message);
346
363
  return createEip712Payload(ADD_PROVIDER_DEFINITION, message.type, domain, normalized);
347
364
  }
365
+ /**
366
+ * Returns the EIP-712 browser request for a RecoveryCommitmentPayload for signing.
367
+ *
368
+ * @param recoveryCommitment The recovery commitment data as a Uint8Array
369
+ * @param expirationBlock Block number after which this payload is invalid
370
+ * @param domain
371
+ */
372
+ export function getEip712BrowserRequestRecoveryCommitmentPayload(recoveryCommitment, expirationBlock, domain = EIP712_DOMAIN_MAINNET) {
373
+ const message = createRecoveryCommitmentPayload(recoveryCommitment, expirationBlock);
374
+ const normalized = normalizePayload(message);
375
+ return createEip712Payload(RECOVERY_COMMITMENT_PAYLOAD_DEFINITION, message.type, domain, normalized);
376
+ }
348
377
  /**
349
378
  * Returns the EIP-712 browser request for a PaginatedUpsertSignaturePayloadV2 for signing.
350
379
  *
package/index.d.ts CHANGED
@@ -9,6 +9,7 @@ declare const _default: {
9
9
  createAddKeyData(msaId: string | bigint, newPublicKey: payloads.HexString | Uint8Array, expirationBlock: number): payloads.AddKeyData;
10
10
  createAuthorizedKeyData(msaId: string | bigint, newPublicKey: payloads.HexString | Uint8Array, expirationBlock: number): payloads.AuthorizedKeyData;
11
11
  createAddProvider(authorizedMsaId: string | bigint, schemaIds: number[], expirationBlock: number): payloads.AddProvider;
12
+ createRecoveryCommitmentPayload(recoveryCommitment: payloads.HexString, expirationBlock: number): payloads.RecoveryCommitmentPayload;
12
13
  createClaimHandlePayload(handle: string, expirationBlock: number): payloads.ClaimHandlePayload;
13
14
  createPasskeyPublicKey(publicKey: payloads.HexString | Uint8Array): payloads.PasskeyPublicKey;
14
15
  createItemizedAddAction(data: payloads.HexString | Uint8Array): payloads.AddItemizedAction;
@@ -21,6 +22,7 @@ declare const _default: {
21
22
  getEip712BrowserRequestAddKeyData(msaId: string | bigint, newPublicKey: payloads.HexString | Uint8Array, expirationBlock: number, domain?: payloads.EipDomainPayload): unknown;
22
23
  getEip712BrowserRequestAuthorizedKeyData(msaId: string | bigint, authorizedPublicKey: payloads.HexString | Uint8Array, expirationBlock: number, domain?: payloads.EipDomainPayload): unknown;
23
24
  getEip712BrowserRequestAddProvider(authorizedMsaId: string | bigint, schemaIds: number[], expirationBlock: number, domain?: payloads.EipDomainPayload): unknown;
25
+ getEip712BrowserRequestRecoveryCommitmentPayload(recoveryCommitment: payloads.HexString, expirationBlock: number, domain?: payloads.EipDomainPayload): unknown;
24
26
  getEip712BrowserRequestPaginatedUpsertSignaturePayloadV2(schemaId: number, pageId: number, targetHash: number, expiration: number, payload: payloads.HexString | Uint8Array, domain?: payloads.EipDomainPayload): unknown;
25
27
  getEip712BrowserRequestPaginatedDeleteSignaturePayloadV2(schemaId: number, pageId: number, targetHash: number, expiration: number, domain?: payloads.EipDomainPayload): unknown;
26
28
  getEip712BrowserRequestItemizedSignaturePayloadV2(schemaId: number, targetHash: number, expiration: number, actions: payloads.ItemizedAction[], domain?: payloads.EipDomainPayload): unknown;
@@ -55,6 +57,12 @@ declare const _default: {
55
57
  type: string;
56
58
  }[];
57
59
  };
60
+ RECOVERY_COMMITMENT_PAYLOAD_DEFINITION: {
61
+ RecoveryCommitmentPayload: {
62
+ name: string;
63
+ type: string;
64
+ }[];
65
+ };
58
66
  CLAIM_HANDLE_PAYLOAD_DEFINITION: {
59
67
  ClaimHandlePayload: {
60
68
  name: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frequency-chain/ethereum-utils",
3
- "version": "1.17.0",
3
+ "version": "1.17.1",
4
4
  "bugs": {
5
5
  "url": "https://github.com/frequency-chain/frequency/issues"
6
6
  },
package/payloads.d.ts CHANGED
@@ -77,6 +77,11 @@ export interface AddProvider {
77
77
  schemaIds: number[];
78
78
  expiration: number;
79
79
  }
80
+ export interface RecoveryCommitmentPayload {
81
+ type: 'RecoveryCommitmentPayload';
82
+ recoveryCommitment: HexString;
83
+ expiration: number;
84
+ }
80
85
  export interface SiwfSignedRequestPayload {
81
86
  type: 'SiwfSignedRequestPayload';
82
87
  callback: string;
@@ -87,7 +92,7 @@ export interface SiwfLoginRequestPayload {
87
92
  type: 'SiwfLoginRequestPayload';
88
93
  message: string;
89
94
  }
90
- export type SupportedPayload = PaginatedUpsertSignaturePayloadV2 | PaginatedDeleteSignaturePayloadV2 | ItemizedSignaturePayloadV2 | PasskeyPublicKey | ClaimHandlePayload | AddKeyData | AuthorizedKeyData | AddProvider | SiwfSignedRequestPayload | SiwfLoginRequestPayload;
95
+ export type SupportedPayload = PaginatedUpsertSignaturePayloadV2 | PaginatedDeleteSignaturePayloadV2 | ItemizedSignaturePayloadV2 | PasskeyPublicKey | ClaimHandlePayload | AddKeyData | AuthorizedKeyData | AddProvider | RecoveryCommitmentPayload | SiwfSignedRequestPayload | SiwfLoginRequestPayload;
91
96
  export type NormalizedSupportedPayload = Omit<SupportedPayload, 'type'>;
92
97
  export interface EipDomainPayload {
93
98
  name: string;
package/signature.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AddKeyData, AuthorizedKeyData, AddProvider, ChainType, ClaimHandlePayload, EcdsaSignature, ItemizedSignaturePayloadV2, PaginatedDeleteSignaturePayloadV2, PaginatedUpsertSignaturePayloadV2, PasskeyPublicKey, SupportedPayload, HexString, AddItemizedAction, DeleteItemizedAction, ItemizedAction, EipDomainPayload, SiwfSignedRequestPayload, SiwfLoginRequestPayload } from './payloads.js';
1
+ import { AddKeyData, AuthorizedKeyData, AddProvider, ChainType, ClaimHandlePayload, EcdsaSignature, ItemizedSignaturePayloadV2, PaginatedDeleteSignaturePayloadV2, PaginatedUpsertSignaturePayloadV2, PasskeyPublicKey, SupportedPayload, HexString, AddItemizedAction, DeleteItemizedAction, ItemizedAction, EipDomainPayload, RecoveryCommitmentPayload, SiwfSignedRequestPayload, SiwfLoginRequestPayload } from './payloads.js';
2
2
  import { KeyringPair } from '@polkadot/keyring/types';
3
3
  import { Signer } from '@polkadot/types/types';
4
4
  /**
@@ -40,6 +40,13 @@ export declare function createAuthorizedKeyData(msaId: string | bigint, newPubli
40
40
  * @param expirationBlock Block number after which this payload is invalid
41
41
  */
42
42
  export declare function createAddProvider(authorizedMsaId: string | bigint, schemaIds: number[], expirationBlock: number): AddProvider;
43
+ /**
44
+ * Build a RecoveryCommitmentPayload for signature.
45
+ *
46
+ * @param recoveryCommitment The recovery commitment data as a HexString
47
+ * @param expirationBlock Block number after which this payload is invalid
48
+ */
49
+ export declare function createRecoveryCommitmentPayload(recoveryCommitment: HexString, expirationBlock: number): RecoveryCommitmentPayload;
43
50
  /**
44
51
  * Build a ClaimHandlePayload for signature.
45
52
  *
@@ -124,6 +131,14 @@ export declare function getEip712BrowserRequestAuthorizedKeyData(msaId: string |
124
131
  * @param domain
125
132
  */
126
133
  export declare function getEip712BrowserRequestAddProvider(authorizedMsaId: string | bigint, schemaIds: number[], expirationBlock: number, domain?: EipDomainPayload): unknown;
134
+ /**
135
+ * Returns the EIP-712 browser request for a RecoveryCommitmentPayload for signing.
136
+ *
137
+ * @param recoveryCommitment The recovery commitment data as a Uint8Array
138
+ * @param expirationBlock Block number after which this payload is invalid
139
+ * @param domain
140
+ */
141
+ export declare function getEip712BrowserRequestRecoveryCommitmentPayload(recoveryCommitment: HexString, expirationBlock: number, domain?: EipDomainPayload): unknown;
127
142
  /**
128
143
  * Returns the EIP-712 browser request for a PaginatedUpsertSignaturePayloadV2 for signing.
129
144
  *
@@ -25,6 +25,12 @@ export declare const AUTHORIZED_KEY_DATA_DEFINITION: {
25
25
  type: string;
26
26
  }[];
27
27
  };
28
+ export declare const RECOVERY_COMMITMENT_PAYLOAD_DEFINITION: {
29
+ RecoveryCommitmentPayload: {
30
+ name: string;
31
+ type: string;
32
+ }[];
33
+ };
28
34
  export declare const CLAIM_HANDLE_PAYLOAD_DEFINITION: {
29
35
  ClaimHandlePayload: {
30
36
  name: string;
@@ -80,6 +86,11 @@ declare const PAYLOAD_DEFINITIONS: ({
80
86
  name: string;
81
87
  type: string;
82
88
  }[];
89
+ } | {
90
+ RecoveryCommitmentPayload: {
91
+ name: string;
92
+ type: string;
93
+ }[];
83
94
  } | {
84
95
  ClaimHandlePayload: {
85
96
  name: string;