@idos-network/kwil-infra 1.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/.turbo/turbo-build.log +47 -0
- package/.turbo/turbo-test.log +126 -0
- package/.turbo/turbo-typecheck.log +5 -0
- package/CHANGELOG.md +20 -0
- package/LICENSE +21 -0
- package/README.md +63 -0
- package/dist/actions/index.d.mts +2 -0
- package/dist/actions/index.mjs +1371 -0
- package/dist/actions/index.mjs.map +1 -0
- package/dist/facesign/index.d.mts +2 -0
- package/dist/facesign/index.mjs +2 -0
- package/dist/facesign-signer-ADd4EASX.d.mts +29 -0
- package/dist/facesign-signer-ADd4EASX.d.mts.map +1 -0
- package/dist/facesign-signer-BY9Nti9F.mjs +244 -0
- package/dist/facesign-signer-BY9Nti9F.mjs.map +1 -0
- package/dist/index-Ci6QhKJo.d.mts +644 -0
- package/dist/index-Ci6QhKJo.d.mts.map +1 -0
- package/dist/index.d.mts +2 -0
- package/dist/index.mjs +429 -0
- package/dist/index.mjs.map +1 -0
- package/dist/signature-verification/index.d.mts +14 -0
- package/dist/signature-verification/index.d.mts.map +1 -0
- package/dist/signature-verification/index.mjs +140 -0
- package/dist/signature-verification/index.mjs.map +1 -0
- package/dist/xrp/utils.d.mts +1165 -0
- package/dist/xrp/utils.d.mts.map +1 -0
- package/dist/xrp/utils.mjs +105 -0
- package/dist/xrp/utils.mjs.map +1 -0
- package/dist/xrpl-credentials/index.d.mts +179 -0
- package/dist/xrpl-credentials/index.d.mts.map +1 -0
- package/dist/xrpl-credentials/index.mjs +224 -0
- package/dist/xrpl-credentials/index.mjs.map +1 -0
- package/package.json +93 -0
- package/src/actions/actions.ts +2197 -0
- package/src/actions/index.ts +55 -0
- package/src/create-kwil-client.ts +144 -0
- package/src/create-kwil-signer.ts +270 -0
- package/src/facesign/facesign-signer.ts +327 -0
- package/src/facesign/index.ts +2 -0
- package/src/index.ts +7 -0
- package/src/near/create-near-wallet-kwil-signer.ts +245 -0
- package/src/near/get-config.ts +43 -0
- package/src/near/nep413.ts +62 -0
- package/src/near/signature-verification.ts +85 -0
- package/src/signature-verification/evm.ts +33 -0
- package/src/signature-verification/facesign.ts +19 -0
- package/src/signature-verification/index.test.ts +110 -0
- package/src/signature-verification/index.ts +72 -0
- package/src/signature-verification/stellar.ts +31 -0
- package/src/xrp/signature-verification.ts +18 -0
- package/src/xrp/signer.ts +43 -0
- package/src/xrp/utils.ts +178 -0
- package/src/xrpl-credentials/accept.ts +143 -0
- package/src/xrpl-credentials/create.ts +199 -0
- package/src/xrpl-credentials/index.ts +12 -0
- package/tsconfig.json +33 -0
- package/tsdown.config.ts +13 -0
- package/vitest.config.ts +6 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.mts","names":["Chain","XRPL","XAHAU","XRPLNetwork","MAINNET","TESTNET","DEVNET","CUSTOM","XahauNetwork","XAHAU_MAINNET","XAHAU_TESTNET","Network","MAINNET_CLIO_NODES","MAINNET_NODES","TESTNET_NODES","DEVNET_NODES","XAHAU_MAINNET_NODES","XAHAU_TESTNET_NODES","FAUCET_XAHAU_TESTNET","NetworkNode","chain","name","customNetworkName","server","nodes","description","networkID","NetworkConfigXRPL","NetworkConfigXahau","ChainConfig","NETWORK","getDefaultNetwork","getNetwork","network","getNetworkByNetworkID","BaseTransaction","SetHook","Hook","TransactionType","Hooks","HookParameter","HookGrant","CreateCode","Flags","HookApiVersion","HookOn","HookNamespace","HookParameters","HookGrants","HookParameterName","HookParameterValue","HookHash","Authorize","NFTokenMintFlagsInterface","PaymentFlagsInterface","TrustSetFlagsInterface","NFTokenCreateOfferFlagsInterface","AccountSetFlagsInterface","OfferCreateFlagsInterface","AMMDepositFlagsInterface","AMMWithdrawFlagsInterface","SubmittableTransaction","XRPLTx","SetHook","Transaction","XRPLTransaction","XahauTransaction","Memo","memo","memoType","memoData","memoFormat","Signer","signer","account","txnSignature","signingPubKey","TrustSetFlags","PaymentFlags","MintNFTFlags","CreateNFTOfferFlags","SetAccountFlags","CreateOfferFlags","DepositAMMFlags","WithdrawAMMFlags","AccountNFToken","Flags","Issuer","NFTokenID","NFTokenTaxon","URI","nft_serial","AccountNFTokenResponse","account_nfts","marker","NFTData","nftType","schema","name","description","image","collection","family","NFTokenIDResponse","hash","AccountSetAsfFlags","Path","SubmittableTransaction","Amount","IssuedCurrencyAmount","Network","Memo","MintNFTFlags","PaymentFlags","Signer","TrustSetFlags","CreateNFTOfferFlags","SetAccountFlags","CreateOfferFlags","Hook","AccountNFToken","AccountNFTokenResponse","NFTokenIDResponse","GetNetworkRequest","id","WebsiteRequest","url","title","favicon","BaseTransactionRequest","fee","sequence","accountTxnID","lastLedgerSequence","memos","networkID","signers","sourceTag","signingPubKey","ticketSequence","txnSignature","SendPaymentRequest","amount","destination","destinationTag","invoiceID","paths","sendMax","deliverMin","flags","SendPaymentRequestDeprecated","currency","issuer","memo","SetTrustlineRequest","limitAmount","qualityIn","qualityOut","SetTrustlineRequestDeprecated","value","MintNFTRequest","NFTokenTaxon","transferFee","URI","CreateNFTOfferRequest","NFTokenID","owner","expiration","CancelNFTOfferRequest","NFTokenOffers","AcceptNFTOfferRequest","NFTokenSellOffer","NFTokenBuyOffer","NFTokenBrokerFee","BurnNFTRequest","GetNFTRequest","limit","marker","SignMessageRequest","message","isHex","SetAccountRequest","clearFlag","domain","emailHash","messageKey","NFTokenMinter","setFlag","transferRate","tickSize","SetRegularKeyRequest","regularKey","CreateOfferRequest","offerSequence","takerGets","takerPays","CancelOfferRequest","SubmitTransactionRequest","transaction","SignTransactionRequest","TransactionWithID","ID","DEFAULT_SUBMIT_TX_BULK_ON_ERROR","TransactionErrorHandling","BaseBulkTransactionsRequest","waitForHashes","onError","SubmitBulkTransactionsRequest","transactions","SubmitBulkTransactionsWithKeysRequest","Record","SubmitStorageKeyRequest","storageKey","SetHookRequest","hooks","RequestPayload","ResponseType","Response","Reject","BaseResponse","T","type","result","GetNetworkResponse","chain","network","websocket","GetNetworkResponseDeprecated","GetAddressResponse","address","GetAddressResponseDeprecated","publicAddress","GetPublicKeyResponse","publicKey","GetPublicKeyResponseDeprecated","SignMessageResponse","signedMessage","SignMessageResponseDeprecated","SubmitTransactionResponse","hash","SignTransactionResponse","signature","TransactionBulkResponse","accepted","error","SubmitBulkTransactionsResponse","IsInstalledResponse","isInstalled","SendPaymentResponse","SendPaymentResponseDeprecated","SetTrustlineResponse","SetTrustlineResponseDeprecated","GetNFTResponse","GetNFTResponseDeprecated","nfts","MintNFTResponse","CreateNFTOfferResponse","CancelNFTOfferResponse","AcceptNFTOfferResponse","BurnNFTResponse","SetAccountResponse","SetRegularKeyResponse","CreateOfferResponse","CancelOfferResponse","SetHookResponse","ResponsePayload","PasswordInternalResponse","password","BaseEventResponse","EventNetworkChangedResponse","name","server","description","EventWalletChangedResponse","wallet","EventLoginResponse","loggedIn","EventLogoutResponse","AcceptNFTOfferRequest","AcceptNFTOfferResponse","acceptNFTOffer","Promise","payload","BurnNFTRequest","BurnNFTResponse","burnNFT","Promise","payload","CancelNFTOfferRequest","CancelNFTOfferResponse","cancelNFTOffer","Promise","payload","CancelOfferRequest","CancelOfferResponse","cancelOffer","Promise","payload","CreateNFTOfferRequest","CreateNFTOfferResponse","createNFTOffer","Promise","payload","CreateOfferRequest","CreateOfferResponse","createOffer","Promise","payload","on","eventType","payload","callback","GetAddressResponse","getAddress","Promise","GetNetworkResponse","getNetwork","Promise","GetNFTResponse","GetNFTRequest","getNFT","Promise","payload","GetPublicKeyResponse","getPublicKey","Promise","IsInstalledResponse","isInstalled","Promise","MintNFTRequest","MintNFTResponse","mintNFT","Promise","payload","SendPaymentRequest","SendPaymentResponse","sendPayment","Promise","paymentPayload","SetAccountRequest","SetAccountResponse","setAccount","Promise","payload","SetHookRequest","SetHookResponse","setHook","Promise","payload","SetRegularKeyRequest","SetRegularKeyResponse","setRegularKey","Promise","payload","SetTrustlineRequest","SetTrustlineResponse","setTrustline","Promise","payload","SignMessageResponse","signMessage","Promise","message","isHex","SignTransactionResponse","SignTransactionRequest","signTransaction","Promise","payload","SubmitTransactionResponse","SubmitTransactionRequest","submitTransaction","Promise","payload","SubmitBulkTransactionsRequest","SubmitBulkTransactionsResponse","submitBulkTransactions","Promise","payload","Amount","AccountNFToken","Hook","HookGrant","HookParameter","Memo","Network","PaymentFlags","TrustSetFlags","AcceptNFTOfferRequest","BurnNFTRequest","CancelNFTOfferRequest","CancelOfferRequest","CreateNFTOfferRequest","CreateOfferRequest","GetNetworkRequest","GetNFTRequest","MintNFTRequest","SendPaymentRequest","SetAccountRequest","SetHookRequest","SetRegularKeyRequest","SetTrustlineRequest","SignMessageRequest","SignTransactionRequest","SubmitTransactionRequest","SubmitBulkTransactionsRequest","AcceptNFTOfferResponse","BurnNFTResponse","CancelNFTOfferResponse","CancelOfferResponse","CreateNFTOfferResponse","CreateOfferResponse","GetAddressResponse","GetNetworkResponse","GetNFTResponse","GetPublicKeyResponse","IsInstalledResponse","MintNFTResponse","SendPaymentResponse","SetAccountResponse","SetHookResponse","SetRegularKeyResponse","SetTrustlineResponse","SignMessageResponse","SignTransactionResponse","SubmitTransactionResponse","SubmitBulkTransactionsResponse","TransactionBulkResponse","XummTxTypes","XrplTxTypes","XummTransactionType","XrplTransactionType","XummCancelReason","XummTransactionApprovalType","XummQrQuality","XummJsonTransaction","Record","TransactionType","XummCustomMeta","identifier","blob","instruction","XummPayloadMeta","exists","uuid","multisign","submit","pathfinding","pathfinding_fallback","force_network","destination","resolved_destination","resolved","signed","cancelled","expired","pushed","app_opened","opened_by_deeplink","immutable","forceAccount","return_url_app","return_url_web","is_xapp","signers","XummPayloadBodyBase","options","expire","return_url","app","web","custom_meta","user_token","XummPostPayloadBodyJson","txjson","XummPostPayloadBodyBlob","txblob","CreatePayload","XummPostPayloadResponse","next","always","no_push_msg_received","refs","qr_png","qr_matrix","qr_uri_quality_opts","websocket_status","XummGetPayloadResponse","meta","application","name","description","disabled","uuidv4","icon_url","issued_user_token","payload","tx_type","tx_destination","tx_destination_tag","request_json","origintype","signmethod","created_at","expires_at","expires_in_seconds","computed","response","signer_pubkey","hex","txid","resolved_at","dispatched_nodetype","dispatched_to","dispatched_result","dispatched_to_node","environment_nodeuri","environment_nodetype","environment_networkid","multisign_account","account","signer","approved_with","user","XummDeletePayloadResponse","result","reason","XummWebhookBody","url","application_uuidv4","payload_uuidv4","payloadResponse","reference_call_uuidv4","userToken","token_issued","token_expiration","XummWebsocketBody","XummApiError","error","reference","code","AnyJson","Record","xAppJwtPong","JwtPong","ApplicationDetails","Record","quota","application","uuidv4","name","webhookurl","disabled","call","jwtData","CuratedAssetsResponse","issuers","currencies","details","issuer","id","name","domain","avatar","shortlist","currencyCode","issuer_id","currency","PossibleKycStatuses","NONE","IN_PROGRESS","REJECTED","SUCCESSFUL","KycStatusResponse","kycStatus","possibleStatuses","AnyJson","XrplTransaction","txid","balanceChanges","account","counterparty","currency","value","node","transaction","NftokenDetail","issuer","token","owner","name","image","RatesResponse","USD","XRP","__meta","currency","en","code","symbol","UserTokenValidity","active","issued","expires","UserTokenResponse","tokens","JwtPong","pong","state","scope","nonce","aud","sub","iat","exp","iss","HookHash","name","description","creator","mail","site","xapp","appuuid","icon","verifiedAccounts","audits","HookHash","HookHashes","hash","Endpoint","name","url","Explorer","Rails","networkKey","chain_id","color","is_livenet","native_asset","endpoints","explorers","rpc","definitions","icons","icon_square","icon_asset","AnyJson","XummGetPayloadResponse","XummPayload","SubscriptionCallbackParams","uuid","data","resolve","resolveData","payload","SubscriptionCallbackParams","onPayloadEvent","Promise","subscriptionCallback","PayloadSubscription","XummPostPayloadResponse","CreatedPayload","PayloadAndSubscription","created","w3cwebsocket","WebSocket","XummGetPayloadResponse","XummPayload","PayloadSubscription","Promise","payload","resolved","resolve","resolveData","websocket","EventResponse","pushed","uuid","PushResponse","pushed","AnyJson","EventPushPostBody","subtitle","body","data","silent","AnyJson","xAppUserDeviceData","currency","platform","xAppOriginData","payload","xAppOrigin","type","data","xAppAccountInfo","account","name","domain","blocked","source","kycApproved","proSubscription","profile","slug","profileUrl","accountSlug","payString","xAppOttData","locale","version","accountaccess","accounttype","style","origin","user","user_device","account_info","nodetype","nodewss","networkid","subscriptions","AnyJson","xAppOttData","xAppJwtOttApp","name","xAppJwtOtt","ott","app","jwt","AnyJson","xAppJwtPong","pong","ott_uuidv4","app_uuidv4","app_name","iat","exp","XummSdk","ApplicationDetails","CreatePayload","AnyJson","CuratedAssetsResponse","PossibleKycStatuses","XrplTransaction","HookHash","HookHashes","Rails","NftokenDetail","RatesResponse","UserTokenValidity","Meta","T","Promise","apiKey","apiSecret","isBrowser","jwtFlow","jwt","injected","invoker","authPromise","authPromiseResolve","endpoint","constructor","setEndpoint","authorize","call","httpMethod","data","ping","getCuratedAssets","getRates","currencyCode","getKycStatus","userTokenOrAccount","getRails","getHookHash","hookHash","getHookHashes","getTransaction","txHash","getNftokenDetail","tokenId","verifyUserTokens","userTokens","_inject","Invoker","Meta","AnyJson","Storage","Promise","constructor","MetaObject","get","set","data","delete","Meta","PayloadSubscription","PayloadAndSubscription","onPayloadEvent","XummJsonTransaction","XummPostPayloadBodyJson","XummPostPayloadBodyBlob","CreatedPayload","DeletedPayload","XummPayload","Payload","Promise","constructor","MetaObject","resolvePayload","payload","create","returnErrors","get","subscribe","callback","cancel","createAndSubscribe","Meta","xAppOttData","xApp","Promise","userdata","constructor","MetaObject","get","ott","Meta","EventResponse","PushResponse","EventPushPostBody","Push","Promise","userdata","constructor","MetaObject","event","data","notification","Meta","AnyJson","JwtUserdata","Promise","constructor","MetaObject","list","get","key","delete","set","data","Meta","Storage","Payload","xApp","Push","JwtUserdata","XummTypes","SdkTypes","xAppOttData","UserTokenValidity","xAppJwtOtt","XummSdk","ApplicationDetails","Promise","CuratedAssetsResponse","Rails","HookHashes","HookHash","RatesResponse","XrplTransaction","NftokenDetail","Error","storage","payload","jwtUserdata","constructor","apiKey","apiSecret","getEnv","ping","getCuratedAssets","getRails","getHookHashes","getHookHash","hookHash","getRates","currencyCode","getKycStatus","userTokenOrAccount","getTransaction","txHash","getNftokenDetail","tokenId","verifyUserTokens","userTokens","verifyUserToken","token","setEndpoint","endpoint","caught","error","XummJwtOptionsStore","get","ott","set","ottData","XummSdkJwtOptions","store","fatalHandler","noAutoRetrieve","XummSdkJwt","ottResolved","jwt","resolve","reject","apiKeyOrJwt","options","_jwtStore","invoker","persistJwt","getOttData","getJwt","EventEmitter","XummSdkJwt","XummPkceOptions","Storage","redirectUrl","rememberJwt","storage","implicit","XummProfile","slug","profileUrl","accountSlug","payString","ResolvedFlow","sdk","jwt","me","sub","picture","account","name","domain","blocked","source","kycApproved","proSubscription","profile","networkType","networkId","networkEndpoint","email","XummPkceEvent","Error","retrieved","error","success","loggedout","XummPkceThread","U","on","event","listener","off","Partial","Promise","Window","pkce","options","popup","ping","resolved","resolvedSuccessfully","resolvePromise","rejectPromise","promise","autoResolvedFlow","mobileRedirectFlow","urlParams","eventPromises","constructor","xummApiKey","optionsOrRedirectUrl","emit","args","authorizeUrl","handleMobileGrant","authorize","state","logout","getPopup","XummPkce","AnyJson","Record","xAppDomWindow","ReactNativeWebView","postMessage","message","parent","target","xAppEvents","ready","scanQr","payloadResolved","selectDestination","networkSwitch","qrEventData","qrContents","reason","payloadEventData","uuid","destinationEventData","destination","address","tag","name","info","blackHole","disallowIncomingXRP","exist","possibleExchange","requireDestinationTag","risk","xAppReceivedEvent","Event","data","xAppReceivedEventData","method","xAppEvent","xAppNetworkSwitch","qr","payload","networkswitch","xAppActionNavigate","xApp","xAppActionOpenSignRequest","xAppActionOpenBrowser","url","xAppActionShare","text","xAppActionClose","refreshEvents","xAppActionTxDetails","tx","account","xAppActionReady","xAppActionSelectDestination","ignoreDestinationTag","network","xAppEnvironment","version","ott","AnyJson","xAppEvent","xAppActionNavigate","xAppActionOpenSignRequest","xAppActionOpenBrowser","xAppActionTxDetails","xAppActionSelectDestination","xAppActionClose","xAppActionShare","xAppEnvironment","xApp","U","on","event","listener","off","Error","Promise","xummEnvironment","constructor","getEnvironment","navigate","navigateOptions","openSignRequest","openSignRequestOptions","selectDestination","selectDestinationOptions","openBrowser","openBrowserOptions","share","shareOptions","scanQr","tx","txOptions","close","closeOptions","ready","customCommand","customCommandOptions","XummSdk","XummSdkJwt","xAppOttData","Payload","JwtUserdata","Storage","Push","XummPkceEvent","ResolvedFlow","XummProfile","xApp","xAppEvent","EventEmitter","UniversalSdkEvent","logout","ready","retrieving","Runtimes","cli","browser","xapp","Runtime","Record","Xumm","U","on","event","listener","off","Promisified","T","K","A","R","Promise","args","Environment","ott","jwt","client_id","scope","state","aud","sub","email","app_uuidv4","app_name","payload_uuidv4","usertoken_uuidv4","network_type","network_endpoint","network_id","iat","exp","iss","usr","net","key","openid","picture","account","name","domain","blocked","source","kycApproved","proSubscription","networkType","networkEndpoint","networkId","profile","bearer","success","retrieved","UnifiedUserData","token","Pick","Error","ReturnType","instance","jwtCredential","runtime","signedIn","user","environment","payload","userstore","backendstore","helpers","push","apiKeyOrJwt","apiSecretOrOtt","constructor","initialize","authorize","handlePkceEvents","ping"],"sources":["../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/_constants/network/network.constant.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/_constants/xrpl/hooks.types.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/_constants/xrpl/basic.types.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/_constants/xrpl/nft.types.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/_constants/payload/payload.types.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/acceptNFTOffer/acceptNFTOffer.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/burnNFT/burnNFT.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/cancelNFTOffer/cancelNFTOffer.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/cancelOffer/cancelOffer.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/createNFTOffer/createNFTOffer.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/createOffer/createOffer.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/on/on.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/getAddress/getAddress.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/getNetwork/getNetwork.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/getNFT/getNFT.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/getPublicKey/getPublicKey.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/isInstalled/isInstalled.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/mintNFT/mintNFT.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/sendPayment/sendPayment.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/setAccount/setAccount.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/setHook/setHook.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/setRegularKey/setRegularKey.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/setTrustline/setTrustline.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/signMessage/signMessage.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/signTransaction/signTransaction.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/submitTransaction/submitTransaction.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/submitBulkTransactions/submitBulkTransactions.d.ts","../../../../node_modules/.pnpm/@gemwallet+api@3.8.0/node_modules/@gemwallet/api/index.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/xumm-api/index.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/AnyJson.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/ApplicationDetails.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/CuratedAssetsResponse.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/KycStatusResponse.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/XrplTransaction.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/NftokenDetail.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/RatesResponse.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/UserTokens.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/JwtPong.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/HookHash.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/HookHashes.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Meta/Rails.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Payload/SubscriptionCallbackParams.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Payload/onPayloadEvent.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Payload/PayloadAndSubscription.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Payload/PayloadSubscription.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Push/EventResponse.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Push/PushResponse.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/Push/EventPushPostBody.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/xApp/xAppOttData.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/xApp/xAppJwtOtt.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/types/xApp/xAppJwtPong.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/Meta.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/Storage.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/Payload.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/xApp.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/Push.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/JwtUserdata.d.ts","../../../../node_modules/.pnpm/xumm-sdk@1.11.2/node_modules/xumm-sdk/dist/src/index.d.ts","../../../../node_modules/.pnpm/xumm-oauth2-pkce@2.8.7/node_modules/xumm-oauth2-pkce/dist/index.d.ts","../../../../node_modules/.pnpm/xumm-xapp-sdk@1.7.2/node_modules/xumm-xapp-sdk/dist/types.d.ts","../../../../node_modules/.pnpm/xumm-xapp-sdk@1.7.2/node_modules/xumm-xapp-sdk/dist/index.d.ts","../../../../node_modules/.pnpm/xumm@1.8.0/node_modules/xumm/dist/index.d.ts","../../src/xrp/utils.ts"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61],"mappings":"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"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
//#region src/xrp/utils.ts
|
|
2
|
+
function createXummPayload(message) {
|
|
3
|
+
const memoData = Buffer.from(message).toString("hex");
|
|
4
|
+
return {
|
|
5
|
+
custom_meta: { instruction: message },
|
|
6
|
+
txjson: {
|
|
7
|
+
TransactionType: "SignIn",
|
|
8
|
+
Memos: [{ Memo: {
|
|
9
|
+
MemoData: memoData,
|
|
10
|
+
MemoType: Buffer.from("idOS").toString("hex")
|
|
11
|
+
} }]
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function signXummTx(xummInstance, payload) {
|
|
16
|
+
return new Promise((resolve) => {
|
|
17
|
+
xummInstance.payload?.createAndSubscribe(payload, async (event) => {
|
|
18
|
+
if (!event.payload.response.hex) return;
|
|
19
|
+
const hex = event.payload.response.hex;
|
|
20
|
+
resolve(hex);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async function getXummPublicKey(wallet) {
|
|
25
|
+
const txHash = await signXummTx(wallet, createXummPayload("Sign request from idOS"));
|
|
26
|
+
let decode;
|
|
27
|
+
try {
|
|
28
|
+
({decode} = await import("xrpl"));
|
|
29
|
+
} catch {
|
|
30
|
+
throw new Error("Missing optional peer dependency \"xrpl\". Install it to use Xumm public-key extraction.");
|
|
31
|
+
}
|
|
32
|
+
let decodedTx;
|
|
33
|
+
try {
|
|
34
|
+
decodedTx = decode(txHash);
|
|
35
|
+
} catch {
|
|
36
|
+
throw new Error("Failed to decode Xumm transaction payload.");
|
|
37
|
+
}
|
|
38
|
+
if (!decodedTx.SigningPubKey) throw new Error("SigningPubKey not found in decoded Xumm transaction.");
|
|
39
|
+
return decodedTx.SigningPubKey;
|
|
40
|
+
}
|
|
41
|
+
function signGemWalletTx(gemWalletInstance, message) {
|
|
42
|
+
return gemWalletInstance.signMessage(message).then((response) => response.result?.signedMessage);
|
|
43
|
+
}
|
|
44
|
+
async function getGemWalletPublicKey(wallet) {
|
|
45
|
+
if ("isInstalled" in wallet) {
|
|
46
|
+
await wallet.isInstalled();
|
|
47
|
+
const { publicKey, address } = await wallet.getPublicKey().then((res) => res.result);
|
|
48
|
+
return {
|
|
49
|
+
address,
|
|
50
|
+
publicKey
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async function getXrpAddress(wallet) {
|
|
55
|
+
if ("isInstalled" in wallet) {
|
|
56
|
+
await wallet.isInstalled();
|
|
57
|
+
return wallet.getAddress().then((response) => response.result?.address);
|
|
58
|
+
}
|
|
59
|
+
return wallet.user.account;
|
|
60
|
+
}
|
|
61
|
+
function looksLikeXrpWallet(wallet) {
|
|
62
|
+
return wallet !== null && typeof wallet === "object" && ("authorize" in wallet || "isInstalled" in wallet);
|
|
63
|
+
}
|
|
64
|
+
async function getXrpWalletType(object) {
|
|
65
|
+
if ("authorize" in object) return "Xumm";
|
|
66
|
+
if ("isInstalled" in object) return "GemWallet";
|
|
67
|
+
throw new Error("Unknown wallet type");
|
|
68
|
+
}
|
|
69
|
+
async function getXrpTxHash(message, wallet) {
|
|
70
|
+
let messageString;
|
|
71
|
+
const xrpWalletType = await getXrpWalletType(wallet);
|
|
72
|
+
messageString = typeof message === "string" ? message : Buffer.from(message).toString("utf8");
|
|
73
|
+
if (xrpWalletType === "Xumm") {
|
|
74
|
+
const memoData = Buffer.from(messageString).toString("hex");
|
|
75
|
+
const xummTx = await signXummTx(wallet, {
|
|
76
|
+
custom_meta: { instruction: messageString },
|
|
77
|
+
txjson: {
|
|
78
|
+
TransactionType: "SignIn",
|
|
79
|
+
Memos: [{ Memo: {
|
|
80
|
+
MemoData: memoData,
|
|
81
|
+
MemoType: Buffer.from("idOS").toString("hex")
|
|
82
|
+
} }]
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
console.log("xummTx", xummTx);
|
|
86
|
+
} else if (xrpWalletType === "GemWallet") {
|
|
87
|
+
const signature = await signGemWalletTx(wallet, messageString);
|
|
88
|
+
if (!signature) throw new Error("Failed to sign transaction with GemWallet");
|
|
89
|
+
return signature;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async function getXrpPublicKey(wallet) {
|
|
93
|
+
if (await getXrpWalletType(wallet) === "Xumm") {
|
|
94
|
+
const publicKey = await getXummPublicKey(wallet);
|
|
95
|
+
return {
|
|
96
|
+
address: await getXrpAddress(wallet),
|
|
97
|
+
publicKey
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return getGemWalletPublicKey(wallet);
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
export { createXummPayload, getGemWalletPublicKey, getXrpAddress, getXrpPublicKey, getXrpTxHash, getXrpWalletType, getXummPublicKey, looksLikeXrpWallet, signGemWalletTx, signXummTx };
|
|
104
|
+
|
|
105
|
+
//# sourceMappingURL=utils.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":[],"sources":["../../src/xrp/utils.ts"],"sourcesContent":["import type * as GemWallet from \"@gemwallet/api\";\nimport type { Xumm } from \"xumm\";\nexport type WalletName = \"XAMAN\" | \"GEM\";\n\nexport interface WalletConfig {\n name: WalletName;\n instance: Xumm | typeof GemWallet;\n}\n\nexport type XamanConfig = {\n name: \"XAMAN\";\n instance: Xumm;\n};\n\nexport type GemConfig = {\n name: \"GEM\";\n instance: typeof GemWallet;\n};\n\nexport type WalletInitConfig = XamanConfig | GemConfig;\n\ntype XrpWallet = \"Xumm\" | \"GemWallet\";\n\nexport function createXummPayload(message: string): Record<string, unknown> {\n const memoData = Buffer.from(message).toString(\"hex\"); // Encode message as hex for Memos\n return {\n custom_meta: {\n instruction: message,\n },\n txjson: {\n TransactionType: \"SignIn\",\n Memos: [\n {\n Memo: {\n MemoData: memoData,\n MemoType: Buffer.from(\"idOS\").toString(\"hex\"), // Optional type identifier\n },\n },\n ],\n },\n };\n}\n\nexport function signXummTx(xummInstance: Xumm, payload: Record<string, unknown>): Promise<string> {\n return new Promise((resolve) => {\n // oxlint-disable-next-line typescript/no-explicit-any -- xumm payload type is not easy to import\n xummInstance.payload?.createAndSubscribe(payload as unknown as any, async (event) => {\n if (!event.payload.response.hex) return;\n const hex = event.payload.response.hex;\n resolve(hex);\n });\n });\n}\n\nexport async function getXummPublicKey(wallet: Xumm): Promise<string | undefined> {\n const payload = createXummPayload(\"Sign request from idOS\");\n const txHash = await signXummTx(wallet, payload);\n\n let decode: typeof import(\"xrpl\").decode;\n try {\n ({ decode } = await import(\"xrpl\"));\n } catch {\n throw new Error(\n 'Missing optional peer dependency \"xrpl\". Install it to use Xumm public-key extraction.',\n );\n }\n\n let decodedTx: { SigningPubKey?: string };\n try {\n decodedTx = decode(txHash);\n } catch {\n throw new Error(\"Failed to decode Xumm transaction payload.\");\n }\n\n if (!decodedTx.SigningPubKey) {\n throw new Error(\"SigningPubKey not found in decoded Xumm transaction.\");\n }\n\n return decodedTx.SigningPubKey;\n}\n\nexport function signGemWalletTx(\n gemWalletInstance: typeof GemWallet,\n message: string,\n): Promise<string | undefined> {\n return gemWalletInstance.signMessage(message).then((response) => response.result?.signedMessage);\n}\n\nexport async function getGemWalletPublicKey(\n wallet: typeof GemWallet,\n): Promise<{ address: string; publicKey: string } | undefined> {\n if (\"isInstalled\" in wallet) {\n await wallet.isInstalled();\n const { publicKey, address } = await wallet\n .getPublicKey()\n .then((res) => res.result as { publicKey: string; address: string });\n return { address, publicKey };\n }\n}\n\nexport async function getXrpAddress(wallet: Xumm | typeof GemWallet): Promise<string | undefined> {\n if (\"isInstalled\" in wallet) {\n await wallet.isInstalled();\n return wallet.getAddress().then((response) => response.result?.address);\n }\n return wallet.user.account;\n}\n\n// Type guard to check if the wallet is an Xumm wallet\nexport function looksLikeXrpWallet(wallet: unknown): wallet is Xumm | typeof GemWallet {\n return (\n wallet !== null &&\n typeof wallet === \"object\" &&\n (\"authorize\" in wallet || \"isInstalled\" in wallet)\n );\n}\n\nexport async function getXrpWalletType(object: Record<string, unknown>): Promise<XrpWallet> {\n if (\"authorize\" in object) {\n return \"Xumm\";\n }\n if (\"isInstalled\" in object) {\n return \"GemWallet\";\n }\n throw new Error(\"Unknown wallet type\");\n}\n\nexport async function getXrpTxHash(\n message: string | Uint8Array,\n wallet: Xumm | typeof GemWallet,\n): Promise<string | undefined> {\n let messageString: string;\n\n const xrpWalletType = await getXrpWalletType(wallet as Record<string, unknown>);\n\n messageString = typeof message === \"string\" ? message : Buffer.from(message).toString(\"utf8\"); // Decode Uint8Array to string\n if (xrpWalletType === \"Xumm\") {\n const memoData = Buffer.from(messageString).toString(\"hex\"); // Encode message as hex for Memos\n\n const payload = {\n custom_meta: {\n instruction: messageString,\n },\n txjson: {\n TransactionType: \"SignIn\",\n Memos: [\n {\n Memo: {\n MemoData: memoData,\n MemoType: Buffer.from(\"idOS\").toString(\"hex\"), // Optional type identifier\n },\n },\n ],\n },\n };\n const xummTx = await signXummTx(wallet as Xumm, payload);\n console.log(\"xummTx\", xummTx);\n } else if (xrpWalletType === \"GemWallet\") {\n const signature = await signGemWalletTx(wallet as typeof GemWallet, messageString);\n if (!signature) {\n throw new Error(\"Failed to sign transaction with GemWallet\");\n }\n return signature;\n }\n}\n\nexport async function getXrpPublicKey(\n wallet: Xumm | typeof GemWallet,\n): Promise<{ address: string; publicKey: string } | undefined> {\n const xrpWalletType = await getXrpWalletType(wallet as Record<string, unknown>);\n if (xrpWalletType === \"Xumm\") {\n // @todo: should we remove xaman wallet support?\n const publicKey = await getXummPublicKey(wallet as Xumm);\n const address = await getXrpAddress(wallet);\n return { address: address as string, publicKey: publicKey as string };\n }\n return getGemWalletPublicKey(wallet as typeof GemWallet);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
import * as _$xrpl from "xrpl";
|
|
2
|
+
import { TxResponse, Wallet } from "xrpl";
|
|
3
|
+
|
|
4
|
+
//#region src/xrpl-credentials/accept.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Payload structure for XRPL CredentialAccept transaction
|
|
7
|
+
*
|
|
8
|
+
* This type defines the required fields for creating a credential acceptance
|
|
9
|
+
* transaction on the XRP Ledger. The CredentialType field is automatically
|
|
10
|
+
* encoded as a hex string from the UTF-8 representation of the credential type.
|
|
11
|
+
*/
|
|
12
|
+
type CredentialAcceptPayload = {
|
|
13
|
+
/** Transaction type identifier - must be "CredentialAccept" */TransactionType: "CredentialAccept"; /** The issuer's XRPL address who created the Credential object */
|
|
14
|
+
Issuer: string; /** The account's XRPL address who is receiving the credential */
|
|
15
|
+
Account: string; /** The type of credential being accepted (encoded as hex string) */
|
|
16
|
+
CredentialType: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Creates a credential acceptance payload for XRPL transactions
|
|
20
|
+
*
|
|
21
|
+
* This function constructs a properly formatted payload for credential acceptance
|
|
22
|
+
* transactions. The credential type is automatically encoded from UTF-8 to hex
|
|
23
|
+
* format as required by XRPL specifications.
|
|
24
|
+
*
|
|
25
|
+
* @param issuerAddress - The XRPL address of the credential issuer
|
|
26
|
+
* @param accountAddress - The XRPL address of the account accepting the credential
|
|
27
|
+
* @param credentialType - The human-readable idOS credential type (e.g., "KYC")
|
|
28
|
+
* @returns A properly formatted CredentialAcceptPayload object
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const payload = OriginalCredentialAcceptPayload(
|
|
33
|
+
* "rIssuerAddress123...",
|
|
34
|
+
* "rAccountAddress456...",
|
|
35
|
+
* "KYC"
|
|
36
|
+
* );
|
|
37
|
+
* // Result: {
|
|
38
|
+
* // TransactionType: "CredentialAccept",
|
|
39
|
+
* // Issuer: "rIssuerAddress123...",
|
|
40
|
+
* // Account: "rAccountAddress456...",
|
|
41
|
+
* // CredentialType: "4B5943" // Hex encoded "KYC"
|
|
42
|
+
* // }
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
declare function OriginalCredentialAcceptPayload(issuerAddress: string, accountAddress: string, credentialType: string): CredentialAcceptPayload;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a copy credential acceptance payload for XRPL transactions
|
|
48
|
+
*
|
|
49
|
+
* This function constructs a payload for accepting a copy of an existing credential
|
|
50
|
+
* with additional metadata including the original issuer and a timelock period.
|
|
51
|
+
* The CredentialType field is encoded as a composite string containing:
|
|
52
|
+
* - "AG-" prefix (indicating copy credential)
|
|
53
|
+
* - Original credential type
|
|
54
|
+
* - Original issuer address
|
|
55
|
+
* - Timelock period in years
|
|
56
|
+
*
|
|
57
|
+
* @param copyCredentialIssuerAddress - The XRPL address of the issuer created a XRPL Credential object related to idOS credential copy
|
|
58
|
+
* @param accountAddress - The XRPL address of the account accepting the credential copy
|
|
59
|
+
* @param originalCredentialIssuerAddress - The XRPL address of the issuer created a XRPL Credential object related to idOS original credential
|
|
60
|
+
* @param credentialType - The human-readable idOScredential type (e.g., "KYC")
|
|
61
|
+
* @param timelockYears - The number of years for the timelock period (must be non-negative integer)
|
|
62
|
+
* @returns A properly formatted CredentialAcceptPayload object for copy credentials
|
|
63
|
+
* @throws {Error} When timelockYears is not a non-negative integer
|
|
64
|
+
*
|
|
65
|
+
* @example
|
|
66
|
+
* ```typescript
|
|
67
|
+
* const payload = await CopyCredentialAcceptPayload(
|
|
68
|
+
* "rCopyIssuerAddress123...",
|
|
69
|
+
* "rAccountAddress456...",
|
|
70
|
+
* "rOriginalIssuerAddress789...",
|
|
71
|
+
* "KYC",
|
|
72
|
+
* 2
|
|
73
|
+
* );
|
|
74
|
+
* // Result: {
|
|
75
|
+
* // TransactionType: "CredentialAccept",
|
|
76
|
+
* // Issuer: "rCopyIssuerAddress123...",
|
|
77
|
+
* // Account: "rAccountAddress456...",
|
|
78
|
+
* // CredentialType: "41472D4B59432D..." // Hex encoded "AG-KYC-{originalIssuer}-2Y"
|
|
79
|
+
* // }
|
|
80
|
+
* ```
|
|
81
|
+
*/
|
|
82
|
+
declare function CopyCredentialAcceptPayload(copyCredentialIssuerAddress: string, accountAddress: string, originalCredentialIssuerAddress: string, credentialType: string, timelockYears: number): Promise<CredentialAcceptPayload>;
|
|
83
|
+
//#endregion
|
|
84
|
+
//#region src/xrpl-credentials/create.d.ts
|
|
85
|
+
/**
|
|
86
|
+
* Parameters for creating an original credential on XRPL
|
|
87
|
+
*/
|
|
88
|
+
type CreateCredentialForOriginalParams = {
|
|
89
|
+
/** Unique identifier for the idOS credential, like `741a9caf-ec53-42c7-aed6-519950dcded5` */credId: string; /** Type/category of the credential, like `KYC` */
|
|
90
|
+
credType: string; /** XRPL address of the user receiving the credential, like `rPT1Sjq2YGrBMTttX4GZHjKu9dyf6bpAYe` */
|
|
91
|
+
userAddress: string;
|
|
92
|
+
};
|
|
93
|
+
/**
|
|
94
|
+
* Parameters for creating a time-locked copy credential on XRPL
|
|
95
|
+
*/
|
|
96
|
+
type CreateCredentialForCopyParams = {
|
|
97
|
+
/** Unique identifier for the idOS credential */credId: string; /** Type/category of the credential */
|
|
98
|
+
credType: string; /** XRPL address of the user receiving the credential */
|
|
99
|
+
userAddress: string; /** Number of years to lock the credential (must be non-negative integer) */
|
|
100
|
+
timelockYears: number; /** XRPL address of the original credential issuer */
|
|
101
|
+
origCredIssuerAddress: string;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Service class for creating credentials on the XRPL blockchain
|
|
105
|
+
*
|
|
106
|
+
* This service provides methods to create both original and copy credentials
|
|
107
|
+
* on the XRPL. It handles connection management, transaction submission,
|
|
108
|
+
* and proper encoding of credential data according to XRPL specifications.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const wallet = Wallet.fromSeed("s...");
|
|
113
|
+
* const xrplService = await XrplCredentialsCreate.init("wss://s.devnet.rippletest.net:51233", wallet);
|
|
114
|
+
*
|
|
115
|
+
* // Create original credential
|
|
116
|
+
* await xrplService.createCredentialForOriginal({
|
|
117
|
+
* credId: "741a9caf-ec53-42c7-aed6-519950dcded5",
|
|
118
|
+
* credType: "KYC",
|
|
119
|
+
* userAddress: "rPT1Sjq2YGrBMTttX4GZHjKu9dyf6bpAYe"
|
|
120
|
+
* });
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
declare class XrplCredentialsCreate {
|
|
124
|
+
#private;
|
|
125
|
+
constructor(nodeUrl: string, wallet: Wallet, xrpl: typeof _$xrpl);
|
|
126
|
+
/**
|
|
127
|
+
* Creates a new XRPL credentials service instance.
|
|
128
|
+
*
|
|
129
|
+
* @param nodeUrl - The WebSocket URL of the XRPL node to connect to
|
|
130
|
+
* @param wallet - The XRPL wallet to use for signing transactions
|
|
131
|
+
*/
|
|
132
|
+
static init(nodeUrl: string, wallet: Wallet): Promise<XrplCredentialsCreate>;
|
|
133
|
+
/**
|
|
134
|
+
* Creates a credential on the XRPL that reflects an idOS original credential.
|
|
135
|
+
*
|
|
136
|
+
* This method creates a new credential with the specified type and assigns it to the given user.
|
|
137
|
+
* The credential type is encoded as a hex string, and the credential ID is encoded as a hex URI.
|
|
138
|
+
*
|
|
139
|
+
* @param params - Parameters for creating the original credential
|
|
140
|
+
* @returns Promise resolving to the XRPL transaction result
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* await xrplService.createCredentialForOriginal({
|
|
145
|
+
* credId: "741a9caf-ec53-42c7-aed6-519950dcded5",
|
|
146
|
+
* credType: "KYC",
|
|
147
|
+
* userAddress: "rPT1Sjq2YGrBMTttX4GZHjKu9dyf6bpAYe"
|
|
148
|
+
* });
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
createCredentialForOriginal(params: CreateCredentialForOriginalParams): Promise<TxResponse>;
|
|
152
|
+
/**
|
|
153
|
+
* Creates a time-locked credential copy on the XRPL.
|
|
154
|
+
*
|
|
155
|
+
* This method creates a Credential object in XRPL that reflects an idOS credential copy.
|
|
156
|
+
* The credential type includes metadata about the original issuer and time-lock duration.
|
|
157
|
+
* The composite credential type follows the format: "AG-{type}-{originalIssuer}-{timelock}Y"
|
|
158
|
+
*
|
|
159
|
+
* @param params - Parameters for creating the time-locked credential copy
|
|
160
|
+
* @returns Promise resolving to the XRPL transaction result
|
|
161
|
+
*
|
|
162
|
+
* @throws {Error} When timelockYears is not a non-negative integer
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* const result = await xrplService.createCredentialForCopy({
|
|
167
|
+
* credId: "741a9caf-ec53-42c7-aed6-519950dcded5",
|
|
168
|
+
* credType: "KYC",
|
|
169
|
+
* userAddress: "rPT1Sjq2YGrBMTttX4GZHjKu9dyf6bpAYe",
|
|
170
|
+
* timelockYears: 5,
|
|
171
|
+
* origCredIssuerAddress: "rU9C67bZ3ZvjXaJYwYqMqjMq1o4ZbwK3YN"
|
|
172
|
+
* });
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
createCredentialForCopy(params: CreateCredentialForCopyParams): Promise<TxResponse>;
|
|
176
|
+
}
|
|
177
|
+
//#endregion
|
|
178
|
+
export { CopyCredentialAcceptPayload, CreateCredentialForCopyParams, CreateCredentialForOriginalParams, CredentialAcceptPayload, OriginalCredentialAcceptPayload, XrplCredentialsCreate };
|
|
179
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/xrpl-credentials/accept.ts","../../src/xrpl-credentials/create.ts"],"mappings":";;;;;;;;AASA;;;KAAY,uBAAA;iEAEV,eAAA;EAEA,MAAA;EAEA,OAAA,UAgCF;EA9BE,cAAA;AAAA;;;;;;;;AAmFF;;;;;;;;;;;;;;;;AC7FA;;;;iBDwCgB,+BAAA,CACd,aAAA,UACA,cAAA,UACA,cAAA,WACC,uBAAA;;;;;AChCH;;;;;;;;;;;AAiCA;;;;;;;;;;;;;;;;;;;;;iBDgDsB,2BAAA,CACpB,2BAAA,UACA,cAAA,UACA,+BAAA,UACA,cAAA,UACA,aAAA,WACC,OAAA,CAAQ,uBAAA;;;;;;KCnGC,iCAAA;EDEA,6FCAV,MAAA,UDAU;ECEV,QAAA;EAEA,WAAA;AAAA;;;ADkCF;KC5BY,6BAAA;kDAEV,MAAA;EAEA,QAAA;EAEA,WAAA;EAEA,aAAA,UDyEF;ECvEE,qBAAA;AAAA;;;;;;;;;;;;;;AAtBF;;;;;;;cA6Ca,qBAAA;EAAA;EAKX,WAAA,CAAY,OAAA,UAAiB,MAAA,EAAQ,MAAA,EAAQ,IAAA,SAAR,MAAA;EAtC3B;;;;;;EAAA,OAkDG,IAAA,CAAK,OAAA,UAAiB,MAAA,EAAQ,MAAA,GAAS,OAAA,CAAQ,qBAAA;;;;AAjB9D;;;;;;;;;;;;;;;EAiDE,2BAAA,CACE,MAAA,EAAQ,iCAAA,GACP,OAAA,CAAQ,UAAA;;;;;;;;;;;;;;;;;;;;;;;;EAmDX,uBAAA,CAA8B,MAAA,EAAQ,6BAAA,GAAgC,OAAA,CAAQ,UAAA;AAAA"}
|