xrpjson 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/LICENSE +21 -0
- package/README.md +183 -0
- package/dist/errors.d.ts +20 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +27 -0
- package/dist/errors.js.map +1 -0
- package/dist/fp/factories/account-delete.d.ts +33 -0
- package/dist/fp/factories/account-delete.d.ts.map +1 -0
- package/dist/fp/factories/account-delete.js +138 -0
- package/dist/fp/factories/account-delete.js.map +1 -0
- package/dist/fp/factories/account-set.d.ts +31 -0
- package/dist/fp/factories/account-set.d.ts.map +1 -0
- package/dist/fp/factories/account-set.js +44 -0
- package/dist/fp/factories/account-set.js.map +1 -0
- package/dist/fp/factories/amm-bid.d.ts +134 -0
- package/dist/fp/factories/amm-bid.d.ts.map +1 -0
- package/dist/fp/factories/amm-bid.js +82 -0
- package/dist/fp/factories/amm-bid.js.map +1 -0
- package/dist/fp/factories/amm-clawback.d.ts +166 -0
- package/dist/fp/factories/amm-clawback.d.ts.map +1 -0
- package/dist/fp/factories/amm-clawback.js +143 -0
- package/dist/fp/factories/amm-clawback.js.map +1 -0
- package/dist/fp/factories/amm-create.d.ts +91 -0
- package/dist/fp/factories/amm-create.d.ts.map +1 -0
- package/dist/fp/factories/amm-create.js +140 -0
- package/dist/fp/factories/amm-create.js.map +1 -0
- package/dist/fp/factories/amm-delete.d.ts +84 -0
- package/dist/fp/factories/amm-delete.d.ts.map +1 -0
- package/dist/fp/factories/amm-delete.js +36 -0
- package/dist/fp/factories/amm-delete.js.map +1 -0
- package/dist/fp/factories/amm-deposit.d.ts +109 -0
- package/dist/fp/factories/amm-deposit.d.ts.map +1 -0
- package/dist/fp/factories/amm-deposit.js +68 -0
- package/dist/fp/factories/amm-deposit.js.map +1 -0
- package/dist/fp/factories/amm-vote.d.ts +87 -0
- package/dist/fp/factories/amm-vote.d.ts.map +1 -0
- package/dist/fp/factories/amm-vote.js +53 -0
- package/dist/fp/factories/amm-vote.js.map +1 -0
- package/dist/fp/factories/amm-withdraw.d.ts +131 -0
- package/dist/fp/factories/amm-withdraw.d.ts.map +1 -0
- package/dist/fp/factories/amm-withdraw.js +147 -0
- package/dist/fp/factories/amm-withdraw.js.map +1 -0
- package/dist/fp/factories/batch.d.ts +133 -0
- package/dist/fp/factories/batch.d.ts.map +1 -0
- package/dist/fp/factories/batch.js +264 -0
- package/dist/fp/factories/batch.js.map +1 -0
- package/dist/fp/factories/check-cancel.d.ts +22 -0
- package/dist/fp/factories/check-cancel.d.ts.map +1 -0
- package/dist/fp/factories/check-cancel.js +119 -0
- package/dist/fp/factories/check-cancel.js.map +1 -0
- package/dist/fp/factories/check-cash.d.ts +84 -0
- package/dist/fp/factories/check-cash.d.ts.map +1 -0
- package/dist/fp/factories/check-cash.js +95 -0
- package/dist/fp/factories/check-cash.js.map +1 -0
- package/dist/fp/factories/check-create.d.ts +82 -0
- package/dist/fp/factories/check-create.d.ts.map +1 -0
- package/dist/fp/factories/check-create.js +101 -0
- package/dist/fp/factories/check-create.js.map +1 -0
- package/dist/fp/factories/clawback.d.ts +160 -0
- package/dist/fp/factories/clawback.d.ts.map +1 -0
- package/dist/fp/factories/clawback.js +111 -0
- package/dist/fp/factories/clawback.js.map +1 -0
- package/dist/fp/factories/confidential-mpt-clawback.d.ts +24 -0
- package/dist/fp/factories/confidential-mpt-clawback.d.ts.map +1 -0
- package/dist/fp/factories/confidential-mpt-clawback.js +200 -0
- package/dist/fp/factories/confidential-mpt-clawback.js.map +1 -0
- package/dist/fp/factories/confidential-mpt-convert-back.d.ts +32 -0
- package/dist/fp/factories/confidential-mpt-convert-back.d.ts.map +1 -0
- package/dist/fp/factories/confidential-mpt-convert-back.js +203 -0
- package/dist/fp/factories/confidential-mpt-convert-back.js.map +1 -0
- package/dist/fp/factories/confidential-mpt-convert.d.ts +32 -0
- package/dist/fp/factories/confidential-mpt-convert.d.ts.map +1 -0
- package/dist/fp/factories/confidential-mpt-convert.js +209 -0
- package/dist/fp/factories/confidential-mpt-convert.js.map +1 -0
- package/dist/fp/factories/confidential-mpt-merge-inbox.d.ts +18 -0
- package/dist/fp/factories/confidential-mpt-merge-inbox.d.ts.map +1 -0
- package/dist/fp/factories/confidential-mpt-merge-inbox.js +130 -0
- package/dist/fp/factories/confidential-mpt-merge-inbox.js.map +1 -0
- package/dist/fp/factories/confidential-mpt-send.d.ts +38 -0
- package/dist/fp/factories/confidential-mpt-send.d.ts.map +1 -0
- package/dist/fp/factories/confidential-mpt-send.js +254 -0
- package/dist/fp/factories/confidential-mpt-send.js.map +1 -0
- package/dist/fp/factories/credential-accept.d.ts +23 -0
- package/dist/fp/factories/credential-accept.d.ts.map +1 -0
- package/dist/fp/factories/credential-accept.js +135 -0
- package/dist/fp/factories/credential-accept.js.map +1 -0
- package/dist/fp/factories/credential-create.d.ts +24 -0
- package/dist/fp/factories/credential-create.d.ts.map +1 -0
- package/dist/fp/factories/credential-create.js +204 -0
- package/dist/fp/factories/credential-create.js.map +1 -0
- package/dist/fp/factories/credential-delete.d.ts +33 -0
- package/dist/fp/factories/credential-delete.d.ts.map +1 -0
- package/dist/fp/factories/credential-delete.js +167 -0
- package/dist/fp/factories/credential-delete.js.map +1 -0
- package/dist/fp/factories/delegate-set.d.ts +52 -0
- package/dist/fp/factories/delegate-set.d.ts.map +1 -0
- package/dist/fp/factories/delegate-set.js +190 -0
- package/dist/fp/factories/delegate-set.js.map +1 -0
- package/dist/fp/factories/deposit-preauth.d.ts +183 -0
- package/dist/fp/factories/deposit-preauth.d.ts.map +1 -0
- package/dist/fp/factories/deposit-preauth.js +159 -0
- package/dist/fp/factories/deposit-preauth.js.map +1 -0
- package/dist/fp/factories/did-delete.d.ts +22 -0
- package/dist/fp/factories/did-delete.d.ts.map +1 -0
- package/dist/fp/factories/did-delete.js +126 -0
- package/dist/fp/factories/did-delete.js.map +1 -0
- package/dist/fp/factories/did-set.d.ts +68 -0
- package/dist/fp/factories/did-set.d.ts.map +1 -0
- package/dist/fp/factories/did-set.js +178 -0
- package/dist/fp/factories/did-set.js.map +1 -0
- package/dist/fp/factories/escrow-cancel.d.ts +28 -0
- package/dist/fp/factories/escrow-cancel.d.ts.map +1 -0
- package/dist/fp/factories/escrow-cancel.js +127 -0
- package/dist/fp/factories/escrow-cancel.js.map +1 -0
- package/dist/fp/factories/escrow-create.d.ts +103 -0
- package/dist/fp/factories/escrow-create.d.ts.map +1 -0
- package/dist/fp/factories/escrow-create.js +133 -0
- package/dist/fp/factories/escrow-create.js.map +1 -0
- package/dist/fp/factories/escrow-finish.d.ts +39 -0
- package/dist/fp/factories/escrow-finish.d.ts.map +1 -0
- package/dist/fp/factories/escrow-finish.js +173 -0
- package/dist/fp/factories/escrow-finish.js.map +1 -0
- package/dist/fp/factories/ledger-state-fix.d.ts +31 -0
- package/dist/fp/factories/ledger-state-fix.d.ts.map +1 -0
- package/dist/fp/factories/ledger-state-fix.js +163 -0
- package/dist/fp/factories/ledger-state-fix.js.map +1 -0
- package/dist/fp/factories/loan-broker-cover-clawback.d.ts +106 -0
- package/dist/fp/factories/loan-broker-cover-clawback.d.ts.map +1 -0
- package/dist/fp/factories/loan-broker-cover-clawback.js +122 -0
- package/dist/fp/factories/loan-broker-cover-clawback.js.map +1 -0
- package/dist/fp/factories/loan-broker-cover-deposit.d.ts +65 -0
- package/dist/fp/factories/loan-broker-cover-deposit.d.ts.map +1 -0
- package/dist/fp/factories/loan-broker-cover-deposit.js +81 -0
- package/dist/fp/factories/loan-broker-cover-deposit.js.map +1 -0
- package/dist/fp/factories/loan-broker-cover-withdraw.d.ts +96 -0
- package/dist/fp/factories/loan-broker-cover-withdraw.d.ts.map +1 -0
- package/dist/fp/factories/loan-broker-cover-withdraw.js +116 -0
- package/dist/fp/factories/loan-broker-cover-withdraw.js.map +1 -0
- package/dist/fp/factories/loan-broker-delete.d.ts +20 -0
- package/dist/fp/factories/loan-broker-delete.d.ts.map +1 -0
- package/dist/fp/factories/loan-broker-delete.js +94 -0
- package/dist/fp/factories/loan-broker-delete.js.map +1 -0
- package/dist/fp/factories/loan-broker-set.d.ts +108 -0
- package/dist/fp/factories/loan-broker-set.d.ts.map +1 -0
- package/dist/fp/factories/loan-broker-set.js +133 -0
- package/dist/fp/factories/loan-broker-set.js.map +1 -0
- package/dist/fp/factories/loan-delete.d.ts +18 -0
- package/dist/fp/factories/loan-delete.d.ts.map +1 -0
- package/dist/fp/factories/loan-delete.js +95 -0
- package/dist/fp/factories/loan-delete.js.map +1 -0
- package/dist/fp/factories/loan-manage.d.ts +72 -0
- package/dist/fp/factories/loan-manage.d.ts.map +1 -0
- package/dist/fp/factories/loan-manage.js +79 -0
- package/dist/fp/factories/loan-manage.js.map +1 -0
- package/dist/fp/factories/loan-pay.d.ts +70 -0
- package/dist/fp/factories/loan-pay.d.ts.map +1 -0
- package/dist/fp/factories/loan-pay.js +115 -0
- package/dist/fp/factories/loan-pay.js.map +1 -0
- package/dist/fp/factories/loan-set.d.ts +67 -0
- package/dist/fp/factories/loan-set.d.ts.map +1 -0
- package/dist/fp/factories/loan-set.js +102 -0
- package/dist/fp/factories/loan-set.js.map +1 -0
- package/dist/fp/factories/mptoken-authorize.d.ts +83 -0
- package/dist/fp/factories/mptoken-authorize.d.ts.map +1 -0
- package/dist/fp/factories/mptoken-authorize.js +63 -0
- package/dist/fp/factories/mptoken-authorize.js.map +1 -0
- package/dist/fp/factories/mptoken-issuance-create.d.ts +71 -0
- package/dist/fp/factories/mptoken-issuance-create.d.ts.map +1 -0
- package/dist/fp/factories/mptoken-issuance-create.js +135 -0
- package/dist/fp/factories/mptoken-issuance-create.js.map +1 -0
- package/dist/fp/factories/mptoken-issuance-destroy.d.ts +32 -0
- package/dist/fp/factories/mptoken-issuance-destroy.d.ts.map +1 -0
- package/dist/fp/factories/mptoken-issuance-destroy.js +105 -0
- package/dist/fp/factories/mptoken-issuance-destroy.js.map +1 -0
- package/dist/fp/factories/mptoken-issuance-set.d.ts +196 -0
- package/dist/fp/factories/mptoken-issuance-set.d.ts.map +1 -0
- package/dist/fp/factories/mptoken-issuance-set.js +333 -0
- package/dist/fp/factories/mptoken-issuance-set.js.map +1 -0
- package/dist/fp/factories/nftoken-accept-offer.d.ts +108 -0
- package/dist/fp/factories/nftoken-accept-offer.d.ts.map +1 -0
- package/dist/fp/factories/nftoken-accept-offer.js +105 -0
- package/dist/fp/factories/nftoken-accept-offer.js.map +1 -0
- package/dist/fp/factories/nftoken-burn.d.ts +27 -0
- package/dist/fp/factories/nftoken-burn.d.ts.map +1 -0
- package/dist/fp/factories/nftoken-burn.js +125 -0
- package/dist/fp/factories/nftoken-burn.js.map +1 -0
- package/dist/fp/factories/nftoken-cancel-offer.d.ts +19 -0
- package/dist/fp/factories/nftoken-cancel-offer.d.ts.map +1 -0
- package/dist/fp/factories/nftoken-cancel-offer.js +143 -0
- package/dist/fp/factories/nftoken-cancel-offer.js.map +1 -0
- package/dist/fp/factories/nftoken-create-offer.d.ts +159 -0
- package/dist/fp/factories/nftoken-create-offer.d.ts.map +1 -0
- package/dist/fp/factories/nftoken-create-offer.js +212 -0
- package/dist/fp/factories/nftoken-create-offer.js.map +1 -0
- package/dist/fp/factories/nftoken-mint.d.ts +155 -0
- package/dist/fp/factories/nftoken-mint.d.ts.map +1 -0
- package/dist/fp/factories/nftoken-mint.js +165 -0
- package/dist/fp/factories/nftoken-mint.js.map +1 -0
- package/dist/fp/factories/nftoken-modify.d.ts +28 -0
- package/dist/fp/factories/nftoken-modify.d.ts.map +1 -0
- package/dist/fp/factories/nftoken-modify.js +209 -0
- package/dist/fp/factories/nftoken-modify.js.map +1 -0
- package/dist/fp/factories/offer-cancel.d.ts +21 -0
- package/dist/fp/factories/offer-cancel.d.ts.map +1 -0
- package/dist/fp/factories/offer-cancel.js +99 -0
- package/dist/fp/factories/offer-cancel.js.map +1 -0
- package/dist/fp/factories/offer-create.d.ts +125 -0
- package/dist/fp/factories/offer-create.d.ts.map +1 -0
- package/dist/fp/factories/offer-create.js +230 -0
- package/dist/fp/factories/offer-create.js.map +1 -0
- package/dist/fp/factories/oracle-delete.d.ts +21 -0
- package/dist/fp/factories/oracle-delete.d.ts.map +1 -0
- package/dist/fp/factories/oracle-delete.js +101 -0
- package/dist/fp/factories/oracle-delete.js.map +1 -0
- package/dist/fp/factories/oracle-set.d.ts +40 -0
- package/dist/fp/factories/oracle-set.d.ts.map +1 -0
- package/dist/fp/factories/oracle-set.js +257 -0
- package/dist/fp/factories/oracle-set.js.map +1 -0
- package/dist/fp/factories/payment-channel-claim.d.ts +153 -0
- package/dist/fp/factories/payment-channel-claim.d.ts.map +1 -0
- package/dist/fp/factories/payment-channel-claim.js +118 -0
- package/dist/fp/factories/payment-channel-claim.js.map +1 -0
- package/dist/fp/factories/payment-channel-create.d.ts +30 -0
- package/dist/fp/factories/payment-channel-create.d.ts.map +1 -0
- package/dist/fp/factories/payment-channel-create.js +172 -0
- package/dist/fp/factories/payment-channel-create.js.map +1 -0
- package/dist/fp/factories/payment-channel-fund.d.ts +25 -0
- package/dist/fp/factories/payment-channel-fund.d.ts.map +1 -0
- package/dist/fp/factories/payment-channel-fund.js +142 -0
- package/dist/fp/factories/payment-channel-fund.js.map +1 -0
- package/dist/fp/factories/payment.d.ts +65 -0
- package/dist/fp/factories/payment.d.ts.map +1 -0
- package/dist/fp/factories/payment.js +48 -0
- package/dist/fp/factories/payment.js.map +1 -0
- package/dist/fp/factories/permissioned-domain-delete.d.ts +18 -0
- package/dist/fp/factories/permissioned-domain-delete.d.ts.map +1 -0
- package/dist/fp/factories/permissioned-domain-delete.js +88 -0
- package/dist/fp/factories/permissioned-domain-delete.js.map +1 -0
- package/dist/fp/factories/permissioned-domain-set.d.ts +118 -0
- package/dist/fp/factories/permissioned-domain-set.d.ts.map +1 -0
- package/dist/fp/factories/permissioned-domain-set.js +100 -0
- package/dist/fp/factories/permissioned-domain-set.js.map +1 -0
- package/dist/fp/factories/set-regular-key.d.ts +30 -0
- package/dist/fp/factories/set-regular-key.d.ts.map +1 -0
- package/dist/fp/factories/set-regular-key.js +81 -0
- package/dist/fp/factories/set-regular-key.js.map +1 -0
- package/dist/fp/factories/signer-list-set.d.ts +61 -0
- package/dist/fp/factories/signer-list-set.d.ts.map +1 -0
- package/dist/fp/factories/signer-list-set.js +250 -0
- package/dist/fp/factories/signer-list-set.js.map +1 -0
- package/dist/fp/factories/sponsorship-set.d.ts +148 -0
- package/dist/fp/factories/sponsorship-set.d.ts.map +1 -0
- package/dist/fp/factories/sponsorship-set.js +201 -0
- package/dist/fp/factories/sponsorship-set.js.map +1 -0
- package/dist/fp/factories/sponsorship-transfer.d.ts +173 -0
- package/dist/fp/factories/sponsorship-transfer.d.ts.map +1 -0
- package/dist/fp/factories/sponsorship-transfer.js +195 -0
- package/dist/fp/factories/sponsorship-transfer.js.map +1 -0
- package/dist/fp/factories/ticket-create.d.ts +20 -0
- package/dist/fp/factories/ticket-create.d.ts.map +1 -0
- package/dist/fp/factories/ticket-create.js +120 -0
- package/dist/fp/factories/ticket-create.js.map +1 -0
- package/dist/fp/factories/trust-set.d.ts +100 -0
- package/dist/fp/factories/trust-set.d.ts.map +1 -0
- package/dist/fp/factories/trust-set.js +111 -0
- package/dist/fp/factories/trust-set.js.map +1 -0
- package/dist/fp/factories/vault-clawback.d.ts +83 -0
- package/dist/fp/factories/vault-clawback.d.ts.map +1 -0
- package/dist/fp/factories/vault-clawback.js +91 -0
- package/dist/fp/factories/vault-clawback.js.map +1 -0
- package/dist/fp/factories/vault-create.d.ts +51 -0
- package/dist/fp/factories/vault-create.d.ts.map +1 -0
- package/dist/fp/factories/vault-create.js +141 -0
- package/dist/fp/factories/vault-create.js.map +1 -0
- package/dist/fp/factories/vault-delete.d.ts +20 -0
- package/dist/fp/factories/vault-delete.d.ts.map +1 -0
- package/dist/fp/factories/vault-delete.js +103 -0
- package/dist/fp/factories/vault-delete.js.map +1 -0
- package/dist/fp/factories/vault-deposit.d.ts +56 -0
- package/dist/fp/factories/vault-deposit.d.ts.map +1 -0
- package/dist/fp/factories/vault-deposit.js +85 -0
- package/dist/fp/factories/vault-deposit.js.map +1 -0
- package/dist/fp/factories/vault-set.d.ts +32 -0
- package/dist/fp/factories/vault-set.d.ts.map +1 -0
- package/dist/fp/factories/vault-set.js +135 -0
- package/dist/fp/factories/vault-set.js.map +1 -0
- package/dist/fp/factories/vault-withdraw.d.ts +82 -0
- package/dist/fp/factories/vault-withdraw.d.ts.map +1 -0
- package/dist/fp/factories/vault-withdraw.js +122 -0
- package/dist/fp/factories/vault-withdraw.js.map +1 -0
- package/dist/fp/factories/xchain-account-create-commit.d.ts +180 -0
- package/dist/fp/factories/xchain-account-create-commit.d.ts.map +1 -0
- package/dist/fp/factories/xchain-account-create-commit.js +99 -0
- package/dist/fp/factories/xchain-account-create-commit.js.map +1 -0
- package/dist/fp/factories/xchain-add-account-create-attestation.d.ts +213 -0
- package/dist/fp/factories/xchain-add-account-create-attestation.d.ts.map +1 -0
- package/dist/fp/factories/xchain-add-account-create-attestation.js +95 -0
- package/dist/fp/factories/xchain-add-account-create-attestation.js.map +1 -0
- package/dist/fp/factories/xchain-add-claim-attestation.d.ts +206 -0
- package/dist/fp/factories/xchain-add-claim-attestation.d.ts.map +1 -0
- package/dist/fp/factories/xchain-add-claim-attestation.js +97 -0
- package/dist/fp/factories/xchain-add-claim-attestation.js.map +1 -0
- package/dist/fp/factories/xchain-claim.d.ts +187 -0
- package/dist/fp/factories/xchain-claim.d.ts.map +1 -0
- package/dist/fp/factories/xchain-claim.js +140 -0
- package/dist/fp/factories/xchain-claim.js.map +1 -0
- package/dist/fp/factories/xchain-commit.d.ts +168 -0
- package/dist/fp/factories/xchain-commit.d.ts.map +1 -0
- package/dist/fp/factories/xchain-commit.js +137 -0
- package/dist/fp/factories/xchain-commit.js.map +1 -0
- package/dist/fp/factories/xchain-create-bridge.d.ts +206 -0
- package/dist/fp/factories/xchain-create-bridge.d.ts.map +1 -0
- package/dist/fp/factories/xchain-create-bridge.js +100 -0
- package/dist/fp/factories/xchain-create-bridge.js.map +1 -0
- package/dist/fp/factories/xchain-create-claim-id.d.ts +199 -0
- package/dist/fp/factories/xchain-create-claim-id.d.ts.map +1 -0
- package/dist/fp/factories/xchain-create-claim-id.js +78 -0
- package/dist/fp/factories/xchain-create-claim-id.js.map +1 -0
- package/dist/fp/factories/xchain-modify-bridge.d.ts +198 -0
- package/dist/fp/factories/xchain-modify-bridge.d.ts.map +1 -0
- package/dist/fp/factories/xchain-modify-bridge.js +102 -0
- package/dist/fp/factories/xchain-modify-bridge.js.map +1 -0
- package/dist/fp/index.d.ts +124 -0
- package/dist/fp/index.d.ts.map +1 -0
- package/dist/fp/index.js +152 -0
- package/dist/fp/index.js.map +1 -0
- package/dist/fp/shape.d.ts +34 -0
- package/dist/fp/shape.d.ts.map +1 -0
- package/dist/fp/shape.js +80 -0
- package/dist/fp/shape.js.map +1 -0
- package/dist/types/amounts.d.ts +49 -0
- package/dist/types/amounts.d.ts.map +1 -0
- package/dist/types/amounts.js +8 -0
- package/dist/types/amounts.js.map +1 -0
- package/dist/types/base.d.ts +103 -0
- package/dist/types/base.d.ts.map +1 -0
- package/dist/types/base.js +2 -0
- package/dist/types/base.js.map +1 -0
- package/dist/types/common.d.ts +163 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +5 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/flags.d.ts +317 -0
- package/dist/types/flags.d.ts.map +1 -0
- package/dist/types/flags.js +253 -0
- package/dist/types/flags.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/transaction-types.d.ts +7 -0
- package/dist/types/transaction-types.d.ts.map +1 -0
- package/dist/types/transaction-types.js +2 -0
- package/dist/types/transaction-types.js.map +1 -0
- package/dist/validation/base.d.ts +8 -0
- package/dist/validation/base.d.ts.map +1 -0
- package/dist/validation/base.js +79 -0
- package/dist/validation/base.js.map +1 -0
- package/dist/validation/helpers.d.ts +42 -0
- package/dist/validation/helpers.d.ts.map +1 -0
- package/dist/validation/helpers.js +154 -0
- package/dist/validation/helpers.js.map +1 -0
- package/dist/validation/index.d.ts +3 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +3 -0
- package/dist/validation/index.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { isAccount, isHex, isNumber, isRecord, isString } from '../../validation/helpers.js';
|
|
2
|
+
import { ValidationError } from '../../errors.js';
|
|
3
|
+
import { buildFrozenTx, mergeForWith, require } from '../shape.js';
|
|
4
|
+
// ─── Spec constants ──────────────────────────────────────────────────
|
|
5
|
+
// Maximum allowed `TransferFee` in basis points (0.000% — 50.000%).
|
|
6
|
+
// xrpl.js `MPTokenIssuanceCreate.ts:22` exports MAX_TRANSFER_FEE = 50000.
|
|
7
|
+
const MAX_TRANSFER_FEE = 50_000;
|
|
8
|
+
// Maximum MPTokenMetadata length in bytes (after hex decoding).
|
|
9
|
+
// xrpl.js `utils/mptokenMetadata.ts:12` exports MAX_MPT_META_BYTE_LENGTH = 1024.
|
|
10
|
+
const MAX_METADATA_BYTES = 1024;
|
|
11
|
+
// MPTokenIssuanceID is a UINT192 — 24 bytes = 48 hex chars.
|
|
12
|
+
const MP_TOKEN_ISSUANCE_ID_LENGTH = 48;
|
|
13
|
+
// Encryption keys are 33-byte compressed EC-ElGamal public keys — 66 hex chars.
|
|
14
|
+
const CONFIDENTIAL_EC_POINT_BYTES = 33;
|
|
15
|
+
const CONFIDENTIAL_EC_POINT_HEX_LENGTH = CONFIDENTIAL_EC_POINT_BYTES * 2;
|
|
16
|
+
// Per-tx flag bits (XLS-0033 §3.3.1.1 + DynamicMPT + ConfidentialTransfer).
|
|
17
|
+
// Mirrors ripple-binary-codec definitions.json
|
|
18
|
+
// packages/ripple-binary-codec/src/enums/definitions.json:5253–5262
|
|
19
|
+
// and xrpl.js MPTokenIssuanceSet.ts:37–76.
|
|
20
|
+
const TF_MPT_LOCK = 0x00000001;
|
|
21
|
+
const TF_MPT_UNLOCK = 0x00000002;
|
|
22
|
+
const TF_MPT_SET_CAN_LOCK = 0x00000004;
|
|
23
|
+
const TF_MPT_SET_REQUIRE_AUTH = 0x00000008;
|
|
24
|
+
const TF_MPT_SET_CAN_ESCROW = 0x00000010;
|
|
25
|
+
const TF_MPT_SET_CAN_TRADE = 0x00000020;
|
|
26
|
+
const TF_MPT_SET_CAN_TRANSFER = 0x00000040;
|
|
27
|
+
const TF_MPT_SET_CAN_CLAWBACK = 0x00000080;
|
|
28
|
+
const TF_MPT_SET_CAN_HOLD_CONFIDENTIAL_BALANCE = 0x00000100;
|
|
29
|
+
// Bitmask of all per-tx flags, plus the two global flags inherited
|
|
30
|
+
// from the base transaction (GlobalFlagsInterface in ripple-binary-codec
|
|
31
|
+
// `definitions.json:5318–5321`). The factory accepts the global bits
|
|
32
|
+
// because they are valid on every transaction; the `0x7fffffff` mask
|
|
33
|
+
// below only excludes the sign bit (0x80000000), which is
|
|
34
|
+
// `tfFullyCanonicalSig` and IS a defined global flag.
|
|
35
|
+
const KNOWN_PER_TX_FLAG_BITS = TF_MPT_LOCK |
|
|
36
|
+
TF_MPT_UNLOCK |
|
|
37
|
+
TF_MPT_SET_CAN_LOCK |
|
|
38
|
+
TF_MPT_SET_REQUIRE_AUTH |
|
|
39
|
+
TF_MPT_SET_CAN_ESCROW |
|
|
40
|
+
TF_MPT_SET_CAN_TRADE |
|
|
41
|
+
TF_MPT_SET_CAN_TRANSFER |
|
|
42
|
+
TF_MPT_SET_CAN_CLAWBACK |
|
|
43
|
+
TF_MPT_SET_CAN_HOLD_CONFIDENTIAL_BALANCE |
|
|
44
|
+
0x40000000 | // tfInnerBatchTxn (global)
|
|
45
|
+
0x80000000; // tfFullyCanonicalSig (global)
|
|
46
|
+
// Bitmask of the seven `tfMPTSet*` capability-setting flags. Any of
|
|
47
|
+
// these triggers a "mutation" per the spec.
|
|
48
|
+
const TF_MPT_SET_CAPABILITY_MASK = TF_MPT_SET_CAN_LOCK |
|
|
49
|
+
TF_MPT_SET_REQUIRE_AUTH |
|
|
50
|
+
TF_MPT_SET_CAN_ESCROW |
|
|
51
|
+
TF_MPT_SET_CAN_TRADE |
|
|
52
|
+
TF_MPT_SET_CAN_TRANSFER |
|
|
53
|
+
TF_MPT_SET_CAN_CLAWBACK |
|
|
54
|
+
TF_MPT_SET_CAN_HOLD_CONFIDENTIAL_BALANCE;
|
|
55
|
+
// Known `tif*` bits (declare fields/capabilities immutable). Mirrors
|
|
56
|
+
// `src/types/flags.ts:271–281` and xrpl.js
|
|
57
|
+
// MPTokenIssuanceCreate.ts:77–113.
|
|
58
|
+
const KNOWN_IMMUTABLE_FLAG_BITS = 0x00000002 | // tifMPTCanLock
|
|
59
|
+
0x00000004 | // tifMPTRequireAuth
|
|
60
|
+
0x00000008 | // tifMPTCanEscrow
|
|
61
|
+
0x00000010 | // tifMPTCanTrade
|
|
62
|
+
0x00000020 | // tifMPTCanTransfer
|
|
63
|
+
0x00000040 | // tifMPTCanClawback
|
|
64
|
+
0x00000080 | // tifMPTCanHoldConfidentialBalance
|
|
65
|
+
0x00010000 | // tifMPTMetadata
|
|
66
|
+
0x00020000; // tifMPTTransferFee
|
|
67
|
+
// Closed set of valid boolean keys for the `Flags` map, with their
|
|
68
|
+
// numeric bit values. Mirrors xrpl.js's `convertTxFlagsToNumber`
|
|
69
|
+
// (packages/xrpl/src/models/utils/flags.ts:174–201), but localized for
|
|
70
|
+
// MPTokenIssuanceSet so the factory has no cross-tx dependency.
|
|
71
|
+
const VALID_FLAGS_INTERFACE_KEYS = new Map([
|
|
72
|
+
['tfMPTLock', TF_MPT_LOCK],
|
|
73
|
+
['tfMPTUnlock', TF_MPT_UNLOCK],
|
|
74
|
+
['tfMPTSetCanLock', TF_MPT_SET_CAN_LOCK],
|
|
75
|
+
['tfMPTSetRequireAuth', TF_MPT_SET_REQUIRE_AUTH],
|
|
76
|
+
['tfMPTSetCanEscrow', TF_MPT_SET_CAN_ESCROW],
|
|
77
|
+
['tfMPTSetCanTrade', TF_MPT_SET_CAN_TRADE],
|
|
78
|
+
['tfMPTSetCanTransfer', TF_MPT_SET_CAN_TRANSFER],
|
|
79
|
+
['tfMPTSetCanClawback', TF_MPT_SET_CAN_CLAWBACK],
|
|
80
|
+
[
|
|
81
|
+
'tfMPTSetCanHoldConfidentialBalance',
|
|
82
|
+
TF_MPT_SET_CAN_HOLD_CONFIDENTIAL_BALANCE,
|
|
83
|
+
],
|
|
84
|
+
// Inherited from GlobalFlagsInterface.
|
|
85
|
+
['tfInnerBatchTxn', 0x40000000],
|
|
86
|
+
]);
|
|
87
|
+
// ─── Helpers ─────────────────────────────────────────────────────────
|
|
88
|
+
/**
|
|
89
|
+
* Validate that a boolean-map `Flags` object only contains known keys,
|
|
90
|
+
* and convert the map into a numeric bitmask for downstream
|
|
91
|
+
* cross-field gating. Mirrors xrpl.js's `convertTxFlagsToNumber`
|
|
92
|
+
* (`packages/xrpl/src/models/utils/flags.ts:174–201`) but localized
|
|
93
|
+
* for MPTokenIssuanceSet.
|
|
94
|
+
*/
|
|
95
|
+
function flagsInterfaceToNumber(flags) {
|
|
96
|
+
let result = 0;
|
|
97
|
+
for (const k of Object.keys(flags)) {
|
|
98
|
+
const bit = VALID_FLAGS_INTERFACE_KEYS.get(k);
|
|
99
|
+
if (bit === undefined) {
|
|
100
|
+
throw new ValidationError(`MPTokenIssuanceSet: Flags contains unknown key "${k}"`);
|
|
101
|
+
}
|
|
102
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- the key set is closed; we narrow per key
|
|
103
|
+
const v = flags[k];
|
|
104
|
+
if (v !== undefined && typeof v !== 'boolean') {
|
|
105
|
+
throw new ValidationError(`MPTokenIssuanceSet: Flags.${k} must be a boolean when present`);
|
|
106
|
+
}
|
|
107
|
+
if (v === true) {
|
|
108
|
+
result |= bit;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return result;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Whether the tx is a "field-update" mutation: it sets a mutation
|
|
115
|
+
* field (TransferFee / MPTokenMetadata / ImmutableFlags / encryption
|
|
116
|
+
* keys) OR enables a `tfMPTSet*` capability flag.
|
|
117
|
+
*/
|
|
118
|
+
function isMutation(props, flags) {
|
|
119
|
+
return (props.TransferFee !== undefined ||
|
|
120
|
+
props.MPTokenMetadata !== undefined ||
|
|
121
|
+
props.ImmutableFlags !== undefined ||
|
|
122
|
+
props.IssuerEncryptionKey !== undefined ||
|
|
123
|
+
props.AuditorEncryptionKey !== undefined ||
|
|
124
|
+
(flags & TF_MPT_SET_CAPABILITY_MASK) !== 0);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Whether the tx is registering confidential encryption keys.
|
|
128
|
+
*/
|
|
129
|
+
function isSetConfidentialKeys(props) {
|
|
130
|
+
return (props.IssuerEncryptionKey !== undefined ||
|
|
131
|
+
props.AuditorEncryptionKey !== undefined);
|
|
132
|
+
}
|
|
133
|
+
// ─── Factory ─────────────────────────────────────────────────────────
|
|
134
|
+
/**
|
|
135
|
+
* Build a frozen MPTokenIssuanceSet. Throws ValidationError on
|
|
136
|
+
* construction if fields are missing or malformed.
|
|
137
|
+
*
|
|
138
|
+
* The class-based version validates lazily (caller must invoke
|
|
139
|
+
* `.validate()`); this functional version validates at construction.
|
|
140
|
+
* There is no way to build an invalid tx — `with()` re-runs the
|
|
141
|
+
* factory, so overrides are re-validated too.
|
|
142
|
+
*/
|
|
143
|
+
export function mptokenIssuanceSet(props) {
|
|
144
|
+
// ─── Account ─── required, must be a valid XRPL classic/X-address.
|
|
145
|
+
require(props.Account, 'MPTokenIssuanceSet: Account is required', isAccount);
|
|
146
|
+
// ─── MPTokenIssuanceID ─── required, 48-char hex (UINT192), non-zero.
|
|
147
|
+
if (!isString(props.MPTokenIssuanceID) ||
|
|
148
|
+
!isHex(props.MPTokenIssuanceID) ||
|
|
149
|
+
props.MPTokenIssuanceID.length !== MP_TOKEN_ISSUANCE_ID_LENGTH) {
|
|
150
|
+
throw new ValidationError(`MPTokenIssuanceSet: MPTokenIssuanceID must be a ${MP_TOKEN_ISSUANCE_ID_LENGTH}-character hex string (UINT192)`);
|
|
151
|
+
}
|
|
152
|
+
if (/^0+$/u.test(props.MPTokenIssuanceID)) {
|
|
153
|
+
throw new ValidationError('MPTokenIssuanceSet: MPTokenIssuanceID must not be zero');
|
|
154
|
+
}
|
|
155
|
+
// ─── Holder ─── optional, but if present must be a valid XRPL
|
|
156
|
+
// address AND must differ from `Account` (spec `temMALFORMED`).
|
|
157
|
+
if (props.Holder !== undefined) {
|
|
158
|
+
if (!isAccount(props.Holder)) {
|
|
159
|
+
throw new ValidationError('MPTokenIssuanceSet: Holder is not a valid XRPL address');
|
|
160
|
+
}
|
|
161
|
+
if (props.Holder === props.Account) {
|
|
162
|
+
throw new ValidationError('MPTokenIssuanceSet: Holder must not equal Account (temMALFORMED)');
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// ─── Flags ─── optional, numeric or boolean-map. If boolean-map,
|
|
166
|
+
// validate the key set AND convert to numeric bits for cross-field
|
|
167
|
+
// gating.
|
|
168
|
+
let flags = 0;
|
|
169
|
+
if (props.Flags !== undefined) {
|
|
170
|
+
if (isNumber(props.Flags)) {
|
|
171
|
+
flags = props.Flags;
|
|
172
|
+
}
|
|
173
|
+
else if (isRecord(props.Flags)) {
|
|
174
|
+
flags = flagsInterfaceToNumber(props.Flags);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
throw new ValidationError('MPTokenIssuanceSet: Flags must be a number or a boolean-map');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
// Per-tx flag bit-mask sanity check (only meaningful for numeric Flags).
|
|
181
|
+
// The mask already includes the two global flags, so any bit outside
|
|
182
|
+
// KNOWN_PER_TX_FLAG_BITS is undefined per the spec.
|
|
183
|
+
if (typeof props.Flags === 'number') {
|
|
184
|
+
const unknownPerTxBits = props.Flags & ~KNOWN_PER_TX_FLAG_BITS & 0x7fffffff;
|
|
185
|
+
if (unknownPerTxBits !== 0) {
|
|
186
|
+
throw new ValidationError(`MPTokenIssuanceSet: Flags contains undefined per-tx bits (0x${unknownPerTxBits.toString(16)})`);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
// ─── DomainID ─── optional 64-char hex; if non-empty and non-"0",
|
|
190
|
+
// requires tfMPTRequireAuth flag (local proxy for issuance state).
|
|
191
|
+
if (props.DomainID !== undefined) {
|
|
192
|
+
if (props.DomainID !== '' && props.DomainID !== '0') {
|
|
193
|
+
// 64-char hex — the same shape as isDomainID / isLedgerEntryId.
|
|
194
|
+
if (!isHex(props.DomainID) ||
|
|
195
|
+
props.DomainID.length !== 64) {
|
|
196
|
+
throw new ValidationError('MPTokenIssuanceSet: DomainID must be a 64-character hex string (or "" / "0" to clear)');
|
|
197
|
+
}
|
|
198
|
+
if ((flags & TF_MPT_SET_REQUIRE_AUTH) === 0) {
|
|
199
|
+
throw new ValidationError('MPTokenIssuanceSet: DomainID requires tfMPTSetRequireAuth flag (set tfMPTSetRequireAuth in Flags, or enable Require Auth on the issuance first)');
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
// ─── IssuerEncryptionKey / AuditorEncryptionKey ─── optional,
|
|
204
|
+
// 33-byte compressed EC point (66 hex chars).
|
|
205
|
+
if (props.IssuerEncryptionKey !== undefined) {
|
|
206
|
+
if (!isHex(props.IssuerEncryptionKey) ||
|
|
207
|
+
props.IssuerEncryptionKey.length !== CONFIDENTIAL_EC_POINT_HEX_LENGTH) {
|
|
208
|
+
throw new ValidationError(`MPTokenIssuanceSet: IssuerEncryptionKey must be a ${CONFIDENTIAL_EC_POINT_HEX_LENGTH}-character hex string (compressed EC point)`);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
if (props.AuditorEncryptionKey !== undefined) {
|
|
212
|
+
if (!isHex(props.AuditorEncryptionKey) ||
|
|
213
|
+
props.AuditorEncryptionKey.length !== CONFIDENTIAL_EC_POINT_HEX_LENGTH) {
|
|
214
|
+
throw new ValidationError(`MPTokenIssuanceSet: AuditorEncryptionKey must be a ${CONFIDENTIAL_EC_POINT_HEX_LENGTH}-character hex string (compressed EC point)`);
|
|
215
|
+
}
|
|
216
|
+
if (props.IssuerEncryptionKey === undefined) {
|
|
217
|
+
throw new ValidationError('MPTokenIssuanceSet: AuditorEncryptionKey requires IssuerEncryptionKey');
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
// ─── MPTokenMetadata ─── optional hex. Empty string clears the
|
|
221
|
+
// field per spec; otherwise 0 < length/2 ≤ MAX_METADATA_BYTES.
|
|
222
|
+
if (props.MPTokenMetadata !== undefined) {
|
|
223
|
+
if (!isString(props.MPTokenMetadata)) {
|
|
224
|
+
throw new ValidationError('MPTokenIssuanceSet: MPTokenMetadata must be a hex string');
|
|
225
|
+
}
|
|
226
|
+
if (props.MPTokenMetadata !== '') {
|
|
227
|
+
if (!isHex(props.MPTokenMetadata) ||
|
|
228
|
+
props.MPTokenMetadata.length % 2 !== 0) {
|
|
229
|
+
throw new ValidationError('MPTokenIssuanceSet: MPTokenMetadata must be a hex string (even length when non-empty)');
|
|
230
|
+
}
|
|
231
|
+
const lenBytes = props.MPTokenMetadata.length / 2;
|
|
232
|
+
if (lenBytes > MAX_METADATA_BYTES) {
|
|
233
|
+
throw new ValidationError(`MPTokenIssuanceSet: MPTokenMetadata length must be ≤ ${MAX_METADATA_BYTES} bytes`);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
// ─── TransferFee ─── optional UInt16, 0..MAX_TRANSFER_FEE.
|
|
238
|
+
if (props.TransferFee !== undefined) {
|
|
239
|
+
if (!isNumber(props.TransferFee) ||
|
|
240
|
+
!Number.isInteger(props.TransferFee) ||
|
|
241
|
+
props.TransferFee < 0 ||
|
|
242
|
+
props.TransferFee > MAX_TRANSFER_FEE) {
|
|
243
|
+
throw new ValidationError(`MPTokenIssuanceSet: TransferFee must be an integer in [0, ${MAX_TRANSFER_FEE}]`);
|
|
244
|
+
}
|
|
245
|
+
// spec temBAD_TRANSFER_FEE: non-zero TransferFee cannot coexist with
|
|
246
|
+
// tfMPTSetCanHoldConfidentialBalance.
|
|
247
|
+
if (props.TransferFee > 0 &&
|
|
248
|
+
(flags & TF_MPT_SET_CAN_HOLD_CONFIDENTIAL_BALANCE) !== 0) {
|
|
249
|
+
throw new ValidationError('MPTokenIssuanceSet: non-zero TransferFee cannot combine with tfMPTSetCanHoldConfidentialBalance (temBAD_TRANSFER_FEE)');
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
// ─── ImmutableFlags ─── optional, non-zero, known bits only.
|
|
253
|
+
if (props.ImmutableFlags !== undefined) {
|
|
254
|
+
if (!isNumber(props.ImmutableFlags) ||
|
|
255
|
+
!Number.isInteger(props.ImmutableFlags) ||
|
|
256
|
+
props.ImmutableFlags < 0) {
|
|
257
|
+
throw new ValidationError('MPTokenIssuanceSet: ImmutableFlags must be a non-negative integer');
|
|
258
|
+
}
|
|
259
|
+
if (props.ImmutableFlags === 0) {
|
|
260
|
+
throw new ValidationError('MPTokenIssuanceSet: ImmutableFlags must be non-zero when present');
|
|
261
|
+
}
|
|
262
|
+
if ((props.ImmutableFlags & ~KNOWN_IMMUTABLE_FLAG_BITS) !== 0) {
|
|
263
|
+
throw new ValidationError('MPTokenIssuanceSet: ImmutableFlags contains undefined bits');
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
// ─── Cross-field rules ───
|
|
267
|
+
// tfMPTLock and tfMPTUnlock are mutually exclusive.
|
|
268
|
+
const hasLock = (flags & TF_MPT_LOCK) !== 0;
|
|
269
|
+
const hasUnlock = (flags & TF_MPT_UNLOCK) !== 0;
|
|
270
|
+
if (hasLock && hasUnlock) {
|
|
271
|
+
throw new ValidationError('MPTokenIssuanceSet: tfMPTLock and tfMPTUnlock are mutually exclusive');
|
|
272
|
+
}
|
|
273
|
+
const mutating = isMutation(props, flags);
|
|
274
|
+
const setConfidentialKeys = isSetConfidentialKeys(props);
|
|
275
|
+
// Lock/Unlock cannot combine with field updates or capability-set flags.
|
|
276
|
+
if ((hasLock || hasUnlock) && mutating) {
|
|
277
|
+
throw new ValidationError('MPTokenIssuanceSet: lock/unlock flags cannot combine with field updates or capability-setting flags');
|
|
278
|
+
}
|
|
279
|
+
// DomainID cannot combine with Holder. Checked first because it is a
|
|
280
|
+
// specific pairing — surfacing the more specific error helps debugging.
|
|
281
|
+
if (props.DomainID !== undefined &&
|
|
282
|
+
props.DomainID !== '' &&
|
|
283
|
+
props.DomainID !== '0' &&
|
|
284
|
+
props.Holder !== undefined) {
|
|
285
|
+
throw new ValidationError('MPTokenIssuanceSet: DomainID and Holder cannot both be set');
|
|
286
|
+
}
|
|
287
|
+
// Holder cannot combine with encryption-key registration. Checked
|
|
288
|
+
// BEFORE the generic "Holder + mutation" rule because it is more
|
|
289
|
+
// specific — surfacing the more specific error helps debugging.
|
|
290
|
+
if (props.Holder !== undefined && setConfidentialKeys) {
|
|
291
|
+
throw new ValidationError('MPTokenIssuanceSet: Holder field is not allowed when registering confidential encryption keys');
|
|
292
|
+
}
|
|
293
|
+
// Holder cannot combine with tfMPTSetCanHoldConfidentialBalance
|
|
294
|
+
// (capability-set flag). Checked BEFORE the generic "Holder +
|
|
295
|
+
// mutation" rule for the same specificity reason above.
|
|
296
|
+
if (props.Holder !== undefined &&
|
|
297
|
+
(flags & TF_MPT_SET_CAN_HOLD_CONFIDENTIAL_BALANCE) !== 0) {
|
|
298
|
+
throw new ValidationError('MPTokenIssuanceSet: tfMPTSetCanHoldConfidentialBalance cannot combine with Holder');
|
|
299
|
+
}
|
|
300
|
+
// Holder cannot combine with mutations.
|
|
301
|
+
if (props.Holder !== undefined && mutating) {
|
|
302
|
+
throw new ValidationError('MPTokenIssuanceSet: Holder field is not allowed when mutating MPTokenIssuance');
|
|
303
|
+
}
|
|
304
|
+
// ─── Must mutate state ───
|
|
305
|
+
if (flags === 0 &&
|
|
306
|
+
(props.DomainID === undefined ||
|
|
307
|
+
props.DomainID === '' ||
|
|
308
|
+
props.DomainID === '0') &&
|
|
309
|
+
!mutating &&
|
|
310
|
+
!setConfidentialKeys) {
|
|
311
|
+
throw new ValidationError('MPTokenIssuanceSet: Transaction does not change the state of the MPTokenIssuance ledger object (temMALFORMED)');
|
|
312
|
+
}
|
|
313
|
+
return buildFrozenTx('MPTokenIssuanceSet', props, {
|
|
314
|
+
validate() {
|
|
315
|
+
// Construction-time validation is the contract.
|
|
316
|
+
},
|
|
317
|
+
toJSON() {
|
|
318
|
+
const json = {};
|
|
319
|
+
for (const k of Object.keys(this)) {
|
|
320
|
+
if (k === 'validate' || k === 'toJSON' || k === 'with')
|
|
321
|
+
continue;
|
|
322
|
+
const v = this[k];
|
|
323
|
+
if (v !== undefined)
|
|
324
|
+
json[k] = v;
|
|
325
|
+
}
|
|
326
|
+
return json;
|
|
327
|
+
},
|
|
328
|
+
with(overrides) {
|
|
329
|
+
return mptokenIssuanceSet(mergeForWith(this, overrides));
|
|
330
|
+
},
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
//# sourceMappingURL=mptoken-issuance-set.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mptoken-issuance-set.js","sourceRoot":"","sources":["../../../src/fp/factories/mptoken-issuance-set.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Functional NFTokenAcceptOffer factory — frozen-object style.
|
|
3
|
+
*
|
|
4
|
+
* Accepts an existing buy or sell offer for an NFToken, or matches two
|
|
5
|
+
* complementary offers in brokered mode. Validation happens at
|
|
6
|
+
* construction; there is no way to construct an invalid tx.
|
|
7
|
+
*
|
|
8
|
+
* import { nftokenAcceptOffer } from 'xrplt/fp';
|
|
9
|
+
* // Direct mode — accept a sell offer:
|
|
10
|
+
* const tx = nftokenAcceptOffer({ Account, NFTokenSellOffer });
|
|
11
|
+
* // Brokered mode — match buy + sell with broker fee:
|
|
12
|
+
* const tx2 = nftokenAcceptOffer({
|
|
13
|
+
* Account, NFTokenSellOffer, NFTokenBuyOffer, NFTokenBrokerFee: '100',
|
|
14
|
+
* });
|
|
15
|
+
* const j = tx.toJSON();
|
|
16
|
+
* const tx3 = tx.with({ NFTokenBuyOffer: '...' });
|
|
17
|
+
*
|
|
18
|
+
* @see https://xrpl.org/docs/references/protocol/transactions/types/nftokenacceptoffer
|
|
19
|
+
* @see https://github.com/XRPLF/xrpl.js/blob/main/packages/xrpl/src/models/transactions/NFTokenAcceptOffer.ts
|
|
20
|
+
* @see XLS-0020 §1.5.6
|
|
21
|
+
* (`~/.mavis/docs.local/xrpl-standards/repo/XLS-0020-non-fungible-tokens/README.md`
|
|
22
|
+
* lines 800–834)
|
|
23
|
+
*
|
|
24
|
+
* ## Divergences
|
|
25
|
+
*
|
|
26
|
+
* Compared with `src/transactions/nftoken-accept-offer.ts`, this factory
|
|
27
|
+
* adds guards the class skips (or that xrpl.js / xrpl.org / XLS-20
|
|
28
|
+
* mandate but the class omits):
|
|
29
|
+
*
|
|
30
|
+
* - **`NFTokenSellOffer` and `NFTokenBuyOffer` are Hash256** — XLS-20
|
|
31
|
+
* §1.5.6 (lines 810, 818) declares both fields as `string` with
|
|
32
|
+
* internal type `UINT256`. xrpl.org's `nftokenacceptoffer.md` (lines
|
|
33
|
+
* 81–82) labels them "String - Hash". A Hash256 is a 64-character
|
|
34
|
+
* hexadecimal string. The class accepts any non-empty string via
|
|
35
|
+
* `isString`; the factory enforces 64-char hex.
|
|
36
|
+
* - Source: XLS-20 §1.5.6 lines 810, 818.
|
|
37
|
+
* - Source: xrpl.org `nftokenacceptoffer.md` lines 81–82.
|
|
38
|
+
*
|
|
39
|
+
* - **`NFTokenBrokerFee` must be strictly positive (> 0)** — xrpl.js
|
|
40
|
+
* `validateNFTokenBrokerFee` (lines 79–83) rejects `value <= 0`. xrpl.org
|
|
41
|
+
* error cases (line 100) also call out "it specified a negative
|
|
42
|
+
* `NFTokenBrokerFee`" as a `temMALFORMED`. Our class only checks
|
|
43
|
+
* `isAmount`, which permits `"0"` and `"-1"`.
|
|
44
|
+
* - Source: xrpl.js `NFTokenAcceptOffer.ts` lines 79–83.
|
|
45
|
+
* - Source: xrpl.org `nftokenacceptoffer.md` line 100.
|
|
46
|
+
*
|
|
47
|
+
* - **`NFTokenBrokerFee` requires brokered mode (both SellOffer AND
|
|
48
|
+
* BuyOffer)** — xrpl.js `validateNFTokenBrokerFee` (lines 85–89)
|
|
49
|
+
* rejects NFTokenBrokerFee when either SellOffer or BuyOffer is
|
|
50
|
+
* missing. XLS-20 §1.5.6 (line 828) explicitly states
|
|
51
|
+
* "`NFTokenBrokerFee` ... is only valid in brokered mode." The class
|
|
52
|
+
* accepts BrokerFee in direct mode without complaint.
|
|
53
|
+
* - Source: xrpl.js `NFTokenAcceptOffer.ts` lines 85–89.
|
|
54
|
+
* - Source: XLS-20 §1.5.6 line 828.
|
|
55
|
+
*
|
|
56
|
+
* - **IssuedCurrencyAmount `NFTokenBrokerFee` must have a valid issuer
|
|
57
|
+
* and a positive base-10 integer value** — our `isAmount` helper
|
|
58
|
+
* accepts the structural shape but does not verify the issuer is a
|
|
59
|
+
* valid XRPL account or that `value` is a positive base-10 string.
|
|
60
|
+
* The factory validates both sub-fields, matching the strictness used
|
|
61
|
+
* in `nftokenMint`. We also reject `"XRP"`-currency issued amounts
|
|
62
|
+
* (reserved currency code).
|
|
63
|
+
* - Source: same hardening applied in `nftoken-mint.ts` Amount
|
|
64
|
+
* sub-checks; cf. xrpl.org `nftokenacceptoffer.md` line 101
|
|
65
|
+
* (`temBAD_CURRENCY` for reserved `XRP`).
|
|
66
|
+
*
|
|
67
|
+
* - **MPTAmount `NFTokenBrokerFee` must have a positive base-10 integer
|
|
68
|
+
* value** — same rationale as the IOU branch.
|
|
69
|
+
*
|
|
70
|
+
* - **Mode table is encoded as `if/else if` over the 3 valid states**
|
|
71
|
+
* (brokered, direct-sell, direct-buy) — XLS-20 §1.5.6 (lines 810–822)
|
|
72
|
+
* and xrpl.org `nftokenacceptoffer.md` (lines 47–51) define exactly
|
|
73
|
+
* these three modes. The "neither" case is rejected by both xrpl.js
|
|
74
|
+
* and the class; the factory adds the positive assertion here for
|
|
75
|
+
* clarity in the error message.
|
|
76
|
+
* - Source: xrpl.org `nftokenacceptoffer.md` lines 47–51.
|
|
77
|
+
* - Source: XLS-20 §1.5.6 lines 810–822.
|
|
78
|
+
*/
|
|
79
|
+
import type { Amount } from '../../types/amounts.js';
|
|
80
|
+
export interface NftokenAcceptOfferProps {
|
|
81
|
+
/** The transaction submitter (classic or X-address). */
|
|
82
|
+
Account: string;
|
|
83
|
+
/**
|
|
84
|
+
* Direct mode: identifies an existing NFTokenOffer to sell.
|
|
85
|
+
* Brokered mode: required (XLS-20 §1.5.6).
|
|
86
|
+
*/
|
|
87
|
+
NFTokenSellOffer?: string | undefined;
|
|
88
|
+
/**
|
|
89
|
+
* Direct mode: identifies an existing NFTokenOffer to buy.
|
|
90
|
+
* Brokered mode: required (XLS-20 §1.5.6).
|
|
91
|
+
*/
|
|
92
|
+
NFTokenBuyOffer?: string | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* Brokered mode only: fee the broker keeps from the buyer's payment.
|
|
95
|
+
* Must be strictly positive. Requires both SellOffer and BuyOffer.
|
|
96
|
+
*/
|
|
97
|
+
NFTokenBrokerFee?: Amount | undefined;
|
|
98
|
+
Fee?: string | undefined;
|
|
99
|
+
Sequence?: number | undefined;
|
|
100
|
+
}
|
|
101
|
+
export interface NftokenAcceptOffer extends Readonly<NftokenAcceptOfferProps> {
|
|
102
|
+
readonly TransactionType: 'NFTokenAcceptOffer';
|
|
103
|
+
validate(): void;
|
|
104
|
+
toJSON(): Record<string, unknown>;
|
|
105
|
+
with(overrides: Partial<NftokenAcceptOfferProps>): NftokenAcceptOffer;
|
|
106
|
+
}
|
|
107
|
+
export declare function nftokenAcceptOffer(props: NftokenAcceptOfferProps): NftokenAcceptOffer;
|
|
108
|
+
//# sourceMappingURL=nftoken-accept-offer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nftoken-accept-offer.d.ts","sourceRoot":"","sources":["../../../src/fp/factories/nftoken-accept-offer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAkBrD,MAAM,WAAW,uBAAuB;IACtC,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,kBACf,SAAQ,QAAQ,CAAC,uBAAuB,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAC;IAC/C,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,uBAAuB,CAAC,GAAG,kBAAkB,CAAC;CACvE;AAuED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,GAC7B,kBAAkB,CAgEpB"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { isAccount, isAmount, isIssuedCurrencyAmount, isMPTAmount, isString, } from '../../validation/helpers.js';
|
|
2
|
+
import { ValidationError } from '../../errors.js';
|
|
3
|
+
import { buildFrozenTx, mergeForWith, require } from '../shape.js';
|
|
4
|
+
// ─── Spec constants ──────────────────────────────────────────────────
|
|
5
|
+
// XLS-20 §1.5.6 / xrpl.org: NFTokenSellOffer and NFTokenBuyOffer are Hash256.
|
|
6
|
+
const HASH256_LENGTH = 64;
|
|
7
|
+
// ─── Helpers ─────────────────────────────────────────────────────────
|
|
8
|
+
/**
|
|
9
|
+
* Check that a value is a positive (> 0) base-10 integer string.
|
|
10
|
+
* The xrpl Amount convention: `value` for IOU/MPT is a non-negative
|
|
11
|
+
* base-10 string of drops/atomic units; we additionally require > 0 for
|
|
12
|
+
* NFTokenBrokerFee per xrpl.js's `value <= 0` rejection.
|
|
13
|
+
*/
|
|
14
|
+
function isPositiveAmountString(v) {
|
|
15
|
+
return isString(v) && /^[0-9]+$/u.test(v) && v !== '0';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Validate NFTokenBrokerFee shape + strict positive value. Used by the
|
|
19
|
+
* Amount sub-check guards below.
|
|
20
|
+
*/
|
|
21
|
+
function assertValidBrokerFee(brokerFee) {
|
|
22
|
+
if (isIssuedCurrencyAmount(brokerFee)) {
|
|
23
|
+
if (!isAccount(brokerFee.issuer)) {
|
|
24
|
+
throw new ValidationError('NFTokenAcceptOffer: NFTokenBrokerFee.issuer must be a valid XRPL account address');
|
|
25
|
+
}
|
|
26
|
+
if (brokerFee.currency === 'XRP') {
|
|
27
|
+
throw new ValidationError('NFTokenAcceptOffer: NFTokenBrokerFee must not use the reserved currency code "XRP" (temBAD_CURRENCY)');
|
|
28
|
+
}
|
|
29
|
+
if (!isPositiveAmountString(brokerFee.value)) {
|
|
30
|
+
throw new ValidationError('NFTokenAcceptOffer: NFTokenBrokerFee IssuedCurrencyAmount.value must be a positive base-10 integer string');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else if (isMPTAmount(brokerFee)) {
|
|
34
|
+
if (!isPositiveAmountString(brokerFee.value)) {
|
|
35
|
+
throw new ValidationError('NFTokenAcceptOffer: NFTokenBrokerFee MPTAmount.value must be a positive base-10 integer string');
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
else if (typeof brokerFee === 'string') {
|
|
39
|
+
if (!isPositiveAmountString(brokerFee)) {
|
|
40
|
+
throw new ValidationError('NFTokenAcceptOffer: NFTokenBrokerFee (XRP drops) must be a positive base-10 integer string');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
throw new ValidationError('NFTokenAcceptOffer: NFTokenBrokerFee must be a positive Amount (XRP drops string, IOU object, or MPT object)');
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Validate an offer hash field (NFTokenSellOffer / NFTokenBuyOffer):
|
|
49
|
+
* 64-character hex (Hash256 / UInt256).
|
|
50
|
+
*/
|
|
51
|
+
function assertValidOfferHash(field, value) {
|
|
52
|
+
if (!isString(value) || value.length !== HASH256_LENGTH || !/^[0-9A-Fa-f]+$/u.test(value)) {
|
|
53
|
+
throw new ValidationError(`NFTokenAcceptOffer: ${field} must be a 64-character hexadecimal string (Hash256)`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// ─── Factory ─────────────────────────────────────────────────────────
|
|
57
|
+
export function nftokenAcceptOffer(props) {
|
|
58
|
+
// ── Account ── required, must be a valid XRPL classic address.
|
|
59
|
+
require(props.Account, 'NFTokenAcceptOffer: Account is required', isAccount);
|
|
60
|
+
// ── Offer fields ── optional, but at least one is required.
|
|
61
|
+
// Each, when present, must be a Hash256 (64-char hex).
|
|
62
|
+
const hasSell = props.NFTokenSellOffer !== undefined;
|
|
63
|
+
const hasBuy = props.NFTokenBuyOffer !== undefined;
|
|
64
|
+
if (!hasSell && !hasBuy) {
|
|
65
|
+
throw new ValidationError('NFTokenAcceptOffer: must have NFTokenSellOffer or NFTokenBuyOffer (direct or brokered mode)');
|
|
66
|
+
}
|
|
67
|
+
if (hasSell) {
|
|
68
|
+
assertValidOfferHash('NFTokenSellOffer', props.NFTokenSellOffer);
|
|
69
|
+
}
|
|
70
|
+
if (hasBuy) {
|
|
71
|
+
assertValidOfferHash('NFTokenBuyOffer', props.NFTokenBuyOffer);
|
|
72
|
+
}
|
|
73
|
+
// ── NFTokenBrokerFee ── optional, but brokered-mode-only.
|
|
74
|
+
// Must be a positive Amount when present, AND both SellOffer and
|
|
75
|
+
// BuyOffer must be set (XLS-20 §1.5.6 line 828).
|
|
76
|
+
if (props.NFTokenBrokerFee !== undefined) {
|
|
77
|
+
if (!hasSell || !hasBuy) {
|
|
78
|
+
throw new ValidationError('NFTokenAcceptOffer: NFTokenBrokerFee requires both NFTokenSellOffer and NFTokenBuyOffer (brokered mode only)');
|
|
79
|
+
}
|
|
80
|
+
if (!isAmount(props.NFTokenBrokerFee)) {
|
|
81
|
+
throw new ValidationError('NFTokenAcceptOffer: NFTokenBrokerFee must be a valid Amount (XRP drops string, IOU object, or MPT object)');
|
|
82
|
+
}
|
|
83
|
+
assertValidBrokerFee(props.NFTokenBrokerFee);
|
|
84
|
+
}
|
|
85
|
+
return buildFrozenTx('NFTokenAcceptOffer', props, {
|
|
86
|
+
validate() {
|
|
87
|
+
// Validated at construction.
|
|
88
|
+
},
|
|
89
|
+
toJSON() {
|
|
90
|
+
const json = {};
|
|
91
|
+
for (const k of Object.keys(this)) {
|
|
92
|
+
if (k === 'validate' || k === 'toJSON' || k === 'with')
|
|
93
|
+
continue;
|
|
94
|
+
const v = this[k];
|
|
95
|
+
if (v !== undefined)
|
|
96
|
+
json[k] = v;
|
|
97
|
+
}
|
|
98
|
+
return json;
|
|
99
|
+
},
|
|
100
|
+
with(overrides) {
|
|
101
|
+
return nftokenAcceptOffer(mergeForWith(this, overrides));
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=nftoken-accept-offer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nftoken-accept-offer.js","sourceRoot":"","sources":["../../../src/fp/factories/nftoken-accept-offer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface NftokenBurnProps {
|
|
2
|
+
Account: string;
|
|
3
|
+
/** The 64-char hex (UInt256) identifier of the NFToken to burn. */
|
|
4
|
+
NFTokenID: string;
|
|
5
|
+
/**
|
|
6
|
+
* (NonFungibleTokensV1_1) The account that currently owns the token,
|
|
7
|
+
* if different from Account. Used by the issuer / authorized minter
|
|
8
|
+
* to burn tokens with the `lsfBurnable` flag enabled that are not
|
|
9
|
+
* owned by the signing account.
|
|
10
|
+
*/
|
|
11
|
+
Owner?: string | undefined;
|
|
12
|
+
Fee?: string | undefined;
|
|
13
|
+
Sequence?: number | undefined;
|
|
14
|
+
/** Bit-flags (numeric bitmask). NFTokenBurn itself defines no
|
|
15
|
+
* transaction-specific flags; only `tfFullyCanonicalSig` (global)
|
|
16
|
+
* is normally meaningful. Accepted for parity with the base
|
|
17
|
+
* transaction shape. */
|
|
18
|
+
Flags?: number | undefined;
|
|
19
|
+
}
|
|
20
|
+
export interface NftokenBurn extends Readonly<NftokenBurnProps> {
|
|
21
|
+
readonly TransactionType: 'NFTokenBurn';
|
|
22
|
+
validate(): void;
|
|
23
|
+
toJSON(): Record<string, unknown>;
|
|
24
|
+
with(overrides: Partial<NftokenBurnProps>): NftokenBurn;
|
|
25
|
+
}
|
|
26
|
+
export declare function nftokenBurn(props: NftokenBurnProps): NftokenBurn;
|
|
27
|
+
//# sourceMappingURL=nftoken-burn.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nftoken-burn.d.ts","sourceRoot":"","sources":["../../../src/fp/factories/nftoken-burn.ts"],"names":[],"mappings":"AAqFA,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;6BAGyB;IACzB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,WACf,SAAQ,QAAQ,CAAC,gBAAgB,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,aAAa,CAAC;IACxC,QAAQ,IAAI,IAAI,CAAC;IACjB,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,WAAW,CAAC;CACzD;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,WAAW,CAyDhE"}
|