@btc-vision/btc-runtime
Version:
Bitcoin Smart Contract Runtime
103 lines (77 loc) • 3.34 kB
text/typescript
// @ts-ignore
('env', 'environment')
export declare function getEnvironmentVariables(offset: u32, length: u32, result: ArrayBuffer): void;
// @ts-ignore
('env', 'calldata')
export declare function getCalldata(offset: u32, length: u32, result: ArrayBuffer): void;
// @ts-ignore
('env', 'load')
export declare function loadPointer(key: ArrayBuffer, result: ArrayBuffer): void;
// @ts-ignore
('env', 'store')
export declare function storePointer(key: ArrayBuffer, value: ArrayBuffer): void;
// @ts-ignore
('env', 'tload')
export declare function tLoadPointer(key: ArrayBuffer, result: ArrayBuffer): void;
// @ts-ignore
('env', 'tstore')
export declare function tStorePointer(key: ArrayBuffer, value: ArrayBuffer): void;
// @ts-ignore
('env', 'deployFromAddress')
export declare function deployFromAddress(originAddress: ArrayBuffer, salt: ArrayBuffer, calldata: ArrayBuffer, calldataLength: u32, resultAddress: ArrayBuffer): u32;
// @ts-ignore
('env', 'call')
export declare function callContract(address: ArrayBuffer, calldata: ArrayBuffer, calldataLength: u32, resultLength: ArrayBuffer): u32;
// @ts-ignore
('env', 'callResult')
export declare function getCallResult(offset: u32, length: u32, result: ArrayBuffer): void;
// @ts-ignore
('debug', 'log')
export declare function log(data: ArrayBuffer, dataLength: u32): void;
// @ts-ignore
('env', 'emit')
export declare function emit(data: ArrayBuffer, dataLength: u32): void;
// @ts-ignore
('env', 'sha256')
export declare function _sha256(data: ArrayBuffer, dataLength: u32, result: ArrayBuffer): void;
export function sha256(data: Uint8Array): Uint8Array {
const resultBuffer = new ArrayBuffer(32);
_sha256(data.buffer, data.length, resultBuffer);
return Uint8Array.wrap(resultBuffer);
}
// @ts-ignore
('env', 'ripemd160')
export declare function _ripemd160(data: ArrayBuffer, dataLength: u32, result: ArrayBuffer): void;
export function ripemd160(data: Uint8Array): Uint8Array {
const resultBuffer = new ArrayBuffer(20);
_ripemd160(data.buffer, data.length, resultBuffer);
return Uint8Array.wrap(resultBuffer);
}
// @ts-ignore
('env', 'validateBitcoinAddress')
export declare function validateBitcoinAddress(address: ArrayBuffer, addressLength: u32): u32;
// @ts-ignore
('env', 'inputs')
export declare function inputs(result: ArrayBuffer): void;
// @ts-ignore
('env', 'inputsSize')
export declare function getInputsSize(): u32;
// @ts-ignore
('env', 'outputs')
export declare function outputs(result: ArrayBuffer): void;
// @ts-ignore
('env', 'outputsSize')
export declare function getOutputsSize(): u32;
// @ts-ignore
('env', 'verifySchnorrSignature')
export declare function verifySchnorrSignature(publicKey: ArrayBuffer, signature: ArrayBuffer, message: ArrayBuffer): u32;
// @ts-ignore
('env', 'blockHash')
export declare function getBlockHash(block_number: u64, result: ArrayBuffer): void;
// @ts-ignore
('env', 'accountType')
export declare function getAccountType(address: ArrayBuffer): u32;
// @ts-ignore
('env', 'exit')
export declare function env_exit(status: u32, data: ArrayBuffer, dataLength: u32): void;
export * from './Atomic';