@solana/transactions 2.0.0-experimental.daad0b8 → 2.0.0-experimental.dacecb7
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 +1 -1
- package/dist/index.browser.cjs +108 -53
- package/dist/index.browser.cjs.map +1 -1
- package/dist/index.browser.js +105 -55
- package/dist/index.browser.js.map +1 -1
- package/dist/index.development.js +143 -86
- package/dist/index.development.js.map +1 -1
- package/dist/index.native.js +105 -55
- package/dist/index.native.js.map +1 -1
- package/dist/index.node.cjs +108 -53
- package/dist/index.node.cjs.map +1 -1
- package/dist/index.node.js +105 -55
- package/dist/index.node.js.map +1 -1
- package/dist/index.production.min.js +16 -11
- package/dist/types/accounts.d.ts +1 -1
- package/dist/types/accounts.d.ts.map +1 -0
- package/dist/types/blockhash.d.ts +1 -1
- package/dist/types/blockhash.d.ts.map +1 -0
- package/dist/types/compile-address-table-lookups.d.ts.map +1 -0
- package/dist/types/compile-header.d.ts.map +1 -0
- package/dist/types/compile-instructions.d.ts +1 -1
- package/dist/types/compile-instructions.d.ts.map +1 -0
- package/dist/types/compile-lifetime-token.d.ts.map +1 -0
- package/dist/types/compile-static-accounts.d.ts.map +1 -0
- package/dist/types/compile-transaction.d.ts.map +1 -0
- package/dist/types/create-transaction.d.ts.map +1 -0
- package/dist/types/durable-nonce.d.ts +4 -3
- package/dist/types/durable-nonce.d.ts.map +1 -0
- package/dist/types/fee-payer.d.ts +2 -1
- package/dist/types/fee-payer.d.ts.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/instructions.d.ts.map +1 -0
- package/dist/types/message.d.ts.map +1 -0
- package/dist/types/serializers/address-table-lookup.d.ts.map +1 -0
- package/dist/types/serializers/header.d.ts.map +1 -0
- package/dist/types/serializers/index.d.ts +2 -0
- package/dist/types/serializers/index.d.ts.map +1 -0
- package/dist/types/serializers/instruction.d.ts.map +1 -0
- package/dist/types/serializers/message.d.ts.map +1 -0
- package/dist/types/serializers/transaction-version.d.ts.map +1 -0
- package/dist/types/serializers/transaction.d.ts.map +1 -0
- package/dist/types/serializers/unimplemented.d.ts.map +1 -0
- package/dist/types/signatures.d.ts +10 -2
- package/dist/types/signatures.d.ts.map +1 -0
- package/dist/types/types.d.ts +7 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/unsigned-transaction.d.ts.map +1 -0
- package/dist/types/wire-transaction.d.ts +1 -1
- package/dist/types/wire-transaction.d.ts.map +1 -0
- package/package.json +16 -14
|
@@ -2,18 +2,23 @@ this.globalThis = this.globalThis || {};
|
|
|
2
2
|
this.globalThis.solanaWeb3 = (function (exports) {
|
|
3
3
|
'use strict';
|
|
4
4
|
|
|
5
|
-
var Be=Object.defineProperty;var Ce=(e,r,n)=>r in e?Be(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n;var T=(e,r,n)=>(Ce(e,typeof r!="symbol"?r+"":r,n),n);var E=e=>{let r=e.reduce((o,s)=>o+s.length,0),n=new Uint8Array(r),t=0;return e.forEach(o=>{n.set(o,t),t+=o.length;}),n},Q=(e,r)=>{if(e.length>=r)return e;let n=new Uint8Array(r).fill(0);return n.set(e),n},O=(e,r)=>Q(e.slice(0,r),r);var x=class extends Error{constructor(n){super(`Serializer [${n}] cannot deserialize empty buffers.`);T(this,"name","DeserializingEmptyBufferError");}},h=class extends Error{constructor(n,t,o){super(`Serializer [${n}] expected ${t} bytes, got ${o}.`);T(this,"name","NotEnoughBytesError");}},I=class extends Error{constructor(n){n??(n="Expected a fixed-size serializer, got a variable-size one.");super(n);T(this,"name","ExpectedFixedSizeSerializerError");}};function N(e,r,n){return {description:n??`fixed(${r}, ${e.description})`,fixedSize:r,maxSize:r,serialize:t=>O(e.serialize(t),r),deserialize:(t,o=0)=>{if(t=t.slice(o,o+r),t.length<r)throw new h("fixSerializer",r,t.length);e.fixedSize!==null&&(t=O(t,e.fixedSize));let[s]=e.deserialize(t,0);return [s,o+r]}}}function R(e,r,n){return {description:e.description,fixedSize:e.fixedSize,maxSize:e.maxSize,serialize:t=>e.serialize(r(t)),deserialize:(t,o=0)=>{let[s,i]=e.deserialize(t,o);return n?[n(s,t,o),i]:[s,i]}}}var W=class extends Error{constructor(n,t,o){let s=`Expected a string of base ${t}, got [${n}].`;super(s);T(this,"name","InvalidBaseStringError");this.cause=o;}};var ee=e=>{let r=e.length,n=BigInt(r);return {description:`base${r}`,fixedSize:null,maxSize:null,serialize(t){if(!t.match(new RegExp(`^[${e}]*$`)))throw new W(t,r);if(t==="")return new Uint8Array;let o=[...t],s=o.findIndex(g=>g!==e[0]);s=s===-1?o.length:s;let i=Array(s).fill(0);if(s===o.length)return Uint8Array.from(i);let c=o.slice(s),l=0n,d=1n;for(let g=c.length-1;g>=0;g-=1)l+=d*BigInt(e.indexOf(c[g])),d*=n;let u=[];for(;l>0n;)u.unshift(Number(l%256n)),l/=256n;return Uint8Array.from(i.concat(u))},deserialize(t,o=0){if(t.length===0)return ["",0];let s=t.slice(o),i=s.findIndex(u=>u!==0);i=i===-1?s.length:i;let c=e[0].repeat(i);if(i===s.length)return [c,t.length];let l=s.slice(i).reduce((u,g)=>u*256n+BigInt(g),0n),d=[];for(;l>0n;)d.unshift(e[Number(l%n)]),l/=n;return [c+d.join(""),t.length]}}};var z=ee("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var re=e=>e.replace(/\u0000/g,"");var G={description:"utf8",fixedSize:null,maxSize:null,serialize(e){return new TextEncoder().encode(e)},deserialize(e,r=0){let n=new TextDecoder().decode(e.slice(r));return [re(n),e.length]}};var P;(function(e){e.Little="le",e.Big="be";})(P||(P={}));var V=class extends RangeError{constructor(n,t,o,s){super(`Serializer [${n}] expected number to be between ${t} and ${o}, got ${s}.`);T(this,"name","NumberOutOfRangeError");}};function U(e){let r,n=e.name;return e.size>1&&(r=!("endian"in e.options)||e.options.endian===P.Little,n+=r?"(le)":"(be)"),{description:e.options.description??n,fixedSize:e.size,maxSize:e.size,serialize(t){e.range&&q(e.name,e.range[0],e.range[1],t);let o=new ArrayBuffer(e.size);return e.set(new DataView(o),t,r),new Uint8Array(o)},deserialize(t,o=0){let s=t.slice(o,o+e.size);Re("i8",s,e.size);let i=Ne(s);return [e.get(i,r),o+e.size]}}}var _e=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),Ne=e=>new DataView(_e(e)),q=(e,r,n,t)=>{if(t<r||t>n)throw new V(e,r,n,t)},Re=(e,r,n)=>{if(r.length===0)throw new x(e);if(r.length<n)throw new h(e,n,r.length)};var b=(e={})=>U({name:"u8",size:1,range:[0,+"0xff"],set:(r,n)=>r.setUint8(0,Number(n)),get:r=>r.getUint8(0),options:e});var k=(e={})=>U({name:"u32",size:4,range:[0,+"0xffffffff"],set:(r,n,t)=>r.setUint32(0,Number(n),t),get:(r,n)=>r.getUint32(0,n),options:e});var f=(e={})=>({description:e.description??"shortU16",fixedSize:null,maxSize:3,serialize:r=>{q("shortU16",0,65535,r);let n=[0];for(let t=0;;t+=1){let o=r>>t*7;if(o===0)break;let s=127&o;n[t]=s,t>0&&(n[t-1]|=128);}return new Uint8Array(n)},deserialize:(r,n=0)=>{let t=0,o=0;for(;++o;){let s=o-1,i=r[n+s],c=127&i;if(t|=c<<s*7,!(i&128))break}return [t,n+o]}});var $=class extends Error{constructor(n,t,o){super(`Expected [${n}] to have ${t} items, got ${o}.`);T(this,"name","InvalidNumberOfItemsError");}},F=class extends Error{constructor(n,t){super(`The remainder of the buffer (${n} bytes) cannot be split into chunks of ${t} bytes. Serializers of "remainder" size must have a remainder that is a multiple of its item size. In other words, ${n} modulo ${t} should be equal to zero.`);T(this,"name","InvalidArrayLikeRemainderSizeError");}},K=class extends Error{constructor(n){super(`Unrecognized array-like serializer size: ${JSON.stringify(n)}`);T(this,"name","UnrecognizedArrayLikeSerializerSizeError");}};function C(e){return e.reduce((r,n)=>r===null||n===null?null:r+n,0)}function ne(e,r,n,t){if(typeof e=="number")return [e,t];if(typeof e=="object")return e.deserialize(n,t);if(e==="remainder"){let o=C(r);if(o===null)throw new I('Serializers of "remainder" size must have fixed-size items.');let s=n.slice(t).length;if(s%o!==0)throw new F(s,o);return [s/o,t]}throw new K(e)}function _(e){return typeof e=="object"?e.description:`${e}`}function X(e,r){if(typeof e!="number")return null;if(e===0)return 0;let n=C(r);return n===null?null:n*e}function te(e,r){return typeof e=="object"?e.serialize(r):new Uint8Array}function y(e,r={}){let n=r.size??k();if(n==="remainder"&&e.fixedSize===null)throw new I('Serializers of "remainder" size must have fixed-size items.');return {description:r.description??`array(${e.description}; ${_(n)})`,fixedSize:X(n,[e.fixedSize]),maxSize:X(n,[e.maxSize]),serialize:t=>{if(typeof n=="number"&&t.length!==n)throw new $("array",n,t.length);return E([te(n,t.length),...t.map(o=>e.serialize(o))])},deserialize:(t,o=0)=>{if(typeof n=="object"&&t.slice(o).length===0)return [[],o];let[s,i]=ne(n,[e.fixedSize],t,o);o=i;let c=[];for(let l=0;l<s;l+=1){let[d,u]=e.deserialize(t,o);c.push(d),o=u;}return [c,o]}}}function L(e={}){let r=e.size??"variable",n=e.description??`bytes(${_(r)})`,t={description:n,fixedSize:null,maxSize:null,serialize:o=>new Uint8Array(o),deserialize:(o,s=0)=>{let i=o.slice(s);return [i,s+i.length]}};return r==="variable"?t:typeof r=="number"?N(t,r,n):{description:n,fixedSize:null,maxSize:null,serialize:o=>{let s=t.serialize(o),i=r.serialize(s.length);return E([i,s])},deserialize:(o,s=0)=>{if(o.slice(s).length===0)throw new x("bytes");let[i,c]=r.deserialize(o,s),l=Number(i);s=c;let d=o.slice(s,s+l);if(d.length<l)throw new h("bytes",l,d.length);let[u,g]=t.deserialize(d);return s+=g,[u,s]}}}function D(e={}){let r=e.size??k(),n=e.encoding??G,t=e.description??`string(${n.description}; ${_(r)})`;return r==="variable"?{...n,description:t}:typeof r=="number"?N(n,r,t):{description:t,fixedSize:null,maxSize:null,serialize:o=>{let s=n.serialize(o),i=r.serialize(s.length);return E([i,s])},deserialize:(o,s=0)=>{if(o.slice(s).length===0)throw new x("string");let[i,c]=r.deserialize(o,s),l=Number(i);s=c;let d=o.slice(s,s+l);if(d.length<l)throw new h("string",l,d.length);let[u,g]=n.deserialize(d);return s+=g,[u,s]}}}function A(e,r={}){let n=e.map(([t,o])=>`${String(t)}: ${o.description}`).join(", ");return {description:r.description??`struct(${n})`,fixedSize:C(e.map(([,t])=>t.fixedSize)),maxSize:C(e.map(([,t])=>t.maxSize)),serialize:t=>{let o=e.map(([s,i])=>i.serialize(t[s]));return E(o)},deserialize:(t,o=0)=>{let s={};return e.forEach(([i,c])=>{let[l,d]=c.deserialize(t,o);o=d,s[i]=l;}),[s,o]}}}function S(e){if("signatures"in e){let{signatures:r,...n}=e;return n}else return e}function Yn(e){try{if(e.length<32||e.length>44)throw new Error("Expected input string to decode to a byte array of length 32.");let n=z.serialize(e).byteLength;if(n!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${n}`)}catch(r){throw new Error(`\`${e}\` is not a blockhash`,{cause:r})}}function Hn(e,r){if("lifetimeConstraint"in r&&r.lifetimeConstraint.blockhash===e.blockhash&&r.lifetimeConstraint.lastValidBlockHeight===e.lastValidBlockHeight)return r;let n={...S(r),lifetimeConstraint:e};return Object.freeze(n),n}function qn({version:e}){let r={instructions:[],version:e};return Object.freeze(r),r}var m=(e=>(e[e.WRITABLE_SIGNER=3]="WRITABLE_SIGNER",e[e.READONLY_SIGNER=2]="READONLY_SIGNER",e[e.WRITABLE=1]="WRITABLE",e[e.READONLY=0]="READONLY",e))(m||{});var ke=1;function w(e){return e>=2}function B(e){return (e&ke)!==0}function J(e,r){return e|r}var oe="SysvarRecentB1ockHashes11111111111111111111",se="11111111111111111111111111111111";function st(e){if(!ie(e))throw new Error("Transaction is not a durable nonce transaction")}function Le(e,r){return {accounts:[{address:e,role:m.WRITABLE},{address:oe,role:m.READONLY},{address:r,role:m.READONLY_SIGNER}],data:new Uint8Array([4,0,0,0]),programAddress:se}}function De(e){return e.programAddress===se&&e.data!=null&&Me(e.data)&&e.accounts?.length===3&&e.accounts[0].address!=null&&e.accounts[0].role===m.WRITABLE&&e.accounts[1].address===oe&&e.accounts[1].role===m.READONLY&&e.accounts[2].address!=null&&e.accounts[2].role===m.READONLY_SIGNER}function Me(e){return e.byteLength===4&&e[0]===4&&e[1]===0&&e[2]===0&&e[3]===0}function ie(e){return "lifetimeConstraint"in e&&typeof e.lifetimeConstraint.nonce=="string"&&e.instructions[0]!=null&&De(e.instructions[0])}function it({nonce:e,nonceAccountAddress:r,nonceAuthorityAddress:n},t){let o=ie(t);if(o&&t.lifetimeConstraint.nonce===e&&t.instructions[0].accounts[0].address===r&&t.instructions[0].accounts[2].address===n)return t;let s={...S(t),instructions:[Le(r,n),...o?t.instructions.slice(1):t.instructions],lifetimeConstraint:{nonce:e}};return Object.freeze(s),s}function lt(e,r){if("feePayer"in r&&e===r.feePayer)return r;let n={...S(r),feePayer:e};return Object.freeze(n),n}function ft(e,r){let n={...S(r),instructions:[...r.instructions,e]};return Object.freeze(n),n}function gt(e,r){let n={...S(r),instructions:[e,...r.instructions]};return Object.freeze(n),n}function ae(){if(!globalThis.isSecureContext)throw new Error("Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts")}async function ce(){if(ae(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new Error("No key export implementation could be found")}async function de(){if(ae(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.sign!="function")throw new Error("No signing implementation could be found")}function M(e){return D({description:e?.description??(""),encoding:z,size:32})}function v(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:!1,localeMatcher:"best fit",numeric:!1,sensitivity:"variant",usage:"sort"}).compare}async function le(e){if(await ce(),e.type!=="public"||e.algorithm.name!=="Ed25519")throw new Error("The `CryptoKey` must be an `Ed25519` public key");let r=await crypto.subtle.exportKey("raw",e),[n]=M().deserialize(new Uint8Array(r));return n}async function ue(e,r){await de();let n=await crypto.subtle.sign("Ed25519",e,r);return new Uint8Array(n)}function pe(e,r,n){e[r]=n(e[r]??{role:m.READONLY});}var p=Symbol("AddressMapTypeProperty");function me(e,r){let n={[e]:{[p]:0,role:m.WRITABLE_SIGNER}},t=new Set;for(let o of r){pe(n,o.programAddress,i=>{if(t.add(o.programAddress),p in i){if(B(i.role))switch(i[p]){case 0:throw new Error(`This transaction includes an address (\`${o.programAddress}\`) which is both invoked and set as the fee payer. Program addresses may not pay fees.`);default:throw new Error(`This transaction includes an address (\`${o.programAddress}\`) which is both invoked and marked writable. Program addresses may not be writable.`)}if(i[p]===2)return i}return {[p]:2,role:m.READONLY}});let s;if(o.accounts)for(let i of o.accounts)pe(n,i.address,c=>{let{address:l,...d}=i;if(p in c)switch(c[p]){case 0:return c;case 1:{let u=J(c.role,d.role);if("lookupTableAddress"in d){if(c.lookupTableAddress!==d.lookupTableAddress&&(s||(s=v()))(d.lookupTableAddress,c.lookupTableAddress)<0)return {[p]:1,...d,role:u}}else if(w(d.role))return {[p]:2,role:u};return c.role!==u?{...c,role:u}:c}case 2:{let u=J(c.role,d.role);if(t.has(i.address)){if(B(d.role))throw new Error(`This transaction includes an address (\`${i.address}\`) which is both invoked and marked writable. Program addresses may not be writable.`);return c.role!==u?{...c,role:u}:c}else return "lookupTableAddress"in d&&!w(c.role)?{...d,[p]:1,role:u}:c.role!==u?{...c,role:u}:c}}return "lookupTableAddress"in d?{...d,[p]:1}:{...d,[p]:2}});}return n}function fe(e){let r;return Object.entries(e).sort(([t,o],[s,i])=>{if(o[p]!==i[p]){if(o[p]===0)return -1;if(i[p]===0)return 1;if(o[p]===2)return -1;if(i[p]===2)return 1}let c=w(o.role);if(c!==w(i.role))return c?-1:1;let l=B(o.role);return l!==B(i.role)?l?-1:1:(r||(r=v()),o[p]===1&&i[p]===1&&o.lookupTableAddress!==i.lookupTableAddress?r(o.lookupTableAddress,i.lookupTableAddress):r(t,s))}).map(([t,o])=>({address:t,...o}))}function ge(e){var n;let r={};for(let t of e){if(!("lookupTableAddress"in t))continue;let o=r[n=t.lookupTableAddress]||(r[n]={readableIndices:[],writableIndices:[]});t.role===m.WRITABLE?o.writableIndices.push(t.addressIndex):o.readableIndices.push(t.addressIndex);}return Object.keys(r).sort(v()).map(t=>({lookupTableAddress:t,...r[t]}))}function Te(e){let r=0,n=0,t=0;for(let o of e){if("lookupTableAddress"in o)break;let s=B(o.role);w(o.role)?(t++,s||n++):s||r++;}return {numReadonlyNonSignerAccounts:r,numReadonlySignerAccounts:n,numSignerAccounts:t}}function Oe(e){let r={};for(let[n,t]of e.entries())r[t.address]=n;return r}function ye(e,r){let n=Oe(r);return e.map(({accounts:t,data:o,programAddress:s})=>({programAddressIndex:n[s],...t?{accountIndices:t.map(({address:i})=>n[i])}:null,...o?{data:o}:null}))}function Ae(e){return "nonce"in e?e.nonce:e.blockhash}function he(e){let r=e.findIndex(t=>"lookupTableAddress"in t);return (r===-1?e:e.slice(0,r)).map(({address:t})=>t)}function Y(e){let r=me(e.feePayer,e.instructions),n=fe(r);return {...e.version!=="legacy"?{addressTableLookups:ge(n)}:null,header:Te(n),instructions:ye(e.instructions,n),lifetimeToken:Ae(e.lifetimeConstraint),staticAccounts:he(n),version:e.version}}function be(){return A([["lookupTableAddress",M(void 0)],["writableIndices",y(b(),{size:f()})],["readableIndices",y(b(),{size:f()})]],void 0)}function Ee(){return A([["numSignerAccounts",b(void 0)],["numReadonlySignerAccounts",b(void 0)],["numReadonlyNonSignerAccounts",b(void 0)]],void 0)}function xe(){return R(A([["programAddressIndex",b(void 0)],["addressIndices",y(b({description:""}),{description:"",size:f()})],["data",L({description:"",size:f()})]]),e=>e.addressIndices!==void 0&&e.data!==void 0?e:{...e,addressIndices:e.addressIndices??[],data:e.data??new Uint8Array(0)},e=>{if(e.addressIndices.length&&e.data.byteLength)return e;let{addressIndices:r,data:n,...t}=e;return {...t,...r.length?{addressIndices:r}:null,...n.byteLength?{data:n}:null}})}function We(e,r){let n=r+e[0].toUpperCase()+e.slice(1);return new Error(`No ${e} exists for ${r}. Use \`get${n}()\` if you need a ${e}, and \`get${r}Codec()\` if you need to both encode and decode ${r}`)}function H(e){return ()=>{throw We("decoder",e)}}var Z=128,Pe={description:"",fixedSize:null,maxSize:1};function Ve(e,r=0){let n=e[r];return n&Z?[n^Z,r+1]:["legacy",r]}function Ue(e){if(e==="legacy")return new Uint8Array;if(e<0||e>127)throw new Error(`Transaction version must be in the range [0, 127]. \`${e}\` given.`);return new Uint8Array([e|Z])}function Se(){return {...Pe,deserialize:Ve,serialize:Ue}}var $e={description:"",fixedSize:null,maxSize:null};function Fe(e){return e.version==="legacy"?A(Ie()).serialize(e):R(A([...Ie(),["addressTableLookups",Ke()]]),r=>r.version==="legacy"?r:{...r,addressTableLookups:r.addressTableLookups??[]}).serialize(e)}function Ie(){return [["version",Se()],["header",Ee()],["staticAccounts",y(M(),{description:"",size:f()})],["lifetimeToken",D({description:"",encoding:z,size:32})],["instructions",y(xe(),{description:"",size:f()})]]}function Ke(){return y(be(),{size:f()})}function j(){return {...$e,deserialize:H("CompiledMessage"),serialize:Fe}}async function Ye(e,r){let n=j().serialize(e);return await ue(r,n)}async function Xo(e,r){let n=Y(r),[t,o]=await Promise.all([le(e.publicKey),Ye(n,e.privateKey)]),s={..."signatures"in r?r.signatures:null,[t]:o},i={...r,signatures:s};return Object.freeze(i),i}function ze(e){let r=Y(e),n;if("signatures"in e){n=[];for(let t=0;t<r.header.numSignerAccounts;t++)n[t]=e.signatures[r.staticAccounts[t]]??new Uint8Array(Array(64).fill(0));}else n=Array(r.header.numSignerAccounts).fill(new Uint8Array(Array(64).fill(0)));return {compiledMessage:r,signatures:n}}var He={description:"",fixedSize:null,maxSize:null};function je(e){let r=ze(e);return A([["signatures",y(L({size:64}),{size:f()})],["compiledMessage",j()]]).serialize(r)}function we(){return {...He,deserialize:H("CompiledMessage"),serialize:je}}function us(e){let r=we().serialize(e);return btoa(String.fromCharCode(...r))}
|
|
5
|
+
var Be=Object.defineProperty;var _e=(e,r,t)=>r in e?Be(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t;var T=(e,r,t)=>(_e(e,typeof r!="symbol"?r+"":r,t),t);var E=e=>{let r=e.reduce((o,s)=>o+s.length,0),t=new Uint8Array(r),n=0;return e.forEach(o=>{t.set(o,n),n+=o.length;}),t},Q=(e,r)=>{if(e.length>=r)return e;let t=new Uint8Array(r).fill(0);return t.set(e),t},P=(e,r)=>Q(e.slice(0,r),r);var S=class extends Error{constructor(t){super(`Serializer [${t}] cannot deserialize empty buffers.`);T(this,"name","DeserializingEmptyBufferError");}},A=class extends Error{constructor(t,n,o){super(`Serializer [${t}] expected ${n} bytes, got ${o}.`);T(this,"name","NotEnoughBytesError");}},z=class extends Error{constructor(t){t??(t="Expected a fixed-size serializer, got a variable-size one.");super(t);T(this,"name","ExpectedFixedSizeSerializerError");}};function N(e,r,t){return {description:t??`fixed(${r}, ${e.description})`,fixedSize:r,maxSize:r,serialize:n=>P(e.serialize(n),r),deserialize:(n,o=0)=>{if(n=n.slice(o,o+r),n.length<r)throw new A("fixSerializer",r,n.length);e.fixedSize!==null&&(n=P(n,e.fixedSize));let[s]=e.deserialize(n,0);return [s,o+r]}}}function k(e,r,t){return {description:e.description,fixedSize:e.fixedSize,maxSize:e.maxSize,serialize:n=>e.serialize(r(n)),deserialize:(n,o=0)=>{let[s,i]=e.deserialize(n,o);return t?[t(s,n,o),i]:[s,i]}}}var v=class extends Error{constructor(t,n,o){let s=`Expected a string of base ${n}, got [${t}].`;super(s);T(this,"name","InvalidBaseStringError");this.cause=o;}};var ee=e=>{let r=e.length,t=BigInt(r);return {description:`base${r}`,fixedSize:null,maxSize:null,serialize(n){if(!n.match(new RegExp(`^[${e}]*$`)))throw new v(n,r);if(n==="")return new Uint8Array;let o=[...n],s=o.findIndex(g=>g!==e[0]);s=s===-1?o.length:s;let i=Array(s).fill(0);if(s===o.length)return Uint8Array.from(i);let c=o.slice(s),u=0n,d=1n;for(let g=c.length-1;g>=0;g-=1)u+=d*BigInt(e.indexOf(c[g])),d*=t;let l=[];for(;u>0n;)l.unshift(Number(u%256n)),u/=256n;return Uint8Array.from(i.concat(l))},deserialize(n,o=0){if(n.length===0)return ["",0];let s=n.slice(o),i=s.findIndex(l=>l!==0);i=i===-1?s.length:i;let c=e[0].repeat(i);if(i===s.length)return [c,n.length];let u=s.slice(i).reduce((l,g)=>l*256n+BigInt(g),0n),d=[];for(;u>0n;)d.unshift(e[Number(u%t)]),u/=t;return [c+d.join(""),n.length]}}};var x=ee("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz");var re=e=>e.replace(/\u0000/g,"");var G={description:"utf8",fixedSize:null,maxSize:null,serialize(e){return new TextEncoder().encode(e)},deserialize(e,r=0){let t=new TextDecoder().decode(e.slice(r));return [re(t),e.length]}};var W;(function(e){e.Little="le",e.Big="be";})(W||(W={}));var V=class extends RangeError{constructor(t,n,o,s){super(`Serializer [${t}] expected number to be between ${n} and ${o}, got ${s}.`);T(this,"name","NumberOutOfRangeError");}};function U(e){let r,t=e.name;return e.size>1&&(r=!("endian"in e.options)||e.options.endian===W.Little,t+=r?"(le)":"(be)"),{description:e.options.description??t,fixedSize:e.size,maxSize:e.size,serialize(n){e.range&&q(e.name,e.range[0],e.range[1],n);let o=new ArrayBuffer(e.size);return e.set(new DataView(o),n,r),new Uint8Array(o)},deserialize(n,o=0){let s=n.slice(o,o+e.size);ke("i8",s,e.size);let i=Ne(s);return [e.get(i,r),o+e.size]}}}var Ce=e=>e.buffer.slice(e.byteOffset,e.byteLength+e.byteOffset),Ne=e=>new DataView(Ce(e)),q=(e,r,t,n)=>{if(n<r||n>t)throw new V(e,r,t,n)},ke=(e,r,t)=>{if(r.length===0)throw new S(e);if(r.length<t)throw new A(e,t,r.length)};var b=(e={})=>U({name:"u8",size:1,range:[0,+"0xff"],set:(r,t)=>r.setUint8(0,Number(t)),get:r=>r.getUint8(0),options:e});var R=(e={})=>U({name:"u32",size:4,range:[0,+"0xffffffff"],set:(r,t,n)=>r.setUint32(0,Number(t),n),get:(r,t)=>r.getUint32(0,t),options:e});var f=(e={})=>({description:e.description??"shortU16",fixedSize:null,maxSize:3,serialize:r=>{q("shortU16",0,65535,r);let t=[0];for(let n=0;;n+=1){let o=r>>n*7;if(o===0)break;let s=127&o;t[n]=s,n>0&&(t[n-1]|=128);}return new Uint8Array(t)},deserialize:(r,t=0)=>{let n=0,o=0;for(;++o;){let s=o-1,i=r[t+s],c=127&i;if(n|=c<<s*7,!(i&128))break}return [n,t+o]}});var $=class extends Error{constructor(t,n,o){super(`Expected [${t}] to have ${n} items, got ${o}.`);T(this,"name","InvalidNumberOfItemsError");}},F=class extends Error{constructor(t,n){super(`The remainder of the buffer (${t} bytes) cannot be split into chunks of ${n} bytes. Serializers of "remainder" size must have a remainder that is a multiple of its item size. In other words, ${t} modulo ${n} should be equal to zero.`);T(this,"name","InvalidArrayLikeRemainderSizeError");}},K=class extends Error{constructor(t){super(`Unrecognized array-like serializer size: ${JSON.stringify(t)}`);T(this,"name","UnrecognizedArrayLikeSerializerSizeError");}};function _(e){return e.reduce((r,t)=>r===null||t===null?null:r+t,0)}function te(e,r,t,n){if(typeof e=="number")return [e,n];if(typeof e=="object")return e.deserialize(t,n);if(e==="remainder"){let o=_(r);if(o===null)throw new z('Serializers of "remainder" size must have fixed-size items.');let s=t.slice(n).length;if(s%o!==0)throw new F(s,o);return [s/o,n]}throw new K(e)}function C(e){return typeof e=="object"?e.description:`${e}`}function X(e,r){if(typeof e!="number")return null;if(e===0)return 0;let t=_(r);return t===null?null:t*e}function ne(e,r){return typeof e=="object"?e.serialize(r):new Uint8Array}function y(e,r={}){let t=r.size??R();if(t==="remainder"&&e.fixedSize===null)throw new z('Serializers of "remainder" size must have fixed-size items.');return {description:r.description??`array(${e.description}; ${C(t)})`,fixedSize:X(t,[e.fixedSize]),maxSize:X(t,[e.maxSize]),serialize:n=>{if(typeof t=="number"&&n.length!==t)throw new $("array",t,n.length);return E([ne(t,n.length),...n.map(o=>e.serialize(o))])},deserialize:(n,o=0)=>{if(typeof t=="object"&&n.slice(o).length===0)return [[],o];let[s,i]=te(t,[e.fixedSize],n,o);o=i;let c=[];for(let u=0;u<s;u+=1){let[d,l]=e.deserialize(n,o);c.push(d),o=l;}return [c,o]}}}function L(e={}){let r=e.size??"variable",t=e.description??`bytes(${C(r)})`,n={description:t,fixedSize:null,maxSize:null,serialize:o=>new Uint8Array(o),deserialize:(o,s=0)=>{let i=o.slice(s);return [i,s+i.length]}};return r==="variable"?n:typeof r=="number"?N(n,r,t):{description:t,fixedSize:null,maxSize:null,serialize:o=>{let s=n.serialize(o),i=r.serialize(s.length);return E([i,s])},deserialize:(o,s=0)=>{if(o.slice(s).length===0)throw new S("bytes");let[i,c]=r.deserialize(o,s),u=Number(i);s=c;let d=o.slice(s,s+u);if(d.length<u)throw new A("bytes",u,d.length);let[l,g]=n.deserialize(d);return s+=g,[l,s]}}}function M(e={}){let r=e.size??R(),t=e.encoding??G,n=e.description??`string(${t.description}; ${C(r)})`;return r==="variable"?{...t,description:n}:typeof r=="number"?N(t,r,n):{description:n,fixedSize:null,maxSize:null,serialize:o=>{let s=t.serialize(o),i=r.serialize(s.length);return E([i,s])},deserialize:(o,s=0)=>{if(o.slice(s).length===0)throw new S("string");let[i,c]=r.deserialize(o,s),u=Number(i);s=c;let d=o.slice(s,s+u);if(d.length<u)throw new A("string",u,d.length);let[l,g]=t.deserialize(d);return s+=g,[l,s]}}}function h(e,r={}){let t=e.map(([n,o])=>`${String(n)}: ${o.description}`).join(", ");return {description:r.description??`struct(${t})`,fixedSize:_(e.map(([,n])=>n.fixedSize)),maxSize:_(e.map(([,n])=>n.maxSize)),serialize:n=>{let o=e.map(([s,i])=>i.serialize(n[s]));return E(o)},deserialize:(n,o=0)=>{let s={};return e.forEach(([i,c])=>{let[u,d]=c.deserialize(n,o);o=d,s[i]=u;}),[s,o]}}}function I(e){if("signatures"in e){let{signatures:r,...t}=e;return t}else return e}function Yt(e){try{if(e.length<32||e.length>44)throw new Error("Expected input string to decode to a byte array of length 32.");let t=x.serialize(e).byteLength;if(t!==32)throw new Error(`Expected input string to decode to a byte array of length 32. Actual length: ${t}`)}catch(r){throw new Error(`\`${e}\` is not a blockhash`,{cause:r})}}function Ht(e,r){if("lifetimeConstraint"in r&&r.lifetimeConstraint.blockhash===e.blockhash&&r.lifetimeConstraint.lastValidBlockHeight===e.lastValidBlockHeight)return r;let t={...I(r),lifetimeConstraint:e};return Object.freeze(t),t}function qt({version:e}){let r={instructions:[],version:e};return Object.freeze(r),r}var m=(e=>(e[e.WRITABLE_SIGNER=3]="WRITABLE_SIGNER",e[e.READONLY_SIGNER=2]="READONLY_SIGNER",e[e.WRITABLE=1]="WRITABLE",e[e.READONLY=0]="READONLY",e))(m||{});var Re=1;function w(e){return e>=2}function B(e){return (e&Re)!==0}function J(e,r){return e|r}var oe="SysvarRecentB1ockHashes11111111111111111111",se="11111111111111111111111111111111";function sn(e){if(!ie(e))throw new Error("Transaction is not a durable nonce transaction")}function Le(e,r){return {accounts:[{address:e,role:m.WRITABLE},{address:oe,role:m.READONLY},{address:r,role:m.READONLY_SIGNER}],data:new Uint8Array([4,0,0,0]),programAddress:se}}function Me(e){return e.programAddress===se&&e.data!=null&&De(e.data)&&e.accounts?.length===3&&e.accounts[0].address!=null&&e.accounts[0].role===m.WRITABLE&&e.accounts[1].address===oe&&e.accounts[1].role===m.READONLY&&e.accounts[2].address!=null&&e.accounts[2].role===m.READONLY_SIGNER}function De(e){return e.byteLength===4&&e[0]===4&&e[1]===0&&e[2]===0&&e[3]===0}function ie(e){return "lifetimeConstraint"in e&&typeof e.lifetimeConstraint.nonce=="string"&&e.instructions[0]!=null&&Me(e.instructions[0])}function an({nonce:e,nonceAccountAddress:r,nonceAuthorityAddress:t},n){let o=ie(n);if(o&&n.lifetimeConstraint.nonce===e&&n.instructions[0].accounts[0].address===r&&n.instructions[0].accounts[2].address===t)return n;let s={...I(n),instructions:[Le(r,t),...o?n.instructions.slice(1):n.instructions],lifetimeConstraint:{nonce:e}};return Object.freeze(s),s}function ln(e,r){if("feePayer"in r&&e===r.feePayer)return r;let t={...I(r),feePayer:e};return Object.freeze(t),t}function gn(e,r){let t={...I(r),instructions:[...r.instructions,e]};return Object.freeze(t),t}function Tn(e,r){let t={...I(r),instructions:[e,...r.instructions]};return Object.freeze(t),t}function ae(){if(!globalThis.isSecureContext)throw new Error("Cryptographic operations are only allowed in secure browser contexts. Read more here: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts")}async function ce(){if(ae(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.exportKey!="function")throw new Error("No key export implementation could be found")}async function de(){if(ae(),typeof globalThis.crypto>"u"||typeof globalThis.crypto.subtle?.sign!="function")throw new Error("No signing implementation could be found")}function D(e){return M({description:e?.description??(""),encoding:x,size:32})}function O(){return new Intl.Collator("en",{caseFirst:"lower",ignorePunctuation:!1,localeMatcher:"best fit",numeric:!1,sensitivity:"variant",usage:"sort"}).compare}async function ue(e){if(await ce(),e.type!=="public"||e.algorithm.name!=="Ed25519")throw new Error("The `CryptoKey` must be an `Ed25519` public key");let r=await crypto.subtle.exportKey("raw",e),[t]=D().deserialize(new Uint8Array(r));return t}function le(e,r,t){e[r]=t(e[r]??{role:m.READONLY});}var p=Symbol("AddressMapTypeProperty");function pe(e,r){let t={[e]:{[p]:0,role:m.WRITABLE_SIGNER}},n=new Set;for(let o of r){le(t,o.programAddress,i=>{if(n.add(o.programAddress),p in i){if(B(i.role))switch(i[p]){case 0:throw new Error(`This transaction includes an address (\`${o.programAddress}\`) which is both invoked and set as the fee payer. Program addresses may not pay fees.`);default:throw new Error(`This transaction includes an address (\`${o.programAddress}\`) which is both invoked and marked writable. Program addresses may not be writable.`)}if(i[p]===2)return i}return {[p]:2,role:m.READONLY}});let s;if(o.accounts)for(let i of o.accounts)le(t,i.address,c=>{let{address:u,...d}=i;if(p in c)switch(c[p]){case 0:return c;case 1:{let l=J(c.role,d.role);if("lookupTableAddress"in d){if(c.lookupTableAddress!==d.lookupTableAddress&&(s||(s=O()))(d.lookupTableAddress,c.lookupTableAddress)<0)return {[p]:1,...d,role:l}}else if(w(d.role))return {[p]:2,role:l};return c.role!==l?{...c,role:l}:c}case 2:{let l=J(c.role,d.role);if(n.has(i.address)){if(B(d.role))throw new Error(`This transaction includes an address (\`${i.address}\`) which is both invoked and marked writable. Program addresses may not be writable.`);return c.role!==l?{...c,role:l}:c}else return "lookupTableAddress"in d&&!w(c.role)?{...d,[p]:1,role:l}:c.role!==l?{...c,role:l}:c}}return "lookupTableAddress"in d?{...d,[p]:1}:{...d,[p]:2}});}return t}function me(e){let r;return Object.entries(e).sort(([n,o],[s,i])=>{if(o[p]!==i[p]){if(o[p]===0)return -1;if(i[p]===0)return 1;if(o[p]===2)return -1;if(i[p]===2)return 1}let c=w(o.role);if(c!==w(i.role))return c?-1:1;let u=B(o.role);return u!==B(i.role)?u?-1:1:(r||(r=O()),o[p]===1&&i[p]===1&&o.lookupTableAddress!==i.lookupTableAddress?r(o.lookupTableAddress,i.lookupTableAddress):r(n,s))}).map(([n,o])=>({address:n,...o}))}function fe(e){var t;let r={};for(let n of e){if(!("lookupTableAddress"in n))continue;let o=r[t=n.lookupTableAddress]||(r[t]={readableIndices:[],writableIndices:[]});n.role===m.WRITABLE?o.writableIndices.push(n.addressIndex):o.readableIndices.push(n.addressIndex);}return Object.keys(r).sort(O()).map(n=>({lookupTableAddress:n,...r[n]}))}function ge(e){let r=0,t=0,n=0;for(let o of e){if("lookupTableAddress"in o)break;let s=B(o.role);w(o.role)?(n++,s||t++):s||r++;}return {numReadonlyNonSignerAccounts:r,numReadonlySignerAccounts:t,numSignerAccounts:n}}function Pe(e){let r={};for(let[t,n]of e.entries())r[n.address]=t;return r}function Te(e,r){let t=Pe(r);return e.map(({accounts:n,data:o,programAddress:s})=>({programAddressIndex:t[s],...n?{accountIndices:n.map(({address:i})=>t[i])}:null,...o?{data:o}:null}))}function ye(e){return "nonce"in e?e.nonce:e.blockhash}function he(e){let r=e.findIndex(n=>"lookupTableAddress"in n);return (r===-1?e:e.slice(0,r)).map(({address:n})=>n)}function Y(e){let r=pe(e.feePayer,e.instructions),t=me(r);return {...e.version!=="legacy"?{addressTableLookups:fe(t)}:null,header:ge(t),instructions:Te(e.instructions,t),lifetimeToken:ye(e.lifetimeConstraint),staticAccounts:he(t),version:e.version}}function Ae(e){let r=Y(e),t;if("signatures"in e){t=[];for(let n=0;n<r.header.numSignerAccounts;n++)t[n]=e.signatures[r.staticAccounts[n]]??new Uint8Array(Array(64).fill(0));}else t=Array(r.header.numSignerAccounts).fill(new Uint8Array(Array(64).fill(0)));return {compiledMessage:r,signatures:t}}function be(){return h([["lookupTableAddress",D(void 0)],["writableIndices",y(b(),{size:f()})],["readableIndices",y(b(),{size:f()})]],void 0)}function xe(){return h([["numSignerAccounts",b(void 0)],["numReadonlySignerAccounts",b(void 0)],["numReadonlyNonSignerAccounts",b(void 0)]],void 0)}function Ee(){return k(h([["programAddressIndex",b(void 0)],["accountIndices",y(b({description:""}),{description:"",size:f()})],["data",L({description:"",size:f()})]]),e=>e.accountIndices!==void 0&&e.data!==void 0?e:{...e,accountIndices:e.accountIndices??[],data:e.data??new Uint8Array(0)},e=>{if(e.accountIndices.length&&e.data.byteLength)return e;let{accountIndices:r,data:t,...n}=e;return {...n,...r.length?{accountIndices:r}:null,...t.byteLength?{data:t}:null}})}function ve(e,r){let t=r+e[0].toUpperCase()+e.slice(1);return new Error(`No ${e} exists for ${r}. Use \`get${t}()\` if you need a ${e}, and \`get${r}Codec()\` if you need to both encode and decode ${r}`)}function H(e){return ()=>{throw ve("decoder",e)}}var Z=128,We={description:"",fixedSize:null,maxSize:1};function Ve(e,r=0){let t=e[r];return t&Z?[t^Z,r+1]:["legacy",r]}function Ue(e){if(e==="legacy")return new Uint8Array;if(e<0||e>127)throw new Error(`Transaction version must be in the range [0, 127]. \`${e}\` given.`);return new Uint8Array([e|Z])}function Se(){return {...We,deserialize:Ve,serialize:Ue}}var $e={description:"",fixedSize:null,maxSize:null};function Fe(e){return e.version==="legacy"?h(Ie()).serialize(e):k(h([...Ie(),["addressTableLookups",Ke()]]),r=>r.version==="legacy"?r:{...r,addressTableLookups:r.addressTableLookups??[]}).serialize(e)}function Ie(){return [["version",Se()],["header",xe()],["staticAccounts",y(D(),{description:"",size:f()})],["lifetimeToken",M({description:"",encoding:x,size:32})],["instructions",y(Ee(),{description:"",size:f()})]]}function Ke(){return y(be(),{size:f()})}function j(){return {...$e,deserialize:H("CompiledMessage"),serialize:Fe}}var Ye={description:"",fixedSize:null,maxSize:null};function He(e){let r=Ae(e);return h([["signatures",y(L({size:64}),{size:f()})],["compiledMessage",j()]]).serialize(r)}function ze(){return {...Ye,deserialize:H("CompiledMessage"),serialize:He}}async function we(e,r){await de();let t=await crypto.subtle.sign("Ed25519",e,r);return new Uint8Array(t)}function je(e){try{if(e.length<64||e.length>88)throw new Error("Expected input string to decode to a byte array of length 64.");let t=x.serialize(e).byteLength;if(t!==64)throw new Error(`Expected input string to decode to a byte array of length 64. Actual length: ${t}`)}catch(r){throw new Error(`\`${e}\` is not a transaction signature`,{cause:r})}}function ds(e){return !(e.length<64||e.length>88||x.serialize(e).byteLength!==64)}async function Ge(e,r){let t=j().serialize(e);return await we(r,t)}function us(e){let r=e.signatures[e.feePayer];if(!r)throw new Error("Could not determine this transaction's signature. Make sure that the transaction has been signed by its fee payer.");return r}async function ls(e,r){let t=Y(r),n="signatures"in r?{...r.signatures}:{},o=await Promise.all(e.map(i=>Promise.all([ue(i.publicKey),Ge(t,i.privateKey)])));for(let[i,c]of o)n[i]=c;let s={...r,signatures:n};return Object.freeze(s),s}function ps(e){return je(e),e}function Ts(e){let r=ze().serialize(e);return btoa(String.fromCharCode(...r))}
|
|
6
6
|
|
|
7
|
-
exports.appendTransactionInstruction =
|
|
8
|
-
exports.assertIsBlockhash =
|
|
9
|
-
exports.assertIsDurableNonceTransaction =
|
|
10
|
-
exports.
|
|
11
|
-
exports.
|
|
12
|
-
exports.
|
|
13
|
-
exports.
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
-
exports.
|
|
7
|
+
exports.appendTransactionInstruction = gn;
|
|
8
|
+
exports.assertIsBlockhash = Yt;
|
|
9
|
+
exports.assertIsDurableNonceTransaction = sn;
|
|
10
|
+
exports.assertIsTransactionSignature = je;
|
|
11
|
+
exports.createTransaction = qt;
|
|
12
|
+
exports.getBase64EncodedWireTransaction = Ts;
|
|
13
|
+
exports.getSignatureFromTransaction = us;
|
|
14
|
+
exports.getTransactionEncoder = ze;
|
|
15
|
+
exports.isTransactionSignature = ds;
|
|
16
|
+
exports.prependTransactionInstruction = Tn;
|
|
17
|
+
exports.setTransactionFeePayer = ln;
|
|
18
|
+
exports.setTransactionLifetimeUsingBlockhash = Ht;
|
|
19
|
+
exports.setTransactionLifetimeUsingDurableNonce = an;
|
|
20
|
+
exports.signTransaction = ls;
|
|
21
|
+
exports.transactionSignature = ps;
|
|
17
22
|
|
|
18
23
|
return exports;
|
|
19
24
|
|
package/dist/types/accounts.d.ts
CHANGED
|
@@ -15,7 +15,7 @@ type LookupTableAccountEntry = Omit<ReadonlyAccountLookup | WritableAccountLooku
|
|
|
15
15
|
[TYPE]: AddressMapEntryType.LOOKUP_TABLE;
|
|
16
16
|
};
|
|
17
17
|
export type OrderedAccounts = (IAccountMeta | IAccountLookupMeta)[] & {
|
|
18
|
-
readonly
|
|
18
|
+
readonly __brand: unique symbol;
|
|
19
19
|
};
|
|
20
20
|
type StaticAccountEntry = Omit<ReadonlyAccount | ReadonlySignerAccount | WritableAccount | WritableSignerAccount, 'address'> & {
|
|
21
21
|
[TYPE]: AddressMapEntryType.STATIC;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAEH,kBAAkB,EAClB,YAAY,EACZ,YAAY,EAIZ,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACxB,MAAM,sBAAsB,CAAC;AAE9B,0BAAkB,mBAAmB;IACjC,SAAS,IAAA;IACT,YAAY,IAAA;IACZ,MAAM,IAAA;CACT;AAED,KAAK,UAAU,GAAG;IACd,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,uBAAuB,GAAG,kBAAkB,CAAC;CAC1F,CAAC;AACF,KAAK,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,GAAG;IACjE,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC;CACzC,CAAC;AACF,KAAK,uBAAuB,GAAG,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,EAAE,SAAS,CAAC,GAAG;IAC5F,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,YAAY,CAAC;CAC5C,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,YAAY,GAAG,kBAAkB,CAAC,EAAE,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAC1G,KAAK,kBAAkB,GAAG,IAAI,CAC1B,eAAe,GAAG,qBAAqB,GAAG,eAAe,GAAG,qBAAqB,EACjF,SAAS,CACZ,GAAG;IAAE,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAA;CAAE,CAAC;AAY3C,QAAA,MAAM,IAAI,eAAmC,CAAC;AAC9C,eAAO,MAAM,yBAAyB,EAAE,OAAO,IAAW,CAAC;AAE3D,wBAAgB,6BAA6B,CACzC,QAAQ,EAAE,oBAAoB,EAC9B,YAAY,EAAE,SAAS,YAAY,EAAE,GACtC,UAAU,CAoJZ;AAED,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,UAAU,GAAG,eAAe,CA0CxF"}
|
|
@@ -2,7 +2,7 @@ import { IDurableNonceTransaction } from './durable-nonce';
|
|
|
2
2
|
import { ITransactionWithSignatures } from './signatures';
|
|
3
3
|
import { BaseTransaction } from './types';
|
|
4
4
|
export type Blockhash = string & {
|
|
5
|
-
readonly
|
|
5
|
+
readonly __brand: unique symbol;
|
|
6
6
|
};
|
|
7
7
|
type BlockhashLifetimeConstraint = Readonly<{
|
|
8
8
|
blockhash: Blockhash;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blockhash.d.ts","sourceRoot":"","sources":["../../src/blockhash.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAErE,KAAK,2BAA2B,GAAG,QAAQ,CAAC;IACxC,SAAS,EAAE,SAAS,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;CAChC,CAAC,CAAC;AAEH,MAAM,WAAW,iCAAiC;IAC9C,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B,CAAC;CAC5D;AAED,wBAAgB,iBAAiB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,IAAI,SAAS,CAsBnG;AAED,wBAAgB,oCAAoC,CAAC,YAAY,SAAS,eAAe,GAAG,wBAAwB,EAChH,2BAA2B,EAAE,2BAA2B,EACxD,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,GAAG,oBAAoB,CAAC,GAAG,iCAAiC,CAAC;AAEnH,wBAAgB,oCAAoC,CAChD,YAAY,SAAS,eAAe,GAAG,CAAC,eAAe,GAAG,iCAAiC,CAAC,EAE5F,2BAA2B,EAAE,2BAA2B,EACxD,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,GAAG,iCAAiC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-address-table-lookups.d.ts","sourceRoot":"","sources":["../../src/compile-address-table-lookups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAwB,MAAM,mBAAmB,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,KAAK,kBAAkB,GAAG,QAAQ,CAAC;IAC/B,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC,CAAC,CAAC;AAEH,wBAAgB,8BAA8B,CAAC,eAAe,EAAE,eAAe,GAAG,kBAAkB,EAAE,CAyBrG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-header.d.ts","sourceRoot":"","sources":["../../src/compile-header.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,KAAK,aAAa,GAAG,QAAQ,CAAC;IAC1B,4BAA4B,EAAE,MAAM,CAAC;IACrC,yBAAyB,EAAE,MAAM,CAAC;IAClC,iBAAiB,EAAE,MAAM,CAAC;CAC7B,CAAC,CAAC;AAEH,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,eAAe,GAAG,aAAa,CAuBxF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-instructions.d.ts","sourceRoot":"","sources":["../../src/compile-instructions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,KAAK,mBAAmB,GAAG,QAAQ,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,mBAAmB,EAAE,MAAM,CAAC;CAC/B,CAAC,CAAC;AAUH,wBAAgB,uBAAuB,CACnC,YAAY,EAAE,SAAS,YAAY,EAAE,EACrC,eAAe,EAAE,eAAe,GACjC,mBAAmB,EAAE,CASvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-lifetime-token.d.ts","sourceRoot":"","sources":["../../src/compile-lifetime-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAEtF,wBAAgB,wBAAwB,CACpC,kBAAkB,EAAE,CAAC,iCAAiC,GAAG,wBAAwB,CAAC,CAAC,oBAAoB,CAAC,GACzG,MAAM,CAKR"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-static-accounts.d.ts","sourceRoot":"","sources":["../../src/compile-static-accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,wBAAgB,yBAAyB,CAAC,eAAe,EAAE,eAAe,GAAG,oBAAoB,EAAE,CAKlG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-transaction.d.ts","sourceRoot":"","sources":["../../src/compile-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,KAAK,mBAAmB,GAAG,QAAQ,CAAC;IAChC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAClC,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAElE,wBAAgB,sBAAsB,CAClC,WAAW,EAAE,qBAAqB,GAAG,CAAC,qBAAqB,GAAG,0BAA0B,CAAC,GAC1F,mBAAmB,CAgBrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-transaction.d.ts","sourceRoot":"","sources":["../../src/create-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE1D,KAAK,iBAAiB,CAAC,QAAQ,SAAS,kBAAkB,IAAI,QAAQ,CAAC;IACnE,OAAO,EAAE,QAAQ,CAAC;CACrB,CAAC,CAAC;AAEH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,kBAAkB,EACjE,MAAM,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GACpC,OAAO,CAAC,WAAW,EAAE;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Base58EncodedAddress } from '@solana/addresses';
|
|
2
2
|
import { IInstruction, IInstructionWithAccounts, IInstructionWithData } from '@solana/instructions';
|
|
3
3
|
import { ReadonlyAccount, ReadonlySignerAccount, WritableAccount } from '@solana/instructions/dist/types/accounts';
|
|
4
|
+
import { ITransactionWithSignatures } from './signatures';
|
|
4
5
|
import { BaseTransaction } from './types';
|
|
5
6
|
type AdvanceNonceAccountInstruction<TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string> = IInstruction<'11111111111111111111111111111111'> & IInstructionWithAccounts<readonly [
|
|
6
7
|
WritableAccount<TNonceAccountAddress>,
|
|
@@ -8,7 +9,7 @@ type AdvanceNonceAccountInstruction<TNonceAccountAddress extends string = string
|
|
|
8
9
|
ReadonlySignerAccount<TNonceAuthorityAddress>
|
|
9
10
|
]> & IInstructionWithData<AdvanceNonceAccountInstructionData>;
|
|
10
11
|
type AdvanceNonceAccountInstructionData = Uint8Array & {
|
|
11
|
-
readonly
|
|
12
|
+
readonly __brand: unique symbol;
|
|
12
13
|
};
|
|
13
14
|
type DurableNonceConfig<TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string, TNonceValue extends string = string> = Readonly<{
|
|
14
15
|
readonly nonce: Nonce<TNonceValue>;
|
|
@@ -16,7 +17,7 @@ type DurableNonceConfig<TNonceAccountAddress extends string = string, TNonceAuth
|
|
|
16
17
|
readonly nonceAuthorityAddress: Base58EncodedAddress<TNonceAuthorityAddress>;
|
|
17
18
|
}>;
|
|
18
19
|
export type Nonce<TNonceValue extends string = string> = TNonceValue & {
|
|
19
|
-
readonly
|
|
20
|
+
readonly __brand: unique symbol;
|
|
20
21
|
};
|
|
21
22
|
type NonceLifetimeConstraint<TNonceValue extends string = string> = Readonly<{
|
|
22
23
|
nonce: Nonce<TNonceValue>;
|
|
@@ -29,6 +30,6 @@ export interface IDurableNonceTransaction<TNonceAccountAddress extends string =
|
|
|
29
30
|
readonly lifetimeConstraint: NonceLifetimeConstraint<TNonceValue>;
|
|
30
31
|
}
|
|
31
32
|
export declare function assertIsDurableNonceTransaction(transaction: BaseTransaction | (BaseTransaction & IDurableNonceTransaction)): asserts transaction is BaseTransaction & IDurableNonceTransaction;
|
|
32
|
-
export declare function setTransactionLifetimeUsingDurableNonce<TTransaction extends BaseTransaction, TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string, TNonceValue extends string = string>({ nonce, nonceAccountAddress, nonceAuthorityAddress, }: DurableNonceConfig<TNonceAccountAddress, TNonceAuthorityAddress, TNonceValue>, transaction: TTransaction | (TTransaction & IDurableNonceTransaction)): TTransaction & IDurableNonceTransaction<TNonceAccountAddress, TNonceAuthorityAddress, TNonceValue>;
|
|
33
|
+
export declare function setTransactionLifetimeUsingDurableNonce<TTransaction extends BaseTransaction, TNonceAccountAddress extends string = string, TNonceAuthorityAddress extends string = string, TNonceValue extends string = string>({ nonce, nonceAccountAddress, nonceAuthorityAddress, }: DurableNonceConfig<TNonceAccountAddress, TNonceAuthorityAddress, TNonceValue>, transaction: TTransaction | (TTransaction & IDurableNonceTransaction)): Omit<TTransaction, keyof ITransactionWithSignatures> & IDurableNonceTransaction<TNonceAccountAddress, TNonceAuthorityAddress, TNonceValue>;
|
|
33
34
|
export {};
|
|
34
35
|
//# sourceMappingURL=durable-nonce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"durable-nonce.d.ts","sourceRoot":"","sources":["../../src/durable-nonce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAe,YAAY,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjH,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAEnH,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,KAAK,8BAA8B,CAC/B,oBAAoB,SAAS,MAAM,GAAG,MAAM,EAC5C,sBAAsB,SAAS,MAAM,GAAG,MAAM,IAC9C,YAAY,CAAC,kCAAkC,CAAC,GAChD,wBAAwB,CACpB,SAAS;IACL,eAAe,CAAC,oBAAoB,CAAC;IACrC,eAAe,CAAC,6CAA6C,CAAC;IAC9D,qBAAqB,CAAC,sBAAsB,CAAC;CAChD,CACJ,GACD,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;AAC7D,KAAK,kCAAkC,GAAG,UAAU,GAAG;IACnD,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC;CACnC,CAAC;AACF,KAAK,kBAAkB,CACnB,oBAAoB,SAAS,MAAM,GAAG,MAAM,EAC5C,sBAAsB,SAAS,MAAM,GAAG,MAAM,EAC9C,WAAW,SAAS,MAAM,GAAG,MAAM,IACnC,QAAQ,CAAC;IACT,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IACzE,QAAQ,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,sBAAsB,CAAC,CAAC;CAChF,CAAC,CAAC;AACH,MAAM,MAAM,KAAK,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,IAAI,WAAW,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAC3G,KAAK,uBAAuB,CAAC,WAAW,SAAS,MAAM,GAAG,MAAM,IAAI,QAAQ,CAAC;IACzE,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC7B,CAAC,CAAC;AAOH,MAAM,WAAW,wBAAwB,CACrC,oBAAoB,SAAS,MAAM,GAAG,MAAM,EAC5C,sBAAsB,SAAS,MAAM,GAAG,MAAM,EAC9C,WAAW,SAAS,MAAM,GAAG,MAAM;IAEnC,QAAQ,CAAC,YAAY,EAAE,SAAS;QAE5B,8BAA8B,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;QAC5E,GAAG,YAAY,EAAE;KACpB,CAAC;IACF,QAAQ,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAC;CACrE;AAED,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,eAAe,GAAG,CAAC,eAAe,GAAG,wBAAwB,CAAC,GAC5E,OAAO,CAAC,WAAW,IAAI,eAAe,GAAG,wBAAwB,CAKnE;AA2DD,wBAAgB,uCAAuC,CACnD,YAAY,SAAS,eAAe,EACpC,oBAAoB,SAAS,MAAM,GAAG,MAAM,EAC5C,sBAAsB,SAAS,MAAM,GAAG,MAAM,EAC9C,WAAW,SAAS,MAAM,GAAG,MAAM,EAEnC,EACI,KAAK,EACL,mBAAmB,EACnB,qBAAqB,GACxB,EAAE,kBAAkB,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,CAAC,EAChF,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,wBAAwB,CAAC,GACtE,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,GACnD,wBAAwB,CAAC,oBAAoB,EAAE,sBAAsB,EAAE,WAAW,CAAC,CAuBtF"}
|
|
@@ -4,5 +4,6 @@ import { BaseTransaction } from './types';
|
|
|
4
4
|
export interface ITransactionWithFeePayer<TAddress extends string = string> {
|
|
5
5
|
readonly feePayer: Base58EncodedAddress<TAddress>;
|
|
6
6
|
}
|
|
7
|
-
export declare function setTransactionFeePayer<TFeePayerAddress extends string, TTransaction extends BaseTransaction>(feePayer: Base58EncodedAddress<TFeePayerAddress>, transaction:
|
|
7
|
+
export declare function setTransactionFeePayer<TFeePayerAddress extends string, TTransaction extends BaseTransaction>(feePayer: Base58EncodedAddress<TFeePayerAddress>, transaction: (TTransaction & ITransactionWithSignatures) | (TTransaction & ITransactionWithFeePayer<string> & ITransactionWithSignatures)): Omit<TTransaction, keyof ITransactionWithSignatures> & ITransactionWithFeePayer<TFeePayerAddress>;
|
|
8
|
+
export declare function setTransactionFeePayer<TFeePayerAddress extends string, TTransaction extends BaseTransaction>(feePayer: Base58EncodedAddress<TFeePayerAddress>, transaction: TTransaction | (TTransaction & ITransactionWithFeePayer<string>)): TTransaction & ITransactionWithFeePayer<TFeePayerAddress>;
|
|
8
9
|
//# sourceMappingURL=fee-payer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fee-payer.d.ts","sourceRoot":"","sources":["../../src/fee-payer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,MAAM,WAAW,wBAAwB,CAAC,QAAQ,SAAS,MAAM,GAAG,MAAM;IACtE,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,CAAC,CAAC;CACrD;AAED,wBAAgB,sBAAsB,CAAC,gBAAgB,SAAS,MAAM,EAAE,YAAY,SAAS,eAAe,EACxG,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAChD,WAAW,EACL,CAAC,YAAY,GAAG,0BAA0B,CAAC,GAC3C,CAAC,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,GAAG,0BAA0B,CAAC,GACrF,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC;AAErG,wBAAgB,sBAAsB,CAAC,gBAAgB,SAAS,MAAM,EAAE,YAAY,SAAS,eAAe,EACxG,QAAQ,EAAE,oBAAoB,CAAC,gBAAgB,CAAC,EAChD,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,GAC9E,YAAY,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instructions.d.ts","sourceRoot":"","sources":["../../src/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,wBAAgB,4BAA4B,CAAC,YAAY,SAAS,eAAe,EAC7E,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EACjD,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,CAOrE;AAED,wBAAgB,6BAA6B,CAAC,YAAY,SAAS,eAAe,EAC9E,WAAW,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,EACjD,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,0BAA0B,CAAC,CAOrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../src/message.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iCAAiC,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,8BAA8B,EAAE,MAAM,iCAAiC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,KAAK,mBAAmB,GAAG,QAAQ,CAAC;IAChC,MAAM,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACpD,YAAY,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACzD,aAAa,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;IAC3D,cAAc,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;CAChE,CAAC,CAAC;AAEH,KAAK,qBAAqB,GAAG,eAAe,GACxC,wBAAwB,GACxB,CAAC,iCAAiC,GAAG,wBAAwB,CAAC,CAAC;AAEnE,MAAM,MAAM,eAAe,GAAG,qBAAqB,GAAG,wBAAwB,CAAC;AAE/E,KAAK,qBAAqB,GAAG,mBAAmB,GAC5C,QAAQ,CAAC;IACL,OAAO,EAAE,QAAQ,CAAC;CACrB,CAAC,CAAC;AAEP,KAAK,wBAAwB,GAAG,mBAAmB,GAC/C,QAAQ,CAAC;IACL,mBAAmB,CAAC,EAAE,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEP,wBAAgB,cAAc,CAC1B,WAAW,EAAE,qBAAqB,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC,GACrE,qBAAqB,CAAC;AACzB,wBAAgB,cAAc,CAAC,WAAW,EAAE,qBAAqB,GAAG,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"address-table-lookup.d.ts","sourceRoot":"","sources":["../../../src/serializers/address-table-lookup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,UAAU,EAAiD,MAAM,sCAAsC,CAAC;AAGxH,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAElF,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpF,wBAAgB,0BAA0B,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAkD3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.d.ts","sourceRoot":"","sources":["../../../src/serializers/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAEjE,wBAAgB,qBAAqB,IAAI,UAAU,CAAC,aAAa,CAAC,CA4CjE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/serializers/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instruction.d.ts","sourceRoot":"","sources":["../../../src/serializers/instruction.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,UAAU,EAAwB,MAAM,sCAAsC,CAAC;AAErH,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,wBAAgB,mBAAmB,IAAI,UAAU,CAAC,WAAW,CAAC,CAgE7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../../../src/serializers/message.ts"],"names":[],"mappings":"AAAA,OAAO,EAIH,UAAU,EAKb,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AA8F7C,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,eAAe,CAAC,CAMvE;AAED,wBAAgB,yBAAyB,IAAI,UAAU,CAAC,eAAe,CAAC,CAMvE;AAED,wBAAgB,uBAAuB,IAAI,UAAU,CAAC,eAAe,CAAC,CAMrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction-version.d.ts","sourceRoot":"","sources":["../../../src/serializers/transaction-version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAElE,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAiC9C,wBAAgB,4BAA4B,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAM7E;AAED,wBAAgB,4BAA4B,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAM7E;AAED,wBAAgB,0BAA0B,IAAI,UAAU,CAAC,kBAAkB,CAAC,CAM3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/serializers/transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,UAAU,EAAoB,MAAM,sCAAsC,CAAC;AAElG,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAUhE,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC;AAgB5E,wBAAgB,qBAAqB,IAAI,UAAU,CAAC,uBAAuB,CAAC,CAM3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unimplemented.d.ts","sourceRoot":"","sources":["../../../src/serializers/unimplemented.ts"],"names":[],"mappings":"AAOA,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,CAIjE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,KAAK,CAIjE"}
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
import { Base58EncodedAddress } from '@solana/addresses';
|
|
2
2
|
import { Ed25519Signature } from '@solana/keys';
|
|
3
|
+
import { ITransactionWithFeePayer } from './fee-payer';
|
|
3
4
|
import { compileMessage } from './message';
|
|
4
5
|
export interface IFullySignedTransaction extends ITransactionWithSignatures {
|
|
5
|
-
readonly
|
|
6
|
+
readonly __brand: unique symbol;
|
|
6
7
|
}
|
|
7
8
|
export interface ITransactionWithSignatures {
|
|
8
9
|
readonly signatures: Readonly<Record<Base58EncodedAddress, Ed25519Signature>>;
|
|
9
10
|
}
|
|
10
|
-
export
|
|
11
|
+
export type TransactionSignature = string & {
|
|
12
|
+
readonly __brand: unique symbol;
|
|
13
|
+
};
|
|
14
|
+
export declare function assertIsTransactionSignature(putativeTransactionSignature: string): asserts putativeTransactionSignature is TransactionSignature;
|
|
15
|
+
export declare function isTransactionSignature(putativeTransactionSignature: string): putativeTransactionSignature is TransactionSignature;
|
|
16
|
+
export declare function getSignatureFromTransaction(transaction: ITransactionWithFeePayer & ITransactionWithSignatures): TransactionSignature;
|
|
17
|
+
export declare function signTransaction<TTransaction extends Parameters<typeof compileMessage>[0]>(keyPairs: CryptoKeyPair[], transaction: TTransaction | (TTransaction & ITransactionWithSignatures)): Promise<TTransaction & ITransactionWithSignatures>;
|
|
18
|
+
export declare function transactionSignature(putativeTransactionSignature: string): TransactionSignature;
|
|
11
19
|
//# sourceMappingURL=signatures.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../../src/signatures.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAA2B,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAAE,gBAAgB,EAAa,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAmB,cAAc,EAAE,MAAM,WAAW,CAAC;AAG5D,MAAM,WAAW,uBAAwB,SAAQ,0BAA0B;IACvE,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC;CACnC;AACD,MAAM,WAAW,0BAA0B;IACvC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC,CAAC;CACjF;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAEhF,wBAAgB,4BAA4B,CACxC,4BAA4B,EAAE,MAAM,GACrC,OAAO,CAAC,4BAA4B,IAAI,oBAAoB,CAsB9D;AAED,wBAAgB,sBAAsB,CAClC,4BAA4B,EAAE,MAAM,GACrC,4BAA4B,IAAI,oBAAoB,CAiBtD;AAQD,wBAAgB,2BAA2B,CACvC,WAAW,EAAE,wBAAwB,GAAG,0BAA0B,GACnE,oBAAoB,CAUtB;AAED,wBAAsB,eAAe,CAAC,YAAY,SAAS,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,EAC3F,QAAQ,EAAE,aAAa,EAAE,EACzB,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,OAAO,CAAC,YAAY,GAAG,0BAA0B,CAAC,CAqBpD;AAED,wBAAgB,oBAAoB,CAAC,4BAA4B,EAAE,MAAM,GAAG,oBAAoB,CAG/F"}
|
package/dist/types/types.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { IAccountMeta, IInstruction } from '@solana/instructions';
|
|
2
|
+
/** A string of bytes that are definitely a serialized message */
|
|
3
|
+
export type SerializedMessageBytes = Uint8Array & {
|
|
4
|
+
readonly __serializedMessageBytes: unique symbol;
|
|
5
|
+
};
|
|
6
|
+
export type SerializedMessageBytesBase64 = string & {
|
|
7
|
+
readonly __serializedMessageBytesBase64: unique symbol;
|
|
8
|
+
};
|
|
2
9
|
export type BaseTransaction = Readonly<{
|
|
3
10
|
instructions: readonly IInstruction[];
|
|
4
11
|
version: TransactionVersion;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAElE,iEAAiE;AACjE,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG;IAAE,QAAQ,CAAC,wBAAwB,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AACvG,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,8BAA8B,EAAE,OAAO,MAAM,CAAA;CAAE,CAAC;AAE/G,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACnC,YAAY,EAAE,SAAS,YAAY,EAAE,CAAC;IACtC,OAAO,EAAE,kBAAkB,CAAC;CAC/B,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAAG,eAAe,GACpC,QAAQ,CAAC;IACL,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAClD,QAAQ,CAAC;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,YAAY,EAAE,CAAA;KAAE,CAAC,CAAC,EAAE,CAAC;IACjE,OAAO,EAAE,QAAQ,CAAC;CACrB,CAAC,CAAC;AAEP,KAAK,aAAa,GAAG,eAAe,GAChC,QAAQ,CAAC;IACL,YAAY,EAAE,SAAS,YAAY,EAAE,CAAC;IACtC,OAAO,EAAE,CAAC,CAAC;CACd,CAAC,CAAC;AAEP,MAAM,MAAM,WAAW,GAAG,iBAAiB,GAAG,aAAa,CAAC;AAC5D,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unsigned-transaction.d.ts","sourceRoot":"","sources":["../../src/unsigned-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,GAAG,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,sBAAsB,CAAC,YAAY,SAAS,eAAe,EACvE,WAAW,EAAE,YAAY,GAAG,CAAC,YAAY,GAAG,0BAA0B,CAAC,GACxE,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,0BAA0B,EAAE,MAAM,0BAA0B,CAAC,CAWlG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getTransactionEncoder } from './serializers/transaction';
|
|
2
2
|
export type Base64EncodedWireTransaction = string & {
|
|
3
|
-
readonly
|
|
3
|
+
readonly __brand: unique symbol;
|
|
4
4
|
};
|
|
5
5
|
export declare function getBase64EncodedWireTransaction(transaction: Parameters<ReturnType<typeof getTransactionEncoder>['serialize']>[0]): Base64EncodedWireTransaction;
|
|
6
6
|
//# sourceMappingURL=wire-transaction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wire-transaction.d.ts","sourceRoot":"","sources":["../../src/wire-transaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG;IAChD,QAAQ,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC;CACnC,CAAC;AAEF,wBAAgB,+BAA+B,CAC3C,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,qBAAqB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAClF,4BAA4B,CAO9B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana/transactions",
|
|
3
|
-
"version": "2.0.0-experimental.
|
|
3
|
+
"version": "2.0.0-experimental.dacecb7",
|
|
4
4
|
"description": "Helpers for creating and serializing transactions",
|
|
5
5
|
"exports": {
|
|
6
6
|
"browser": {
|
|
@@ -46,27 +46,28 @@
|
|
|
46
46
|
"maintained node versions"
|
|
47
47
|
],
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@metaplex-foundation/umi-serializers": "^0.8.
|
|
50
|
-
"@solana/addresses": "2.0.0-experimental.
|
|
51
|
-
"@solana/keys": "2.0.0-experimental.
|
|
49
|
+
"@metaplex-foundation/umi-serializers": "^0.8.9",
|
|
50
|
+
"@solana/addresses": "2.0.0-experimental.dacecb7",
|
|
51
|
+
"@solana/keys": "2.0.0-experimental.dacecb7"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@solana/eslint-config-solana": "^1.0.2",
|
|
55
|
-
"@swc/jest": "^0.2.
|
|
56
|
-
"@types/jest": "^29.5.
|
|
57
|
-
"@
|
|
58
|
-
"@typescript-eslint/
|
|
55
|
+
"@swc/jest": "^0.2.28",
|
|
56
|
+
"@types/jest": "^29.5.5",
|
|
57
|
+
"@types/node": "^20.6.3",
|
|
58
|
+
"@typescript-eslint/eslint-plugin": "^6.7.0",
|
|
59
|
+
"@typescript-eslint/parser": "^6.3.0",
|
|
59
60
|
"agadoo": "^3.0.0",
|
|
60
61
|
"eslint": "^8.45.0",
|
|
61
62
|
"eslint-plugin-sort-keys-fix": "^1.1.2",
|
|
62
|
-
"jest": "^29.
|
|
63
|
+
"jest": "^29.7.0",
|
|
63
64
|
"jest-runner-eslint": "^2.1.0",
|
|
64
65
|
"jest-runner-prettier": "^1.0.0",
|
|
65
|
-
"prettier": "^2.
|
|
66
|
+
"prettier": "^2.8",
|
|
66
67
|
"tsup": "7.2.0",
|
|
67
|
-
"typescript": "^5.
|
|
68
|
+
"typescript": "^5.2.2",
|
|
68
69
|
"version-from-git": "^1.1.1",
|
|
69
|
-
"@solana/instructions": "2.0.0-experimental.
|
|
70
|
+
"@solana/instructions": "2.0.0-experimental.dacecb7",
|
|
70
71
|
"build-scripts": "0.0.0",
|
|
71
72
|
"test-config": "0.0.0",
|
|
72
73
|
"test-matchers": "0.0.0",
|
|
@@ -85,11 +86,12 @@
|
|
|
85
86
|
"compile:typedefs": "tsc -p ./tsconfig.declarations.json",
|
|
86
87
|
"dev": "jest -c node_modules/test-config/jest-dev.config.ts --rootDir . --watch",
|
|
87
88
|
"publish-packages": "pnpm publish --tag experimental --access public --no-git-checks",
|
|
89
|
+
"style:fix": "pnpm eslint --fix src/* && pnpm prettier -w src/* package.json",
|
|
88
90
|
"test:lint": "jest -c node_modules/test-config/jest-lint.config.ts --rootDir . --silent",
|
|
89
91
|
"test:prettier": "jest -c node_modules/test-config/jest-prettier.config.ts --rootDir . --silent",
|
|
90
92
|
"test:treeshakability:browser": "agadoo dist/index.browser.js",
|
|
91
|
-
"test:treeshakability:native": "agadoo dist/index.
|
|
92
|
-
"test:treeshakability:node": "agadoo dist/index.
|
|
93
|
+
"test:treeshakability:native": "agadoo dist/index.native.js",
|
|
94
|
+
"test:treeshakability:node": "agadoo dist/index.node.js",
|
|
93
95
|
"test:typecheck": "tsc --noEmit",
|
|
94
96
|
"test:unit:browser": "jest -c node_modules/test-config/jest-unit.config.browser.ts --rootDir . --silent",
|
|
95
97
|
"test:unit:node": "jest -c node_modules/test-config/jest-unit.config.node.ts --rootDir . --silent"
|