@notabene/javascript-sdk 2.10.0 → 2.11.0-next.2
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/dist/cjs/notabene.cjs +1 -1
- package/dist/cjs/notabene.d.ts +77 -2
- package/dist/cjs/package.json +1 -1
- package/dist/esm/notabene.d.ts +77 -2
- package/dist/esm/notabene.js +19 -19
- package/dist/esm/package.json +1 -1
- package/dist/notabene.d.ts +77 -2
- package/dist/notabene.js +19 -19
- package/docs/README.md +227 -51
- package/docs/_media/TransactionOptions.md +19 -9
- package/docs/_media/getRefreshResult.md +35 -0
- package/docs/ivms/types/enumerations/PayloadVersionCode.md +2 -2
- package/docs/ivms/types/interfaces/PayloadMetadata.md +2 -2
- package/docs/ivms/types/type-aliases/Address.md +1 -1
- package/docs/ivms/types/type-aliases/AddressTypeCode.md +1 -1
- package/docs/ivms/types/type-aliases/Beneficiary.md +1 -1
- package/docs/ivms/types/type-aliases/BeneficiaryVASP.md +1 -1
- package/docs/ivms/types/type-aliases/DateAndPlaceOfBirth.md +1 -1
- package/docs/ivms/types/type-aliases/ISOCountryCode.md +1 -1
- package/docs/ivms/types/type-aliases/ISODate.md +1 -1
- package/docs/ivms/types/type-aliases/IVMS101.md +1 -1
- package/docs/ivms/types/type-aliases/IntermediaryVASP.md +1 -1
- package/docs/ivms/types/type-aliases/LegalPerson.md +1 -1
- package/docs/ivms/types/type-aliases/LegalPersonName.md +1 -1
- package/docs/ivms/types/type-aliases/LegalPersonNameID.md +1 -1
- package/docs/ivms/types/type-aliases/LegalPersonNameTypeCode.md +1 -1
- package/docs/ivms/types/type-aliases/LocalLegalPersonNameID.md +1 -1
- package/docs/ivms/types/type-aliases/LocalNaturalPersonNameID.md +1 -1
- package/docs/ivms/types/type-aliases/NationalIdentification.md +1 -1
- package/docs/ivms/types/type-aliases/NationalIdentifierTypeCode.md +1 -1
- package/docs/ivms/types/type-aliases/NaturalPerson.md +1 -1
- package/docs/ivms/types/type-aliases/NaturalPersonName.md +1 -1
- package/docs/ivms/types/type-aliases/NaturalPersonNameID.md +1 -1
- package/docs/ivms/types/type-aliases/NaturalPersonNameTypeCode.md +1 -1
- package/docs/ivms/types/type-aliases/OriginatingVASP.md +1 -1
- package/docs/ivms/types/type-aliases/Originator.md +1 -1
- package/docs/ivms/types/type-aliases/Person.md +1 -1
- package/docs/ivms/types/type-aliases/TransferPath.md +1 -1
- package/docs/ivms/types/type-aliases/TransliterationMethodCode.md +1 -1
- package/docs/notabene/README.md +7 -1
- package/docs/notabene/classes/ConnectionManager.md +19 -5
- package/docs/notabene/classes/EmbeddedComponent.md +17 -17
- package/docs/notabene/classes/default.md +7 -7
- package/docs/notabene/functions/decodeFragmentToObject.md +1 -1
- package/docs/notabene/functions/getRefreshResult.md +11 -3
- package/docs/notabene/interfaces/ConnectionData.md +8 -8
- package/docs/notabene/interfaces/ConnectionMetadata.md +6 -6
- package/docs/notabene/interfaces/ConnectionResponse.md +12 -12
- package/docs/notabene/interfaces/NotabeneConfig.md +5 -5
- package/docs/notabene/type-aliases/ConnectionResult.md +17 -0
- package/docs/notabene/type-aliases/ConnectionStatus.md +1 -1
- package/docs/notabene/type-aliases/MessageCallback.md +1 -1
- package/docs/notabene/type-aliases/TransactionType.md +1 -1
- package/docs/types/README.md +3 -0
- package/docs/types/enumerations/AgentType.md +2 -2
- package/docs/types/enumerations/CMType.md +27 -7
- package/docs/types/enumerations/ErrorIdentifierCode.md +4 -4
- package/docs/types/enumerations/HMType.md +2 -2
- package/docs/types/enumerations/PersonType.md +3 -3
- package/docs/types/enumerations/ProofStatus.md +4 -4
- package/docs/types/enumerations/ProofTypes.md +39 -17
- package/docs/types/enumerations/Status.md +5 -5
- package/docs/types/enumerations/VASPSearchControl.md +2 -2
- package/docs/types/enumerations/ValidationSections.md +4 -4
- package/docs/types/interfaces/Account.md +59 -0
- package/docs/types/interfaces/Agent.md +6 -6
- package/docs/types/interfaces/CallbackOptions.md +2 -2
- package/docs/types/interfaces/ComponentRequest.md +2 -2
- package/docs/types/interfaces/ComponentResponse.md +4 -4
- package/docs/types/interfaces/ConnectionRecord.md +7 -7
- package/docs/types/interfaces/ConnectionRequest.md +3 -3
- package/docs/types/interfaces/Counterparty.md +10 -10
- package/docs/types/interfaces/DeclarationProof.md +6 -6
- package/docs/types/interfaces/Deposit.md +25 -11
- package/docs/types/interfaces/DepositRequest.md +9 -9
- package/docs/types/interfaces/DepositRequestOptions.md +1 -1
- package/docs/types/interfaces/DepositTransaction.md +23 -9
- package/docs/types/interfaces/LegalPerson.md +13 -13
- package/docs/types/interfaces/MicroTransferProof.md +9 -9
- package/docs/types/interfaces/NaturalPerson.md +13 -13
- package/docs/types/interfaces/OwnershipProof.md +4 -4
- package/docs/types/interfaces/RefreshSource.md +2 -2
- package/docs/types/interfaces/Refreshable.md +1 -1
- package/docs/types/interfaces/ScreenshotProof.md +5 -5
- package/docs/types/interfaces/SignatureProof.md +14 -12
- package/docs/types/interfaces/ThresholdOptions.md +3 -3
- package/docs/types/interfaces/Transaction.md +18 -8
- package/docs/types/interfaces/TransactionOptions.md +19 -9
- package/docs/types/interfaces/TransactionResponse.md +9 -9
- package/docs/types/interfaces/VASP.md +19 -9
- package/docs/types/interfaces/Wallet.md +8 -8
- package/docs/types/interfaces/Withdrawal.md +24 -10
- package/docs/types/type-aliases/BlockchainAddress.md +1 -1
- package/docs/types/type-aliases/CAIP10.md +1 -1
- package/docs/types/type-aliases/CAIP19.md +1 -1
- package/docs/types/type-aliases/CAIP2.md +1 -1
- package/docs/types/type-aliases/CAIP220.md +1 -1
- package/docs/types/type-aliases/Cancel.md +1 -1
- package/docs/types/type-aliases/Completed.md +1 -1
- package/docs/types/type-aliases/ComponentMessage.md +5 -2
- package/docs/types/type-aliases/ConnectionOptions.md +1 -1
- package/docs/types/type-aliases/CounterpartyAssistConfig.md +2 -2
- package/docs/types/type-aliases/CryptoCredential.md +1 -1
- package/docs/types/type-aliases/DID.md +1 -1
- package/docs/types/type-aliases/DTI.md +1 -1
- package/docs/types/type-aliases/Destination.md +1 -1
- package/docs/types/type-aliases/Error.md +1 -1
- package/docs/types/type-aliases/FieldOptions.md +2 -2
- package/docs/types/type-aliases/FieldTypes.md +1 -1
- package/docs/types/type-aliases/HostMessage.md +1 -1
- package/docs/types/type-aliases/ISOCurrency.md +1 -1
- package/docs/types/type-aliases/Info.md +37 -0
- package/docs/types/type-aliases/InvalidValue.md +1 -1
- package/docs/types/type-aliases/LEI.md +1 -1
- package/docs/types/type-aliases/LegalPersonFieldName.md +1 -1
- package/docs/types/type-aliases/LegalPersonFields.md +1 -1
- package/docs/types/type-aliases/NationalIdentifierTypeFieldOptions.md +1 -1
- package/docs/types/type-aliases/NaturalPersonFieldName.md +1 -1
- package/docs/types/type-aliases/NaturalPersonFields.md +1 -1
- package/docs/types/type-aliases/NotabeneAsset.md +1 -1
- package/docs/types/type-aliases/Ready.md +1 -1
- package/docs/types/type-aliases/ResizeRequest.md +1 -1
- package/docs/types/type-aliases/Source.md +1 -1
- package/docs/types/type-aliases/Theme.md +1 -1
- package/docs/types/type-aliases/TransactionAsset.md +1 -1
- package/docs/types/type-aliases/TravelAddress.md +1 -1
- package/docs/types/type-aliases/URI.md +1 -1
- package/docs/types/type-aliases/UUID.md +1 -1
- package/docs/types/type-aliases/UpdateValue.md +1 -1
- package/docs/types/type-aliases/V1Asset.md +1 -1
- package/docs/types/type-aliases/V1Transaction.md +1 -1
- package/docs/types/type-aliases/VASPOptions.md +1 -1
- package/docs/types/type-aliases/ValidationError.md +1 -1
- package/docs/types/type-aliases/Warning.md +37 -0
- package/package.json +1 -1
- package/src/notabene.ts +6 -0
- package/src/types.ts +81 -4
- package/src/utils/connections.ts +1 -0
- package/docs/notabene/interfaces/ConnectionResult.md +0 -61
package/dist/cjs/notabene.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var U=Object.defineProperty;var
|
|
1
|
+
"use strict";var U=Object.defineProperty;var O=(t,e,n)=>e in t?U(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var a=(t,e,n)=>O(t,typeof e!="symbol"?e+"":e,n);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});var f=(t=>(t.PRIVATE="WALLET",t.VASP="VASP",t))(f||{}),w=(t=>(t.NATURAL="natural",t.LEGAL="legal",t.SELF="self",t))(w||{}),g=(t=>(t.EMPTY="empty",t.VERIFY="verify",t.PENDING="pending",t.VERIFIED="verified",t.BANNED="banned",t))(g||{}),v=(t=>(t.ALLOWED="allowed",t.PENDING="pending",t))(v||{}),A=(t=>(t.ASSET="asset",t.DESTINATION="destination",t.COUNTERPARTY="counterparty",t.AGENT="agent",t))(A||{}),l=(t=>(t.COMPLETE="complete",t.RESIZE="resize",t.RESULT="result",t.READY="ready",t.INVALID="invalid",t.ERROR="error",t.CANCEL="cancel",t.WARNING="warning",t.INFO="info",t))(l||{}),y=(t=>(t.SERVICE_UNAVAILABLE="SERVICE_UNAVAILABLE",t.WALLET_CONNECTION_FAILED="WALLET_CONNECTION_FAILED",t.WALLET_NOT_SUPPORTED="WALLET_NOT_SUPPORTED",t.TOKEN_INVALID="TOKEN_INVALID",t))(y||{}),p=(t=>(t.UPDATE="update",t.REQUEST_RESPONSE="requestResponse",t))(p||{}),C=(t=>(t.PENDING="pending",t.FAILED="rejected",t.FLAGGED="flagged",t.VERIFIED="verified",t))(C||{}),I=(t=>(t.SelfDeclaration="self-declaration",t.SIWE="siwe",t.SIWX="siwx",t.SOL_SIWX="sol-siwx",t.EIP191="eip-191",t.EIP712="eip-712",t.EIP1271="eip-1271",t.BIP137="bip-137",t.BIP322="bip-322",t.BIP137_XPUB="xpub",t.TIP191="tip-191",t.ED25519="ed25519",t.XRP_ED25519="xrp-ed25519",t.XLM_ED25519="xlm-ed25519",t.CIP8="cip-8",t.COSMOS="cosmos-ecdsa",t.MicroTransfer="microtransfer",t.Screenshot="screenshot",t.Connect="connect",t.CONCORDIUM="concordium",t))(I||{});class _{constructor(){a(this,"listeners",new Map);a(this,"port");this.handleMessage=this.handleMessage.bind(this)}setPort(e){this.port=e,this.port.onmessage=this.handleMessage,this.port.start()}on(e,n){return this.listeners.has(e)||this.listeners.set(e,new Set),this.listeners.get(e).add(n),()=>this.off(e,n)}off(e,n){const r=this.listeners.get(e);r&&(r.delete(n),r.size===0&&this.listeners.delete(e))}handleMessage(e){const n=e.data;if(typeof n=="object"&&n!==null&&"type"in n){const r=n.type,s=this.listeners.get(r);s&&s.forEach(i=>i(n))}}send(e){this.port&&this.port.postMessage(e)}}class b{constructor(e,n,r){a(this,"_url");a(this,"_value");a(this,"_options");a(this,"_errors",[]);a(this,"iframe");a(this,"eventManager");a(this,"modal");this._url=e,this._value=n,this._options=r,this.eventManager=new _,this.on(l.INVALID,s=>{s.type===l.INVALID&&(this._errors=s.errors,this._value=s.value)}),this.on(l.RESIZE,s=>{s.type===l.RESIZE&&this.iframe&&(this.iframe.style.height=`${s.height}px`)})}get url(){return this._url}get value(){return this._value}get options(){return this._options}get errors(){return this._errors}open(){document.location.href=this.url}mount(e){const n=document.querySelector(e);if(!n)throw new Error(`parentID ${e} not found`);this.embed(n)}embed(e,n=!1){var r,s;this.removeEmbed(),this.iframe=document.createElement("iframe"),this.iframe.src=this.url+(n?"":"&embedded=true"),this.iframe.allow="web-share; clipboard-write; hid; bluetooth;",this.iframe.style.width="100%",this.iframe.style.height="0px",this.iframe.style.border="none",this.iframe.style.overflow="hidden",this.iframe.scrolling="no",e.appendChild(this.iframe),window.addEventListener("message",i=>{var o,c;i.source===((o=this.iframe)==null?void 0:o.contentWindow)&&((c=this.eventManager)==null||c.setPort(i.ports[0]))}),(s=(r=this.iframe)==null?void 0:r.contentWindow)==null||s.focus()}removeEmbed(){this.iframe&&this.iframe.remove()}send(e){this.eventManager.send(e)}on(e,n){return this.eventManager.on(e,n)}off(e,n){this.eventManager.off(e,n)}update(e,n){this._value=e,n&&(this._options=n),this.send({type:p.UPDATE,value:e,options:this._options})}completion(){return new Promise((e,n)=>{let r,s,i;function o(){r&&r(),s&&s(),i&&i()}r=this.on(l.COMPLETE,c=>{e(c.response),o()}),s=this.on(l.CANCEL,()=>{n(new Error("User cancelled")),o()}),i=this.on("error",c=>{n(new Error(c.message)),o()})})}async openModal(){this.modal&&this.closeModal(),this.modal=document.createElement("dialog"),this.modal.style.border="none",this.modal.style.backgroundColor="white",this.modal.style.maxWidth="100vw",this.modal.style.maxHeight="100vh",this.modal.style.width="600px",this.modal.style.height="600px",document.body.appendChild(this.modal),this.embed(this.modal,!0);const e=this.on(l.CANCEL,()=>{this.closeModal()}),n=this.on(l.COMPLETE,()=>{this.closeModal()});return this.modal.showModal(),this.modal.addEventListener("click",()=>{this.closeModal()}),this.completion().finally(()=>{e(),n()})}closeModal(){var e;this.modal&&((e=this.modal)==null||e.close(),this.modal.remove(),this.modal=void 0)}async popup(){const e=window.open(this.url,"_blank","popup=true,width=600,height=600");window.addEventListener("message",s=>{var i;s.source===e&&(console.log("received message from popup",s.data),(i=this.eventManager)==null||i.setPort(s.ports[0]))});const n=this.on(l.CANCEL,()=>{e==null||e.close()}),r=this.on(l.COMPLETE,()=>{e==null||e.close()});return this.completion().finally(()=>{n(),r()})}}function R(t){return Object.entries(t).map(([e,n])=>{if(n==null)return;const r=encodeURIComponent(e),s=encodeURIComponent(typeof n=="object"?JSON.stringify(n):String(n));return`${r}=${s}`}).filter(e=>e!==void 0).join("&")}function S(t){const e=t.slice(1);return e?e.split("&").filter(Boolean).reduce((r,s)=>{const[i,o]=s.split("=");return i&&(r[decodeURIComponent(i)]=o?decodeURIComponent(o):""),r},{}):{}}async function E(t,e){const n=JSON.stringify(t),r=new TextEncoder,s=e?m(e):crypto.getRandomValues(new Uint8Array(32)),i=await crypto.subtle.importKey("raw",s,{name:"AES-GCM"},!1,["encrypt"]),o=crypto.getRandomValues(new Uint8Array(12)),c=await crypto.subtle.encrypt({name:"AES-GCM",iv:o},i,r.encode(n));return{ciphertext:`${u(o)}-${u(c)}`,key:u(s)}}async function N({ciphertext:t,key:e}){const[n,r]=t.split("-"),s=new Uint8Array(atob(e).split("").map(L=>L.charCodeAt(0))),i=m(n),o=m(r),c=await crypto.subtle.importKey("raw",s,{name:"AES-GCM"},!1,["decrypt"]),d=new TextDecoder,h=await crypto.subtle.decrypt({name:"AES-GCM",iv:new Uint8Array(i)},c,o);return JSON.parse(d.decode(h))}function u(t){const e=new Uint8Array(t);let n="";for(let r=0;r<e.length;r++)n+=String.fromCharCode(e[r]);return btoa(n)}function m(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n}async function x(t){const e=await fetch(t.url,{method:"GET"});if(!e.ok)throw new Error(`Failed to get connection: ${await e.text()}`);const n=await e.json();if(!n.id||!n.metadata||!n.status||!n.sealed)throw new Error("Data missing from server response");const r={id:n.id,metadata:n.metadata,status:n.status};if(n.status==="closed")return r;const s=n.sealed[n.sealed.length-1],i=await N({ciphertext:s,key:t.key});return n.status==="completed"?{...r,result:i.result}:{...r,tx:i.tx}}class D{constructor(e){a(this,"endpoint");this.endpoint=e}async create(e,n){const r=await E(e),s={metadata:n,sealed:r.ciphertext},i=await fetch(this.endpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(s)});if(!i.ok)throw new Error(`Failed to create connection: ${await i.text()}`);const o=await i.json();return{id:o.id,version:o.version,status:o.status,metadata:n,data:e,key:r.key}}async update(e,n,r,s,i){const o=await E(n,i),c={sealed:o.ciphertext,version:r,status:s},d=await fetch(`${this.endpoint}/${e}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)});if(!d.ok)throw new Error(`Failed to update connection: ${await d.text()}`);const h=await d.json();return{id:h.id,metadata:h.metadata,version:h.version,status:h.status,data:n,key:o.key}}async get(e,n){const r=await fetch(`${this.endpoint}/${e}`,{method:"GET"});if(!r.ok)throw new Error(`Failed to get connection: ${await r.text()}`);const s=await r.json(),i=s.sealed[s.sealed.length-1],o=await N({ciphertext:i,key:n});return{id:s.id,status:s.status,version:s.version,metadata:s.metadata,data:o,key:n}}async close(e){const n=await fetch(`${this.endpoint}/${e}`,{method:"DELETE"});if(!n.ok)throw new Error(`Failed to close connection: ${await n.text()}`)}}class M{constructor(e){a(this,"nodeUrl");a(this,"authToken");a(this,"uxUrl");a(this,"theme");a(this,"locale");this.uxUrl=e.uxUrl||"https://connect.notabene.id",this.nodeUrl=e.nodeUrl,this.authToken=e.authToken,this.theme=e.theme,this.locale=e.locale}componentUrl(e,n,r,s){const i=new URL(this.uxUrl);i.pathname=e;const o=R({authToken:this.authToken,value:n,configuration:r});return i.hash=o,this.nodeUrl&&i.searchParams.set("nodeUrl",this.nodeUrl),this.theme&&i.searchParams.set("theme",JSON.stringify(this.theme)),this.locale&&i.searchParams.set("locale",this.locale),s&&(s.callback&&i.searchParams.set("callback_url",s.callback),s.redirectUri&&i.searchParams.set("redirect_uri",s.redirectUri)),i.toString()}createComponent(e,n,r,s){return new b(this.componentUrl(e,n,r,s),n,r)}createWithdrawalAssist(e,n,r){return this.createComponent("withdrawal-assist",e,n,r)}createConnectWallet(e,n,r){return this.createComponent("connect",e,n,r)}createDepositRequest(e,n,r){return this.createComponent("deposit-request",e,n,r)}createDepositAssist(e,n,r){return this.createComponent("deposit-assist",e,n,r)}}exports.AgentType=f;exports.CMType=l;exports.ConnectionManager=D;exports.EmbeddedComponent=b;exports.ErrorIdentifierCode=y;exports.HMType=p;exports.PersonType=w;exports.ProofStatus=C;exports.ProofTypes=I;exports.Status=g;exports.VASPSearchControl=v;exports.ValidationSections=A;exports.decodeFragmentToObject=S;exports.default=M;exports.getRefreshResult=x;
|
package/dist/cjs/notabene.d.ts
CHANGED
|
@@ -359,6 +359,7 @@ export declare interface ConnectionMetadata {
|
|
|
359
359
|
readonly nodeUrl?: string;
|
|
360
360
|
readonly participants: readonly string[];
|
|
361
361
|
readonly transactionType: TransactionType;
|
|
362
|
+
readonly locale?: string;
|
|
362
363
|
}
|
|
363
364
|
|
|
364
365
|
/**
|
|
@@ -402,6 +403,19 @@ export declare type ConnectionResult<T extends ComponentRequest> = {
|
|
|
402
403
|
|
|
403
404
|
export declare type ConnectionStatus = 'active' | 'completed' | 'closed';
|
|
404
405
|
|
|
406
|
+
/**
|
|
407
|
+
* Metadata for Cosmos ownership proofs
|
|
408
|
+
* @remarks
|
|
409
|
+
* - Includes the public key
|
|
410
|
+
* @public
|
|
411
|
+
*/
|
|
412
|
+
export declare interface CosmosMetadata {
|
|
413
|
+
pub_key: {
|
|
414
|
+
type: string;
|
|
415
|
+
value: string;
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
|
|
405
419
|
/**
|
|
406
420
|
* The counterparty of a transaction.
|
|
407
421
|
* @public
|
|
@@ -1376,6 +1390,8 @@ export declare enum ProofStatus {
|
|
|
1376
1390
|
* - SelfDeclaration: User self-declares ownership without cryptographic proof
|
|
1377
1391
|
* - EIP191: Ethereum personal signature following EIP-191 standard
|
|
1378
1392
|
* - SIWE: Sign-In with Ethereum message signature (EIP-4361)
|
|
1393
|
+
* - SIWX: Sign-In with X message signature
|
|
1394
|
+
* - SOL_SIWX: Sign-In with Solana message signature (SIWE for Solana)
|
|
1379
1395
|
* - EIP712: Ethereum typed data signature following EIP-712 standard
|
|
1380
1396
|
* - BIP137: Bitcoin message signature following BIP-137
|
|
1381
1397
|
* - BIP322: Bitcoin message signature following BIP-322
|
|
@@ -1398,6 +1414,7 @@ export declare enum ProofTypes {
|
|
|
1398
1414
|
SelfDeclaration = "self-declaration",
|
|
1399
1415
|
SIWE = "siwe",
|
|
1400
1416
|
SIWX = "siwx",
|
|
1417
|
+
SOL_SIWX = "sol-siwx",
|
|
1401
1418
|
EIP191 = "eip-191",
|
|
1402
1419
|
EIP712 = "eip-712",
|
|
1403
1420
|
EIP1271 = "eip-1271",
|
|
@@ -1409,9 +1426,11 @@ export declare enum ProofTypes {
|
|
|
1409
1426
|
XRP_ED25519 = "xrp-ed25519",
|
|
1410
1427
|
XLM_ED25519 = "xlm-ed25519",
|
|
1411
1428
|
CIP8 = "cip-8",
|
|
1429
|
+
COSMOS = "cosmos-ecdsa",
|
|
1412
1430
|
MicroTransfer = "microtransfer",
|
|
1413
1431
|
Screenshot = "screenshot",
|
|
1414
|
-
Connect = "connect"
|
|
1432
|
+
Connect = "connect",
|
|
1433
|
+
CONCORDIUM = "concordium"
|
|
1415
1434
|
}
|
|
1416
1435
|
|
|
1417
1436
|
/**
|
|
@@ -1469,14 +1488,70 @@ export declare interface ScreenshotProof extends OwnershipProof {
|
|
|
1469
1488
|
* @public
|
|
1470
1489
|
*/
|
|
1471
1490
|
export declare interface SignatureProof extends OwnershipProof {
|
|
1472
|
-
type: ProofTypes.EIP191 | ProofTypes.EIP712 | ProofTypes.EIP1271 | ProofTypes.BIP137 | ProofTypes.BIP322 | ProofTypes.BIP137_XPUB | ProofTypes.ED25519 | ProofTypes.TIP191 | ProofTypes.SIWX | ProofTypes.SIWE | ProofTypes.CIP8 | ProofTypes.XRP_ED25519 | ProofTypes.XLM_ED25519;
|
|
1491
|
+
type: ProofTypes.EIP191 | ProofTypes.EIP712 | ProofTypes.EIP1271 | ProofTypes.BIP137 | ProofTypes.BIP322 | ProofTypes.BIP137_XPUB | ProofTypes.ED25519 | ProofTypes.TIP191 | ProofTypes.SIWX | ProofTypes.SOL_SIWX | ProofTypes.SIWE | ProofTypes.CIP8 | ProofTypes.XRP_ED25519 | ProofTypes.CONCORDIUM | ProofTypes.XLM_ED25519 | ProofTypes.COSMOS;
|
|
1473
1492
|
proof: string;
|
|
1474
1493
|
attestation: string;
|
|
1475
1494
|
wallet_provider: string;
|
|
1476
1495
|
xpub?: string;
|
|
1477
1496
|
chainSpecificData?: {
|
|
1478
1497
|
cardanoCoseKey?: string;
|
|
1498
|
+
} | SolanaMetadata | CosmosMetadata;
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
/**
|
|
1502
|
+
* Input for SIWX message signing
|
|
1503
|
+
* Every SIWX message must include the following fields:
|
|
1504
|
+
* - domain
|
|
1505
|
+
* - address
|
|
1506
|
+
* - statement
|
|
1507
|
+
* - uri
|
|
1508
|
+
* - version
|
|
1509
|
+
* - chainId
|
|
1510
|
+
*
|
|
1511
|
+
* Optional fields:
|
|
1512
|
+
* - nonce
|
|
1513
|
+
* - issuedAt
|
|
1514
|
+
* - expirationTime
|
|
1515
|
+
* - notBefore
|
|
1516
|
+
* - requestId
|
|
1517
|
+
* - resources
|
|
1518
|
+
*
|
|
1519
|
+
* @public
|
|
1520
|
+
*/
|
|
1521
|
+
export declare interface SIWXInput {
|
|
1522
|
+
domain: string;
|
|
1523
|
+
address: string;
|
|
1524
|
+
statement?: string;
|
|
1525
|
+
uri?: string;
|
|
1526
|
+
version?: string;
|
|
1527
|
+
chainId?: string;
|
|
1528
|
+
nonce?: string;
|
|
1529
|
+
issuedAt?: string;
|
|
1530
|
+
expirationTime?: string;
|
|
1531
|
+
notBefore?: string;
|
|
1532
|
+
requestId?: string;
|
|
1533
|
+
resources?: readonly string[];
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
/**
|
|
1537
|
+
* Metadata for Solana SIWX ownership proofs
|
|
1538
|
+
* @remarks
|
|
1539
|
+
* - Includes the account public key and address
|
|
1540
|
+
* - Includes the signed message
|
|
1541
|
+
* - Includes the signature
|
|
1542
|
+
* - Includes the message
|
|
1543
|
+
*
|
|
1544
|
+
* @see {@link SignatureProof} For signature-based proofs
|
|
1545
|
+
* @public
|
|
1546
|
+
*/
|
|
1547
|
+
export declare interface SolanaMetadata {
|
|
1548
|
+
account: {
|
|
1549
|
+
address: string;
|
|
1550
|
+
publicKey: Uint8Array;
|
|
1479
1551
|
};
|
|
1552
|
+
signedMessage: Uint8Array;
|
|
1553
|
+
signature: Uint8Array;
|
|
1554
|
+
message: SIWXInput;
|
|
1480
1555
|
}
|
|
1481
1556
|
|
|
1482
1557
|
/**
|
package/dist/cjs/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"author": "Notabene <developers@notabene.id>",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"packageManager": "yarn@4.5.1",
|
|
13
|
-
"version": "2.
|
|
13
|
+
"version": "2.11.0-next.2",
|
|
14
14
|
"source": "src/notabene.ts",
|
|
15
15
|
"main": "dist/cjs/notabene.cjs",
|
|
16
16
|
"module": "dist/esm/notabene.js",
|
package/dist/esm/notabene.d.ts
CHANGED
|
@@ -359,6 +359,7 @@ export declare interface ConnectionMetadata {
|
|
|
359
359
|
readonly nodeUrl?: string;
|
|
360
360
|
readonly participants: readonly string[];
|
|
361
361
|
readonly transactionType: TransactionType;
|
|
362
|
+
readonly locale?: string;
|
|
362
363
|
}
|
|
363
364
|
|
|
364
365
|
/**
|
|
@@ -402,6 +403,19 @@ export declare type ConnectionResult<T extends ComponentRequest> = {
|
|
|
402
403
|
|
|
403
404
|
export declare type ConnectionStatus = 'active' | 'completed' | 'closed';
|
|
404
405
|
|
|
406
|
+
/**
|
|
407
|
+
* Metadata for Cosmos ownership proofs
|
|
408
|
+
* @remarks
|
|
409
|
+
* - Includes the public key
|
|
410
|
+
* @public
|
|
411
|
+
*/
|
|
412
|
+
export declare interface CosmosMetadata {
|
|
413
|
+
pub_key: {
|
|
414
|
+
type: string;
|
|
415
|
+
value: string;
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
|
|
405
419
|
/**
|
|
406
420
|
* The counterparty of a transaction.
|
|
407
421
|
* @public
|
|
@@ -1376,6 +1390,8 @@ export declare enum ProofStatus {
|
|
|
1376
1390
|
* - SelfDeclaration: User self-declares ownership without cryptographic proof
|
|
1377
1391
|
* - EIP191: Ethereum personal signature following EIP-191 standard
|
|
1378
1392
|
* - SIWE: Sign-In with Ethereum message signature (EIP-4361)
|
|
1393
|
+
* - SIWX: Sign-In with X message signature
|
|
1394
|
+
* - SOL_SIWX: Sign-In with Solana message signature (SIWE for Solana)
|
|
1379
1395
|
* - EIP712: Ethereum typed data signature following EIP-712 standard
|
|
1380
1396
|
* - BIP137: Bitcoin message signature following BIP-137
|
|
1381
1397
|
* - BIP322: Bitcoin message signature following BIP-322
|
|
@@ -1398,6 +1414,7 @@ export declare enum ProofTypes {
|
|
|
1398
1414
|
SelfDeclaration = "self-declaration",
|
|
1399
1415
|
SIWE = "siwe",
|
|
1400
1416
|
SIWX = "siwx",
|
|
1417
|
+
SOL_SIWX = "sol-siwx",
|
|
1401
1418
|
EIP191 = "eip-191",
|
|
1402
1419
|
EIP712 = "eip-712",
|
|
1403
1420
|
EIP1271 = "eip-1271",
|
|
@@ -1409,9 +1426,11 @@ export declare enum ProofTypes {
|
|
|
1409
1426
|
XRP_ED25519 = "xrp-ed25519",
|
|
1410
1427
|
XLM_ED25519 = "xlm-ed25519",
|
|
1411
1428
|
CIP8 = "cip-8",
|
|
1429
|
+
COSMOS = "cosmos-ecdsa",
|
|
1412
1430
|
MicroTransfer = "microtransfer",
|
|
1413
1431
|
Screenshot = "screenshot",
|
|
1414
|
-
Connect = "connect"
|
|
1432
|
+
Connect = "connect",
|
|
1433
|
+
CONCORDIUM = "concordium"
|
|
1415
1434
|
}
|
|
1416
1435
|
|
|
1417
1436
|
/**
|
|
@@ -1469,14 +1488,70 @@ export declare interface ScreenshotProof extends OwnershipProof {
|
|
|
1469
1488
|
* @public
|
|
1470
1489
|
*/
|
|
1471
1490
|
export declare interface SignatureProof extends OwnershipProof {
|
|
1472
|
-
type: ProofTypes.EIP191 | ProofTypes.EIP712 | ProofTypes.EIP1271 | ProofTypes.BIP137 | ProofTypes.BIP322 | ProofTypes.BIP137_XPUB | ProofTypes.ED25519 | ProofTypes.TIP191 | ProofTypes.SIWX | ProofTypes.SIWE | ProofTypes.CIP8 | ProofTypes.XRP_ED25519 | ProofTypes.XLM_ED25519;
|
|
1491
|
+
type: ProofTypes.EIP191 | ProofTypes.EIP712 | ProofTypes.EIP1271 | ProofTypes.BIP137 | ProofTypes.BIP322 | ProofTypes.BIP137_XPUB | ProofTypes.ED25519 | ProofTypes.TIP191 | ProofTypes.SIWX | ProofTypes.SOL_SIWX | ProofTypes.SIWE | ProofTypes.CIP8 | ProofTypes.XRP_ED25519 | ProofTypes.CONCORDIUM | ProofTypes.XLM_ED25519 | ProofTypes.COSMOS;
|
|
1473
1492
|
proof: string;
|
|
1474
1493
|
attestation: string;
|
|
1475
1494
|
wallet_provider: string;
|
|
1476
1495
|
xpub?: string;
|
|
1477
1496
|
chainSpecificData?: {
|
|
1478
1497
|
cardanoCoseKey?: string;
|
|
1498
|
+
} | SolanaMetadata | CosmosMetadata;
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
/**
|
|
1502
|
+
* Input for SIWX message signing
|
|
1503
|
+
* Every SIWX message must include the following fields:
|
|
1504
|
+
* - domain
|
|
1505
|
+
* - address
|
|
1506
|
+
* - statement
|
|
1507
|
+
* - uri
|
|
1508
|
+
* - version
|
|
1509
|
+
* - chainId
|
|
1510
|
+
*
|
|
1511
|
+
* Optional fields:
|
|
1512
|
+
* - nonce
|
|
1513
|
+
* - issuedAt
|
|
1514
|
+
* - expirationTime
|
|
1515
|
+
* - notBefore
|
|
1516
|
+
* - requestId
|
|
1517
|
+
* - resources
|
|
1518
|
+
*
|
|
1519
|
+
* @public
|
|
1520
|
+
*/
|
|
1521
|
+
export declare interface SIWXInput {
|
|
1522
|
+
domain: string;
|
|
1523
|
+
address: string;
|
|
1524
|
+
statement?: string;
|
|
1525
|
+
uri?: string;
|
|
1526
|
+
version?: string;
|
|
1527
|
+
chainId?: string;
|
|
1528
|
+
nonce?: string;
|
|
1529
|
+
issuedAt?: string;
|
|
1530
|
+
expirationTime?: string;
|
|
1531
|
+
notBefore?: string;
|
|
1532
|
+
requestId?: string;
|
|
1533
|
+
resources?: readonly string[];
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
/**
|
|
1537
|
+
* Metadata for Solana SIWX ownership proofs
|
|
1538
|
+
* @remarks
|
|
1539
|
+
* - Includes the account public key and address
|
|
1540
|
+
* - Includes the signed message
|
|
1541
|
+
* - Includes the signature
|
|
1542
|
+
* - Includes the message
|
|
1543
|
+
*
|
|
1544
|
+
* @see {@link SignatureProof} For signature-based proofs
|
|
1545
|
+
* @public
|
|
1546
|
+
*/
|
|
1547
|
+
export declare interface SolanaMetadata {
|
|
1548
|
+
account: {
|
|
1549
|
+
address: string;
|
|
1550
|
+
publicKey: Uint8Array;
|
|
1479
1551
|
};
|
|
1552
|
+
signedMessage: Uint8Array;
|
|
1553
|
+
signature: Uint8Array;
|
|
1554
|
+
message: SIWXInput;
|
|
1480
1555
|
}
|
|
1481
1556
|
|
|
1482
1557
|
/**
|
package/dist/esm/notabene.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
var v = Object.defineProperty;
|
|
2
2
|
var g = (t, e, n) => e in t ? v(t, e, { enumerable: !0, configurable: !0, writable: !0, value: n }) : t[e] = n;
|
|
3
3
|
var a = (t, e, n) => g(t, typeof e != "symbol" ? e + "" : e, n);
|
|
4
|
-
var A = /* @__PURE__ */ ((t) => (t.PRIVATE = "WALLET", t.VASP = "VASP", t))(A || {}),
|
|
5
|
-
class
|
|
4
|
+
var A = /* @__PURE__ */ ((t) => (t.PRIVATE = "WALLET", t.VASP = "VASP", t))(A || {}), I = /* @__PURE__ */ ((t) => (t.NATURAL = "natural", t.LEGAL = "legal", t.SELF = "self", t))(I || {}), y = /* @__PURE__ */ ((t) => (t.EMPTY = "empty", t.VERIFY = "verify", t.PENDING = "pending", t.VERIFIED = "verified", t.BANNED = "banned", t))(y || {}), N = /* @__PURE__ */ ((t) => (t.ALLOWED = "allowed", t.PENDING = "pending", t))(N || {}), L = /* @__PURE__ */ ((t) => (t.ASSET = "asset", t.DESTINATION = "destination", t.COUNTERPARTY = "counterparty", t.AGENT = "agent", t))(L || {}), l = /* @__PURE__ */ ((t) => (t.COMPLETE = "complete", t.RESIZE = "resize", t.RESULT = "result", t.READY = "ready", t.INVALID = "invalid", t.ERROR = "error", t.CANCEL = "cancel", t.WARNING = "warning", t.INFO = "info", t))(l || {}), C = /* @__PURE__ */ ((t) => (t.SERVICE_UNAVAILABLE = "SERVICE_UNAVAILABLE", t.WALLET_CONNECTION_FAILED = "WALLET_CONNECTION_FAILED", t.WALLET_NOT_SUPPORTED = "WALLET_NOT_SUPPORTED", t.TOKEN_INVALID = "TOKEN_INVALID", t))(C || {}), p = /* @__PURE__ */ ((t) => (t.UPDATE = "update", t.REQUEST_RESPONSE = "requestResponse", t))(p || {}), b = /* @__PURE__ */ ((t) => (t.PENDING = "pending", t.FAILED = "rejected", t.FLAGGED = "flagged", t.VERIFIED = "verified", t))(b || {}), U = /* @__PURE__ */ ((t) => (t.SelfDeclaration = "self-declaration", t.SIWE = "siwe", t.SIWX = "siwx", t.SOL_SIWX = "sol-siwx", t.EIP191 = "eip-191", t.EIP712 = "eip-712", t.EIP1271 = "eip-1271", t.BIP137 = "bip-137", t.BIP322 = "bip-322", t.BIP137_XPUB = "xpub", t.TIP191 = "tip-191", t.ED25519 = "ed25519", t.XRP_ED25519 = "xrp-ed25519", t.XLM_ED25519 = "xlm-ed25519", t.CIP8 = "cip-8", t.COSMOS = "cosmos-ecdsa", t.MicroTransfer = "microtransfer", t.Screenshot = "screenshot", t.Connect = "connect", t.CONCORDIUM = "concordium", t))(U || {});
|
|
5
|
+
class O {
|
|
6
6
|
constructor() {
|
|
7
7
|
a(this, "listeners", /* @__PURE__ */ new Map());
|
|
8
8
|
a(this, "port");
|
|
@@ -68,7 +68,7 @@ class _ {
|
|
|
68
68
|
this.port && this.port.postMessage(e);
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
class
|
|
71
|
+
class _ {
|
|
72
72
|
/**
|
|
73
73
|
* Creates an instance of EmbeddedComponent.
|
|
74
74
|
* @param url - The URL of the embedded component
|
|
@@ -82,7 +82,7 @@ class x {
|
|
|
82
82
|
a(this, "iframe");
|
|
83
83
|
a(this, "eventManager");
|
|
84
84
|
a(this, "modal");
|
|
85
|
-
this._url = e, this._value = n, this._options = s, this.eventManager = new
|
|
85
|
+
this._url = e, this._value = n, this._options = s, this.eventManager = new O(), this.on(l.INVALID, (r) => {
|
|
86
86
|
r.type === l.INVALID && (this._errors = r.errors, this._value = r.value);
|
|
87
87
|
}), this.on(l.RESIZE, (r) => {
|
|
88
88
|
r.type === l.RESIZE && this.iframe && (this.iframe.style.height = `${r.height}px`);
|
|
@@ -166,7 +166,7 @@ class x {
|
|
|
166
166
|
* @param value - The new transaction value
|
|
167
167
|
*/
|
|
168
168
|
update(e, n) {
|
|
169
|
-
this._value = e, n && (this._options = n), this.send({ type:
|
|
169
|
+
this._value = e, n && (this._options = n), this.send({ type: p.UPDATE, value: e, options: this._options });
|
|
170
170
|
}
|
|
171
171
|
/**
|
|
172
172
|
* Waits for the component to complete and returns the transaction response
|
|
@@ -237,7 +237,7 @@ class x {
|
|
|
237
237
|
});
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
|
-
function
|
|
240
|
+
function x(t) {
|
|
241
241
|
return Object.entries(t).map(([e, n]) => {
|
|
242
242
|
if (n == null) return;
|
|
243
243
|
const s = encodeURIComponent(e), r = encodeURIComponent(
|
|
@@ -247,7 +247,7 @@ function R(t) {
|
|
|
247
247
|
return `${s}=${r}`;
|
|
248
248
|
}).filter((e) => e !== void 0).join("&");
|
|
249
249
|
}
|
|
250
|
-
function
|
|
250
|
+
function D(t) {
|
|
251
251
|
const e = t.slice(1);
|
|
252
252
|
return e ? e.split("&").filter(Boolean).reduce(
|
|
253
253
|
(s, r) => {
|
|
@@ -257,7 +257,7 @@ function O(t) {
|
|
|
257
257
|
{}
|
|
258
258
|
) : {};
|
|
259
259
|
}
|
|
260
|
-
async function
|
|
260
|
+
async function E(t, e) {
|
|
261
261
|
const n = JSON.stringify(t), s = new TextEncoder(), r = e ? m(e) : crypto.getRandomValues(new Uint8Array(32)), i = await crypto.subtle.importKey(
|
|
262
262
|
"raw",
|
|
263
263
|
r,
|
|
@@ -344,7 +344,7 @@ class M {
|
|
|
344
344
|
* @returns Promise resolving to connection details including ID, version, and encryption key
|
|
345
345
|
*/
|
|
346
346
|
async create(e, n) {
|
|
347
|
-
const s = await
|
|
347
|
+
const s = await E(e), r = {
|
|
348
348
|
metadata: n,
|
|
349
349
|
sealed: s.ciphertext
|
|
350
350
|
}, i = await fetch(this.endpoint, {
|
|
@@ -377,7 +377,7 @@ class M {
|
|
|
377
377
|
* @returns Promise resolving to updated connection details including new encryption key
|
|
378
378
|
*/
|
|
379
379
|
async update(e, n, s, r, i) {
|
|
380
|
-
const o = await
|
|
380
|
+
const o = await E(n, i), c = {
|
|
381
381
|
sealed: o.ciphertext,
|
|
382
382
|
version: s,
|
|
383
383
|
status: r
|
|
@@ -466,7 +466,7 @@ class k {
|
|
|
466
466
|
componentUrl(e, n, s, r) {
|
|
467
467
|
const i = new URL(this.uxUrl);
|
|
468
468
|
i.pathname = e;
|
|
469
|
-
const o =
|
|
469
|
+
const o = x({
|
|
470
470
|
authToken: this.authToken,
|
|
471
471
|
value: n,
|
|
472
472
|
configuration: s
|
|
@@ -484,7 +484,7 @@ class k {
|
|
|
484
484
|
* @internal
|
|
485
485
|
*/
|
|
486
486
|
createComponent(e, n, s, r) {
|
|
487
|
-
return new
|
|
487
|
+
return new _(
|
|
488
488
|
this.componentUrl(e, n, s, r),
|
|
489
489
|
n,
|
|
490
490
|
s
|
|
@@ -562,16 +562,16 @@ export {
|
|
|
562
562
|
A as AgentType,
|
|
563
563
|
l as CMType,
|
|
564
564
|
M as ConnectionManager,
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
565
|
+
_ as EmbeddedComponent,
|
|
566
|
+
C as ErrorIdentifierCode,
|
|
567
|
+
p as HMType,
|
|
568
|
+
I as PersonType,
|
|
569
|
+
b as ProofStatus,
|
|
570
570
|
U as ProofTypes,
|
|
571
|
-
|
|
571
|
+
y as Status,
|
|
572
572
|
N as VASPSearchControl,
|
|
573
573
|
L as ValidationSections,
|
|
574
|
-
|
|
574
|
+
D as decodeFragmentToObject,
|
|
575
575
|
k as default,
|
|
576
576
|
S as getRefreshResult
|
|
577
577
|
};
|
package/dist/esm/package.json
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"author": "Notabene <developers@notabene.id>",
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"packageManager": "yarn@4.5.1",
|
|
13
|
-
"version": "2.
|
|
13
|
+
"version": "2.11.0-next.2",
|
|
14
14
|
"source": "src/notabene.ts",
|
|
15
15
|
"main": "dist/cjs/notabene.cjs",
|
|
16
16
|
"module": "dist/esm/notabene.js",
|
package/dist/notabene.d.ts
CHANGED
|
@@ -359,6 +359,7 @@ export declare interface ConnectionMetadata {
|
|
|
359
359
|
readonly nodeUrl?: string;
|
|
360
360
|
readonly participants: readonly string[];
|
|
361
361
|
readonly transactionType: TransactionType;
|
|
362
|
+
readonly locale?: string;
|
|
362
363
|
}
|
|
363
364
|
|
|
364
365
|
/**
|
|
@@ -402,6 +403,19 @@ export declare type ConnectionResult<T extends ComponentRequest> = {
|
|
|
402
403
|
|
|
403
404
|
export declare type ConnectionStatus = 'active' | 'completed' | 'closed';
|
|
404
405
|
|
|
406
|
+
/**
|
|
407
|
+
* Metadata for Cosmos ownership proofs
|
|
408
|
+
* @remarks
|
|
409
|
+
* - Includes the public key
|
|
410
|
+
* @public
|
|
411
|
+
*/
|
|
412
|
+
export declare interface CosmosMetadata {
|
|
413
|
+
pub_key: {
|
|
414
|
+
type: string;
|
|
415
|
+
value: string;
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
|
|
405
419
|
/**
|
|
406
420
|
* The counterparty of a transaction.
|
|
407
421
|
* @public
|
|
@@ -1376,6 +1390,8 @@ export declare enum ProofStatus {
|
|
|
1376
1390
|
* - SelfDeclaration: User self-declares ownership without cryptographic proof
|
|
1377
1391
|
* - EIP191: Ethereum personal signature following EIP-191 standard
|
|
1378
1392
|
* - SIWE: Sign-In with Ethereum message signature (EIP-4361)
|
|
1393
|
+
* - SIWX: Sign-In with X message signature
|
|
1394
|
+
* - SOL_SIWX: Sign-In with Solana message signature (SIWE for Solana)
|
|
1379
1395
|
* - EIP712: Ethereum typed data signature following EIP-712 standard
|
|
1380
1396
|
* - BIP137: Bitcoin message signature following BIP-137
|
|
1381
1397
|
* - BIP322: Bitcoin message signature following BIP-322
|
|
@@ -1398,6 +1414,7 @@ export declare enum ProofTypes {
|
|
|
1398
1414
|
SelfDeclaration = "self-declaration",
|
|
1399
1415
|
SIWE = "siwe",
|
|
1400
1416
|
SIWX = "siwx",
|
|
1417
|
+
SOL_SIWX = "sol-siwx",
|
|
1401
1418
|
EIP191 = "eip-191",
|
|
1402
1419
|
EIP712 = "eip-712",
|
|
1403
1420
|
EIP1271 = "eip-1271",
|
|
@@ -1409,9 +1426,11 @@ export declare enum ProofTypes {
|
|
|
1409
1426
|
XRP_ED25519 = "xrp-ed25519",
|
|
1410
1427
|
XLM_ED25519 = "xlm-ed25519",
|
|
1411
1428
|
CIP8 = "cip-8",
|
|
1429
|
+
COSMOS = "cosmos-ecdsa",
|
|
1412
1430
|
MicroTransfer = "microtransfer",
|
|
1413
1431
|
Screenshot = "screenshot",
|
|
1414
|
-
Connect = "connect"
|
|
1432
|
+
Connect = "connect",
|
|
1433
|
+
CONCORDIUM = "concordium"
|
|
1415
1434
|
}
|
|
1416
1435
|
|
|
1417
1436
|
/**
|
|
@@ -1469,14 +1488,70 @@ export declare interface ScreenshotProof extends OwnershipProof {
|
|
|
1469
1488
|
* @public
|
|
1470
1489
|
*/
|
|
1471
1490
|
export declare interface SignatureProof extends OwnershipProof {
|
|
1472
|
-
type: ProofTypes.EIP191 | ProofTypes.EIP712 | ProofTypes.EIP1271 | ProofTypes.BIP137 | ProofTypes.BIP322 | ProofTypes.BIP137_XPUB | ProofTypes.ED25519 | ProofTypes.TIP191 | ProofTypes.SIWX | ProofTypes.SIWE | ProofTypes.CIP8 | ProofTypes.XRP_ED25519 | ProofTypes.XLM_ED25519;
|
|
1491
|
+
type: ProofTypes.EIP191 | ProofTypes.EIP712 | ProofTypes.EIP1271 | ProofTypes.BIP137 | ProofTypes.BIP322 | ProofTypes.BIP137_XPUB | ProofTypes.ED25519 | ProofTypes.TIP191 | ProofTypes.SIWX | ProofTypes.SOL_SIWX | ProofTypes.SIWE | ProofTypes.CIP8 | ProofTypes.XRP_ED25519 | ProofTypes.CONCORDIUM | ProofTypes.XLM_ED25519 | ProofTypes.COSMOS;
|
|
1473
1492
|
proof: string;
|
|
1474
1493
|
attestation: string;
|
|
1475
1494
|
wallet_provider: string;
|
|
1476
1495
|
xpub?: string;
|
|
1477
1496
|
chainSpecificData?: {
|
|
1478
1497
|
cardanoCoseKey?: string;
|
|
1498
|
+
} | SolanaMetadata | CosmosMetadata;
|
|
1499
|
+
}
|
|
1500
|
+
|
|
1501
|
+
/**
|
|
1502
|
+
* Input for SIWX message signing
|
|
1503
|
+
* Every SIWX message must include the following fields:
|
|
1504
|
+
* - domain
|
|
1505
|
+
* - address
|
|
1506
|
+
* - statement
|
|
1507
|
+
* - uri
|
|
1508
|
+
* - version
|
|
1509
|
+
* - chainId
|
|
1510
|
+
*
|
|
1511
|
+
* Optional fields:
|
|
1512
|
+
* - nonce
|
|
1513
|
+
* - issuedAt
|
|
1514
|
+
* - expirationTime
|
|
1515
|
+
* - notBefore
|
|
1516
|
+
* - requestId
|
|
1517
|
+
* - resources
|
|
1518
|
+
*
|
|
1519
|
+
* @public
|
|
1520
|
+
*/
|
|
1521
|
+
export declare interface SIWXInput {
|
|
1522
|
+
domain: string;
|
|
1523
|
+
address: string;
|
|
1524
|
+
statement?: string;
|
|
1525
|
+
uri?: string;
|
|
1526
|
+
version?: string;
|
|
1527
|
+
chainId?: string;
|
|
1528
|
+
nonce?: string;
|
|
1529
|
+
issuedAt?: string;
|
|
1530
|
+
expirationTime?: string;
|
|
1531
|
+
notBefore?: string;
|
|
1532
|
+
requestId?: string;
|
|
1533
|
+
resources?: readonly string[];
|
|
1534
|
+
}
|
|
1535
|
+
|
|
1536
|
+
/**
|
|
1537
|
+
* Metadata for Solana SIWX ownership proofs
|
|
1538
|
+
* @remarks
|
|
1539
|
+
* - Includes the account public key and address
|
|
1540
|
+
* - Includes the signed message
|
|
1541
|
+
* - Includes the signature
|
|
1542
|
+
* - Includes the message
|
|
1543
|
+
*
|
|
1544
|
+
* @see {@link SignatureProof} For signature-based proofs
|
|
1545
|
+
* @public
|
|
1546
|
+
*/
|
|
1547
|
+
export declare interface SolanaMetadata {
|
|
1548
|
+
account: {
|
|
1549
|
+
address: string;
|
|
1550
|
+
publicKey: Uint8Array;
|
|
1479
1551
|
};
|
|
1552
|
+
signedMessage: Uint8Array;
|
|
1553
|
+
signature: Uint8Array;
|
|
1554
|
+
message: SIWXInput;
|
|
1480
1555
|
}
|
|
1481
1556
|
|
|
1482
1557
|
/**
|